@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
@@ -1,91 +0,0 @@
1
- import { Component, ChangeDetectionStrategy, NgModule } from '@angular/core';
2
- import { crisprControlMixin, CrisprFieldComponent } from '../../abstracts';
3
- import { MatDatepickerModule } from '@angular/material/datepicker';
4
- import { MatDateFnsModule } from '@angular/material-date-fns-adapter';
5
- import { of } from 'rxjs';
6
- import { ComponentPortal, PortalModule } from '@angular/cdk/portal';
7
- import { MatFormFieldModule } from '@angular/material/form-field';
8
- import { FieldContainerModule } from '../../field-container';
9
- import { CommonModule } from '@angular/common';
10
- import { ReactiveFormsModule } from '@angular/forms';
11
- import { MatInputModule } from '@angular/material/input';
12
- import * as i0 from "@angular/core";
13
- import * as i1 from "@angular/common";
14
- import * as i2 from "../../field-container/field-container.component";
15
- import * as i3 from "@angular/material/datepicker";
16
- import * as i4 from "@angular/material/form-field";
17
- import * as i5 from "@angular/forms";
18
- import * as i6 from "@angular/material/input";
19
- import * as i7 from "@angular/cdk/portal";
20
- const defaultConfig = {
21
- startView: 'month',
22
- };
23
- const DatepickerFieldMixin = crisprControlMixin(CrisprFieldComponent);
24
- export class DatepickerFieldComponent extends DatepickerFieldMixin {
25
- constructor() {
26
- super(...arguments);
27
- this.defaultConfig = defaultConfig;
28
- }
29
- ngOnInit() {
30
- super.ngOnInit();
31
- this.startAt$ = this.config.startAt instanceof Date
32
- ? of(this.config.startAt)
33
- : this.config.startAt instanceof Function
34
- ? this.config.startAt(this.group)
35
- : of(null);
36
- this.dateClass = this.config?.cellClassFunction || null;
37
- this.dateClass$ = this.config.dateClass ? this.config?.dateClass(this.group) : of(() => '');
38
- }
39
- ngAfterContentInit() {
40
- if (this.config.datepickerActions) {
41
- this.calendarFooterPortal = new ComponentPortal(this.config.datepickerActions);
42
- }
43
- }
44
- }
45
- DatepickerFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: DatepickerFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
46
- DatepickerFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.1", type: DatepickerFieldComponent, selector: "crispr-datepicker-field", usesInheritance: true, ngImport: i0, template: "<crispr-field-container\n [config]=\"config\"\n [group]=\"group\">\n <mat-form-field\n [color]=\"config.color\"\n [appearance]=\"config.appearance\"\n [formGroup]=\"group\">\n <mat-label *ngIf=\"config.label\">\n {{config.label}}\n </mat-label>\n <input\n matInput\n [formControlName]=\"config.controlName\"\n [min]=\"config.min\"\n [max]=\"config.max\"\n [matDatepicker]=\"picker\"\n [matDatepickerFilter]=\"config.datepickerFilter\">\n <mat-datepicker-toggle matSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <mat-datepicker\n [touchUi]=\"config.touchUi\"\n [startView]=\"config.startView\"\n [startAt]=\"startAt$ | async\"\n [dateClass]=\"dateClass || (dateClass$ | async)\"\n #picker>\n <mat-datepicker-actions *ngIf=\"calendarFooterPortal\">\n <ng-template [cdkPortalOutlet]=\"calendarFooterPortal\"></ng-template>\n </mat-datepicker-actions>\n </mat-datepicker>\n\n <mat-hint *ngIf=\"config.hint && (control.valid || !control.touched)\">{{config.hint}}</mat-hint>\n\n </mat-form-field>\n</crispr-field-container>\n\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.FieldContainerComponent, selector: "crispr-field-container", inputs: ["config", "group", "inlineField"] }, { kind: "component", type: i3.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i3.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i3.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: i3.MatDatepickerActions, selector: "mat-datepicker-actions, mat-date-range-picker-actions" }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.MatSuffix, selector: "[matSuffix]" }, { kind: "directive", type: i5.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: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { 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: "directive", type: i7.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, preserveWhitespaces: true });
47
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: DatepickerFieldComponent, decorators: [{
48
- type: Component,
49
- args: [{ selector: 'crispr-datepicker-field', changeDetection: ChangeDetectionStrategy.OnPush, 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 <input\n matInput\n [formControlName]=\"config.controlName\"\n [min]=\"config.min\"\n [max]=\"config.max\"\n [matDatepicker]=\"picker\"\n [matDatepickerFilter]=\"config.datepickerFilter\">\n <mat-datepicker-toggle matSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <mat-datepicker\n [touchUi]=\"config.touchUi\"\n [startView]=\"config.startView\"\n [startAt]=\"startAt$ | async\"\n [dateClass]=\"dateClass || (dateClass$ | async)\"\n #picker>\n <mat-datepicker-actions *ngIf=\"calendarFooterPortal\">\n <ng-template [cdkPortalOutlet]=\"calendarFooterPortal\"></ng-template>\n </mat-datepicker-actions>\n </mat-datepicker>\n\n <mat-hint *ngIf=\"config.hint && (control.valid || !control.touched)\">{{config.hint}}</mat-hint>\n\n </mat-form-field>\n</crispr-field-container>\n\n" }]
50
- }] });
51
- export class DatepickerFieldModule {
52
- }
53
- DatepickerFieldModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: DatepickerFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
54
- DatepickerFieldModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.1", ngImport: i0, type: DatepickerFieldModule, declarations: [DatepickerFieldComponent], imports: [CommonModule,
55
- FieldContainerModule,
56
- MatDatepickerModule,
57
- MatFormFieldModule,
58
- ReactiveFormsModule,
59
- MatInputModule,
60
- MatDateFnsModule,
61
- PortalModule], exports: [DatepickerFieldComponent] });
62
- DatepickerFieldModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: DatepickerFieldModule, imports: [CommonModule,
63
- FieldContainerModule,
64
- MatDatepickerModule,
65
- MatFormFieldModule,
66
- ReactiveFormsModule,
67
- MatInputModule,
68
- MatDateFnsModule,
69
- PortalModule] });
70
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: DatepickerFieldModule, decorators: [{
71
- type: NgModule,
72
- args: [{
73
- imports: [
74
- CommonModule,
75
- FieldContainerModule,
76
- MatDatepickerModule,
77
- MatFormFieldModule,
78
- ReactiveFormsModule,
79
- MatInputModule,
80
- MatDateFnsModule,
81
- PortalModule
82
- ],
83
- exports: [
84
- DatepickerFieldComponent
85
- ],
86
- declarations: [
87
- DatepickerFieldComponent
88
- ]
89
- }]
90
- }] });
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy9zcmMvbGliL21hdGVyaWFsL2RhdGVwaWNrZXItZmllbGQvZGF0ZXBpY2tlci1maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy9zcmMvbGliL21hdGVyaWFsL2RhdGVwaWNrZXItZmllbGQvZGF0ZXBpY2tlci1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLHVCQUF1QixFQUFvQixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLG9CQUFvQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0UsT0FBTyxFQUFnQyxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2pHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3RFLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLGVBQWUsRUFBVSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7Ozs7QUFFekQsTUFBTSxhQUFhLEdBQW1DO0lBQ3BELFNBQVMsRUFBRSxPQUFPO0NBQ25CLENBQUE7QUFDRCxNQUFNLG9CQUFvQixHQUFHLGtCQUFrQixDQUF3QixvQkFBb0IsQ0FBQyxDQUFDO0FBUTdGLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxvQkFBb0I7SUFObEU7O1FBUUUsa0JBQWEsR0FBRyxhQUFhLENBQUM7S0FnQy9CO0lBdkJDLFFBQVE7UUFDTixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sWUFBWSxJQUFJO1lBQ2pELENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUM7WUFDekIsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxZQUFZLFFBQVE7Z0JBQ3pDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO2dCQUNqQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2IsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLGlCQUFpQixJQUFJLElBQUksQ0FBQTtRQUN2RCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM5RixDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRTtZQUNqQyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1NBQ2hGO0lBQ0gsQ0FBQzs7cUhBMUJVLHdCQUF3Qjt5R0FBeEIsd0JBQXdCLHNGQ3hCckMsbW5DQWtDQTsyRkRWYSx3QkFBd0I7a0JBTnBDLFNBQVM7K0JBQ0UseUJBQXlCLG1CQUdsQix1QkFBdUIsQ0FBQyxNQUFNOztBQXVEakQsTUFBTSxPQUFPLHFCQUFxQjs7a0hBQXJCLHFCQUFxQjttSEFBckIscUJBQXFCLGlCQXJEckIsd0JBQXdCLGFBcUNqQyxZQUFZO1FBQ1osb0JBQW9CO1FBQ3BCLG1CQUFtQjtRQUNuQixrQkFBa0I7UUFDbEIsbUJBQW1CO1FBQ25CLGNBQWM7UUFDZCxnQkFBZ0I7UUFDaEIsWUFBWSxhQTVDSCx3QkFBd0I7bUhBcUR4QixxQkFBcUIsWUFoQjlCLFlBQVk7UUFDWixvQkFBb0I7UUFDcEIsbUJBQW1CO1FBQ25CLGtCQUFrQjtRQUNsQixtQkFBbUI7UUFDbkIsY0FBYztRQUNkLGdCQUFnQjtRQUNoQixZQUFZOzJGQVNILHFCQUFxQjtrQkFsQmpDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osb0JBQW9CO3dCQUNwQixtQkFBbUI7d0JBQ25CLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3dCQUNuQixjQUFjO3dCQUNkLGdCQUFnQjt3QkFDaEIsWUFBWTtxQkFDYjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1Asd0JBQXdCO3FCQUN6QjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1osd0JBQXdCO3FCQUN6QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQWZ0ZXJDb250ZW50SW5pdCwgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERhdGVwaWNrZXJGaWVsZENvbmZpZyB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBjcmlzcHJDb250cm9sTWl4aW4sIENyaXNwckZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYWJzdHJhY3RzJztcbmltcG9ydCB7IE1hdENhbGVuZGFyQ2VsbENsYXNzRnVuY3Rpb24sIE1hdERhdGVwaWNrZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyJztcbmltcG9ydCB7IE1hdERhdGVGbnNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC1kYXRlLWZucy1hZGFwdGVyJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwsIFBvcnRhbCwgUG9ydGFsTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IEZpZWxkQ29udGFpbmVyTW9kdWxlIH0gZnJvbSAnLi4vLi4vZmllbGQtY29udGFpbmVyJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5cbmNvbnN0IGRlZmF1bHRDb25maWc6IFBhcnRpYWw8RGF0ZXBpY2tlckZpZWxkQ29uZmlnPiA9IHtcbiAgc3RhcnRWaWV3OiAnbW9udGgnLFxufVxuY29uc3QgRGF0ZXBpY2tlckZpZWxkTWl4aW4gPSBjcmlzcHJDb250cm9sTWl4aW48RGF0ZXBpY2tlckZpZWxkQ29uZmlnPihDcmlzcHJGaWVsZENvbXBvbmVudCk7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NyaXNwci1kYXRlcGlja2VyLWZpZWxkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGVwaWNrZXItZmllbGQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kYXRlcGlja2VyLWZpZWxkLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIERhdGVwaWNrZXJGaWVsZENvbXBvbmVudCBleHRlbmRzIERhdGVwaWNrZXJGaWVsZE1peGluIGltcGxlbWVudHMgT25Jbml0LCBBZnRlckNvbnRlbnRJbml0IHtcblxuICBkZWZhdWx0Q29uZmlnID0gZGVmYXVsdENvbmZpZztcblxuICBkYXRlQ2xhc3M6IE1hdENhbGVuZGFyQ2VsbENsYXNzRnVuY3Rpb248RGF0ZT47XG4gIGRhdGVDbGFzcyQ6IE9ic2VydmFibGU8TWF0Q2FsZW5kYXJDZWxsQ2xhc3NGdW5jdGlvbjxEYXRlPj47XG4gIHN0YXJ0QXQkOiBPYnNlcnZhYmxlPERhdGU+O1xuXG4gIC8qKiBBIHBvcnRhbCBjb250YWluaW5nIHRoZSBmb290ZXIgY29tcG9uZW50IHR5cGUgZm9yIHRoaXMgY2FsZW5kYXIuICovXG4gIGNhbGVuZGFyRm9vdGVyUG9ydGFsOiBQb3J0YWw8YW55PjtcblxuICBuZ09uSW5pdCgpIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgIHRoaXMuc3RhcnRBdCQgPSB0aGlzLmNvbmZpZy5zdGFydEF0IGluc3RhbmNlb2YgRGF0ZVxuICAgICAgPyBvZih0aGlzLmNvbmZpZy5zdGFydEF0KVxuICAgICAgOiB0aGlzLmNvbmZpZy5zdGFydEF0IGluc3RhbmNlb2YgRnVuY3Rpb25cbiAgICAgID8gdGhpcy5jb25maWcuc3RhcnRBdCh0aGlzLmdyb3VwKVxuICAgICAgOiBvZihudWxsKTtcbiAgICB0aGlzLmRhdGVDbGFzcyA9IHRoaXMuY29uZmlnPy5jZWxsQ2xhc3NGdW5jdGlvbiB8fCBudWxsXG4gICAgdGhpcy5kYXRlQ2xhc3MkID0gdGhpcy5jb25maWcuZGF0ZUNsYXNzID8gdGhpcy5jb25maWc/LmRhdGVDbGFzcyh0aGlzLmdyb3VwKSA6IG9mKCgpID0+ICcnKTtcbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICBpZiAodGhpcy5jb25maWcuZGF0ZXBpY2tlckFjdGlvbnMpIHtcbiAgICAgIHRoaXMuY2FsZW5kYXJGb290ZXJQb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsKHRoaXMuY29uZmlnLmRhdGVwaWNrZXJBY3Rpb25zKTtcbiAgICB9XG4gIH1cblxuICAvLyBoYW5kbGVTZWxlY3RlZENoYW5nZShldmVudCwgcGlja2VyOiBNYXREYXRlcGlja2VyPHVua25vd24+KSB7XG4gIC8vICAgY29uc29sZS5sb2coe2V2ZW50LCBwaWNrZXJ9KVxuICAvLyAgIGlmKHRoaXMuY29uZmlnLnNlbGVjdGVkQ2hhbmdlKSB7XG4gIC8vICAgICB0aGlzLmNvbmZpZy5zZWxlY3RlZENoYW5nZShldmVudCwgcGlja2VyKTtcbiAgLy8gICB9XG4gIC8vIH1cbn1cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRmllbGRDb250YWluZXJNb2R1bGUsXG4gICAgTWF0RGF0ZXBpY2tlck1vZHVsZSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICBNYXREYXRlRm5zTW9kdWxlLFxuICAgIFBvcnRhbE1vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgRGF0ZXBpY2tlckZpZWxkQ29tcG9uZW50XG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIERhdGVwaWNrZXJGaWVsZENvbXBvbmVudFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIERhdGVwaWNrZXJGaWVsZE1vZHVsZSB7XG59XG4iLCI8Y3Jpc3ByLWZpZWxkLWNvbnRhaW5lclxuICBbY29uZmlnXT1cImNvbmZpZ1wiXG4gIFtncm91cF09XCJncm91cFwiPlxuICA8bWF0LWZvcm0tZmllbGRcbiAgICBbY29sb3JdPVwiY29uZmlnLmNvbG9yXCJcbiAgICBbYXBwZWFyYW5jZV09XCJjb25maWcuYXBwZWFyYW5jZVwiXG4gICAgW2Zvcm1Hcm91cF09XCJncm91cFwiPlxuICAgIDxtYXQtbGFiZWwgKm5nSWY9XCJjb25maWcubGFiZWxcIj5cbiAgICAgIHt7Y29uZmlnLmxhYmVsfX1cbiAgICA8L21hdC1sYWJlbD5cbiAgICA8aW5wdXRcbiAgICAgIG1hdElucHV0XG4gICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImNvbmZpZy5jb250cm9sTmFtZVwiXG4gICAgICBbbWluXT1cImNvbmZpZy5taW5cIlxuICAgICAgW21heF09XCJjb25maWcubWF4XCJcbiAgICAgIFttYXREYXRlcGlja2VyXT1cInBpY2tlclwiXG4gICAgICBbbWF0RGF0ZXBpY2tlckZpbHRlcl09XCJjb25maWcuZGF0ZXBpY2tlckZpbHRlclwiPlxuICAgIDxtYXQtZGF0ZXBpY2tlci10b2dnbGUgbWF0U3VmZml4IFtmb3JdPVwicGlja2VyXCI+PC9tYXQtZGF0ZXBpY2tlci10b2dnbGU+XG4gICAgPG1hdC1kYXRlcGlja2VyXG4gICAgICBbdG91Y2hVaV09XCJjb25maWcudG91Y2hVaVwiXG4gICAgICBbc3RhcnRWaWV3XT1cImNvbmZpZy5zdGFydFZpZXdcIlxuICAgICAgW3N0YXJ0QXRdPVwic3RhcnRBdCQgfCBhc3luY1wiXG4gICAgICBbZGF0ZUNsYXNzXT1cImRhdGVDbGFzcyB8fCAoZGF0ZUNsYXNzJCB8IGFzeW5jKVwiXG4gICAgICAjcGlja2VyPlxuICAgICAgPG1hdC1kYXRlcGlja2VyLWFjdGlvbnMgKm5nSWY9XCJjYWxlbmRhckZvb3RlclBvcnRhbFwiPlxuICAgICAgICA8bmctdGVtcGxhdGUgW2Nka1BvcnRhbE91dGxldF09XCJjYWxlbmRhckZvb3RlclBvcnRhbFwiPjwvbmctdGVtcGxhdGU+XG4gICAgICA8L21hdC1kYXRlcGlja2VyLWFjdGlvbnM+XG4gICAgPC9tYXQtZGF0ZXBpY2tlcj5cblxuICAgIDxtYXQtaGludCAqbmdJZj1cImNvbmZpZy5oaW50ICYmIChjb250cm9sLnZhbGlkIHx8ICFjb250cm9sLnRvdWNoZWQpXCI+e3tjb25maWcuaGludH19PC9tYXQtaGludD5cblxuICA8L21hdC1mb3JtLWZpZWxkPlxuPC9jcmlzcHItZmllbGQtY29udGFpbmVyPlxuXG4iXX0=
@@ -1,46 +0,0 @@
1
- import { Component, NgModule } from '@angular/core';
2
- import { CrisprFieldComponent } from '../../abstracts';
3
- import { MatDividerModule } from '@angular/material/divider';
4
- import { CommonModule } from '@angular/common';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/common";
7
- import * as i2 from "@angular/material/divider";
8
- export class DividerComponent extends CrisprFieldComponent {
9
- constructor() {
10
- super(...arguments);
11
- // TODO: pull in type after configs are better organized
12
- this.defaultConfig = {};
13
- }
14
- ngOnInit() {
15
- super.ngOnInit();
16
- }
17
- }
18
- DividerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: DividerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
19
- DividerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.1", type: DividerComponent, 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: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i2.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }], preserveWhitespaces: true });
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: DividerComponent, decorators: [{
21
- type: Component,
22
- args: [{ selector: 'crispr-divider', 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"] }]
23
- }] });
24
- export class DividerModule {
25
- }
26
- DividerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: DividerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
27
- DividerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.1", ngImport: i0, type: DividerModule, declarations: [DividerComponent], imports: [CommonModule,
28
- MatDividerModule], exports: [DividerComponent] });
29
- DividerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: DividerModule, imports: [CommonModule,
30
- MatDividerModule] });
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: DividerModule, decorators: [{
32
- type: NgModule,
33
- args: [{
34
- imports: [
35
- CommonModule,
36
- MatDividerModule
37
- ],
38
- exports: [
39
- DividerComponent
40
- ],
41
- declarations: [
42
- DividerComponent
43
- ]
44
- }]
45
- }] });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGl2aWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy9zcmMvbGliL21hdGVyaWFsL2RpdmlkZXIvZGl2aWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy9zcmMvbGliL21hdGVyaWFsL2RpdmlkZXIvZGl2aWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUU1RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFPL0MsTUFBTSxPQUFPLGdCQUFpQixTQUFRLG9CQUFtQztJQUx6RTs7UUFNRSx3REFBd0Q7UUFDeEQsa0JBQWEsR0FBRyxFQUFFLENBQUM7S0FLcEI7SUFKQyxRQUFRO1FBQ04sS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ25CLENBQUM7OzZHQUxVLGdCQUFnQjtpR0FBaEIsZ0JBQWdCLDZFQ1g3QiwwREFBc0Q7MkZEV3pDLGdCQUFnQjtrQkFMNUIsU0FBUzsrQkFDRSxnQkFBZ0I7O0FBd0I1QixNQUFNLE9BQU8sYUFBYTs7MEdBQWIsYUFBYTsyR0FBYixhQUFhLGlCQXBCYixnQkFBZ0IsYUFVekIsWUFBWTtRQUNaLGdCQUFnQixhQVhQLGdCQUFnQjsyR0FvQmhCLGFBQWEsWUFWdEIsWUFBWTtRQUNaLGdCQUFnQjsyRkFTUCxhQUFhO2tCQVp6QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGdCQUFnQjtxQkFDakI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGdCQUFnQjtxQkFDakI7b0JBQ0QsWUFBWSxFQUFFO3dCQUNaLGdCQUFnQjtxQkFDakI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE5nTW9kdWxlLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERpdmlkZXJDb25maWcgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgQ3Jpc3ByRmllbGRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9hYnN0cmFjdHMnO1xuaW1wb3J0IHsgTWF0RGl2aWRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpdmlkZXInO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3Jpc3ByLWRpdmlkZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZGl2aWRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RpdmlkZXIuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBEaXZpZGVyQ29tcG9uZW50IGV4dGVuZHMgQ3Jpc3ByRmllbGRDb21wb25lbnQ8RGl2aWRlckNvbmZpZz4gaW1wbGVtZW50cyBPbkluaXQge1xuICAvLyBUT0RPOiBwdWxsIGluIHR5cGUgYWZ0ZXIgY29uZmlncyBhcmUgYmV0dGVyIG9yZ2FuaXplZFxuICBkZWZhdWx0Q29uZmlnID0ge307XG4gIG5nT25Jbml0KCkge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gIH1cblxufVxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBNYXREaXZpZGVyTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBEaXZpZGVyQ29tcG9uZW50XG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIERpdmlkZXJDb21wb25lbnRcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBEaXZpZGVyTW9kdWxlIHtcbn1cbiIsIjxtYXQtZGl2aWRlciBbbmdDbGFzc109XCJjb25maWcuY2xhc3Nlc1wiPjwvbWF0LWRpdmlkZXI+Il19
@@ -1,39 +0,0 @@
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, 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
- }]
28
- }], propDecorators: { fileDrop: [{
29
- type: Output
30
- }], crisprFileDropzone: [{
31
- type: Input
32
- }], onDrop: [{
33
- type: HostListener,
34
- args: ['drop', ['$event']]
35
- }], onDragOver: [{
36
- type: HostListener,
37
- args: ['dragover', ['$event']]
38
- }] } });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1kcm9wem9uZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy9zcmMvbGliL21hdGVyaWFsL2ZpbGUtdXBsb2FkL2ZpbGUtZHJvcHpvbmUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUtyRixNQUFNLE9BQU8scUJBQXFCO0lBSGxDO1FBS1ksYUFBUSxHQUFJLElBQUksWUFBWSxFQUFZLENBQUM7UUFFMUMsdUJBQWtCLEdBQUcsSUFBSSxDQUFDO0tBaUJwQztJQWRDLE1BQU0sQ0FBQyxNQUFpQjtRQUN0QixJQUFHLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUMxQixNQUFNLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUMvQztJQUNILENBQUM7SUFFRCxtREFBbUQ7SUFFbkQsVUFBVSxDQUFDLE1BQWlCO1FBQzFCLElBQUcsSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQzFCLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUN6QjtJQUNILENBQUM7O2tIQXBCVSxxQkFBcUI7c0dBQXJCLHFCQUFxQjsyRkFBckIscUJBQXFCO2tCQUhqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxzQkFBc0I7aUJBQ2pDOzhCQUdXLFFBQVE7c0JBQWpCLE1BQU07Z0JBRUUsa0JBQWtCO3NCQUExQixLQUFLO2dCQUdOLE1BQU07c0JBREwsWUFBWTt1QkFBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBVWhDLFVBQVU7c0JBRFQsWUFBWTt1QkFBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RMaXN0ZW5lciwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tjcmlzcHJGaWxlRHJvcHpvbmVdJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRmlsZURyb3B6b25lRGlyZWN0aXZlIHtcclxuXHJcbiAgQE91dHB1dCgpIGZpbGVEcm9wID0gIG5ldyBFdmVudEVtaXR0ZXI8RmlsZUxpc3Q+KCk7XHJcblxyXG4gIEBJbnB1dCgpIGNyaXNwckZpbGVEcm9wem9uZSA9IHRydWU7XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2Ryb3AnLCBbJyRldmVudCddKVxyXG4gIG9uRHJvcCgkZXZlbnQ6IERyYWdFdmVudCkge1xyXG4gICAgaWYodGhpcy5jcmlzcHJGaWxlRHJvcHpvbmUpIHtcclxuICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIHRoaXMuZmlsZURyb3AuZW1pdCgkZXZlbnQuZGF0YVRyYW5zZmVyLmZpbGVzKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIFByZXZlbnRzIERPTSBmcm9tIHRyeWluZyB0byBvcGVuIGZpbGUgaW4gYnJvd3NlclxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RyYWdvdmVyJywgWyckZXZlbnQnXSlcclxuICBvbkRyYWdPdmVyKCRldmVudDogRHJhZ0V2ZW50KSB7XHJcbiAgICBpZih0aGlzLmNyaXNwckZpbGVEcm9wem9uZSkge1xyXG4gICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
@@ -1,143 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { Component, ElementRef, ViewChild, ChangeDetectionStrategy, Optional, Self, NgModule } from '@angular/core';
3
- import { NgControl, ReactiveFormsModule } from '@angular/forms';
4
- import { MatButtonModule } from '@angular/material/button';
5
- import { MatFormFieldModule } from '@angular/material/form-field';
6
- import { MatIconModule } from '@angular/material/icon';
7
- import { MatInputModule } from '@angular/material/input';
8
- import { FormValidationHandlerModule } from '@tft/form-validation-handler';
9
- import { of } from 'rxjs';
10
- import { crisprControlMixin, CrisprFieldComponent } from '../../abstracts';
11
- import { FieldContainerModule } from '../../field-container/field-container.component';
12
- import { SelectedFileModule } from '../selected-file/selected-file.component';
13
- import { FileDropzoneDirective } from './file-dropzone.directive';
14
- import * as i0 from "@angular/core";
15
- import * as i1 from "@angular/forms";
16
- import * as i2 from "@angular/common";
17
- import * as i3 from "../../field-container/field-container.component";
18
- import * as i4 from "@angular/material/icon";
19
- import * as i5 from "@angular/material/button";
20
- import * as i6 from "@angular/material/form-field";
21
- import * as i7 from "@angular/material/input";
22
- import * as i8 from "../selected-file/selected-file.component";
23
- import * as i9 from "@tft/form-validation-handler";
24
- const FileUploadFieldMixin = crisprControlMixin(CrisprFieldComponent);
25
- export class FileUploadFieldComponent extends FileUploadFieldMixin {
26
- // ngControl: NgControl = null;
27
- constructor(ngControl) {
28
- super();
29
- this.ngControl = ngControl;
30
- this.defaultConfig = {
31
- allowMultipleFiles: false,
32
- acceptedTypes: '*.*',
33
- dropZoneText: 'DROP FILE HERE',
34
- selectFilesButtonType: 'button',
35
- selectButtonText: 'SELECT',
36
- showClearFilesButton: true,
37
- clearFilesButtonText: 'CLEAR',
38
- uploadButtonText: 'UPLOAD',
39
- uploadButtonType: 'button',
40
- showUploadProgress: false,
41
- disableOnUpload: true
42
- };
43
- this.isUploaded = false;
44
- this.fileProgress = [];
45
- if (this.ngControl != null) {
46
- // Setting the value accessor directly (instead of using
47
- // the providers) to avoid running into a circular import.
48
- ngControl.valueAccessor = this;
49
- }
50
- }
51
- ngOnInit() {
52
- super.ngOnInit();
53
- this.disabled$ = this.config.disabledCallback
54
- ? this.config.disabledCallback(this.group, this.config)
55
- : of(false);
56
- }
57
- filesChanged(files) {
58
- if (files && files.length > 0) {
59
- this.selectedFiles = files;
60
- this.control.patchValue(files);
61
- }
62
- }
63
- uploadFiles() {
64
- if (this.selectedFiles && this.config.uploadFiles) {
65
- this.isUploaded = true;
66
- this.config.uploadFiles(this.group, this.selectedFiles, this);
67
- }
68
- }
69
- resetFileInput() {
70
- this.fileInputRef.nativeElement.value = '';
71
- this.control.patchValue(null);
72
- this.isUploaded = false;
73
- }
74
- writeValue(value) {
75
- // clear file input
76
- // this.host.nativeElement.value = '';
77
- // this.file = null;
78
- }
79
- registerOnChange(fn) {
80
- this.onChange = fn;
81
- }
82
- registerOnTouched(fn) {
83
- }
84
- }
85
- 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 });
86
- FileUploadFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.1", type: FileUploadFieldComponent, 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: "directive", type: i0.forwardRef(function () { return i2.NgForOf; }), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i0.forwardRef(function () { return i3.FieldContainerComponent; }), selector: "crispr-field-container", inputs: ["config", "group", "inlineField"] }, { kind: "directive", type: i0.forwardRef(function () { return 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: i0.forwardRef(function () { return i1.NgControlStatus; }), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgControlStatusGroup; }), selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i0.forwardRef(function () { return i1.FormGroupDirective; }), selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.FormControlName; }), selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i0.forwardRef(function () { return i4.MatIcon; }), selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i0.forwardRef(function () { return i5.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: "component", type: i0.forwardRef(function () { return i6.MatFormField; }), selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i0.forwardRef(function () { return i6.MatHint; }), selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i0.forwardRef(function () { return i6.MatLabel; }), selector: "mat-label" }, { kind: "directive", type: i0.forwardRef(function () { return i7.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: i0.forwardRef(function () { return i8.SelectedFileComponent; }), selector: "crispr-selected-file", inputs: ["fileName", "progress", "showProgress", "color"] }, { kind: "directive", type: i0.forwardRef(function () { return i9.ControlErrorsDirective; }), selector: "[formControl], [formControlName]" }, { kind: "directive", type: i0.forwardRef(function () { return i9.ControlErrorContainerDirective; }), selector: "[controlErrorContainer], [formGroup]" }, { kind: "directive", type: i0.forwardRef(function () { return FileDropzoneDirective; }), selector: "[crisprFileDropzone]", inputs: ["crisprFileDropzone"], outputs: ["fileDrop"] }, { kind: "pipe", type: i0.forwardRef(function () { return i2.AsyncPipe; }), name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, preserveWhitespaces: true });
87
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: FileUploadFieldComponent, decorators: [{
88
- type: Component,
89
- args: [{ selector: 'crispr-file-upload-field', changeDetection: ChangeDetectionStrategy.OnPush, 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"] }]
90
- }], ctorParameters: function () { return [{ type: i1.NgControl, decorators: [{
91
- type: Optional
92
- }, {
93
- type: Self
94
- }] }]; }, propDecorators: { fileInputRef: [{
95
- type: ViewChild,
96
- args: ['fileInput']
97
- }] } });
98
- export class FileUploadFieldModule {
99
- }
100
- FileUploadFieldModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: FileUploadFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
101
- FileUploadFieldModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.1", ngImport: i0, type: FileUploadFieldModule, declarations: [FileUploadFieldComponent, FileDropzoneDirective], imports: [CommonModule,
102
- FieldContainerModule,
103
- ReactiveFormsModule,
104
- MatIconModule,
105
- MatButtonModule,
106
- MatFormFieldModule,
107
- MatInputModule,
108
- SelectedFileModule,
109
- FormValidationHandlerModule], exports: [FileUploadFieldComponent, FileDropzoneDirective] });
110
- FileUploadFieldModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: FileUploadFieldModule, imports: [CommonModule,
111
- FieldContainerModule,
112
- ReactiveFormsModule,
113
- MatIconModule,
114
- MatButtonModule,
115
- MatFormFieldModule,
116
- MatInputModule,
117
- SelectedFileModule,
118
- FormValidationHandlerModule] });
119
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: FileUploadFieldModule, decorators: [{
120
- type: NgModule,
121
- args: [{
122
- imports: [
123
- CommonModule,
124
- FieldContainerModule,
125
- ReactiveFormsModule,
126
- MatIconModule,
127
- MatButtonModule,
128
- MatFormFieldModule,
129
- MatInputModule,
130
- SelectedFileModule,
131
- FormValidationHandlerModule,
132
- ],
133
- exports: [
134
- FileUploadFieldComponent,
135
- FileDropzoneDirective
136
- ],
137
- declarations: [
138
- FileUploadFieldComponent,
139
- FileDropzoneDirective
140
- ]
141
- }]
142
- }] });
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jcmlzcHItZm9ybXMvc3JjL2xpYi9tYXRlcmlhbC9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy9zcmMvbGliL21hdGVyaWFsL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixTQUFTLEVBRVQsdUJBQXVCLEVBQ3ZCLFFBQVEsRUFDUixJQUFJLEVBQ0osUUFBUSxFQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsU0FBUyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDM0UsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUV2RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUM5RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7Ozs7Ozs7QUFFbEUsTUFBTSxvQkFBb0IsR0FBRyxrQkFBa0IsQ0FBd0Isb0JBQW9CLENBQUMsQ0FBQztBQVE3RixNQUFNLE9BQU8sd0JBQXlCLFNBQVEsb0JBQW9CO0lBMkJoRSwrQkFBK0I7SUFDL0IsWUFDNkIsU0FBb0I7UUFFL0MsS0FBSyxFQUFFLENBQUM7UUFGbUIsY0FBUyxHQUFULFNBQVMsQ0FBVztRQXpCakQsa0JBQWEsR0FBbUM7WUFDOUMsa0JBQWtCLEVBQUUsS0FBSztZQUN6QixhQUFhLEVBQUUsS0FBSztZQUNwQixZQUFZLEVBQUUsZ0JBQWdCO1lBQzlCLHFCQUFxQixFQUFFLFFBQVE7WUFDL0IsZ0JBQWdCLEVBQUUsUUFBUTtZQUMxQixvQkFBb0IsRUFBRSxJQUFJO1lBQzFCLG9CQUFvQixFQUFFLE9BQU87WUFDN0IsZ0JBQWdCLEVBQUUsUUFBUTtZQUMxQixnQkFBZ0IsRUFBRSxRQUFRO1lBQzFCLGtCQUFrQixFQUFFLEtBQUs7WUFDekIsZUFBZSxFQUFFLElBQUk7U0FDdEIsQ0FBQTtRQU1ELGVBQVUsR0FBRyxLQUFLLENBQUM7UUFFbkIsaUJBQVksR0FBeUIsRUFBRSxDQUFDO1FBUXRDLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLEVBQUU7WUFDMUIsd0RBQXdEO1lBQ3hELDBEQUEwRDtZQUMxRCxTQUFTLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztTQUNoQztJQUNILENBQUM7SUFFRCxRQUFRO1FBQ04sS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0I7WUFDN0MsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQ3ZELENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDZCxDQUFDO0lBR0QsWUFBWSxDQUFDLEtBQWU7UUFDMUIsSUFBSSxLQUFLLElBQUksS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUc7WUFDOUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUE7WUFDMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDaEM7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUcsSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRTtZQUNoRCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztZQUN2QixJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDL0Q7SUFDSCxDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUE7UUFDMUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDMUIsQ0FBQztJQUVELFVBQVUsQ0FBRSxLQUFXO1FBQ3JCLG1CQUFtQjtRQUNuQixzQ0FBc0M7UUFDdEMsb0JBQW9CO0lBQ3RCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBRSxFQUFjO1FBQzlCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxpQkFBaUIsQ0FBRSxFQUFjO0lBQ2pDLENBQUM7O3FIQTlFVSx3QkFBd0I7eUdBQXhCLHdCQUF3QixrTUNoQ3JDLDRyRkE0RUEsczJIRHNESSxxQkFBcUI7MkZBbEdaLHdCQUF3QjtrQkFOcEMsU0FBUzsrQkFDRSwwQkFBMEIsbUJBR25CLHVCQUF1QixDQUFDLE1BQU07OzBCQStCNUMsUUFBUTs7MEJBQUksSUFBSTs0Q0FYSyxZQUFZO3NCQUFuQyxTQUFTO3VCQUFDLFdBQVc7O0FBbUZ4QixNQUFNLE9BQU8scUJBQXFCOztrSEFBckIscUJBQXFCO21IQUFyQixxQkFBcUIsaUJBckdyQix3QkFBd0IsRUFrR2pDLHFCQUFxQixhQWhCckIsWUFBWTtRQUNaLG9CQUFvQjtRQUNwQixtQkFBbUI7UUFDbkIsYUFBYTtRQUNiLGVBQWU7UUFDZixrQkFBa0I7UUFDbEIsY0FBYztRQUNkLGtCQUFrQjtRQUNsQiwyQkFBMkIsYUExRmxCLHdCQUF3QixFQThGakMscUJBQXFCO21IQU9aLHFCQUFxQixZQW5COUIsWUFBWTtRQUNaLG9CQUFvQjtRQUNwQixtQkFBbUI7UUFDbkIsYUFBYTtRQUNiLGVBQWU7UUFDZixrQkFBa0I7UUFDbEIsY0FBYztRQUNkLGtCQUFrQjtRQUNsQiwyQkFBMkI7MkZBV2xCLHFCQUFxQjtrQkFyQmpDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osb0JBQW9CO3dCQUNwQixtQkFBbUI7d0JBQ25CLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixrQkFBa0I7d0JBQ2xCLGNBQWM7d0JBQ2Qsa0JBQWtCO3dCQUNsQiwyQkFBMkI7cUJBQzVCO29CQUNELE9BQU8sRUFBRTt3QkFDUCx3QkFBd0I7d0JBQ3hCLHFCQUFxQjtxQkFDdEI7b0JBQ0QsWUFBWSxFQUFFO3dCQUNaLHdCQUF3Qjt3QkFDeEIscUJBQXFCO3FCQUN0QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIFZpZXdDaGlsZCxcbiAgT25Jbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgT3B0aW9uYWwsXG4gIFNlbGYsXG4gIE5nTW9kdWxlXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5nQ29udHJvbCwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgRm9ybVZhbGlkYXRpb25IYW5kbGVyTW9kdWxlIH0gZnJvbSAnQHRmdC9mb3JtLXZhbGlkYXRpb24taGFuZGxlcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY3Jpc3ByQ29udHJvbE1peGluLCBDcmlzcHJGaWVsZENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Fic3RyYWN0cyc7XG5pbXBvcnQgeyBGaWVsZENvbnRhaW5lck1vZHVsZSB9IGZyb20gJy4uLy4uL2ZpZWxkLWNvbnRhaW5lci9maWVsZC1jb250YWluZXIuY29tcG9uZW50JztcbmltcG9ydCB0eXBlIHsgRmlsZVVwbG9hZEZpZWxkQ29uZmlnIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2ZpbGUtdXBsb2FkLWZpZWxkLmNvbmZpZyc7XG5pbXBvcnQgeyBTZWxlY3RlZEZpbGVNb2R1bGUgfSBmcm9tICcuLi9zZWxlY3RlZC1maWxlL3NlbGVjdGVkLWZpbGUuY29tcG9uZW50JztcbmltcG9ydCB7IEZpbGVEcm9wem9uZURpcmVjdGl2ZSB9IGZyb20gJy4vZmlsZS1kcm9wem9uZS5kaXJlY3RpdmUnO1xuXG5jb25zdCBGaWxlVXBsb2FkRmllbGRNaXhpbiA9IGNyaXNwckNvbnRyb2xNaXhpbjxGaWxlVXBsb2FkRmllbGRDb25maWc+KENyaXNwckZpZWxkQ29tcG9uZW50KTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3Jpc3ByLWZpbGUtdXBsb2FkLWZpZWxkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbGUtdXBsb2FkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmlsZS11cGxvYWQuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEZpbGVVcGxvYWRGaWVsZENvbXBvbmVudCBleHRlbmRzIEZpbGVVcGxvYWRGaWVsZE1peGluIGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG5cbiAgb25DaGFuZ2U6ICgpID0+IHZvaWQ7XG5cbiAgZGVmYXVsdENvbmZpZzogUGFydGlhbDxGaWxlVXBsb2FkRmllbGRDb25maWc+ID0ge1xuICAgIGFsbG93TXVsdGlwbGVGaWxlczogZmFsc2UsXG4gICAgYWNjZXB0ZWRUeXBlczogJyouKicsXG4gICAgZHJvcFpvbmVUZXh0OiAnRFJPUCBGSUxFIEhFUkUnLFxuICAgIHNlbGVjdEZpbGVzQnV0dG9uVHlwZTogJ2J1dHRvbicsXG4gICAgc2VsZWN0QnV0dG9uVGV4dDogJ1NFTEVDVCcsXG4gICAgc2hvd0NsZWFyRmlsZXNCdXR0b246IHRydWUsXG4gICAgY2xlYXJGaWxlc0J1dHRvblRleHQ6ICdDTEVBUicsXG4gICAgdXBsb2FkQnV0dG9uVGV4dDogJ1VQTE9BRCcsXG4gICAgdXBsb2FkQnV0dG9uVHlwZTogJ2J1dHRvbicsXG4gICAgc2hvd1VwbG9hZFByb2dyZXNzOiBmYWxzZSxcbiAgICBkaXNhYmxlT25VcGxvYWQ6IHRydWVcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoJ2ZpbGVJbnB1dCcpIGZpbGVJbnB1dFJlZjogRWxlbWVudFJlZlxuXG4gIHNlbGVjdGVkRmlsZXM6IEZpbGVMaXN0O1xuXG4gIGlzVXBsb2FkZWQgPSBmYWxzZTtcblxuICBmaWxlUHJvZ3Jlc3M6IE9ic2VydmFibGU8bnVtYmVyPltdID0gW107XG4gIGRpc2FibGVkJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuICAvLyBuZ0NvbnRyb2w6IE5nQ29udHJvbCA9IG51bGw7XG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIEBTZWxmKCkgcHVibGljIG5nQ29udHJvbDogTmdDb250cm9sLFxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIGlmICh0aGlzLm5nQ29udHJvbCAhPSBudWxsKSB7XG4gICAgICAvLyBTZXR0aW5nIHRoZSB2YWx1ZSBhY2Nlc3NvciBkaXJlY3RseSAoaW5zdGVhZCBvZiB1c2luZ1xuICAgICAgLy8gdGhlIHByb3ZpZGVycykgdG8gYXZvaWQgcnVubmluZyBpbnRvIGEgY2lyY3VsYXIgaW1wb3J0LlxuICAgICAgbmdDb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgdGhpcy5kaXNhYmxlZCQgPSB0aGlzLmNvbmZpZy5kaXNhYmxlZENhbGxiYWNrXG4gICAgPyB0aGlzLmNvbmZpZy5kaXNhYmxlZENhbGxiYWNrKHRoaXMuZ3JvdXAsIHRoaXMuY29uZmlnKVxuICAgIDogb2YoZmFsc2UpO1xuICB9XG5cblxuICBmaWxlc0NoYW5nZWQoZmlsZXM6IEZpbGVMaXN0KTogdm9pZCB7XG4gICAgaWYgKGZpbGVzICYmIGZpbGVzLmxlbmd0aCA+IDAgKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkRmlsZXMgPSBmaWxlc1xuICAgICAgdGhpcy5jb250cm9sLnBhdGNoVmFsdWUoZmlsZXMpO1xuICAgIH1cbiAgfVxuXG4gIHVwbG9hZEZpbGVzKCkge1xuICAgIGlmKHRoaXMuc2VsZWN0ZWRGaWxlcyAmJiB0aGlzLmNvbmZpZy51cGxvYWRGaWxlcykge1xuICAgICAgdGhpcy5pc1VwbG9hZGVkID0gdHJ1ZTtcbiAgICAgIHRoaXMuY29uZmlnLnVwbG9hZEZpbGVzKHRoaXMuZ3JvdXAsIHRoaXMuc2VsZWN0ZWRGaWxlcywgdGhpcyk7XG4gICAgfVxuICB9XG5cbiAgcmVzZXRGaWxlSW5wdXQoKTogdm9pZCB7XG4gICAgdGhpcy5maWxlSW5wdXRSZWYubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnXG4gICAgdGhpcy5jb250cm9sLnBhdGNoVmFsdWUobnVsbCk7XG4gICAgdGhpcy5pc1VwbG9hZGVkID0gZmFsc2U7XG4gIH1cblxuICB3cml0ZVZhbHVlKCB2YWx1ZTogbnVsbCApIHtcbiAgICAvLyBjbGVhciBmaWxlIGlucHV0XG4gICAgLy8gdGhpcy5ob3N0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcbiAgICAvLyB0aGlzLmZpbGUgPSBudWxsO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZSggZm46ICgpID0+IHZvaWQgKSB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoIGZuOiAoKSA9PiB2b2lkICkge1xuICB9XG59XG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZpZWxkQ29udGFpbmVyTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIE1hdElucHV0TW9kdWxlLFxuICAgIFNlbGVjdGVkRmlsZU1vZHVsZSxcbiAgICBGb3JtVmFsaWRhdGlvbkhhbmRsZXJNb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBGaWxlVXBsb2FkRmllbGRDb21wb25lbnQsXG4gICAgRmlsZURyb3B6b25lRGlyZWN0aXZlXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEZpbGVVcGxvYWRGaWVsZENvbXBvbmVudCxcbiAgICBGaWxlRHJvcHpvbmVEaXJlY3RpdmVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBGaWxlVXBsb2FkRmllbGRNb2R1bGUge1xufVxuIiwiPGNyaXNwci1maWVsZC1jb250YWluZXJcbiAgW2NvbmZpZ109XCJjb25maWdcIlxuICBbZ3JvdXBdPVwiZ3JvdXBcIj5cbiAgPG1hdC1mb3JtLWZpZWxkIGZsb2F0TGFiZWw9XCJhbHdheXNcIlxuICAgIFtjb2xvcl09XCJjb25maWcuY29sb3JcIlxuICAgIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCJcbiAgICBbY3Jpc3ByRmlsZURyb3B6b25lXT1cIiEoZGlzYWJsZWQkIHwgYXN5bmMpICYmICEoY29uZmlnLmRpc2FibGVPblVwbG9hZCAmJiBpc1VwbG9hZGVkKVwiXG4gICAgW2Zvcm1Hcm91cF09XCJncm91cFwiXG4gICAgKGZpbGVEcm9wKT1cImZpbGVzQ2hhbmdlZCgkZXZlbnQpXCI+XG5cbiAgICA8aW5wdXQgW2Zvcm1Db250cm9sTmFtZV09XCJjb25maWcuY29udHJvbE5hbWVcIiBtYXRJbnB1dCB0eXBlPVwidGV4dFwiLz5cbiAgICA8aW5wdXRcbiAgICAgICNmaWxlSW5wdXRcbiAgICAgIHR5cGU9XCJmaWxlXCJcbiAgICAgIHN0eWxlPVwiZGlzcGxheTogbm9uZVwiXG4gICAgICBbYWNjZXB0XT1cImNvbmZpZy5hY2NlcHRlZFR5cGVzXCJcbiAgICAgIFttdWx0aXBsZV09XCJjb25maWcuYWxsb3dNdWx0aXBsZUZpbGVzXCJcbiAgICAgIChjaGFuZ2UpPVwiZmlsZXNDaGFuZ2VkKCRldmVudC50YXJnZXQuZmlsZXMpXCIvPlxuICAgIDxtYXQtbGFiZWw+e3tjb25maWcubGFiZWx9fTwvbWF0LWxhYmVsPlxuXG4gICAgPGRpdiAqbmdJZj1cIiEoc2VsZWN0ZWRGaWxlcz8ubGVuZ3RoID4gMCk7IGVsc2Ugc2VsZWN0ZWRGaWxlTGlzdFwiICBjbGFzcz1cImRyb3AtaW5mb1wiPlxuICAgICAgPG1hdC1pY29uIGNsYXNzPVwiZHJvcC1pY29uXCIgaW5saW5lPVwidHJ1ZVwiPmNsb3VkX3VwbG9hZDwvbWF0LWljb24+XG4gICAgICA8aDIgY2xhc3M9XCJtYXQtaDJcIj57e2NvbmZpZy5kcm9wWm9uZVRleHR9fTwvaDI+XG4gICAgICBvclxuICAgICAgPGJ1dHRvblxuICAgICAgICBtYXQtcmFpc2VkLWJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgW2Rpc2FibGVkXT1cIihkaXNhYmxlZCQgfCBhc3luYykgfHwgY29uZmlnLmRpc2FibGVPblVwbG9hZCAmJiBpc1VwbG9hZGVkXCJcbiAgICAgICAgKGNsaWNrKT1cImZpbGVJbnB1dC5jbGljaygpXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJjb25maWcuY29udHJvbE5hbWVcIj5cbiAgICAgICAge3tjb25maWcuc2VsZWN0QnV0dG9uVGV4dH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8bmctdGVtcGxhdGUgI3NlbGVjdGVkRmlsZUxpc3Q+XG4gICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0ZWQtZmlsZXMtY29udGFpbmVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzZWxlY3RlZC1maWxlcy1saXN0XCI+XG4gICAgICAgICAgPGNyaXNwci1zZWxlY3RlZC1maWxlXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgZmlsZSBvZiBzZWxlY3RlZEZpbGVzOyBsZXQgaSA9IGluZGV4O1wiXG4gICAgICAgICAgICBbY29sb3JdPVwiY29uZmlnLmNvbG9yID09PSAncHJpbWFyeScgPyAnYWNjZW50JyA6ICdwcmltYXJ5J1wiXG4gICAgICAgICAgICBbZmlsZU5hbWVdPVwiZmlsZS5uYW1lXCJcbiAgICAgICAgICAgIFtzaG93UHJvZ3Jlc3NdPVwiY29uZmlnLnNob3dVcGxvYWRQcm9ncmVzc1wiXG4gICAgICAgICAgICBbcHJvZ3Jlc3NdPVwiZmlsZVByb2dyZXNzICYmIChmaWxlUHJvZ3Jlc3NbaV0gfCBhc3luYylcIj5cbiAgICAgICAgICA8L2NyaXNwci1zZWxlY3RlZC1maWxlPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bWF0LWhpbnQgKm5nSWY9XCJjb25maWcuaGludCAmJiAoY29udHJvbC52YWxpZCB8fCAhY29udHJvbC50b3VjaGVkKVwiPnt7Y29uZmlnLmhpbnR9fTwvbWF0LWhpbnQ+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDxkaXYgY2xhc3M9XCJidXR0b24tY29udGFpbmVyXCIgKm5nSWY9XCJzZWxlY3RlZEZpbGVzPy5sZW5ndGggPiAwXCI+XG5cbiAgICA8YnV0dG9uXG4gICAgICBtYXQtYnV0dG9uXG4gICAgICAoY2xpY2spPVwicmVzZXRGaWxlSW5wdXQoKVwiXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIFtkaXNhYmxlZF09XCIoZGlzYWJsZWQkIHwgYXN5bmMpIHx8IChjb25maWcuZGlzYWJsZU9uVXBsb2FkICYmIGlzVXBsb2FkZWQpXCJcbiAgICAgIGFyaWEtbGFiZWw9XCJSZW1vdmUgU2VsZWN0ZWQgRmlsZShzKVwiPlxuICAgICAge3tjb25maWcuY2xlYXJGaWxlc0J1dHRvblRleHR9fVxuICAgICAgPG1hdC1pY29uPmRlbGV0ZTwvbWF0LWljb24+XG4gICAgPC9idXR0b24+XG5cbiAgICA8YnV0dG9uXG4gICAgICAqbmdJZj1cIiEhY29uZmlnLnVwbG9hZEZpbGVzXCJcbiAgICAgIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIGNvbG9yPVwiYWNjZW50XCJcbiAgICAgIGNsYXNzPVwiZmlsZS1pbnB1dC1idXR0b25cIlxuICAgICAgW2Rpc2FibGVkXT1cIihkaXNhYmxlZCQgfCBhc3luYykgfHwgKGNvbmZpZy5kaXNhYmxlT25VcGxvYWQgJiYgaXNVcGxvYWRlZClcIlxuICAgICAgKGNsaWNrKT1cInVwbG9hZEZpbGVzKClcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJjb25maWcudXBsb2FkQnV0dG9uVGV4dFwiPlxuICAgICAge3sgY29uZmlnLnVwbG9hZEJ1dHRvblRleHQgfX1cbiAgICA8L2J1dHRvbj5cblxuICA8L2Rpdj5cbjwvY3Jpc3ByLWZpZWxkLWNvbnRhaW5lcj5cbiJdfQ==
@@ -1,3 +0,0 @@
1
- export * from './file-dropzone.directive';
2
- export * from './file-upload.component';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy9zcmMvbGliL21hdGVyaWFsL2ZpbGUtdXBsb2FkL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZmlsZS1kcm9wem9uZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9maWxlLXVwbG9hZC5jb21wb25lbnQnO1xuIl19
@@ -1,52 +0,0 @@
1
- import { Component, Input, ChangeDetectionStrategy, NgModule } from '@angular/core';
2
- import { CrisprFieldComponent } from '../../abstracts';
3
- import { CommonModule } from '@angular/common';
4
- import { MatFormFieldModule } from '@angular/material/form-field';
5
- import { InfoModule } from '../info/info.component';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/common";
8
- import * as i2 from "@angular/material/form-field";
9
- import * as i3 from "../info/info.component";
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, 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: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix]" }, { kind: "component", type: i3.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, 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"] }]
24
- }], propDecorators: { config: [{
25
- type: Input
26
- }] } });
27
- export class HeadingModule {
28
- }
29
- HeadingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: HeadingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
30
- HeadingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.1", ngImport: i0, type: HeadingModule, declarations: [HeadingComponent], imports: [CommonModule,
31
- MatFormFieldModule,
32
- InfoModule], exports: [HeadingComponent] });
33
- HeadingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: HeadingModule, imports: [CommonModule,
34
- MatFormFieldModule,
35
- InfoModule] });
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.1", ngImport: i0, type: HeadingModule, decorators: [{
37
- type: NgModule,
38
- args: [{
39
- imports: [
40
- CommonModule,
41
- MatFormFieldModule,
42
- InfoModule
43
- ],
44
- exports: [
45
- HeadingComponent
46
- ],
47
- declarations: [
48
- HeadingComponent
49
- ]
50
- }]
51
- }] });
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy9zcmMvbGliL21hdGVyaWFsL2hlYWRpbmcvaGVhZGluZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NyaXNwci1mb3Jtcy9zcmMvbGliL21hdGVyaWFsL2hlYWRpbmcvaGVhZGluZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSx1QkFBdUIsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFcEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7QUFFcEQsTUFBTSxhQUFhLEdBQTJCO0lBQzVDLGVBQWUsRUFBRSxRQUFRO0NBQzFCLENBQUE7QUFPRCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsb0JBQW1DO0lBTnpFOztRQVFFLGtCQUFhLEdBQUcsYUFBYSxDQUFDO0tBQy9COzs2R0FIWSxnQkFBZ0I7aUdBQWhCLGdCQUFnQiwyR0NoQjdCLDZPQVVBOzJGRE1hLGdCQUFnQjtrQkFONUIsU0FBUzsrQkFDRSxnQkFBZ0IsbUJBR1QsdUJBQXVCLENBQUMsTUFBTTs4QkFHdEMsTUFBTTtzQkFBZCxLQUFLOztBQWlCUixNQUFNLE9BQU8sYUFBYTs7MEdBQWIsYUFBYTsyR0FBYixhQUFhLGlCQWxCYixnQkFBZ0IsYUFNckIsWUFBWTtRQUNaLGtCQUFrQjtRQUNsQixVQUFVLGFBUkwsZ0JBQWdCOzJHQWtCaEIsYUFBYSxZQVpsQixZQUFZO1FBQ1osa0JBQWtCO1FBQ2xCLFVBQVU7MkZBVUwsYUFBYTtrQkFkekIsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixrQkFBa0I7d0JBQ2xCLFVBQVU7cUJBQ2I7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLGdCQUFnQjtxQkFDbkI7b0JBQ0QsWUFBWSxFQUFFO3dCQUNWLGdCQUFnQjtxQkFDbkI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHsgSGVhZGluZ0NvbmZpZyB9IGZyb20gJy4uLy4uL21vZGVscy9oZWFkaW5nLmNvbmZpZyc7XG5pbXBvcnQgeyBDcmlzcHJGaWVsZENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Fic3RyYWN0cyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBJbmZvTW9kdWxlIH0gZnJvbSAnLi4vaW5mby9pbmZvLmNvbXBvbmVudCc7XG5cbmNvbnN0IGRlZmF1bHRDb25maWc6IFBhcnRpYWw8SGVhZGluZ0NvbmZpZz4gPSB7XG4gIHR5cG9ncmFwaHlDbGFzczogJ21hdC1oMydcbn1cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NyaXNwci1oZWFkaW5nJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2hlYWRpbmcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9oZWFkaW5nLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEhlYWRpbmdDb21wb25lbnQgZXh0ZW5kcyBDcmlzcHJGaWVsZENvbXBvbmVudDxIZWFkaW5nQ29uZmlnPntcbiAgQElucHV0KCkgY29uZmlnOiBIZWFkaW5nQ29uZmlnO1xuICBkZWZhdWx0Q29uZmlnID0gZGVmYXVsdENvbmZpZztcbn1cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICAgICAgSW5mb01vZHVsZVxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBIZWFkaW5nQ29tcG9uZW50XG4gICAgXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgSGVhZGluZ0NvbXBvbmVudFxuICAgIF1cbn0pXG5cbmV4cG9ydCBjbGFzcyBIZWFkaW5nTW9kdWxlIHtcbn1cbiIsIiAgPGxhYmVsXG4gICAgKm5nSWY9XCIhIWNvbmZpZz8ubGFiZWxcIlxuICAgIFtuZ0NsYXNzXT1cImNvbmZpZy50eXBvZ3JhcGh5Q2xhc3NcIj5cbiAgICB7eyBjb25maWcubGFiZWwgfX1cbiAgICA8Y3Jpc3ByLWluZm9cbiAgICAgICpuZ0lmPVwiY29uZmlnLmluZm9cIlxuICAgICAgbWF0U3VmZml4XG4gICAgICBbaW5mb109XCJjb25maWcuaW5mb1wiPlxuICAgIDwvY3Jpc3ByLWluZm8+XG4gIDwvbGFiZWw+XG4iXX0=
@@ -1,4 +0,0 @@
1
- export function convertBytesToMb(bytes) {
2
- return bytes / 1048576;
3
- }
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtY29tcHJlc3Npb24uaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY3Jpc3ByLWZvcm1zL3NyYy9saWIvbWF0ZXJpYWwvaW1hZ2UtdXBsb2FkLWZpZWxkL2ltYWdlLWNvbXByZXNzaW9uLmhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLGdCQUFnQixDQUFFLEtBQWE7SUFDN0MsT0FBTyxLQUFLLEdBQUMsT0FBTyxDQUFDO0FBQ3ZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gY29udmVydEJ5dGVzVG9NYiggYnl0ZXM6IG51bWJlcik6IG51bWJlciB7XG4gIHJldHVybiBieXRlcy8xMDQ4NTc2O1xufVxuIl19