@tft/crispr-forms 14.0.1-rc.0 → 14.0.1

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 (407) 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/src/lib/form/form.component.mjs +63 -0
  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/ui/autocomplete-chiplist-field/autocomplete-chiplist-field.component.mjs +130 -0
  17. package/esm2020/ui/autocomplete-chiplist-field/public-api.mjs +2 -0
  18. package/esm2020/ui/autocomplete-chiplist-field/tft-crispr-forms-ui-autocomplete-chiplist-field.mjs +5 -0
  19. package/esm2020/ui/autocomplete-field/autocomplete-field.component.mjs +93 -0
  20. package/esm2020/ui/autocomplete-field/public-api.mjs +2 -0
  21. package/esm2020/ui/autocomplete-field/tft-crispr-forms-ui-autocomplete-field.mjs +5 -0
  22. package/esm2020/ui/button/button.component.mjs +49 -0
  23. package/esm2020/ui/button/public-api.mjs +2 -0
  24. package/esm2020/ui/button/tft-crispr-forms-ui-button.mjs +5 -0
  25. package/esm2020/ui/checkbox-field/checkbox-field.component.mjs +42 -0
  26. package/esm2020/ui/checkbox-field/public-api.mjs +2 -0
  27. package/esm2020/ui/checkbox-field/tft-crispr-forms-ui-checkbox-field.mjs +5 -0
  28. package/esm2020/ui/datepicker-field/datepicker-field.component.mjs +63 -0
  29. package/esm2020/ui/datepicker-field/public-api.mjs +2 -0
  30. package/esm2020/ui/datepicker-field/tft-crispr-forms-ui-datepicker-field.mjs +5 -0
  31. package/esm2020/ui/divider/divider.component.mjs +28 -0
  32. package/esm2020/ui/divider/public-api.mjs +2 -0
  33. package/esm2020/ui/divider/tft-crispr-forms-ui-divider.mjs +5 -0
  34. package/esm2020/ui/field-container/field-container.component.mjs +58 -0
  35. package/esm2020/ui/field-container/public-api.mjs +2 -0
  36. package/esm2020/ui/field-container/tft-crispr-forms-ui-field-container.mjs +5 -0
  37. package/esm2020/ui/file-dropzone/file-dropzone.directive.mjs +40 -0
  38. package/esm2020/ui/file-dropzone/public-api.mjs +2 -0
  39. package/esm2020/ui/file-dropzone/tft-crispr-forms-ui-file-dropzone.mjs +5 -0
  40. package/esm2020/ui/file-upload-field/file-upload-field.component.mjs +108 -0
  41. package/esm2020/ui/file-upload-field/public-api.mjs +2 -0
  42. package/esm2020/ui/file-upload-field/tft-crispr-forms-ui-file-upload-field.mjs +5 -0
  43. package/esm2020/ui/heading/heading.component.mjs +31 -0
  44. package/esm2020/ui/heading/public-api.mjs +2 -0
  45. package/esm2020/ui/heading/tft-crispr-forms-ui-heading.mjs +5 -0
  46. package/esm2020/ui/image-upload-field/image-upload-field.component.mjs +179 -0
  47. package/esm2020/ui/image-upload-field/public-api.mjs +2 -0
  48. package/esm2020/ui/image-upload-field/tft-crispr-forms-ui-image-upload-field.mjs +5 -0
  49. package/esm2020/ui/info/info.component.mjs +23 -0
  50. package/esm2020/ui/info/public-api.mjs +2 -0
  51. package/esm2020/ui/info/tft-crispr-forms-ui-info.mjs +5 -0
  52. package/esm2020/ui/input-field/input-field.component.mjs +41 -0
  53. package/esm2020/ui/input-field/public-api.mjs +2 -0
  54. package/esm2020/ui/input-field/tft-crispr-forms-ui-input-field.mjs +5 -0
  55. package/esm2020/ui/option/option.component.mjs +19 -0
  56. package/esm2020/ui/option/public-api.mjs +2 -0
  57. package/esm2020/ui/option/tft-crispr-forms-ui-option.mjs +5 -0
  58. package/esm2020/ui/public-api.mjs +7 -0
  59. package/esm2020/ui/radio-field/public-api.mjs +2 -0
  60. package/esm2020/ui/radio-field/radio-field.component.mjs +39 -0
  61. package/esm2020/ui/radio-field/tft-crispr-forms-ui-radio-field.mjs +5 -0
  62. package/esm2020/ui/select-field/public-api.mjs +2 -0
  63. package/esm2020/ui/select-field/select-field.component.mjs +73 -0
  64. package/esm2020/ui/select-field/tft-crispr-forms-ui-select-field.mjs +5 -0
  65. package/esm2020/ui/selected-file/public-api.mjs +2 -0
  66. package/esm2020/ui/selected-file/selected-file.component.mjs +26 -0
  67. package/esm2020/ui/selected-file/tft-crispr-forms-ui-selected-file.mjs +5 -0
  68. package/esm2020/ui/slider-field/public-api.mjs +2 -0
  69. package/esm2020/ui/slider-field/slider-field.component.mjs +44 -0
  70. package/esm2020/ui/slider-field/tft-crispr-forms-ui-slider-field.mjs +5 -0
  71. package/esm2020/ui/textarea-field/public-api.mjs +2 -0
  72. package/esm2020/ui/textarea-field/textarea-field.component.mjs +42 -0
  73. package/esm2020/ui/textarea-field/tft-crispr-forms-ui-textarea-field.mjs +5 -0
  74. package/esm2020/ui/tft-crispr-forms-ui.mjs +5 -0
  75. package/esm2020/ui/unit-conversion-field/public-api.mjs +2 -0
  76. package/esm2020/ui/unit-conversion-field/tft-crispr-forms-ui-unit-conversion-field.mjs +5 -0
  77. package/esm2020/ui/unit-conversion-field/unit-conversion-field.component.mjs +84 -0
  78. package/esm2020/utils/abstracts/autocomplete-field.abstract.mjs +30 -0
  79. package/esm2020/utils/abstracts/crispr-control.mixin.mjs +27 -0
  80. package/esm2020/utils/abstracts/crispr-field.abstract.mjs +20 -0
  81. package/esm2020/utils/abstracts/index.mjs +4 -0
  82. package/esm2020/utils/functions/buildFormGroupFromConfig.mjs +28 -0
  83. package/esm2020/utils/functions/callOptionsIfFunction.mjs +4 -0
  84. package/esm2020/utils/functions/createControlForType.mjs +19 -0
  85. package/esm2020/utils/functions/filterOptionsByLabel.mjs +11 -0
  86. package/esm2020/utils/functions/image-compression.helpers.mjs +50 -0
  87. package/esm2020/utils/functions/index.mjs +8 -0
  88. package/esm2020/utils/functions/isControlConfig.mjs +7 -0
  89. package/esm2020/utils/functions/observablifyOptions.mjs +29 -0
  90. package/esm2020/utils/models/autocomplete-chiplist-field.config.mjs +2 -0
  91. package/esm2020/utils/models/autocomplete-field.config.mjs +2 -0
  92. package/esm2020/utils/models/button.config.mjs +2 -0
  93. package/esm2020/utils/models/checkbox-field.config.mjs +2 -0
  94. package/esm2020/utils/models/crispr-field.config.mjs +23 -0
  95. package/esm2020/utils/models/datepicker-field.config.mjs +2 -0
  96. package/esm2020/utils/models/divider.config.mjs +2 -0
  97. package/esm2020/utils/models/file-upload-field.config.mjs +2 -0
  98. package/esm2020/utils/models/form-group-list.config.mjs +2 -0
  99. package/esm2020/utils/models/heading.config.mjs +3 -0
  100. package/esm2020/utils/models/image-upload-field.config.mjs +2 -0
  101. package/esm2020/utils/models/index.mjs +18 -0
  102. package/esm2020/utils/models/input-field.config.mjs +2 -0
  103. package/esm2020/utils/models/radio-field.config.mjs +2 -0
  104. package/esm2020/utils/models/select-field.config.mjs +2 -0
  105. package/esm2020/utils/models/slider-field.config.mjs +2 -0
  106. package/esm2020/utils/models/textarea-field.config.mjs +2 -0
  107. package/esm2020/utils/models/unit-conversion-field.config.mjs +2 -0
  108. package/esm2020/utils/operators/form.operators.mjs +24 -0
  109. package/esm2020/utils/operators/index.mjs +2 -0
  110. package/esm2020/utils/public-api.mjs +5 -0
  111. package/esm2020/utils/tft-crispr-forms-utils.mjs +5 -0
  112. package/fesm2015/tft-crispr-forms-ui-autocomplete-chiplist-field.mjs +138 -0
  113. package/fesm2015/tft-crispr-forms-ui-autocomplete-chiplist-field.mjs.map +1 -0
  114. package/fesm2015/tft-crispr-forms-ui-autocomplete-field.mjs +101 -0
  115. package/fesm2015/tft-crispr-forms-ui-autocomplete-field.mjs.map +1 -0
  116. package/fesm2015/tft-crispr-forms-ui-button.mjs +55 -0
  117. package/fesm2015/tft-crispr-forms-ui-button.mjs.map +1 -0
  118. package/fesm2015/tft-crispr-forms-ui-checkbox-field.mjs +49 -0
  119. package/fesm2015/tft-crispr-forms-ui-checkbox-field.mjs.map +1 -0
  120. package/fesm2015/tft-crispr-forms-ui-datepicker-field.mjs +71 -0
  121. package/fesm2015/tft-crispr-forms-ui-datepicker-field.mjs.map +1 -0
  122. package/fesm2015/tft-crispr-forms-ui-divider.mjs +34 -0
  123. package/fesm2015/tft-crispr-forms-ui-divider.mjs.map +1 -0
  124. package/fesm2015/tft-crispr-forms-ui-field-container.mjs +64 -0
  125. package/fesm2015/tft-crispr-forms-ui-field-container.mjs.map +1 -0
  126. package/fesm2015/tft-crispr-forms-ui-file-dropzone.mjs +47 -0
  127. package/fesm2015/tft-crispr-forms-ui-file-dropzone.mjs.map +1 -0
  128. package/fesm2015/tft-crispr-forms-ui-file-upload-field.mjs +117 -0
  129. package/fesm2015/tft-crispr-forms-ui-file-upload-field.mjs.map +1 -0
  130. package/fesm2015/tft-crispr-forms-ui-heading.mjs +37 -0
  131. package/fesm2015/tft-crispr-forms-ui-heading.mjs.map +1 -0
  132. package/fesm2015/tft-crispr-forms-ui-image-upload-field.mjs +182 -0
  133. package/fesm2015/tft-crispr-forms-ui-image-upload-field.mjs.map +1 -0
  134. package/fesm2015/tft-crispr-forms-ui-info.mjs +30 -0
  135. package/fesm2015/tft-crispr-forms-ui-info.mjs.map +1 -0
  136. package/fesm2015/tft-crispr-forms-ui-input-field.mjs +48 -0
  137. package/fesm2015/tft-crispr-forms-ui-input-field.mjs.map +1 -0
  138. package/fesm2015/tft-crispr-forms-ui-option.mjs +26 -0
  139. package/fesm2015/tft-crispr-forms-ui-option.mjs.map +1 -0
  140. package/fesm2015/tft-crispr-forms-ui-radio-field.mjs +46 -0
  141. package/fesm2015/tft-crispr-forms-ui-radio-field.mjs.map +1 -0
  142. package/fesm2015/tft-crispr-forms-ui-select-field.mjs +81 -0
  143. package/fesm2015/tft-crispr-forms-ui-select-field.mjs.map +1 -0
  144. package/fesm2015/tft-crispr-forms-ui-selected-file.mjs +33 -0
  145. package/fesm2015/tft-crispr-forms-ui-selected-file.mjs.map +1 -0
  146. package/fesm2015/tft-crispr-forms-ui-slider-field.mjs +51 -0
  147. package/fesm2015/tft-crispr-forms-ui-slider-field.mjs.map +1 -0
  148. package/fesm2015/tft-crispr-forms-ui-textarea-field.mjs +49 -0
  149. package/fesm2015/tft-crispr-forms-ui-textarea-field.mjs.map +1 -0
  150. package/fesm2015/tft-crispr-forms-ui-unit-conversion-field.mjs +93 -0
  151. package/fesm2015/tft-crispr-forms-ui-unit-conversion-field.mjs.map +1 -0
  152. package/fesm2015/tft-crispr-forms-ui.mjs +12 -0
  153. package/fesm2015/tft-crispr-forms-ui.mjs.map +1 -0
  154. package/fesm2015/tft-crispr-forms-utils.mjs +270 -0
  155. package/fesm2015/tft-crispr-forms-utils.mjs.map +1 -0
  156. package/fesm2015/tft-crispr-forms.mjs +131 -2128
  157. package/fesm2015/tft-crispr-forms.mjs.map +1 -1
  158. package/fesm2020/tft-crispr-forms-ui-autocomplete-chiplist-field.mjs +137 -0
  159. package/fesm2020/tft-crispr-forms-ui-autocomplete-chiplist-field.mjs.map +1 -0
  160. package/fesm2020/tft-crispr-forms-ui-autocomplete-field.mjs +100 -0
  161. package/fesm2020/tft-crispr-forms-ui-autocomplete-field.mjs.map +1 -0
  162. package/fesm2020/tft-crispr-forms-ui-button.mjs +55 -0
  163. package/fesm2020/tft-crispr-forms-ui-button.mjs.map +1 -0
  164. package/fesm2020/tft-crispr-forms-ui-checkbox-field.mjs +49 -0
  165. package/fesm2020/tft-crispr-forms-ui-checkbox-field.mjs.map +1 -0
  166. package/fesm2020/tft-crispr-forms-ui-datepicker-field.mjs +70 -0
  167. package/fesm2020/tft-crispr-forms-ui-datepicker-field.mjs.map +1 -0
  168. package/fesm2020/tft-crispr-forms-ui-divider.mjs +34 -0
  169. package/fesm2020/tft-crispr-forms-ui-divider.mjs.map +1 -0
  170. package/fesm2020/tft-crispr-forms-ui-field-container.mjs +65 -0
  171. package/fesm2020/tft-crispr-forms-ui-field-container.mjs.map +1 -0
  172. package/fesm2020/tft-crispr-forms-ui-file-dropzone.mjs +47 -0
  173. package/fesm2020/tft-crispr-forms-ui-file-dropzone.mjs.map +1 -0
  174. package/fesm2020/tft-crispr-forms-ui-file-upload-field.mjs +115 -0
  175. package/fesm2020/tft-crispr-forms-ui-file-upload-field.mjs.map +1 -0
  176. package/fesm2020/tft-crispr-forms-ui-heading.mjs +37 -0
  177. package/fesm2020/tft-crispr-forms-ui-heading.mjs.map +1 -0
  178. package/fesm2020/tft-crispr-forms-ui-image-upload-field.mjs +185 -0
  179. package/fesm2020/tft-crispr-forms-ui-image-upload-field.mjs.map +1 -0
  180. package/fesm2020/tft-crispr-forms-ui-info.mjs +30 -0
  181. package/fesm2020/tft-crispr-forms-ui-info.mjs.map +1 -0
  182. package/fesm2020/tft-crispr-forms-ui-input-field.mjs +48 -0
  183. package/fesm2020/tft-crispr-forms-ui-input-field.mjs.map +1 -0
  184. package/fesm2020/tft-crispr-forms-ui-option.mjs +26 -0
  185. package/fesm2020/tft-crispr-forms-ui-option.mjs.map +1 -0
  186. package/fesm2020/tft-crispr-forms-ui-radio-field.mjs +46 -0
  187. package/fesm2020/tft-crispr-forms-ui-radio-field.mjs.map +1 -0
  188. package/fesm2020/tft-crispr-forms-ui-select-field.mjs +80 -0
  189. package/fesm2020/tft-crispr-forms-ui-select-field.mjs.map +1 -0
  190. package/fesm2020/tft-crispr-forms-ui-selected-file.mjs +33 -0
  191. package/fesm2020/tft-crispr-forms-ui-selected-file.mjs.map +1 -0
  192. package/fesm2020/tft-crispr-forms-ui-slider-field.mjs +51 -0
  193. package/fesm2020/tft-crispr-forms-ui-slider-field.mjs.map +1 -0
  194. package/fesm2020/tft-crispr-forms-ui-textarea-field.mjs +49 -0
  195. package/fesm2020/tft-crispr-forms-ui-textarea-field.mjs.map +1 -0
  196. package/fesm2020/tft-crispr-forms-ui-unit-conversion-field.mjs +91 -0
  197. package/fesm2020/tft-crispr-forms-ui-unit-conversion-field.mjs.map +1 -0
  198. package/fesm2020/tft-crispr-forms-ui.mjs +12 -0
  199. package/fesm2020/tft-crispr-forms-ui.mjs.map +1 -0
  200. package/fesm2020/tft-crispr-forms-utils.mjs +269 -0
  201. package/fesm2020/tft-crispr-forms-utils.mjs.map +1 -0
  202. package/fesm2020/tft-crispr-forms.mjs +129 -2119
  203. package/fesm2020/tft-crispr-forms.mjs.map +1 -1
  204. package/index.d.ts +5 -1
  205. package/package.json +179 -4
  206. package/public-api.d.ts +3 -0
  207. package/src/index.d.ts +1 -0
  208. package/src/lib/crispr-forms.module.d.ts +15 -0
  209. package/src/lib/field-component-map.const.d.ts +42 -0
  210. package/{lib → src/lib}/field.directive.d.ts +4 -10
  211. package/{lib → src/lib}/form/form.component.d.ts +2 -12
  212. package/{lib → src/lib}/form-group-list/form-group-list.component.d.ts +12 -14
  213. package/{lib → src/lib}/form-group-list/index.d.ts +0 -1
  214. package/{lib → src/lib}/pipes/crispr-pipes.module.d.ts +0 -0
  215. package/{lib → src/lib}/pipes/initial-control-value.pipe.d.ts +1 -1
  216. package/src/lib/public_api.d.ts +2 -0
  217. package/{lib → src/lib}/sub-group/index.d.ts +0 -0
  218. package/{lib → src/lib}/sub-group/sub-group.component.d.ts +11 -13
  219. package/{lib → src/lib}/sub-group/sub-group.module.d.ts +2 -2
  220. package/tft-crispr-forms-14.0.1.tgz +0 -0
  221. package/ui/README.md +3 -0
  222. package/{lib/material → ui}/autocomplete-chiplist-field/autocomplete-chiplist-field.component.d.ts +2 -18
  223. package/ui/autocomplete-chiplist-field/index.d.ts +5 -0
  224. package/ui/autocomplete-chiplist-field/public-api.d.ts +1 -0
  225. package/{lib/material → ui}/autocomplete-field/autocomplete-field.component.d.ts +2 -16
  226. package/ui/autocomplete-field/index.d.ts +5 -0
  227. package/ui/autocomplete-field/public-api.d.ts +1 -0
  228. package/ui/button/button.component.d.ts +15 -0
  229. package/ui/button/index.d.ts +5 -0
  230. package/ui/button/public-api.d.ts +1 -0
  231. package/ui/checkbox-field/checkbox-field.component.d.ts +21 -0
  232. package/ui/checkbox-field/index.d.ts +5 -0
  233. package/ui/checkbox-field/public-api.d.ts +1 -0
  234. package/ui/datepicker-field/datepicker-field.component.d.ts +30 -0
  235. package/ui/datepicker-field/index.d.ts +5 -0
  236. package/ui/datepicker-field/public-api.d.ts +1 -0
  237. package/ui/divider/divider.component.d.ts +9 -0
  238. package/ui/divider/index.d.ts +5 -0
  239. package/ui/divider/public-api.d.ts +1 -0
  240. package/{lib → ui}/field-container/field-container.component.d.ts +2 -9
  241. package/ui/field-container/index.d.ts +5 -0
  242. package/{lib/field-container/index.d.ts → ui/field-container/public-api.d.ts} +0 -0
  243. package/{lib/material/file-upload → ui/file-dropzone}/file-dropzone.directive.d.ts +1 -1
  244. package/ui/file-dropzone/index.d.ts +5 -0
  245. package/{lib/material/file-upload/index.d.ts → ui/file-dropzone/public-api.d.ts} +0 -1
  246. package/ui/file-upload-field/file-upload-field.component.d.ts +37 -0
  247. package/ui/file-upload-field/index.d.ts +5 -0
  248. package/ui/file-upload-field/public-api.d.ts +1 -0
  249. package/ui/heading/heading.component.d.ts +8 -0
  250. package/ui/heading/index.d.ts +5 -0
  251. package/ui/heading/public-api.d.ts +1 -0
  252. package/ui/image-upload-field/image-upload-field.component.d.ts +48 -0
  253. package/ui/image-upload-field/index.d.ts +5 -0
  254. package/{lib/material/image-upload-field/index.d.ts → ui/image-upload-field/public-api.d.ts} +0 -0
  255. package/ui/index.d.ts +5 -0
  256. package/ui/info/index.d.ts +5 -0
  257. package/ui/info/info.component.d.ts +7 -0
  258. package/ui/info/public-api.d.ts +1 -0
  259. package/ui/input-field/index.d.ts +5 -0
  260. package/ui/input-field/input-field.component.d.ts +22 -0
  261. package/ui/input-field/public-api.d.ts +1 -0
  262. package/ui/option/index.d.ts +5 -0
  263. package/ui/option/option.component.d.ts +7 -0
  264. package/{lib/material/option/index.d.ts → ui/option/public-api.d.ts} +0 -0
  265. package/ui/public-api.d.ts +5 -0
  266. package/ui/radio-field/index.d.ts +5 -0
  267. package/ui/radio-field/public-api.d.ts +1 -0
  268. package/ui/radio-field/radio-field.component.d.ts +23 -0
  269. package/ui/select-field/index.d.ts +5 -0
  270. package/ui/select-field/public-api.d.ts +1 -0
  271. package/ui/select-field/select-field.component.d.ts +32 -0
  272. package/ui/selected-file/index.d.ts +5 -0
  273. package/ui/selected-file/public-api.d.ts +1 -0
  274. package/ui/selected-file/selected-file.component.d.ts +10 -0
  275. package/ui/slider-field/index.d.ts +5 -0
  276. package/ui/slider-field/public-api.d.ts +1 -0
  277. package/ui/slider-field/slider-field.component.d.ts +25 -0
  278. package/ui/textarea-field/index.d.ts +5 -0
  279. package/ui/textarea-field/public-api.d.ts +1 -0
  280. package/ui/textarea-field/textarea-field.component.d.ts +21 -0
  281. package/ui/unit-conversion-field/index.d.ts +5 -0
  282. package/ui/unit-conversion-field/public-api.d.ts +1 -0
  283. package/ui/unit-conversion-field/unit-conversion-field.component.d.ts +36 -0
  284. package/utils/README.md +3 -0
  285. package/{lib → utils}/abstracts/autocomplete-field.abstract.d.ts +0 -0
  286. package/{lib → utils}/abstracts/crispr-control.mixin.d.ts +0 -0
  287. package/{lib → utils}/abstracts/crispr-field.abstract.d.ts +1 -1
  288. package/{lib → utils}/abstracts/index.d.ts +0 -0
  289. package/utils/functions/buildFormGroupFromConfig.d.ts +9 -0
  290. package/utils/functions/callOptionsIfFunction.d.ts +3 -0
  291. package/utils/functions/createControlForType.d.ts +9 -0
  292. package/utils/functions/filterOptionsByLabel.d.ts +7 -0
  293. package/utils/functions/image-compression.helpers.d.ts +5 -0
  294. package/utils/functions/index.d.ts +7 -0
  295. package/utils/functions/isControlConfig.d.ts +5 -0
  296. package/utils/functions/observablifyOptions.d.ts +12 -0
  297. package/utils/index.d.ts +5 -0
  298. package/{lib → utils}/models/autocomplete-chiplist-field.config.d.ts +2 -1
  299. package/{lib → utils}/models/autocomplete-field.config.d.ts +1 -2
  300. package/{lib → utils}/models/button.config.d.ts +0 -0
  301. package/{lib → utils}/models/checkbox-field.config.d.ts +1 -2
  302. package/{lib → utils}/models/crispr-field.config.d.ts +1 -10
  303. package/{lib → utils}/models/datepicker-field.config.d.ts +1 -2
  304. package/{lib → utils}/models/divider.config.d.ts +1 -1
  305. package/{lib → utils}/models/file-upload-field.config.d.ts +9 -4
  306. package/{lib → utils}/models/form-group-list.config.d.ts +1 -2
  307. package/{lib → utils}/models/heading.config.d.ts +1 -2
  308. package/{lib → utils}/models/image-upload-field.config.d.ts +2 -1
  309. package/{lib → utils}/models/index.d.ts +0 -0
  310. package/{lib → utils}/models/input-field.config.d.ts +1 -2
  311. package/{lib → utils}/models/radio-field.config.d.ts +0 -0
  312. package/{lib → utils}/models/select-field.config.d.ts +1 -2
  313. package/{lib → utils}/models/slider-field.config.d.ts +1 -2
  314. package/{lib → utils}/models/textarea-field.config.d.ts +1 -2
  315. package/{lib → utils}/models/unit-conversion-field.config.d.ts +1 -2
  316. package/{lib → utils/operators}/form.operators.d.ts +0 -0
  317. package/utils/operators/index.d.ts +1 -0
  318. package/utils/public-api.d.ts +4 -0
  319. package/esm2020/index.mjs +0 -2
  320. package/esm2020/lib/abstracts/autocomplete-field.abstract.mjs +0 -30
  321. package/esm2020/lib/abstracts/crispr-control.mixin.mjs +0 -27
  322. package/esm2020/lib/abstracts/crispr-field.abstract.mjs +0 -17
  323. package/esm2020/lib/abstracts/index.mjs +0 -4
  324. package/esm2020/lib/crispr-forms.module.mjs +0 -65
  325. package/esm2020/lib/field-component-map.const.mjs +0 -28
  326. package/esm2020/lib/field-container/field-container.component.mjs +0 -83
  327. package/esm2020/lib/field-container/index.mjs +0 -2
  328. package/esm2020/lib/field.directive.mjs +0 -88
  329. package/esm2020/lib/form/form.component.mjs +0 -88
  330. package/esm2020/lib/form-group-list/form-group-list.component.mjs +0 -77
  331. package/esm2020/lib/form-group-list/form-group-list.module.mjs +0 -52
  332. package/esm2020/lib/form-group-list/index.mjs +0 -3
  333. package/esm2020/lib/form.helpers.mjs +0 -190
  334. package/esm2020/lib/form.operators.mjs +0 -24
  335. package/esm2020/lib/material/autocomplete-chiplist-field/autocomplete-chiplist-field.component.mjs +0 -165
  336. package/esm2020/lib/material/autocomplete-field/autocomplete-field.component.mjs +0 -124
  337. package/esm2020/lib/material/button/button.component.mjs +0 -70
  338. package/esm2020/lib/material/checkbox-field/checkbox-field.component.mjs +0 -69
  339. package/esm2020/lib/material/datepicker-field/datepicker-field.component.mjs +0 -91
  340. package/esm2020/lib/material/divider/divider.component.mjs +0 -46
  341. package/esm2020/lib/material/file-upload/file-dropzone.directive.mjs +0 -39
  342. package/esm2020/lib/material/file-upload/file-upload.component.mjs +0 -143
  343. package/esm2020/lib/material/file-upload/index.mjs +0 -3
  344. package/esm2020/lib/material/heading/heading.component.mjs +0 -52
  345. package/esm2020/lib/material/image-upload-field/image-compression.helpers.mjs +0 -4
  346. package/esm2020/lib/material/image-upload-field/image-upload-field.component.mjs +0 -263
  347. package/esm2020/lib/material/image-upload-field/index.mjs +0 -2
  348. package/esm2020/lib/material/index.mjs +0 -18
  349. package/esm2020/lib/material/info/info.component.mjs +0 -44
  350. package/esm2020/lib/material/input-field/input-field.component.mjs +0 -66
  351. package/esm2020/lib/material/material.module.mjs +0 -96
  352. package/esm2020/lib/material/option/index.mjs +0 -2
  353. package/esm2020/lib/material/option/option.component.mjs +0 -39
  354. package/esm2020/lib/material/radio-field/radio-field.component.mjs +0 -60
  355. package/esm2020/lib/material/select-field/select-field.component.mjs +0 -108
  356. package/esm2020/lib/material/selected-file/selected-file.component.mjs +0 -45
  357. package/esm2020/lib/material/slider-field/slider-field.component.mjs +0 -69
  358. package/esm2020/lib/material/textarea-field/textarea-field.component.mjs +0 -67
  359. package/esm2020/lib/material/unit-conversion-field/unit-conversion-field.component.mjs +0 -115
  360. package/esm2020/lib/models/autocomplete-chiplist-field.config.mjs +0 -2
  361. package/esm2020/lib/models/autocomplete-field.config.mjs +0 -2
  362. package/esm2020/lib/models/button.config.mjs +0 -2
  363. package/esm2020/lib/models/checkbox-field.config.mjs +0 -2
  364. package/esm2020/lib/models/crispr-field.config.mjs +0 -23
  365. package/esm2020/lib/models/datepicker-field.config.mjs +0 -2
  366. package/esm2020/lib/models/divider.config.mjs +0 -2
  367. package/esm2020/lib/models/file-upload-field.config.mjs +0 -2
  368. package/esm2020/lib/models/form-group-list.config.mjs +0 -2
  369. package/esm2020/lib/models/heading.config.mjs +0 -3
  370. package/esm2020/lib/models/image-upload-field.config.mjs +0 -2
  371. package/esm2020/lib/models/index.mjs +0 -18
  372. package/esm2020/lib/models/input-field.config.mjs +0 -2
  373. package/esm2020/lib/models/radio-field.config.mjs +0 -2
  374. package/esm2020/lib/models/select-field.config.mjs +0 -2
  375. package/esm2020/lib/models/slider-field.config.mjs +0 -2
  376. package/esm2020/lib/models/textarea-field.config.mjs +0 -2
  377. package/esm2020/lib/models/unit-conversion-field.config.mjs +0 -2
  378. package/esm2020/lib/pipes/initial-control-value.pipe.mjs +0 -20
  379. package/esm2020/lib/public_api.mjs +0 -10
  380. package/esm2020/lib/sub-group/index.mjs +0 -3
  381. package/esm2020/lib/sub-group/sub-group.component.mjs +0 -20
  382. package/esm2020/lib/sub-group/sub-group.module.mjs +0 -43
  383. package/lib/crispr-forms.module.d.ts +0 -16
  384. package/lib/field-component-map.const.d.ts +0 -28
  385. package/lib/form-group-list/form-group-list.module.d.ts +0 -15
  386. package/lib/form.helpers.d.ts +0 -88
  387. package/lib/material/button/button.component.d.ts +0 -26
  388. package/lib/material/checkbox-field/checkbox-field.component.d.ts +0 -34
  389. package/lib/material/datepicker-field/datepicker-field.component.d.ts +0 -45
  390. package/lib/material/divider/divider.component.d.ts +0 -17
  391. package/lib/material/file-upload/file-upload.component.d.ts +0 -54
  392. package/lib/material/heading/heading.component.d.ts +0 -17
  393. package/lib/material/image-upload-field/image-compression.helpers.d.ts +0 -1
  394. package/lib/material/image-upload-field/image-upload-field.component.d.ts +0 -68
  395. package/lib/material/index.d.ts +0 -17
  396. package/lib/material/info/info.component.d.ts +0 -15
  397. package/lib/material/input-field/input-field.component.d.ts +0 -35
  398. package/lib/material/material.module.d.ts +0 -26
  399. package/lib/material/option/option.component.d.ts +0 -14
  400. package/lib/material/radio-field/radio-field.component.d.ts +0 -35
  401. package/lib/material/select-field/select-field.component.d.ts +0 -48
  402. package/lib/material/selected-file/selected-file.component.d.ts +0 -17
  403. package/lib/material/slider-field/slider-field.component.d.ts +0 -38
  404. package/lib/material/textarea-field/textarea-field.component.d.ts +0 -35
  405. package/lib/material/unit-conversion-field/unit-conversion-field.component.d.ts +0 -52
  406. package/lib/public_api.d.ts +0 -9
  407. package/tft-crispr-forms-14.0.1-rc.0.tgz +0 -0
@@ -0,0 +1,28 @@
1
+ import { Component } from '@angular/core';
2
+ import { MatDividerModule } from '@angular/material/divider';
3
+ import { CommonModule } from '@angular/common';
4
+ // eslint-disable-next-line @nrwl/nx/enforce-module-boundaries
5
+ import { CrisprFieldComponent } from '@tft/crispr-forms/utils';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/common";
8
+ import * as i2 from "@angular/material/divider";
9
+ export class DividerComponent extends CrisprFieldComponent {
10
+ constructor() {
11
+ super(...arguments);
12
+ // TODO: pull in type after configs are better organized
13
+ this.defaultConfig = {};
14
+ }
15
+ ngOnInit() {
16
+ super.ngOnInit();
17
+ }
18
+ }
19
+ DividerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: DividerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
20
+ DividerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.1", type: DividerComponent, isStandalone: true, selector: "crispr-divider", usesInheritance: true, ngImport: i0, template: "<mat-divider [ngClass]=\"config.classes\"></mat-divider>", styles: [":host{display:block;padding:1em 0}::ng-deep .mat-divider.mat-divider-horizontal{position:relative}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i2.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }], preserveWhitespaces: true });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: DividerComponent, decorators: [{
22
+ type: Component,
23
+ args: [{ selector: 'crispr-divider', standalone: true, imports: [
24
+ CommonModule,
25
+ MatDividerModule
26
+ ], template: "<mat-divider [ngClass]=\"config.classes\"></mat-divider>", styles: [":host{display:block;padding:1em 0}::ng-deep .mat-divider.mat-divider-horizontal{position:relative}\n"] }]
27
+ }] });
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGl2aWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy91aS9kaXZpZGVyL2RpdmlkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jcmlzcHItZm9ybXMvdWkvZGl2aWRlci9kaXZpZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLDhEQUE4RDtBQUM5RCxPQUFPLEVBQUUsb0JBQW9CLEVBQWlCLE1BQU0seUJBQXlCLENBQUM7Ozs7QUFZOUUsTUFBTSxPQUFPLGdCQUFpQixTQUFRLG9CQUFtQztJQVZ6RTs7UUFXRSx3REFBd0Q7UUFDeEQsa0JBQWEsR0FBRyxFQUFFLENBQUM7S0FLcEI7SUFKQyxRQUFRO1FBQ04sS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ25CLENBQUM7OzZHQUxVLGdCQUFnQjtpR0FBaEIsZ0JBQWdCLGlHQ2hCN0IsMERBQXNELDZKRFlsRCxZQUFZLDRIQUNaLGdCQUFnQjsyRkFHUCxnQkFBZ0I7a0JBVjVCLFNBQVM7K0JBQ0UsZ0JBQWdCLGNBR2QsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osZ0JBQWdCO3FCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaXZpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGl2aWRlcic7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBucndsL254L2VuZm9yY2UtbW9kdWxlLWJvdW5kYXJpZXNcbmltcG9ydCB7IENyaXNwckZpZWxkQ29tcG9uZW50LCBEaXZpZGVyQ29uZmlnIH0gZnJvbSAnQHRmdC9jcmlzcHItZm9ybXMvdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjcmlzcHItZGl2aWRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kaXZpZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGl2aWRlci5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE1hdERpdmlkZXJNb2R1bGVcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRGl2aWRlckNvbXBvbmVudCBleHRlbmRzIENyaXNwckZpZWxkQ29tcG9uZW50PERpdmlkZXJDb25maWc+IGltcGxlbWVudHMgT25Jbml0IHtcbiAgLy8gVE9ETzogcHVsbCBpbiB0eXBlIGFmdGVyIGNvbmZpZ3MgYXJlIGJldHRlciBvcmdhbml6ZWRcbiAgZGVmYXVsdENvbmZpZyA9IHt9O1xuICBuZ09uSW5pdCgpIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuICB9XG5cbn1cbiIsIjxtYXQtZGl2aWRlciBbbmdDbGFzc109XCJjb25maWcuY2xhc3Nlc1wiPjwvbWF0LWRpdmlkZXI+Il19
@@ -0,0 +1,2 @@
1
+ export * from './divider.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY3Jpc3ByLWZvcm1zL3VpL2RpdmlkZXIvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kaXZpZGVyLmNvbXBvbmVudCc7XG4iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGZ0LWNyaXNwci1mb3Jtcy11aS1kaXZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jcmlzcHItZm9ybXMvdWkvZGl2aWRlci90ZnQtY3Jpc3ByLWZvcm1zLXVpLWRpdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -0,0 +1,58 @@
1
+ import { Component, Input, ChangeDetectionStrategy } from '@angular/core';
2
+ import { of } from 'rxjs';
3
+ import { FormGroup } from '@angular/forms';
4
+ import { tap, distinctUntilChanged } from 'rxjs/operators';
5
+ import { CommonModule } from '@angular/common';
6
+ import { HeadingComponent } from '@tft/crispr-forms/ui/heading';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@angular/common";
9
+ export class FieldContainerComponent {
10
+ constructor() {
11
+ // boolean whether field-container is inline
12
+ this.inlineField = false;
13
+ this.subs = [];
14
+ }
15
+ ngOnInit() {
16
+ this.disabled$ = this.connectDisabledCallback(this.group, this.config);
17
+ // we tried moving this into afterViewChecked and afterContentChecked lifecycle hooks without any luck
18
+ if (this.config.computeValue) {
19
+ this.subs.push(this.config.computeValue(this.group).pipe(distinctUntilChanged(), tap(computedValue => this.group.get(this.config.controlName).setValue(computedValue))).subscribe());
20
+ }
21
+ }
22
+ ngOnDestroy() {
23
+ this.subs.forEach(sub => sub.unsubscribe);
24
+ }
25
+ /**
26
+ * Connects user defined disabledCallback function to the the view, so that the control is enabled/disabled
27
+ * appropriately. It also will hide disabled fields in the UI unless `hideDisabled` is set to
28
+ * false in the controls config
29
+ * @param group used to get valueChanges from control
30
+ * @param config configuration object used to
31
+ */
32
+ connectDisabledCallback(group, config = null) {
33
+ const control = group.get(config.controlName);
34
+ // If the disabled$ function exists on the field config then call it with the disabledCallbackConfig
35
+ // as a parameter otherwise return an observable of true.
36
+ return config?.disabledCallback && config.disabledCallback instanceof Function
37
+ ? config.disabledCallback(group).pipe(
38
+ // This enables/disables when callback conditions are met
39
+ tap((shouldDisable) => shouldDisable ? control.disable() : control.enable()))
40
+ : of(false);
41
+ }
42
+ }
43
+ FieldContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: FieldContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
44
+ FieldContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.1", type: FieldContainerComponent, isStandalone: true, selector: "crispr-field-container", inputs: { config: "config", group: "group", inlineField: "inlineField" }, ngImport: i0, template: "<div\n *ngIf=\"(disabled$ | async) ? !config.hideDisabled : true\"\n [ngClass]=\"config.classes\"\n [class.inline-field]=\"inlineField\"\n class=\"field-container\">\n\n <crispr-heading\n *ngIf=\"config.heading\"\n [config]=\"config.heading\">\n </crispr-heading>\n\n <ng-content>\n </ng-content>\n\n</div>\n", styles: ["::ng-deep mat-form-field.mat-form-field{display:block;padding:.25em 0}.inline-field{display:inline-block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "component", type: HeadingComponent, selector: "crispr-heading", inputs: ["config"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, preserveWhitespaces: true });
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: FieldContainerComponent, decorators: [{
46
+ type: Component,
47
+ args: [{ selector: 'crispr-field-container', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
48
+ CommonModule,
49
+ HeadingComponent,
50
+ ], template: "<div\n *ngIf=\"(disabled$ | async) ? !config.hideDisabled : true\"\n [ngClass]=\"config.classes\"\n [class.inline-field]=\"inlineField\"\n class=\"field-container\">\n\n <crispr-heading\n *ngIf=\"config.heading\"\n [config]=\"config.heading\">\n </crispr-heading>\n\n <ng-content>\n </ng-content>\n\n</div>\n", styles: ["::ng-deep mat-form-field.mat-form-field{display:block;padding:.25em 0}.inline-field{display:inline-block}\n"] }]
51
+ }], propDecorators: { config: [{
52
+ type: Input
53
+ }], group: [{
54
+ type: Input
55
+ }], inlineField: [{
56
+ type: Input
57
+ }] } });
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY3Jpc3ByLWZvcm1zL3VpL2ZpZWxkLWNvbnRhaW5lci9maWVsZC1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jcmlzcHItZm9ybXMvdWkvZmllbGQtY29udGFpbmVyL2ZpZWxkLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSx1QkFBdUIsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUM3RixPQUFPLEVBQWMsRUFBRSxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUNwRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7O0FBZWhFLE1BQU0sT0FBTyx1QkFBdUI7SUFYcEM7UUFnQkUsNENBQTRDO1FBQ25DLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBSTdCLFNBQUksR0FBbUIsRUFBRSxDQUFDO0tBb0MzQjtJQWxDQyxRQUFRO1FBQ04sSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdkUsc0dBQXNHO1FBQ3RHLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUU7WUFDNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQ1osSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FDdkMsb0JBQW9CLEVBQUUsRUFDdEIsR0FBRyxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FDdEYsQ0FBQyxTQUFTLEVBQUUsQ0FDZCxDQUFDO1NBQ0g7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFDRDs7Ozs7O09BTUc7SUFDSCx1QkFBdUIsQ0FBQyxLQUFnQixFQUFFLFNBQThCLElBQUk7UUFDMUUsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDOUMsb0dBQW9HO1FBQ3BHLHlEQUF5RDtRQUN6RCxPQUFPLE1BQU0sRUFBRSxnQkFBZ0IsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLFlBQVksUUFBUTtZQUM1RSxDQUFDLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUk7WUFDbkMseURBQXlEO1lBQ3pELEdBQUcsQ0FBQyxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUM3RTtZQUNELENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEIsQ0FBQzs7b0hBN0NVLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLDRKQ3BCcEMsb1VBZUEsb0tEQ0ksWUFBWSxzUkFDWixnQkFBZ0I7MkZBR1AsdUJBQXVCO2tCQVhuQyxTQUFTOytCQUNFLHdCQUF3QixtQkFHakIsdUJBQXVCLENBQUMsTUFBTSxjQUNuQyxJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixnQkFBZ0I7cUJBQ2pCOzhCQUlRLE1BQU07c0JBQWQsS0FBSztnQkFFRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsV0FBVztzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgdGFwLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBIZWFkaW5nQ29tcG9uZW50IH0gZnJvbSAnQHRmdC9jcmlzcHItZm9ybXMvdWkvaGVhZGluZyc7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQG5yd2wvbngvZW5mb3JjZS1tb2R1bGUtYm91bmRhcmllc1xuaW1wb3J0IHR5cGUgeyBDcmlzcHJDb250cm9sQ29uZmlnIH0gZnJvbSAnQHRmdC9jcmlzcHItZm9ybXMvdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjcmlzcHItZmllbGQtY29udGFpbmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpZWxkLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZpZWxkLWNvbnRhaW5lci5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBIZWFkaW5nQ29tcG9uZW50LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGaWVsZENvbnRhaW5lckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgLy8gdGhlIGNvbmZpZ3VyYXRpb24gb2JqZWN0IGZvciB0aGUgZmllbGRcbiAgQElucHV0KCkgY29uZmlnOiBDcmlzcHJDb250cm9sQ29uZmlnO1xuICAvLyB0aGUgcGFyZW50IGZvcm1Hcm91cFxuICBASW5wdXQoKSBncm91cDogRm9ybUdyb3VwO1xuICAvLyBib29sZWFuIHdoZXRoZXIgZmllbGQtY29udGFpbmVyIGlzIGlubGluZVxuICBASW5wdXQoKSBpbmxpbmVGaWVsZCA9IGZhbHNlO1xuICAvLyB1c2VkIHRvIGRldGVybWluZSB3aGV0aGVyIG9yIG5vdCBmaWVsZCBzaG91bGQgYmUgc2hvd25cbiAgZGlzYWJsZWQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gIHN1YnM6IFN1YnNjcmlwdGlvbltdID0gW107XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5kaXNhYmxlZCQgPSB0aGlzLmNvbm5lY3REaXNhYmxlZENhbGxiYWNrKHRoaXMuZ3JvdXAsIHRoaXMuY29uZmlnKTtcbiAgICAvLyB3ZSB0cmllZCBtb3ZpbmcgdGhpcyBpbnRvIGFmdGVyVmlld0NoZWNrZWQgYW5kIGFmdGVyQ29udGVudENoZWNrZWQgbGlmZWN5Y2xlIGhvb2tzIHdpdGhvdXQgYW55IGx1Y2tcbiAgICBpZiAodGhpcy5jb25maWcuY29tcHV0ZVZhbHVlKSB7XG4gICAgICB0aGlzLnN1YnMucHVzaChcbiAgICAgICAgdGhpcy5jb25maWcuY29tcHV0ZVZhbHVlKHRoaXMuZ3JvdXApLnBpcGUoXG4gICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgICB0YXAoY29tcHV0ZWRWYWx1ZSA9PiB0aGlzLmdyb3VwLmdldCh0aGlzLmNvbmZpZy5jb250cm9sTmFtZSkuc2V0VmFsdWUoY29tcHV0ZWRWYWx1ZSkpXG4gICAgICAgICkuc3Vic2NyaWJlKCksXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vicy5mb3JFYWNoKHN1YiA9PiBzdWIudW5zdWJzY3JpYmUpO1xuICB9XG4gIC8qKlxuICAgKiBDb25uZWN0cyB1c2VyIGRlZmluZWQgZGlzYWJsZWRDYWxsYmFjayBmdW5jdGlvbiB0byB0aGUgdGhlIHZpZXcsIHNvIHRoYXQgdGhlIGNvbnRyb2wgaXMgZW5hYmxlZC9kaXNhYmxlZFxuICAgKiBhcHByb3ByaWF0ZWx5LiBJdCBhbHNvIHdpbGwgaGlkZSBkaXNhYmxlZCBmaWVsZHMgaW4gdGhlIFVJIHVubGVzcyBgaGlkZURpc2FibGVkYCBpcyBzZXQgdG9cbiAgICogZmFsc2UgaW4gdGhlIGNvbnRyb2xzIGNvbmZpZ1xuICAgKiBAcGFyYW0gZ3JvdXAgdXNlZCB0byBnZXQgdmFsdWVDaGFuZ2VzIGZyb20gY29udHJvbFxuICAgKiBAcGFyYW0gY29uZmlnIGNvbmZpZ3VyYXRpb24gb2JqZWN0IHVzZWQgdG9cbiAgICovXG4gIGNvbm5lY3REaXNhYmxlZENhbGxiYWNrKGdyb3VwOiBGb3JtR3JvdXAsIGNvbmZpZzogQ3Jpc3ByQ29udHJvbENvbmZpZyA9IG51bGwpIHtcbiAgICBjb25zdCBjb250cm9sID0gZ3JvdXAuZ2V0KGNvbmZpZy5jb250cm9sTmFtZSk7XG4gICAgLy8gSWYgdGhlIGRpc2FibGVkJCBmdW5jdGlvbiBleGlzdHMgb24gdGhlIGZpZWxkIGNvbmZpZyB0aGVuIGNhbGwgaXQgd2l0aCB0aGUgZGlzYWJsZWRDYWxsYmFja0NvbmZpZ1xuICAgIC8vIGFzIGEgcGFyYW1ldGVyIG90aGVyd2lzZSByZXR1cm4gYW4gb2JzZXJ2YWJsZSBvZiB0cnVlLlxuICAgIHJldHVybiBjb25maWc/LmRpc2FibGVkQ2FsbGJhY2sgJiYgY29uZmlnLmRpc2FibGVkQ2FsbGJhY2sgaW5zdGFuY2VvZiBGdW5jdGlvblxuICAgICAgPyBjb25maWcuZGlzYWJsZWRDYWxsYmFjayhncm91cCkucGlwZShcbiAgICAgICAgLy8gVGhpcyBlbmFibGVzL2Rpc2FibGVzIHdoZW4gY2FsbGJhY2sgY29uZGl0aW9ucyBhcmUgbWV0XG4gICAgICAgIHRhcCgoc2hvdWxkRGlzYWJsZSkgPT4gc2hvdWxkRGlzYWJsZSA/IGNvbnRyb2wuZGlzYWJsZSgpIDogY29udHJvbC5lbmFibGUoKSlcbiAgICAgIClcbiAgICAgIDogb2YoZmFsc2UpO1xuICB9XG59XG4iLCI8ZGl2XG4gICpuZ0lmPVwiKGRpc2FibGVkJCB8IGFzeW5jKSA/ICFjb25maWcuaGlkZURpc2FibGVkIDogdHJ1ZVwiXG4gIFtuZ0NsYXNzXT1cImNvbmZpZy5jbGFzc2VzXCJcbiAgW2NsYXNzLmlubGluZS1maWVsZF09XCJpbmxpbmVGaWVsZFwiXG4gIGNsYXNzPVwiZmllbGQtY29udGFpbmVyXCI+XG5cbiAgPGNyaXNwci1oZWFkaW5nXG4gICAgKm5nSWY9XCJjb25maWcuaGVhZGluZ1wiXG4gICAgW2NvbmZpZ109XCJjb25maWcuaGVhZGluZ1wiPlxuICA8L2NyaXNwci1oZWFkaW5nPlxuXG4gIDxuZy1jb250ZW50PlxuICA8L25nLWNvbnRlbnQ+XG5cbjwvZGl2PlxuIl19
@@ -0,0 +1,2 @@
1
+ export * from './field-container.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY3Jpc3ByLWZvcm1zL3VpL2ZpZWxkLWNvbnRhaW5lci9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNkJBQTZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ZpZWxkLWNvbnRhaW5lci5jb21wb25lbnQnO1xuIl19
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGZ0LWNyaXNwci1mb3Jtcy11aS1maWVsZC1jb250YWluZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy91aS9maWVsZC1jb250YWluZXIvdGZ0LWNyaXNwci1mb3Jtcy11aS1maWVsZC1jb250YWluZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -0,0 +1,40 @@
1
+ import { Directive, HostListener, Output, EventEmitter, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class FileDropzoneDirective {
4
+ constructor() {
5
+ this.fileDrop = new EventEmitter();
6
+ this.crisprFileDropzone = true;
7
+ }
8
+ onDrop($event) {
9
+ if (this.crisprFileDropzone) {
10
+ $event.preventDefault();
11
+ this.fileDrop.emit($event.dataTransfer.files);
12
+ }
13
+ }
14
+ // Prevents DOM from trying to open file in browser
15
+ onDragOver($event) {
16
+ if (this.crisprFileDropzone) {
17
+ $event.preventDefault();
18
+ }
19
+ }
20
+ }
21
+ FileDropzoneDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: FileDropzoneDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
22
+ FileDropzoneDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.1", type: FileDropzoneDirective, isStandalone: true, selector: "[crisprFileDropzone]", inputs: { crisprFileDropzone: "crisprFileDropzone" }, outputs: { fileDrop: "fileDrop" }, host: { listeners: { "drop": "onDrop($event)", "dragover": "onDragOver($event)" } }, ngImport: i0 });
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: FileDropzoneDirective, decorators: [{
24
+ type: Directive,
25
+ args: [{
26
+ selector: '[crisprFileDropzone]',
27
+ standalone: true,
28
+ }]
29
+ }], propDecorators: { fileDrop: [{
30
+ type: Output
31
+ }], crisprFileDropzone: [{
32
+ type: Input
33
+ }], onDrop: [{
34
+ type: HostListener,
35
+ args: ['drop', ['$event']]
36
+ }], onDragOver: [{
37
+ type: HostListener,
38
+ args: ['dragover', ['$event']]
39
+ }] } });
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1kcm9wem9uZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy91aS9maWxlLWRyb3B6b25lL2ZpbGUtZHJvcHpvbmUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU1yRixNQUFNLE9BQU8scUJBQXFCO0lBSmxDO1FBTVksYUFBUSxHQUFJLElBQUksWUFBWSxFQUFZLENBQUM7UUFFMUMsdUJBQWtCLEdBQUcsSUFBSSxDQUFDO0tBaUJwQztJQWRDLE1BQU0sQ0FBQyxNQUFpQjtRQUN0QixJQUFHLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUMxQixNQUFNLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUMvQztJQUNILENBQUM7SUFFRCxtREFBbUQ7SUFFbkQsVUFBVSxDQUFDLE1BQWlCO1FBQzFCLElBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQzFCLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUN6QjtJQUNILENBQUM7O2tIQXBCVSxxQkFBcUI7c0dBQXJCLHFCQUFxQjsyRkFBckIscUJBQXFCO2tCQUpqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs4QkFHVyxRQUFRO3NCQUFqQixNQUFNO2dCQUVFLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFHTixNQUFNO3NCQURMLFlBQVk7dUJBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVVoQyxVQUFVO3NCQURULFlBQVk7dUJBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0TGlzdGVuZXIsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbY3Jpc3ByRmlsZURyb3B6b25lXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEZpbGVEcm9wem9uZURpcmVjdGl2ZSB7XG5cbiAgQE91dHB1dCgpIGZpbGVEcm9wID0gIG5ldyBFdmVudEVtaXR0ZXI8RmlsZUxpc3Q+KCk7XG5cbiAgQElucHV0KCkgY3Jpc3ByRmlsZURyb3B6b25lID0gdHJ1ZTtcblxuICBASG9zdExpc3RlbmVyKCdkcm9wJywgWyckZXZlbnQnXSlcbiAgb25Ecm9wKCRldmVudDogRHJhZ0V2ZW50KSB7XG4gICAgaWYodGhpcy5jcmlzcHJGaWxlRHJvcHpvbmUpIHtcbiAgICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5maWxlRHJvcC5lbWl0KCRldmVudC5kYXRhVHJhbnNmZXIuZmlsZXMpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFByZXZlbnRzIERPTSBmcm9tIHRyeWluZyB0byBvcGVuIGZpbGUgaW4gYnJvd3NlclxuICBASG9zdExpc3RlbmVyKCdkcmFnb3ZlcicsIFsnJGV2ZW50J10pXG4gIG9uRHJhZ092ZXIoJGV2ZW50OiBEcmFnRXZlbnQpIHtcbiAgICBpZih0aGlzLmNyaXNwckZpbGVEcm9wem9uZSkge1xuICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export * from './file-dropzone.directive';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY3Jpc3ByLWZvcm1zL3VpL2ZpbGUtZHJvcHpvbmUvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9maWxlLWRyb3B6b25lLmRpcmVjdGl2ZSc7XG4iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGZ0LWNyaXNwci1mb3Jtcy11aS1maWxlLWRyb3B6b25lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jcmlzcHItZm9ybXMvdWkvZmlsZS1kcm9wem9uZS90ZnQtY3Jpc3ByLWZvcm1zLXVpLWZpbGUtZHJvcHpvbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -0,0 +1,108 @@
1
+ /* eslint-disable @nrwl/nx/enforce-module-boundaries */
2
+ import { CommonModule } from '@angular/common';
3
+ import { Component, ElementRef, ViewChild, ChangeDetectionStrategy, Optional, Self, } from '@angular/core';
4
+ import { NgControl, ReactiveFormsModule } from '@angular/forms';
5
+ import { MatButtonModule } from '@angular/material/button';
6
+ import { MatFormFieldModule } from '@angular/material/form-field';
7
+ import { MatIconModule } from '@angular/material/icon';
8
+ import { MatInputModule } from '@angular/material/input';
9
+ import { of } from 'rxjs';
10
+ import { FileDropzoneDirective } from '@tft/crispr-forms/ui/file-dropzone';
11
+ import { FormValidationHandlerModule } from '@tft/form-validation-handler';
12
+ import { crisprControlMixin, CrisprFieldComponent } from '@tft/crispr-forms/utils';
13
+ import { FieldContainerComponent } from '@tft/crispr-forms/ui/field-container';
14
+ import { SelectedFileComponent } from '@tft/crispr-forms/ui/selected-file';
15
+ import * as i0 from "@angular/core";
16
+ import * as i1 from "@angular/forms";
17
+ import * as i2 from "@angular/common";
18
+ import * as i3 from "@angular/material/icon";
19
+ import * as i4 from "@angular/material/button";
20
+ import * as i5 from "@angular/material/form-field";
21
+ import * as i6 from "@angular/material/input";
22
+ import * as i7 from "@tft/form-validation-handler";
23
+ const FileUploadFieldMixin = crisprControlMixin(CrisprFieldComponent);
24
+ export class FileUploadFieldComponent extends FileUploadFieldMixin {
25
+ // ngControl: NgControl = null;
26
+ constructor(ngControl) {
27
+ super();
28
+ this.ngControl = ngControl;
29
+ this.defaultConfig = {
30
+ allowMultipleFiles: false,
31
+ acceptedTypes: '*.*',
32
+ dropZoneText: 'DROP FILE HERE',
33
+ selectFilesButtonType: 'button',
34
+ selectButtonText: 'SELECT',
35
+ showClearFilesButton: true,
36
+ clearFilesButtonText: 'CLEAR',
37
+ uploadButtonText: 'UPLOAD',
38
+ uploadButtonType: 'button',
39
+ showUploadProgress: false,
40
+ disableOnUpload: true
41
+ };
42
+ this.isUploaded = false;
43
+ this.fileProgress = [];
44
+ if (this.ngControl != null) {
45
+ // Setting the value accessor directly (instead of using
46
+ // the providers) to avoid running into a circular import.
47
+ ngControl.valueAccessor = this;
48
+ }
49
+ }
50
+ ngOnInit() {
51
+ super.ngOnInit();
52
+ this.disabled$ = this.config.disabledCallback
53
+ ? this.config.disabledCallback(this.group)
54
+ : of(false);
55
+ }
56
+ filesChanged(files) {
57
+ if (files && files.length > 0) {
58
+ this.selectedFiles = files;
59
+ this.control.patchValue(files);
60
+ }
61
+ }
62
+ uploadFiles() {
63
+ if (this.selectedFiles && this.config.uploadFiles) {
64
+ this.isUploaded = true;
65
+ this.config.uploadFiles(this.group, this.selectedFiles, this);
66
+ }
67
+ }
68
+ resetFileInput() {
69
+ this.fileInputRef.nativeElement.value = '';
70
+ this.control.patchValue(null);
71
+ this.isUploaded = false;
72
+ }
73
+ writeValue(value) {
74
+ // clear file input
75
+ // this.host.nativeElement.value = '';
76
+ // this.file = null;
77
+ }
78
+ registerOnChange(fn) {
79
+ this.onChange = fn;
80
+ }
81
+ registerOnTouched(fn) {
82
+ }
83
+ }
84
+ FileUploadFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: FileUploadFieldComponent, deps: [{ token: i1.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
85
+ FileUploadFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.1", type: FileUploadFieldComponent, isStandalone: true, selector: "crispr-file-upload-field", viewQueries: [{ propertyName: "fileInputRef", first: true, predicate: ["fileInput"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<crispr-field-container\n [config]=\"config\"\n [group]=\"group\">\n <mat-form-field floatLabel=\"always\"\n [color]=\"config.color\"\n appearance=\"outline\"\n [crisprFileDropzone]=\"!(disabled$ | async) && !(config.disableOnUpload && isUploaded)\"\n [formGroup]=\"group\"\n (fileDrop)=\"filesChanged($event)\">\n\n <input [formControlName]=\"config.controlName\" matInput type=\"text\"/>\n <input\n #fileInput\n type=\"file\"\n style=\"display: none\"\n [accept]=\"config.acceptedTypes\"\n [multiple]=\"config.allowMultipleFiles\"\n (change)=\"filesChanged($event.target.files)\"/>\n <mat-label>{{config.label}}</mat-label>\n\n <div *ngIf=\"!(selectedFiles?.length > 0); else selectedFileList\" class=\"drop-info\">\n <mat-icon class=\"drop-icon\" inline=\"true\">cloud_upload</mat-icon>\n <h2 class=\"mat-h2\">{{config.dropZoneText}}</h2>\n or\n <button\n mat-raised-button\n type=\"button\"\n color=\"primary\"\n [disabled]=\"(disabled$ | async) || config.disableOnUpload && isUploaded\"\n (click)=\"fileInput.click()\"\n [attr.aria-label]=\"config.controlName\">\n {{config.selectButtonText}}\n </button>\n </div>\n <ng-template #selectedFileList>\n <div class=\"selected-files-container\">\n <div class=\"selected-files-list\">\n <crispr-selected-file\n *ngFor=\"let file of selectedFiles; let i = index;\"\n [color]=\"config.color === 'primary' ? 'accent' : 'primary'\"\n [fileName]=\"file.name\"\n [showProgress]=\"config.showUploadProgress\"\n [progress]=\"fileProgress && (fileProgress[i] | async)\">\n </crispr-selected-file>\n </div>\n\n </div>\n </ng-template>\n <mat-hint *ngIf=\"config.hint && (control.valid || !control.touched)\">{{config.hint}}</mat-hint>\n </mat-form-field>\n <div class=\"button-container\" *ngIf=\"selectedFiles?.length > 0\">\n\n <button\n mat-button\n (click)=\"resetFileInput()\"\n type=\"button\"\n [disabled]=\"(disabled$ | async) || (config.disableOnUpload && isUploaded)\"\n aria-label=\"Remove Selected File(s)\">\n {{config.clearFilesButtonText}}\n <mat-icon>delete</mat-icon>\n </button>\n\n <button\n *ngIf=\"!!config.uploadFiles\"\n mat-raised-button\n type=\"button\"\n color=\"accent\"\n class=\"file-input-button\"\n [disabled]=\"(disabled$ | async) || (config.disableOnUpload && isUploaded)\"\n (click)=\"uploadFiles()\"\n [attr.aria-label]=\"config.uploadButtonText\">\n {{ config.uploadButtonText }}\n </button>\n\n </div>\n</crispr-field-container>\n", styles: [":host ::ng-deep .mat-form-field .mat-form-field-infix{padding-top:0;display:flex;justify-content:center}:host .drop-info{display:flex;flex-direction:column;align-items:center}:host .drop-info .drop-icon{font-size:36px}:host .drop-info .mat-h2{margin:0}:host .button-container{display:flex;justify-content:flex-end;margin-top:-16px}:host .button-container button{margin-left:8px}:host .selected-files-container{width:100%}:host [matInput]{position:absolute;max-height:0;visibility:hidden}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "component", type: FieldContainerComponent, selector: "crispr-field-container", inputs: ["config", "group", "inlineField"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: SelectedFileComponent, selector: "crispr-selected-file", inputs: ["fileName", "progress", "showProgress", "color"] }, { kind: "ngmodule", type: FormValidationHandlerModule }, { kind: "directive", type: i7.ControlErrorsDirective, selector: "[formControl], [formControlName]" }, { kind: "directive", type: i7.ControlErrorContainerDirective, selector: "[controlErrorContainer], [formGroup]" }, { kind: "directive", type: FileDropzoneDirective, selector: "[crisprFileDropzone]", inputs: ["crisprFileDropzone"], outputs: ["fileDrop"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, preserveWhitespaces: true });
86
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: FileUploadFieldComponent, decorators: [{
87
+ type: Component,
88
+ args: [{ selector: 'crispr-file-upload-field', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
89
+ CommonModule,
90
+ FieldContainerComponent,
91
+ ReactiveFormsModule,
92
+ MatIconModule,
93
+ MatButtonModule,
94
+ MatFormFieldModule,
95
+ MatInputModule,
96
+ SelectedFileComponent,
97
+ FormValidationHandlerModule,
98
+ FileDropzoneDirective,
99
+ ], template: "<crispr-field-container\n [config]=\"config\"\n [group]=\"group\">\n <mat-form-field floatLabel=\"always\"\n [color]=\"config.color\"\n appearance=\"outline\"\n [crisprFileDropzone]=\"!(disabled$ | async) && !(config.disableOnUpload && isUploaded)\"\n [formGroup]=\"group\"\n (fileDrop)=\"filesChanged($event)\">\n\n <input [formControlName]=\"config.controlName\" matInput type=\"text\"/>\n <input\n #fileInput\n type=\"file\"\n style=\"display: none\"\n [accept]=\"config.acceptedTypes\"\n [multiple]=\"config.allowMultipleFiles\"\n (change)=\"filesChanged($event.target.files)\"/>\n <mat-label>{{config.label}}</mat-label>\n\n <div *ngIf=\"!(selectedFiles?.length > 0); else selectedFileList\" class=\"drop-info\">\n <mat-icon class=\"drop-icon\" inline=\"true\">cloud_upload</mat-icon>\n <h2 class=\"mat-h2\">{{config.dropZoneText}}</h2>\n or\n <button\n mat-raised-button\n type=\"button\"\n color=\"primary\"\n [disabled]=\"(disabled$ | async) || config.disableOnUpload && isUploaded\"\n (click)=\"fileInput.click()\"\n [attr.aria-label]=\"config.controlName\">\n {{config.selectButtonText}}\n </button>\n </div>\n <ng-template #selectedFileList>\n <div class=\"selected-files-container\">\n <div class=\"selected-files-list\">\n <crispr-selected-file\n *ngFor=\"let file of selectedFiles; let i = index;\"\n [color]=\"config.color === 'primary' ? 'accent' : 'primary'\"\n [fileName]=\"file.name\"\n [showProgress]=\"config.showUploadProgress\"\n [progress]=\"fileProgress && (fileProgress[i] | async)\">\n </crispr-selected-file>\n </div>\n\n </div>\n </ng-template>\n <mat-hint *ngIf=\"config.hint && (control.valid || !control.touched)\">{{config.hint}}</mat-hint>\n </mat-form-field>\n <div class=\"button-container\" *ngIf=\"selectedFiles?.length > 0\">\n\n <button\n mat-button\n (click)=\"resetFileInput()\"\n type=\"button\"\n [disabled]=\"(disabled$ | async) || (config.disableOnUpload && isUploaded)\"\n aria-label=\"Remove Selected File(s)\">\n {{config.clearFilesButtonText}}\n <mat-icon>delete</mat-icon>\n </button>\n\n <button\n *ngIf=\"!!config.uploadFiles\"\n mat-raised-button\n type=\"button\"\n color=\"accent\"\n class=\"file-input-button\"\n [disabled]=\"(disabled$ | async) || (config.disableOnUpload && isUploaded)\"\n (click)=\"uploadFiles()\"\n [attr.aria-label]=\"config.uploadButtonText\">\n {{ config.uploadButtonText }}\n </button>\n\n </div>\n</crispr-field-container>\n", styles: [":host ::ng-deep .mat-form-field .mat-form-field-infix{padding-top:0;display:flex;justify-content:center}:host .drop-info{display:flex;flex-direction:column;align-items:center}:host .drop-info .drop-icon{font-size:36px}:host .drop-info .mat-h2{margin:0}:host .button-container{display:flex;justify-content:flex-end;margin-top:-16px}:host .button-container button{margin-left:8px}:host .selected-files-container{width:100%}:host [matInput]{position:absolute;max-height:0;visibility:hidden}\n"] }]
100
+ }], ctorParameters: function () { return [{ type: i1.NgControl, decorators: [{
101
+ type: Optional
102
+ }, {
103
+ type: Self
104
+ }] }]; }, propDecorators: { fileInputRef: [{
105
+ type: ViewChild,
106
+ args: ['fileInput']
107
+ }] } });
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQtZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jcmlzcHItZm9ybXMvdWkvZmlsZS11cGxvYWQtZmllbGQvZmlsZS11cGxvYWQtZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jcmlzcHItZm9ybXMvdWkvZmlsZS11cGxvYWQtZmllbGQvZmlsZS11cGxvYWQtZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixTQUFTLEVBRVQsdUJBQXVCLEVBQ3ZCLFFBQVEsRUFDUixJQUFJLEdBQ0wsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixTQUFTLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRTNFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxvQkFBb0IsRUFBeUIsTUFBTSx5QkFBeUIsQ0FBQztBQUMxRyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7Ozs7Ozs7O0FBRTNFLE1BQU0sb0JBQW9CLEdBQUcsa0JBQWtCLENBQXdCLG9CQUFvQixDQUFDLENBQUM7QUFxQjdGLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxvQkFBb0I7SUEyQmhFLCtCQUErQjtJQUMvQixZQUM2QixTQUFvQjtRQUUvQyxLQUFLLEVBQUUsQ0FBQztRQUZtQixjQUFTLEdBQVQsU0FBUyxDQUFXO1FBekJqRCxrQkFBYSxHQUFtQztZQUM5QyxrQkFBa0IsRUFBRSxLQUFLO1lBQ3pCLGFBQWEsRUFBRSxLQUFLO1lBQ3BCLFlBQVksRUFBRSxnQkFBZ0I7WUFDOUIscUJBQXFCLEVBQUUsUUFBUTtZQUMvQixnQkFBZ0IsRUFBRSxRQUFRO1lBQzFCLG9CQUFvQixFQUFFLElBQUk7WUFDMUIsb0JBQW9CLEVBQUUsT0FBTztZQUM3QixnQkFBZ0IsRUFBRSxRQUFRO1lBQzFCLGdCQUFnQixFQUFFLFFBQVE7WUFDMUIsa0JBQWtCLEVBQUUsS0FBSztZQUN6QixlQUFlLEVBQUUsSUFBSTtTQUN0QixDQUFBO1FBTUQsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUVuQixpQkFBWSxHQUF5QixFQUFFLENBQUM7UUFRdEMsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksRUFBRTtZQUMxQix3REFBd0Q7WUFDeEQsMERBQTBEO1lBQzFELFNBQVMsQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO1NBQ2hDO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQjtZQUM3QyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQzFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDZCxDQUFDO0lBR0QsWUFBWSxDQUFDLEtBQWU7UUFDMUIsSUFBSSxLQUFLLElBQUksS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUc7WUFDOUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUE7WUFDMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDaEM7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUcsSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRTtZQUNoRCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztZQUN2QixJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDL0Q7SUFDSCxDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUE7UUFDMUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDMUIsQ0FBQztJQUVELFVBQVUsQ0FBRSxLQUFXO1FBQ3JCLG1CQUFtQjtRQUNuQixzQ0FBc0M7UUFDdEMsb0JBQW9CO0lBQ3RCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBRSxFQUFjO1FBQzlCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxpQkFBaUIsQ0FBRSxFQUFjO0lBQ2pDLENBQUM7O3FIQTlFVSx3QkFBd0I7eUdBQXhCLHdCQUF3QixzTkM3Q3JDLDRyRkE0RUEsa2lCRDNDSSxZQUFZLHFUQUNaLHVCQUF1Qiw4R0FDdkIsbUJBQW1CLG0yQkFDbkIsYUFBYSxtTEFDYixlQUFlLDBWQUNmLGtCQUFrQiwrV0FDbEIsY0FBYywyV0FDZCxxQkFBcUIsMkhBQ3JCLDJCQUEyQix1UEFDM0IscUJBQXFCOzJGQUdaLHdCQUF3QjtrQkFuQnBDLFNBQVM7K0JBQ0UsMEJBQTBCLG1CQUduQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLHVCQUF1Qjt3QkFDdkIsbUJBQW1CO3dCQUNuQixhQUFhO3dCQUNiLGVBQWU7d0JBQ2Ysa0JBQWtCO3dCQUNsQixjQUFjO3dCQUNkLHFCQUFxQjt3QkFDckIsMkJBQTJCO3dCQUMzQixxQkFBcUI7cUJBQ3RCOzswQkErQkUsUUFBUTs7MEJBQUksSUFBSTs0Q0FYSyxZQUFZO3NCQUFuQyxTQUFTO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAbnJ3bC9ueC9lbmZvcmNlLW1vZHVsZS1ib3VuZGFyaWVzICovXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBWaWV3Q2hpbGQsXG4gIE9uSW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIE9wdGlvbmFsLFxuICBTZWxmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOZ0NvbnRyb2wsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGaWxlRHJvcHpvbmVEaXJlY3RpdmUgfSBmcm9tICdAdGZ0L2NyaXNwci1mb3Jtcy91aS9maWxlLWRyb3B6b25lJztcbmltcG9ydCB7IEZvcm1WYWxpZGF0aW9uSGFuZGxlck1vZHVsZSB9IGZyb20gJ0B0ZnQvZm9ybS12YWxpZGF0aW9uLWhhbmRsZXInO1xuXG5pbXBvcnQgeyBjcmlzcHJDb250cm9sTWl4aW4sIENyaXNwckZpZWxkQ29tcG9uZW50LCBGaWxlVXBsb2FkRmllbGRDb25maWcgfSBmcm9tICdAdGZ0L2NyaXNwci1mb3Jtcy91dGlscyc7XG5pbXBvcnQgeyBGaWVsZENvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJ0B0ZnQvY3Jpc3ByLWZvcm1zL3VpL2ZpZWxkLWNvbnRhaW5lcic7XG5pbXBvcnQgeyBTZWxlY3RlZEZpbGVDb21wb25lbnQgfSBmcm9tICdAdGZ0L2NyaXNwci1mb3Jtcy91aS9zZWxlY3RlZC1maWxlJztcblxuY29uc3QgRmlsZVVwbG9hZEZpZWxkTWl4aW4gPSBjcmlzcHJDb250cm9sTWl4aW48RmlsZVVwbG9hZEZpZWxkQ29uZmlnPihDcmlzcHJGaWVsZENvbXBvbmVudCk7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NyaXNwci1maWxlLXVwbG9hZC1maWVsZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWxlLXVwbG9hZC1maWVsZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZpbGUtdXBsb2FkLWZpZWxkLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZpZWxkQ29udGFpbmVyQ29tcG9uZW50LFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIE1hdElucHV0TW9kdWxlLFxuICAgIFNlbGVjdGVkRmlsZUNvbXBvbmVudCxcbiAgICBGb3JtVmFsaWRhdGlvbkhhbmRsZXJNb2R1bGUsXG4gICAgRmlsZURyb3B6b25lRGlyZWN0aXZlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGaWxlVXBsb2FkRmllbGRDb21wb25lbnQgZXh0ZW5kcyBGaWxlVXBsb2FkRmllbGRNaXhpbiBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuXG4gIG9uQ2hhbmdlOiAoKSA9PiB2b2lkO1xuXG4gIGRlZmF1bHRDb25maWc6IFBhcnRpYWw8RmlsZVVwbG9hZEZpZWxkQ29uZmlnPiA9IHtcbiAgICBhbGxvd011bHRpcGxlRmlsZXM6IGZhbHNlLFxuICAgIGFjY2VwdGVkVHlwZXM6ICcqLionLFxuICAgIGRyb3Bab25lVGV4dDogJ0RST1AgRklMRSBIRVJFJyxcbiAgICBzZWxlY3RGaWxlc0J1dHRvblR5cGU6ICdidXR0b24nLFxuICAgIHNlbGVjdEJ1dHRvblRleHQ6ICdTRUxFQ1QnLFxuICAgIHNob3dDbGVhckZpbGVzQnV0dG9uOiB0cnVlLFxuICAgIGNsZWFyRmlsZXNCdXR0b25UZXh0OiAnQ0xFQVInLFxuICAgIHVwbG9hZEJ1dHRvblRleHQ6ICdVUExPQUQnLFxuICAgIHVwbG9hZEJ1dHRvblR5cGU6ICdidXR0b24nLFxuICAgIHNob3dVcGxvYWRQcm9ncmVzczogZmFsc2UsXG4gICAgZGlzYWJsZU9uVXBsb2FkOiB0cnVlXG4gIH1cblxuICBAVmlld0NoaWxkKCdmaWxlSW5wdXQnKSBmaWxlSW5wdXRSZWY6IEVsZW1lbnRSZWZcblxuICBzZWxlY3RlZEZpbGVzOiBGaWxlTGlzdDtcblxuICBpc1VwbG9hZGVkID0gZmFsc2U7XG5cbiAgZmlsZVByb2dyZXNzOiBPYnNlcnZhYmxlPG51bWJlcj5bXSA9IFtdO1xuICBkaXNhYmxlZCQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgLy8gbmdDb250cm9sOiBOZ0NvbnRyb2wgPSBudWxsO1xuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSBAU2VsZigpIHB1YmxpYyBuZ0NvbnRyb2w6IE5nQ29udHJvbCxcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICBpZiAodGhpcy5uZ0NvbnRyb2wgIT0gbnVsbCkge1xuICAgICAgLy8gU2V0dGluZyB0aGUgdmFsdWUgYWNjZXNzb3IgZGlyZWN0bHkgKGluc3RlYWQgb2YgdXNpbmdcbiAgICAgIC8vIHRoZSBwcm92aWRlcnMpIHRvIGF2b2lkIHJ1bm5pbmcgaW50byBhIGNpcmN1bGFyIGltcG9ydC5cbiAgICAgIG5nQ29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcztcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgIHRoaXMuZGlzYWJsZWQkID0gdGhpcy5jb25maWcuZGlzYWJsZWRDYWxsYmFja1xuICAgID8gdGhpcy5jb25maWcuZGlzYWJsZWRDYWxsYmFjayh0aGlzLmdyb3VwKVxuICAgIDogb2YoZmFsc2UpO1xuICB9XG5cblxuICBmaWxlc0NoYW5nZWQoZmlsZXM6IEZpbGVMaXN0KTogdm9pZCB7XG4gICAgaWYgKGZpbGVzICYmIGZpbGVzLmxlbmd0aCA+IDAgKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkRmlsZXMgPSBmaWxlc1xuICAgICAgdGhpcy5jb250cm9sLnBhdGNoVmFsdWUoZmlsZXMpO1xuICAgIH1cbiAgfVxuXG4gIHVwbG9hZEZpbGVzKCkge1xuICAgIGlmKHRoaXMuc2VsZWN0ZWRGaWxlcyAmJiB0aGlzLmNvbmZpZy51cGxvYWRGaWxlcykge1xuICAgICAgdGhpcy5pc1VwbG9hZGVkID0gdHJ1ZTtcbiAgICAgIHRoaXMuY29uZmlnLnVwbG9hZEZpbGVzKHRoaXMuZ3JvdXAsIHRoaXMuc2VsZWN0ZWRGaWxlcywgdGhpcyk7XG4gICAgfVxuICB9XG5cbiAgcmVzZXRGaWxlSW5wdXQoKTogdm9pZCB7XG4gICAgdGhpcy5maWxlSW5wdXRSZWYubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnXG4gICAgdGhpcy5jb250cm9sLnBhdGNoVmFsdWUobnVsbCk7XG4gICAgdGhpcy5pc1VwbG9hZGVkID0gZmFsc2U7XG4gIH1cblxuICB3cml0ZVZhbHVlKCB2YWx1ZTogbnVsbCApIHtcbiAgICAvLyBjbGVhciBmaWxlIGlucHV0XG4gICAgLy8gdGhpcy5ob3N0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgICAvLyB0aGlzLmZpbGUgPSBudWxsO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZSggZm46ICgpID0+IHZvaWQgKSB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoIGZuOiAoKSA9PiB2b2lkICkge1xuICB9XG59XG4iLCI8Y3Jpc3ByLWZpZWxkLWNvbnRhaW5lclxuICBbY29uZmlnXT1cImNvbmZpZ1wiXG4gIFtncm91cF09XCJncm91cFwiPlxuICA8bWF0LWZvcm0tZmllbGQgZmxvYXRMYWJlbD1cImFsd2F5c1wiXG4gICAgW2NvbG9yXT1cImNvbmZpZy5jb2xvclwiXG4gICAgYXBwZWFyYW5jZT1cIm91dGxpbmVcIlxuICAgIFtjcmlzcHJGaWxlRHJvcHpvbmVdPVwiIShkaXNhYmxlZCQgfCBhc3luYykgJiYgIShjb25maWcuZGlzYWJsZU9uVXBsb2FkICYmIGlzVXBsb2FkZWQpXCJcbiAgICBbZm9ybUdyb3VwXT1cImdyb3VwXCJcbiAgICAoZmlsZURyb3ApPVwiZmlsZXNDaGFuZ2VkKCRldmVudClcIj5cblxuICAgIDxpbnB1dCBbZm9ybUNvbnRyb2xOYW1lXT1cImNvbmZpZy5jb250cm9sTmFtZVwiIG1hdElucHV0IHR5cGU9XCJ0ZXh0XCIvPlxuICAgIDxpbnB1dFxuICAgICAgI2ZpbGVJbnB1dFxuICAgICAgdHlwZT1cImZpbGVcIlxuICAgICAgc3R5bGU9XCJkaXNwbGF5OiBub25lXCJcbiAgICAgIFthY2NlcHRdPVwiY29uZmlnLmFjY2VwdGVkVHlwZXNcIlxuICAgICAgW211bHRpcGxlXT1cImNvbmZpZy5hbGxvd011bHRpcGxlRmlsZXNcIlxuICAgICAgKGNoYW5nZSk9XCJmaWxlc0NoYW5nZWQoJGV2ZW50LnRhcmdldC5maWxlcylcIi8+XG4gICAgPG1hdC1sYWJlbD57e2NvbmZpZy5sYWJlbH19PC9tYXQtbGFiZWw+XG5cbiAgICA8ZGl2ICpuZ0lmPVwiIShzZWxlY3RlZEZpbGVzPy5sZW5ndGggPiAwKTsgZWxzZSBzZWxlY3RlZEZpbGVMaXN0XCIgIGNsYXNzPVwiZHJvcC1pbmZvXCI+XG4gICAgICA8bWF0LWljb24gY2xhc3M9XCJkcm9wLWljb25cIiBpbmxpbmU9XCJ0cnVlXCI+Y2xvdWRfdXBsb2FkPC9tYXQtaWNvbj5cbiAgICAgIDxoMiBjbGFzcz1cIm1hdC1oMlwiPnt7Y29uZmlnLmRyb3Bab25lVGV4dH19PC9oMj5cbiAgICAgIG9yXG4gICAgICA8YnV0dG9uXG4gICAgICAgIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiKGRpc2FibGVkJCB8IGFzeW5jKSB8fCBjb25maWcuZGlzYWJsZU9uVXBsb2FkICYmIGlzVXBsb2FkZWRcIlxuICAgICAgICAoY2xpY2spPVwiZmlsZUlucHV0LmNsaWNrKClcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImNvbmZpZy5jb250cm9sTmFtZVwiPlxuICAgICAgICB7e2NvbmZpZy5zZWxlY3RCdXR0b25UZXh0fX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDxuZy10ZW1wbGF0ZSAjc2VsZWN0ZWRGaWxlTGlzdD5cbiAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3RlZC1maWxlcy1jb250YWluZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNlbGVjdGVkLWZpbGVzLWxpc3RcIj5cbiAgICAgICAgICA8Y3Jpc3ByLXNlbGVjdGVkLWZpbGVcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBmaWxlIG9mIHNlbGVjdGVkRmlsZXM7IGxldCBpID0gaW5kZXg7XCJcbiAgICAgICAgICAgIFtjb2xvcl09XCJjb25maWcuY29sb3IgPT09ICdwcmltYXJ5JyA/ICdhY2NlbnQnIDogJ3ByaW1hcnknXCJcbiAgICAgICAgICAgIFtmaWxlTmFtZV09XCJmaWxlLm5hbWVcIlxuICAgICAgICAgICAgW3Nob3dQcm9ncmVzc109XCJjb25maWcuc2hvd1VwbG9hZFByb2dyZXNzXCJcbiAgICAgICAgICAgIFtwcm9ncmVzc109XCJmaWxlUHJvZ3Jlc3MgJiYgKGZpbGVQcm9ncmVzc1tpXSB8IGFzeW5jKVwiPlxuICAgICAgICAgIDwvY3Jpc3ByLXNlbGVjdGVkLWZpbGU+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxtYXQtaGludCAqbmdJZj1cImNvbmZpZy5oaW50ICYmIChjb250cm9sLnZhbGlkIHx8ICFjb250cm9sLnRvdWNoZWQpXCI+e3tjb25maWcuaGludH19PC9tYXQtaGludD5cbiAgPC9tYXQtZm9ybS1maWVsZD5cbiAgPGRpdiBjbGFzcz1cImJ1dHRvbi1jb250YWluZXJcIiAqbmdJZj1cInNlbGVjdGVkRmlsZXM/Lmxlbmd0aCA+IDBcIj5cblxuICAgIDxidXR0b25cbiAgICAgIG1hdC1idXR0b25cbiAgICAgIChjbGljayk9XCJyZXNldEZpbGVJbnB1dCgpXCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgW2Rpc2FibGVkXT1cIihkaXNhYmxlZCQgfCBhc3luYykgfHwgKGNvbmZpZy5kaXNhYmxlT25VcGxvYWQgJiYgaXNVcGxvYWRlZClcIlxuICAgICAgYXJpYS1sYWJlbD1cIlJlbW92ZSBTZWxlY3RlZCBGaWxlKHMpXCI+XG4gICAgICB7e2NvbmZpZy5jbGVhckZpbGVzQnV0dG9uVGV4dH19XG4gICAgICA8bWF0LWljb24+ZGVsZXRlPC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cblxuICAgIDxidXR0b25cbiAgICAgICpuZ0lmPVwiISFjb25maWcudXBsb2FkRmlsZXNcIlxuICAgICAgbWF0LXJhaXNlZC1idXR0b25cbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgY29sb3I9XCJhY2NlbnRcIlxuICAgICAgY2xhc3M9XCJmaWxlLWlucHV0LWJ1dHRvblwiXG4gICAgICBbZGlzYWJsZWRdPVwiKGRpc2FibGVkJCB8IGFzeW5jKSB8fCAoY29uZmlnLmRpc2FibGVPblVwbG9hZCAmJiBpc1VwbG9hZGVkKVwiXG4gICAgICAoY2xpY2spPVwidXBsb2FkRmlsZXMoKVwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImNvbmZpZy51cGxvYWRCdXR0b25UZXh0XCI+XG4gICAgICB7eyBjb25maWcudXBsb2FkQnV0dG9uVGV4dCB9fVxuICAgIDwvYnV0dG9uPlxuXG4gIDwvZGl2PlxuPC9jcmlzcHItZmllbGQtY29udGFpbmVyPlxuIl19
@@ -0,0 +1,2 @@
1
+ export * from './file-upload-field.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY3Jpc3ByLWZvcm1zL3VpL2ZpbGUtdXBsb2FkLWZpZWxkL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywrQkFBK0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZmlsZS11cGxvYWQtZmllbGQuY29tcG9uZW50JztcbiJdfQ==
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGZ0LWNyaXNwci1mb3Jtcy11aS1maWxlLXVwbG9hZC1maWVsZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY3Jpc3ByLWZvcm1zL3VpL2ZpbGUtdXBsb2FkLWZpZWxkL3RmdC1jcmlzcHItZm9ybXMtdWktZmlsZS11cGxvYWQtZmllbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
@@ -0,0 +1,31 @@
1
+ import { Component, Input, ChangeDetectionStrategy } from '@angular/core';
2
+ // eslint-disable-next-line @nrwl/nx/enforce-module-boundaries
3
+ import { CrisprFieldComponent } from '@tft/crispr-forms/utils';
4
+ import { CommonModule } from '@angular/common';
5
+ import { MatFormFieldModule } from '@angular/material/form-field';
6
+ import { InfoComponent } from '@tft/crispr-forms/ui/info';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@angular/common";
9
+ import * as i2 from "@angular/material/form-field";
10
+ const defaultConfig = {
11
+ typographyClass: 'mat-h3'
12
+ };
13
+ export class HeadingComponent extends CrisprFieldComponent {
14
+ constructor() {
15
+ super(...arguments);
16
+ this.defaultConfig = defaultConfig;
17
+ }
18
+ }
19
+ HeadingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: HeadingComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
20
+ HeadingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.1", type: HeadingComponent, isStandalone: true, selector: "crispr-heading", inputs: { config: "config" }, usesInheritance: true, ngImport: i0, template: " <label\n *ngIf=\"!!config?.label\"\n [ngClass]=\"config.typographyClass\">\n {{ config.label }}\n <crispr-info\n *ngIf=\"config.info\"\n matSuffix\n [info]=\"config.info\">\n </crispr-info>\n </label>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix]" }, { kind: "component", type: InfoComponent, selector: "crispr-info", inputs: ["info"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, preserveWhitespaces: true });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: HeadingComponent, decorators: [{
22
+ type: Component,
23
+ args: [{ selector: 'crispr-heading', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
24
+ CommonModule,
25
+ MatFormFieldModule,
26
+ InfoComponent
27
+ ], template: " <label\n *ngIf=\"!!config?.label\"\n [ngClass]=\"config.typographyClass\">\n {{ config.label }}\n <crispr-info\n *ngIf=\"config.info\"\n matSuffix\n [info]=\"config.info\">\n </crispr-info>\n </label>\n", styles: [":host{display:block}\n"] }]
28
+ }], propDecorators: { config: [{
29
+ type: Input
30
+ }] } });
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy91aS9oZWFkaW5nL2hlYWRpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jcmlzcHItZm9ybXMvdWkvaGVhZGluZy9oZWFkaW5nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFFLDhEQUE4RDtBQUM5RCxPQUFPLEVBQUUsb0JBQW9CLEVBQWlCLE1BQU0seUJBQXlCLENBQUM7QUFDOUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7OztBQUUxRCxNQUFNLGFBQWEsR0FBMkI7SUFDNUMsZUFBZSxFQUFFLFFBQVE7Q0FDMUIsQ0FBQTtBQWFELE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxvQkFBbUM7SUFaekU7O1FBY0Usa0JBQWEsR0FBRyxhQUFhLENBQUM7S0FDL0I7OzZHQUhZLGdCQUFnQjtpR0FBaEIsZ0JBQWdCLCtIQ3RCN0IsNk9BVUEsK0VET0ksWUFBWSxnT0FDWixrQkFBa0IsbUdBQ2xCLGFBQWE7MkZBR0osZ0JBQWdCO2tCQVo1QixTQUFTOytCQUNFLGdCQUFnQixtQkFHVCx1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLGtCQUFrQjt3QkFDbEIsYUFBYTtxQkFDZDs4QkFHUSxNQUFNO3NCQUFkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBucndsL254L2VuZm9yY2UtbW9kdWxlLWJvdW5kYXJpZXNcbmltcG9ydCB7IENyaXNwckZpZWxkQ29tcG9uZW50LCBIZWFkaW5nQ29uZmlnIH0gZnJvbSAnQHRmdC9jcmlzcHItZm9ybXMvdXRpbHMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgSW5mb0NvbXBvbmVudCB9IGZyb20gJ0B0ZnQvY3Jpc3ByLWZvcm1zL3VpL2luZm8nO1xuXG5jb25zdCBkZWZhdWx0Q29uZmlnOiBQYXJ0aWFsPEhlYWRpbmdDb25maWc+ID0ge1xuICB0eXBvZ3JhcGh5Q2xhc3M6ICdtYXQtaDMnXG59XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjcmlzcHItaGVhZGluZycsXG4gIHRlbXBsYXRlVXJsOiAnLi9oZWFkaW5nLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaGVhZGluZy5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgSW5mb0NvbXBvbmVudFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBIZWFkaW5nQ29tcG9uZW50IGV4dGVuZHMgQ3Jpc3ByRmllbGRDb21wb25lbnQ8SGVhZGluZ0NvbmZpZz57XG4gIEBJbnB1dCgpIGNvbmZpZzogSGVhZGluZ0NvbmZpZztcbiAgZGVmYXVsdENvbmZpZyA9IGRlZmF1bHRDb25maWc7XG59XG4iLCIgIDxsYWJlbFxuICAgICpuZ0lmPVwiISFjb25maWc/LmxhYmVsXCJcbiAgICBbbmdDbGFzc109XCJjb25maWcudHlwb2dyYXBoeUNsYXNzXCI+XG4gICAge3sgY29uZmlnLmxhYmVsIH19XG4gICAgPGNyaXNwci1pbmZvXG4gICAgICAqbmdJZj1cImNvbmZpZy5pbmZvXCJcbiAgICAgIG1hdFN1ZmZpeFxuICAgICAgW2luZm9dPVwiY29uZmlnLmluZm9cIj5cbiAgICA8L2NyaXNwci1pbmZvPlxuICA8L2xhYmVsPlxuIl19
@@ -0,0 +1,2 @@
1
+ export * from './heading.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY3Jpc3ByLWZvcm1zL3VpL2hlYWRpbmcvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9oZWFkaW5nLmNvbXBvbmVudCc7XG4iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public-api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGZ0LWNyaXNwci1mb3Jtcy11aS1oZWFkaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jcmlzcHItZm9ybXMvdWkvaGVhZGluZy90ZnQtY3Jpc3ByLWZvcm1zLXVpLWhlYWRpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==