@tft/crispr-forms 14.0.2 → 15.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (490) hide show
  1. package/esm2022/public-api.mjs +4 -0
  2. package/{esm2020 → esm2022}/src/index.mjs +1 -1
  3. package/esm2022/src/lib/crispr-forms.module.mjs +55 -0
  4. package/esm2022/src/lib/display-field.directive.mjs +52 -0
  5. package/esm2022/src/lib/field-component-map.const.mjs +28 -0
  6. package/esm2022/src/lib/field.directive.mjs +69 -0
  7. package/esm2022/src/lib/form/form.component.mjs +62 -0
  8. package/esm2022/src/lib/form-group-list/form-group-list.component.mjs +97 -0
  9. package/{esm2020 → esm2022}/src/lib/form-group-list/index.mjs +1 -1
  10. package/{esm2020 → esm2022}/src/lib/pipes/crispr-pipes.module.mjs +24 -24
  11. package/esm2022/src/lib/pipes/initial-control-value.pipe.mjs +20 -0
  12. package/{esm2020 → esm2022}/src/lib/public_api.mjs +2 -2
  13. package/{esm2020 → esm2022}/src/lib/sub-group/index.mjs +2 -2
  14. package/esm2022/src/lib/sub-group/sub-group.component.mjs +20 -0
  15. package/esm2022/src/lib/sub-group/sub-group.module.mjs +42 -0
  16. package/esm2022/src/lib/ui/autocomplete-chiplist-field/autocomplete-chiplist-field.component.mjs +138 -0
  17. package/esm2022/src/lib/ui/autocomplete-chiplist-field/index.mjs +2 -0
  18. package/esm2022/src/lib/ui/autocomplete-chiplist-field/public-api.mjs +2 -0
  19. package/esm2022/src/lib/ui/autocomplete-field/autocomplete-field.component.mjs +95 -0
  20. package/esm2022/src/lib/ui/autocomplete-field/index.mjs +2 -0
  21. package/esm2022/src/lib/ui/autocomplete-field/public-api.mjs +2 -0
  22. package/esm2022/src/lib/ui/button/button.component.mjs +52 -0
  23. package/esm2022/src/lib/ui/button/index.mjs +2 -0
  24. package/esm2022/src/lib/ui/button/public-api.mjs +2 -0
  25. package/esm2022/src/lib/ui/checkbox-field/checkbox-field.component.mjs +42 -0
  26. package/esm2022/src/lib/ui/checkbox-field/index.mjs +2 -0
  27. package/esm2022/src/lib/ui/checkbox-field/public-api.mjs +2 -0
  28. package/esm2022/src/lib/ui/datepicker-field/datepicker-field.component.mjs +66 -0
  29. package/esm2022/src/lib/ui/datepicker-field/index.mjs +2 -0
  30. package/esm2022/src/lib/ui/datepicker-field/public-api.mjs +2 -0
  31. package/esm2022/src/lib/ui/divider/divider.component.mjs +25 -0
  32. package/esm2022/src/lib/ui/divider/index.mjs +2 -0
  33. package/esm2022/src/lib/ui/divider/public-api.mjs +2 -0
  34. package/esm2022/src/lib/ui/field-container/field-container.component.mjs +59 -0
  35. package/esm2022/src/lib/ui/field-container/index.mjs +2 -0
  36. package/esm2022/src/lib/ui/field-container/public-api.mjs +2 -0
  37. package/esm2022/src/lib/ui/file-dropzone/file-dropzone.directive.mjs +40 -0
  38. package/esm2022/src/lib/ui/file-dropzone/index.mjs +2 -0
  39. package/esm2022/src/lib/ui/file-dropzone/public-api.mjs +2 -0
  40. package/esm2022/src/lib/ui/file-upload-field/file-upload-field.component.mjs +107 -0
  41. package/esm2022/src/lib/ui/file-upload-field/index.mjs +2 -0
  42. package/esm2022/src/lib/ui/file-upload-field/public-api.mjs +2 -0
  43. package/esm2022/src/lib/ui/heading/heading.component.mjs +27 -0
  44. package/esm2022/src/lib/ui/heading/index.mjs +2 -0
  45. package/esm2022/src/lib/ui/heading/public-api.mjs +2 -0
  46. package/esm2022/src/lib/ui/image-upload-field/image-upload-field.component.mjs +184 -0
  47. package/esm2022/src/lib/ui/image-upload-field/index.mjs +2 -0
  48. package/esm2022/src/lib/ui/image-upload-field/public-api.mjs +2 -0
  49. package/esm2022/src/lib/ui/index.mjs +2 -0
  50. package/esm2022/src/lib/ui/info/index.mjs +2 -0
  51. package/esm2022/src/lib/ui/info/info.component.mjs +23 -0
  52. package/esm2022/src/lib/ui/info/public-api.mjs +2 -0
  53. package/esm2022/src/lib/ui/input-field/index.mjs +2 -0
  54. package/esm2022/src/lib/ui/input-field/input-field.component.mjs +43 -0
  55. package/esm2022/src/lib/ui/input-field/public-api.mjs +2 -0
  56. package/esm2022/src/lib/ui/option/index.mjs +2 -0
  57. package/esm2022/src/lib/ui/option/option.component.mjs +16 -0
  58. package/esm2022/src/lib/ui/option/public-api.mjs +2 -0
  59. package/esm2022/src/lib/ui/public-api.mjs +7 -0
  60. package/esm2022/src/lib/ui/radio-field/index.mjs +2 -0
  61. package/esm2022/src/lib/ui/radio-field/public-api.mjs +2 -0
  62. package/esm2022/src/lib/ui/radio-field/radio-field.component.mjs +39 -0
  63. package/esm2022/src/lib/ui/select-field/index.mjs +2 -0
  64. package/esm2022/src/lib/ui/select-field/public-api.mjs +2 -0
  65. package/esm2022/src/lib/ui/select-field/select-field.component.mjs +73 -0
  66. package/esm2022/src/lib/ui/selected-file/index.mjs +2 -0
  67. package/esm2022/src/lib/ui/selected-file/public-api.mjs +2 -0
  68. package/esm2022/src/lib/ui/selected-file/selected-file.component.mjs +26 -0
  69. package/esm2022/src/lib/ui/slider-field/index.mjs +2 -0
  70. package/esm2022/src/lib/ui/slider-field/public-api.mjs +2 -0
  71. package/esm2022/src/lib/ui/slider-field/slider-field.component.mjs +46 -0
  72. package/esm2022/src/lib/ui/textarea-field/index.mjs +2 -0
  73. package/esm2022/src/lib/ui/textarea-field/public-api.mjs +2 -0
  74. package/esm2022/src/lib/ui/textarea-field/textarea-field.component.mjs +42 -0
  75. package/esm2022/src/lib/ui/unit-conversion-field/index.mjs +2 -0
  76. package/esm2022/src/lib/ui/unit-conversion-field/public-api.mjs +2 -0
  77. package/esm2022/src/lib/ui/unit-conversion-field/unit-conversion-field.component.mjs +86 -0
  78. package/esm2022/src/lib/utils/abstracts/autocomplete-field.abstract.mjs +30 -0
  79. package/esm2022/src/lib/utils/abstracts/crispr-control.mixin.mjs +27 -0
  80. package/esm2022/src/lib/utils/abstracts/crispr-display-field.abstract.mjs +14 -0
  81. package/esm2022/src/lib/utils/abstracts/crispr-field.abstract.mjs +19 -0
  82. package/esm2022/src/lib/utils/abstracts/index.mjs +5 -0
  83. package/esm2022/src/lib/utils/functions/buildFormGroupFromConfig.mjs +28 -0
  84. package/esm2022/src/lib/utils/functions/callOptionsIfFunction.mjs +4 -0
  85. package/esm2022/src/lib/utils/functions/createControlForType.mjs +19 -0
  86. package/esm2022/src/lib/utils/functions/filterOptionsByLabel.mjs +11 -0
  87. package/esm2022/src/lib/utils/functions/image-compression.helpers.mjs +50 -0
  88. package/esm2022/src/lib/utils/functions/index.mjs +8 -0
  89. package/esm2022/src/lib/utils/functions/isControlConfig.mjs +7 -0
  90. package/esm2022/src/lib/utils/functions/observablifyOptions.mjs +29 -0
  91. package/esm2022/src/lib/utils/index.mjs +2 -0
  92. package/esm2022/src/lib/utils/models/autocomplete-chiplist-field.config.mjs +2 -0
  93. package/esm2022/src/lib/utils/models/autocomplete-field.config.mjs +2 -0
  94. package/esm2022/src/lib/utils/models/button.config.mjs +2 -0
  95. package/esm2022/src/lib/utils/models/checkbox-field.config.mjs +2 -0
  96. package/esm2022/src/lib/utils/models/crispr-field.config.mjs +23 -0
  97. package/esm2022/src/lib/utils/models/datepicker-field.config.mjs +2 -0
  98. package/esm2022/src/lib/utils/models/divider.config.mjs +2 -0
  99. package/esm2022/src/lib/utils/models/file-upload-field.config.mjs +2 -0
  100. package/esm2022/src/lib/utils/models/form-group-list.config.mjs +2 -0
  101. package/esm2022/src/lib/utils/models/heading.config.mjs +3 -0
  102. package/esm2022/src/lib/utils/models/image-upload-field.config.mjs +2 -0
  103. package/esm2022/src/lib/utils/models/index.mjs +18 -0
  104. package/esm2022/src/lib/utils/models/input-field.config.mjs +2 -0
  105. package/esm2022/src/lib/utils/models/radio-field.config.mjs +2 -0
  106. package/esm2022/src/lib/utils/models/select-field.config.mjs +2 -0
  107. package/esm2022/src/lib/utils/models/slider-field.config.mjs +2 -0
  108. package/esm2022/src/lib/utils/models/textarea-field.config.mjs +2 -0
  109. package/esm2022/src/lib/utils/models/unit-conversion-field.config.mjs +2 -0
  110. package/esm2022/src/lib/utils/operators/form.operators.mjs +24 -0
  111. package/esm2022/src/lib/utils/operators/index.mjs +2 -0
  112. package/esm2022/src/lib/utils/public-api.mjs +5 -0
  113. package/esm2022/src/lib/utils/tft-crispr-forms-src-lib-utils.mjs +5 -0
  114. package/{esm2020 → esm2022}/tft-crispr-forms.mjs +4 -4
  115. package/fesm2022/tft-crispr-forms-index-2dAn0905.mjs +19 -0
  116. package/fesm2022/tft-crispr-forms-index-2dAn0905.mjs.map +1 -0
  117. package/fesm2022/tft-crispr-forms-index-76UuF0AI.mjs +36 -0
  118. package/fesm2022/tft-crispr-forms-index-76UuF0AI.mjs.map +1 -0
  119. package/{fesm2020/tft-crispr-forms-ui-image-upload-field.mjs → fesm2022/tft-crispr-forms-index-BXwiulEX.mjs} +169 -169
  120. package/fesm2022/tft-crispr-forms-index-BXwiulEX.mjs.map +1 -0
  121. package/fesm2022/tft-crispr-forms-index-BfR4XbYi.mjs +110 -0
  122. package/fesm2022/tft-crispr-forms-index-BfR4XbYi.mjs.map +1 -0
  123. package/fesm2022/tft-crispr-forms-index-C5X0mk3N.mjs +49 -0
  124. package/fesm2022/tft-crispr-forms-index-C5X0mk3N.mjs.map +1 -0
  125. package/fesm2022/tft-crispr-forms-index-CFUop3Cq.mjs +80 -0
  126. package/fesm2022/tft-crispr-forms-index-CFUop3Cq.mjs.map +1 -0
  127. package/fesm2022/tft-crispr-forms-index-CFdMVgM0.mjs +91 -0
  128. package/fesm2022/tft-crispr-forms-index-CFdMVgM0.mjs.map +1 -0
  129. package/fesm2022/tft-crispr-forms-index-CZdi06Jj.mjs +49 -0
  130. package/fesm2022/tft-crispr-forms-index-CZdi06Jj.mjs.map +1 -0
  131. package/fesm2022/tft-crispr-forms-index-C_I9vjqf.mjs +57 -0
  132. package/fesm2022/tft-crispr-forms-index-C_I9vjqf.mjs.map +1 -0
  133. package/fesm2022/tft-crispr-forms-index-DE8VOdBd.mjs +102 -0
  134. package/fesm2022/tft-crispr-forms-index-DE8VOdBd.mjs.map +1 -0
  135. package/fesm2022/tft-crispr-forms-index-OLo2t0tl.mjs +48 -0
  136. package/fesm2022/tft-crispr-forms-index-OLo2t0tl.mjs.map +1 -0
  137. package/fesm2022/tft-crispr-forms-index-OT7kkOgd.mjs +50 -0
  138. package/fesm2022/tft-crispr-forms-index-OT7kkOgd.mjs.map +1 -0
  139. package/fesm2022/tft-crispr-forms-index-Ukk3WgS2.mjs +54 -0
  140. package/fesm2022/tft-crispr-forms-index-Ukk3WgS2.mjs.map +1 -0
  141. package/fesm2022/tft-crispr-forms-index-rRi6OMY6.mjs +142 -0
  142. package/fesm2022/tft-crispr-forms-index-rRi6OMY6.mjs.map +1 -0
  143. package/fesm2022/tft-crispr-forms-index-xAaInTLg.mjs +73 -0
  144. package/fesm2022/tft-crispr-forms-index-xAaInTLg.mjs.map +1 -0
  145. package/{fesm2020/tft-crispr-forms-utils.mjs → fesm2022/tft-crispr-forms-src-lib-utils.mjs} +242 -243
  146. package/fesm2022/tft-crispr-forms-src-lib-utils.mjs.map +1 -0
  147. package/fesm2022/tft-crispr-forms.mjs +848 -0
  148. package/fesm2022/tft-crispr-forms.mjs.map +1 -0
  149. package/index.d.ts +5 -5
  150. package/package.json +13 -191
  151. package/public-api.d.ts +3 -3
  152. package/src/index.d.ts +1 -1
  153. package/src/lib/crispr-forms.module.d.ts +16 -16
  154. package/src/lib/display-field.directive.d.ts +23 -23
  155. package/src/lib/field-component-map.const.d.ts +42 -42
  156. package/src/lib/field.directive.d.ts +24 -24
  157. package/src/lib/form/form.component.d.ts +19 -19
  158. package/src/lib/form-group-list/form-group-list.component.d.ts +40 -38
  159. package/src/lib/form-group-list/index.d.ts +1 -1
  160. package/src/lib/pipes/crispr-pipes.module.d.ts +8 -8
  161. package/src/lib/pipes/initial-control-value.pipe.d.ts +10 -10
  162. package/src/lib/public_api.d.ts +2 -2
  163. package/src/lib/sub-group/index.d.ts +2 -2
  164. package/src/lib/sub-group/sub-group.component.d.ts +24 -22
  165. package/src/lib/sub-group/sub-group.module.d.ts +12 -12
  166. package/{ui → src/lib/ui}/autocomplete-chiplist-field/autocomplete-chiplist-field.component.d.ts +36 -33
  167. package/src/lib/ui/autocomplete-chiplist-field/index.d.ts +1 -0
  168. package/{ui → src/lib/ui}/autocomplete-chiplist-field/public-api.d.ts +1 -1
  169. package/{ui → src/lib/ui}/autocomplete-field/autocomplete-field.component.d.ts +25 -25
  170. package/src/lib/ui/autocomplete-field/index.d.ts +1 -0
  171. package/{ui → src/lib/ui}/autocomplete-field/public-api.d.ts +1 -1
  172. package/{ui → src/lib/ui}/button/button.component.d.ts +15 -15
  173. package/src/lib/ui/button/index.d.ts +1 -0
  174. package/{ui → src/lib/ui}/button/public-api.d.ts +1 -1
  175. package/src/lib/ui/checkbox-field/checkbox-field.component.d.ts +23 -0
  176. package/src/lib/ui/checkbox-field/index.d.ts +1 -0
  177. package/{ui → src/lib/ui}/checkbox-field/public-api.d.ts +1 -1
  178. package/{ui → src/lib/ui}/datepicker-field/datepicker-field.component.d.ts +32 -30
  179. package/src/lib/ui/datepicker-field/index.d.ts +1 -0
  180. package/{ui → src/lib/ui}/datepicker-field/public-api.d.ts +1 -1
  181. package/{ui → src/lib/ui}/divider/divider.component.d.ts +9 -9
  182. package/src/lib/ui/divider/index.d.ts +1 -0
  183. package/{ui → src/lib/ui}/divider/public-api.d.ts +1 -1
  184. package/{ui → src/lib/ui}/field-container/field-container.component.d.ts +24 -24
  185. package/src/lib/ui/field-container/index.d.ts +1 -0
  186. package/{ui → src/lib/ui}/field-container/public-api.d.ts +1 -1
  187. package/{ui → src/lib/ui}/file-dropzone/file-dropzone.directive.d.ts +10 -10
  188. package/src/lib/ui/file-dropzone/index.d.ts +1 -0
  189. package/{ui → src/lib/ui}/file-dropzone/public-api.d.ts +1 -1
  190. package/{ui → src/lib/ui}/file-upload-field/file-upload-field.component.d.ts +39 -37
  191. package/src/lib/ui/file-upload-field/index.d.ts +1 -0
  192. package/{ui → src/lib/ui}/file-upload-field/public-api.d.ts +1 -1
  193. package/{ui → src/lib/ui}/heading/heading.component.d.ts +8 -8
  194. package/src/lib/ui/heading/index.d.ts +1 -0
  195. package/{ui → src/lib/ui}/heading/public-api.d.ts +1 -1
  196. package/{ui → src/lib/ui}/image-upload-field/image-upload-field.component.d.ts +50 -48
  197. package/src/lib/ui/image-upload-field/index.d.ts +1 -0
  198. package/{ui → src/lib/ui}/image-upload-field/public-api.d.ts +1 -1
  199. package/src/lib/ui/index.d.ts +1 -0
  200. package/src/lib/ui/info/index.d.ts +1 -0
  201. package/{ui → src/lib/ui}/info/info.component.d.ts +7 -7
  202. package/{ui → src/lib/ui}/info/public-api.d.ts +1 -1
  203. package/src/lib/ui/input-field/index.d.ts +1 -0
  204. package/src/lib/ui/input-field/input-field.component.d.ts +24 -0
  205. package/{ui → src/lib/ui}/input-field/public-api.d.ts +1 -1
  206. package/src/lib/ui/option/index.d.ts +1 -0
  207. package/{ui → src/lib/ui}/option/option.component.d.ts +7 -7
  208. package/{ui → src/lib/ui}/option/public-api.d.ts +1 -1
  209. package/src/lib/ui/public-api.d.ts +6 -0
  210. package/src/lib/ui/radio-field/index.d.ts +1 -0
  211. package/{ui → src/lib/ui}/radio-field/public-api.d.ts +1 -1
  212. package/src/lib/ui/radio-field/radio-field.component.d.ts +25 -0
  213. package/src/lib/ui/select-field/index.d.ts +1 -0
  214. package/{ui → src/lib/ui}/select-field/public-api.d.ts +1 -1
  215. package/{ui → src/lib/ui}/select-field/select-field.component.d.ts +34 -32
  216. package/src/lib/ui/selected-file/index.d.ts +1 -0
  217. package/{ui → src/lib/ui}/selected-file/public-api.d.ts +1 -1
  218. package/{ui → src/lib/ui}/selected-file/selected-file.component.d.ts +10 -10
  219. package/src/lib/ui/slider-field/index.d.ts +1 -0
  220. package/{ui → src/lib/ui}/slider-field/public-api.d.ts +1 -1
  221. package/src/lib/ui/slider-field/slider-field.component.d.ts +24 -0
  222. package/src/lib/ui/textarea-field/index.d.ts +1 -0
  223. package/{ui → src/lib/ui}/textarea-field/public-api.d.ts +1 -1
  224. package/src/lib/ui/textarea-field/textarea-field.component.d.ts +23 -0
  225. package/src/lib/ui/unit-conversion-field/index.d.ts +1 -0
  226. package/{ui → src/lib/ui}/unit-conversion-field/public-api.d.ts +1 -1
  227. package/{ui → src/lib/ui}/unit-conversion-field/unit-conversion-field.component.d.ts +38 -36
  228. package/{utils → src/lib/utils}/abstracts/autocomplete-field.abstract.d.ts +28 -28
  229. package/{utils → src/lib/utils}/abstracts/crispr-control.mixin.d.ts +16 -16
  230. package/{utils → src/lib/utils}/abstracts/crispr-display-field.abstract.d.ts +22 -22
  231. package/{utils → src/lib/utils}/abstracts/crispr-field.abstract.d.ts +11 -11
  232. package/{utils → src/lib/utils}/abstracts/index.d.ts +4 -4
  233. package/{utils → src/lib/utils}/functions/buildFormGroupFromConfig.d.ts +9 -9
  234. package/{utils → src/lib/utils}/functions/callOptionsIfFunction.d.ts +3 -3
  235. package/{utils → src/lib/utils}/functions/createControlForType.d.ts +9 -9
  236. package/{utils → src/lib/utils}/functions/filterOptionsByLabel.d.ts +7 -7
  237. package/{utils → src/lib/utils}/functions/image-compression.helpers.d.ts +5 -5
  238. package/{utils → src/lib/utils}/functions/index.d.ts +7 -7
  239. package/{utils → src/lib/utils}/functions/isControlConfig.d.ts +5 -5
  240. package/{utils → src/lib/utils}/functions/observablifyOptions.d.ts +12 -12
  241. package/{ui → src/lib/utils}/index.d.ts +5 -5
  242. package/{utils → src/lib/utils}/models/autocomplete-chiplist-field.config.d.ts +20 -20
  243. package/{utils → src/lib/utils}/models/autocomplete-field.config.d.ts +14 -14
  244. package/{utils → src/lib/utils}/models/button.config.d.ts +17 -17
  245. package/{utils → src/lib/utils}/models/checkbox-field.config.d.ts +6 -6
  246. package/{utils → src/lib/utils}/models/crispr-field.config.d.ts +97 -94
  247. package/{utils → src/lib/utils}/models/datepicker-field.config.d.ts +20 -20
  248. package/{utils → src/lib/utils}/models/divider.config.d.ts +5 -5
  249. package/{utils → src/lib/utils}/models/file-upload-field.config.d.ts +33 -33
  250. package/{utils → src/lib/utils}/models/form-group-list.config.d.ts +18 -18
  251. package/{utils → src/lib/utils}/models/heading.config.d.ts +6 -6
  252. package/{utils → src/lib/utils}/models/image-upload-field.config.d.ts +54 -54
  253. package/{utils → src/lib/utils}/models/index.d.ts +17 -17
  254. package/{utils → src/lib/utils}/models/input-field.config.d.ts +16 -16
  255. package/{utils → src/lib/utils}/models/radio-field.config.d.ts +6 -6
  256. package/{utils → src/lib/utils}/models/select-field.config.d.ts +21 -21
  257. package/{utils → src/lib/utils}/models/slider-field.config.d.ts +11 -13
  258. package/{utils → src/lib/utils}/models/textarea-field.config.d.ts +5 -5
  259. package/{utils → src/lib/utils}/models/unit-conversion-field.config.d.ts +30 -30
  260. package/{utils → src/lib/utils}/operators/form.operators.d.ts +1 -1
  261. package/{utils → src/lib/utils}/operators/index.d.ts +1 -1
  262. package/{utils → src/lib/utils}/public-api.d.ts +4 -4
  263. package/tft-crispr-forms-15.0.0.tgz +0 -0
  264. package/esm2020/public-api.mjs +0 -5
  265. package/esm2020/src/lib/crispr-forms.module.mjs +0 -60
  266. package/esm2020/src/lib/display-field.directive.mjs +0 -53
  267. package/esm2020/src/lib/field-component-map.const.mjs +0 -27
  268. package/esm2020/src/lib/field.directive.mjs +0 -69
  269. package/esm2020/src/lib/form/form.component.mjs +0 -63
  270. package/esm2020/src/lib/form-group-list/form-group-list.component.mjs +0 -99
  271. package/esm2020/src/lib/pipes/initial-control-value.pipe.mjs +0 -21
  272. package/esm2020/src/lib/sub-group/sub-group.component.mjs +0 -21
  273. package/esm2020/src/lib/sub-group/sub-group.module.mjs +0 -42
  274. package/esm2020/ui/autocomplete-chiplist-field/autocomplete-chiplist-field.component.mjs +0 -130
  275. package/esm2020/ui/autocomplete-chiplist-field/public-api.mjs +0 -2
  276. package/esm2020/ui/autocomplete-chiplist-field/tft-crispr-forms-ui-autocomplete-chiplist-field.mjs +0 -5
  277. package/esm2020/ui/autocomplete-field/autocomplete-field.component.mjs +0 -93
  278. package/esm2020/ui/autocomplete-field/public-api.mjs +0 -2
  279. package/esm2020/ui/autocomplete-field/tft-crispr-forms-ui-autocomplete-field.mjs +0 -5
  280. package/esm2020/ui/button/button.component.mjs +0 -49
  281. package/esm2020/ui/button/public-api.mjs +0 -2
  282. package/esm2020/ui/button/tft-crispr-forms-ui-button.mjs +0 -5
  283. package/esm2020/ui/checkbox-field/checkbox-field.component.mjs +0 -42
  284. package/esm2020/ui/checkbox-field/public-api.mjs +0 -2
  285. package/esm2020/ui/checkbox-field/tft-crispr-forms-ui-checkbox-field.mjs +0 -5
  286. package/esm2020/ui/datepicker-field/datepicker-field.component.mjs +0 -63
  287. package/esm2020/ui/datepicker-field/public-api.mjs +0 -2
  288. package/esm2020/ui/datepicker-field/tft-crispr-forms-ui-datepicker-field.mjs +0 -5
  289. package/esm2020/ui/divider/divider.component.mjs +0 -28
  290. package/esm2020/ui/divider/public-api.mjs +0 -2
  291. package/esm2020/ui/divider/tft-crispr-forms-ui-divider.mjs +0 -5
  292. package/esm2020/ui/field-container/field-container.component.mjs +0 -58
  293. package/esm2020/ui/field-container/public-api.mjs +0 -2
  294. package/esm2020/ui/field-container/tft-crispr-forms-ui-field-container.mjs +0 -5
  295. package/esm2020/ui/file-dropzone/file-dropzone.directive.mjs +0 -40
  296. package/esm2020/ui/file-dropzone/public-api.mjs +0 -2
  297. package/esm2020/ui/file-dropzone/tft-crispr-forms-ui-file-dropzone.mjs +0 -5
  298. package/esm2020/ui/file-upload-field/file-upload-field.component.mjs +0 -108
  299. package/esm2020/ui/file-upload-field/public-api.mjs +0 -2
  300. package/esm2020/ui/file-upload-field/tft-crispr-forms-ui-file-upload-field.mjs +0 -5
  301. package/esm2020/ui/heading/heading.component.mjs +0 -31
  302. package/esm2020/ui/heading/public-api.mjs +0 -2
  303. package/esm2020/ui/heading/tft-crispr-forms-ui-heading.mjs +0 -5
  304. package/esm2020/ui/image-upload-field/image-upload-field.component.mjs +0 -179
  305. package/esm2020/ui/image-upload-field/public-api.mjs +0 -2
  306. package/esm2020/ui/image-upload-field/tft-crispr-forms-ui-image-upload-field.mjs +0 -5
  307. package/esm2020/ui/info/info.component.mjs +0 -23
  308. package/esm2020/ui/info/public-api.mjs +0 -2
  309. package/esm2020/ui/info/tft-crispr-forms-ui-info.mjs +0 -5
  310. package/esm2020/ui/input-field/input-field.component.mjs +0 -41
  311. package/esm2020/ui/input-field/public-api.mjs +0 -2
  312. package/esm2020/ui/input-field/tft-crispr-forms-ui-input-field.mjs +0 -5
  313. package/esm2020/ui/option/option.component.mjs +0 -19
  314. package/esm2020/ui/option/public-api.mjs +0 -2
  315. package/esm2020/ui/option/tft-crispr-forms-ui-option.mjs +0 -5
  316. package/esm2020/ui/public-api.mjs +0 -7
  317. package/esm2020/ui/radio-field/public-api.mjs +0 -2
  318. package/esm2020/ui/radio-field/radio-field.component.mjs +0 -39
  319. package/esm2020/ui/radio-field/tft-crispr-forms-ui-radio-field.mjs +0 -5
  320. package/esm2020/ui/select-field/public-api.mjs +0 -2
  321. package/esm2020/ui/select-field/select-field.component.mjs +0 -73
  322. package/esm2020/ui/select-field/tft-crispr-forms-ui-select-field.mjs +0 -5
  323. package/esm2020/ui/selected-file/public-api.mjs +0 -2
  324. package/esm2020/ui/selected-file/selected-file.component.mjs +0 -26
  325. package/esm2020/ui/selected-file/tft-crispr-forms-ui-selected-file.mjs +0 -5
  326. package/esm2020/ui/slider-field/public-api.mjs +0 -2
  327. package/esm2020/ui/slider-field/slider-field.component.mjs +0 -44
  328. package/esm2020/ui/slider-field/tft-crispr-forms-ui-slider-field.mjs +0 -5
  329. package/esm2020/ui/textarea-field/public-api.mjs +0 -2
  330. package/esm2020/ui/textarea-field/textarea-field.component.mjs +0 -42
  331. package/esm2020/ui/textarea-field/tft-crispr-forms-ui-textarea-field.mjs +0 -5
  332. package/esm2020/ui/tft-crispr-forms-ui.mjs +0 -5
  333. package/esm2020/ui/unit-conversion-field/public-api.mjs +0 -2
  334. package/esm2020/ui/unit-conversion-field/tft-crispr-forms-ui-unit-conversion-field.mjs +0 -5
  335. package/esm2020/ui/unit-conversion-field/unit-conversion-field.component.mjs +0 -84
  336. package/esm2020/utils/abstracts/autocomplete-field.abstract.mjs +0 -30
  337. package/esm2020/utils/abstracts/crispr-control.mixin.mjs +0 -27
  338. package/esm2020/utils/abstracts/crispr-display-field.abstract.mjs +0 -14
  339. package/esm2020/utils/abstracts/crispr-field.abstract.mjs +0 -20
  340. package/esm2020/utils/abstracts/index.mjs +0 -5
  341. package/esm2020/utils/functions/buildFormGroupFromConfig.mjs +0 -28
  342. package/esm2020/utils/functions/callOptionsIfFunction.mjs +0 -4
  343. package/esm2020/utils/functions/createControlForType.mjs +0 -19
  344. package/esm2020/utils/functions/filterOptionsByLabel.mjs +0 -11
  345. package/esm2020/utils/functions/image-compression.helpers.mjs +0 -50
  346. package/esm2020/utils/functions/index.mjs +0 -8
  347. package/esm2020/utils/functions/isControlConfig.mjs +0 -7
  348. package/esm2020/utils/functions/observablifyOptions.mjs +0 -29
  349. package/esm2020/utils/models/autocomplete-chiplist-field.config.mjs +0 -2
  350. package/esm2020/utils/models/autocomplete-field.config.mjs +0 -2
  351. package/esm2020/utils/models/button.config.mjs +0 -2
  352. package/esm2020/utils/models/checkbox-field.config.mjs +0 -2
  353. package/esm2020/utils/models/crispr-field.config.mjs +0 -23
  354. package/esm2020/utils/models/datepicker-field.config.mjs +0 -2
  355. package/esm2020/utils/models/divider.config.mjs +0 -2
  356. package/esm2020/utils/models/file-upload-field.config.mjs +0 -2
  357. package/esm2020/utils/models/form-group-list.config.mjs +0 -2
  358. package/esm2020/utils/models/heading.config.mjs +0 -3
  359. package/esm2020/utils/models/image-upload-field.config.mjs +0 -2
  360. package/esm2020/utils/models/index.mjs +0 -18
  361. package/esm2020/utils/models/input-field.config.mjs +0 -2
  362. package/esm2020/utils/models/radio-field.config.mjs +0 -2
  363. package/esm2020/utils/models/select-field.config.mjs +0 -2
  364. package/esm2020/utils/models/slider-field.config.mjs +0 -2
  365. package/esm2020/utils/models/textarea-field.config.mjs +0 -2
  366. package/esm2020/utils/models/unit-conversion-field.config.mjs +0 -2
  367. package/esm2020/utils/operators/form.operators.mjs +0 -24
  368. package/esm2020/utils/operators/index.mjs +0 -2
  369. package/esm2020/utils/public-api.mjs +0 -5
  370. package/esm2020/utils/tft-crispr-forms-utils.mjs +0 -5
  371. package/fesm2015/tft-crispr-forms-ui-autocomplete-chiplist-field.mjs +0 -138
  372. package/fesm2015/tft-crispr-forms-ui-autocomplete-chiplist-field.mjs.map +0 -1
  373. package/fesm2015/tft-crispr-forms-ui-autocomplete-field.mjs +0 -101
  374. package/fesm2015/tft-crispr-forms-ui-autocomplete-field.mjs.map +0 -1
  375. package/fesm2015/tft-crispr-forms-ui-button.mjs +0 -55
  376. package/fesm2015/tft-crispr-forms-ui-button.mjs.map +0 -1
  377. package/fesm2015/tft-crispr-forms-ui-checkbox-field.mjs +0 -49
  378. package/fesm2015/tft-crispr-forms-ui-checkbox-field.mjs.map +0 -1
  379. package/fesm2015/tft-crispr-forms-ui-datepicker-field.mjs +0 -71
  380. package/fesm2015/tft-crispr-forms-ui-datepicker-field.mjs.map +0 -1
  381. package/fesm2015/tft-crispr-forms-ui-divider.mjs +0 -34
  382. package/fesm2015/tft-crispr-forms-ui-divider.mjs.map +0 -1
  383. package/fesm2015/tft-crispr-forms-ui-field-container.mjs +0 -64
  384. package/fesm2015/tft-crispr-forms-ui-field-container.mjs.map +0 -1
  385. package/fesm2015/tft-crispr-forms-ui-file-dropzone.mjs +0 -47
  386. package/fesm2015/tft-crispr-forms-ui-file-dropzone.mjs.map +0 -1
  387. package/fesm2015/tft-crispr-forms-ui-file-upload-field.mjs +0 -117
  388. package/fesm2015/tft-crispr-forms-ui-file-upload-field.mjs.map +0 -1
  389. package/fesm2015/tft-crispr-forms-ui-heading.mjs +0 -37
  390. package/fesm2015/tft-crispr-forms-ui-heading.mjs.map +0 -1
  391. package/fesm2015/tft-crispr-forms-ui-image-upload-field.mjs +0 -182
  392. package/fesm2015/tft-crispr-forms-ui-image-upload-field.mjs.map +0 -1
  393. package/fesm2015/tft-crispr-forms-ui-info.mjs +0 -30
  394. package/fesm2015/tft-crispr-forms-ui-info.mjs.map +0 -1
  395. package/fesm2015/tft-crispr-forms-ui-input-field.mjs +0 -48
  396. package/fesm2015/tft-crispr-forms-ui-input-field.mjs.map +0 -1
  397. package/fesm2015/tft-crispr-forms-ui-option.mjs +0 -26
  398. package/fesm2015/tft-crispr-forms-ui-option.mjs.map +0 -1
  399. package/fesm2015/tft-crispr-forms-ui-radio-field.mjs +0 -46
  400. package/fesm2015/tft-crispr-forms-ui-radio-field.mjs.map +0 -1
  401. package/fesm2015/tft-crispr-forms-ui-select-field.mjs +0 -81
  402. package/fesm2015/tft-crispr-forms-ui-select-field.mjs.map +0 -1
  403. package/fesm2015/tft-crispr-forms-ui-selected-file.mjs +0 -33
  404. package/fesm2015/tft-crispr-forms-ui-selected-file.mjs.map +0 -1
  405. package/fesm2015/tft-crispr-forms-ui-slider-field.mjs +0 -51
  406. package/fesm2015/tft-crispr-forms-ui-slider-field.mjs.map +0 -1
  407. package/fesm2015/tft-crispr-forms-ui-textarea-field.mjs +0 -49
  408. package/fesm2015/tft-crispr-forms-ui-textarea-field.mjs.map +0 -1
  409. package/fesm2015/tft-crispr-forms-ui-unit-conversion-field.mjs +0 -93
  410. package/fesm2015/tft-crispr-forms-ui-unit-conversion-field.mjs.map +0 -1
  411. package/fesm2015/tft-crispr-forms-ui.mjs +0 -12
  412. package/fesm2015/tft-crispr-forms-ui.mjs.map +0 -1
  413. package/fesm2015/tft-crispr-forms-utils.mjs +0 -280
  414. package/fesm2015/tft-crispr-forms-utils.mjs.map +0 -1
  415. package/fesm2015/tft-crispr-forms.mjs +0 -438
  416. package/fesm2015/tft-crispr-forms.mjs.map +0 -1
  417. package/fesm2020/tft-crispr-forms-ui-autocomplete-chiplist-field.mjs +0 -137
  418. package/fesm2020/tft-crispr-forms-ui-autocomplete-chiplist-field.mjs.map +0 -1
  419. package/fesm2020/tft-crispr-forms-ui-autocomplete-field.mjs +0 -100
  420. package/fesm2020/tft-crispr-forms-ui-autocomplete-field.mjs.map +0 -1
  421. package/fesm2020/tft-crispr-forms-ui-button.mjs +0 -55
  422. package/fesm2020/tft-crispr-forms-ui-button.mjs.map +0 -1
  423. package/fesm2020/tft-crispr-forms-ui-checkbox-field.mjs +0 -49
  424. package/fesm2020/tft-crispr-forms-ui-checkbox-field.mjs.map +0 -1
  425. package/fesm2020/tft-crispr-forms-ui-datepicker-field.mjs +0 -70
  426. package/fesm2020/tft-crispr-forms-ui-datepicker-field.mjs.map +0 -1
  427. package/fesm2020/tft-crispr-forms-ui-divider.mjs +0 -34
  428. package/fesm2020/tft-crispr-forms-ui-divider.mjs.map +0 -1
  429. package/fesm2020/tft-crispr-forms-ui-field-container.mjs +0 -65
  430. package/fesm2020/tft-crispr-forms-ui-field-container.mjs.map +0 -1
  431. package/fesm2020/tft-crispr-forms-ui-file-dropzone.mjs +0 -47
  432. package/fesm2020/tft-crispr-forms-ui-file-dropzone.mjs.map +0 -1
  433. package/fesm2020/tft-crispr-forms-ui-file-upload-field.mjs +0 -115
  434. package/fesm2020/tft-crispr-forms-ui-file-upload-field.mjs.map +0 -1
  435. package/fesm2020/tft-crispr-forms-ui-heading.mjs +0 -37
  436. package/fesm2020/tft-crispr-forms-ui-heading.mjs.map +0 -1
  437. package/fesm2020/tft-crispr-forms-ui-image-upload-field.mjs.map +0 -1
  438. package/fesm2020/tft-crispr-forms-ui-info.mjs +0 -30
  439. package/fesm2020/tft-crispr-forms-ui-info.mjs.map +0 -1
  440. package/fesm2020/tft-crispr-forms-ui-input-field.mjs +0 -48
  441. package/fesm2020/tft-crispr-forms-ui-input-field.mjs.map +0 -1
  442. package/fesm2020/tft-crispr-forms-ui-option.mjs +0 -26
  443. package/fesm2020/tft-crispr-forms-ui-option.mjs.map +0 -1
  444. package/fesm2020/tft-crispr-forms-ui-radio-field.mjs +0 -46
  445. package/fesm2020/tft-crispr-forms-ui-radio-field.mjs.map +0 -1
  446. package/fesm2020/tft-crispr-forms-ui-select-field.mjs +0 -80
  447. package/fesm2020/tft-crispr-forms-ui-select-field.mjs.map +0 -1
  448. package/fesm2020/tft-crispr-forms-ui-selected-file.mjs +0 -33
  449. package/fesm2020/tft-crispr-forms-ui-selected-file.mjs.map +0 -1
  450. package/fesm2020/tft-crispr-forms-ui-slider-field.mjs +0 -51
  451. package/fesm2020/tft-crispr-forms-ui-slider-field.mjs.map +0 -1
  452. package/fesm2020/tft-crispr-forms-ui-textarea-field.mjs +0 -49
  453. package/fesm2020/tft-crispr-forms-ui-textarea-field.mjs.map +0 -1
  454. package/fesm2020/tft-crispr-forms-ui-unit-conversion-field.mjs +0 -91
  455. package/fesm2020/tft-crispr-forms-ui-unit-conversion-field.mjs.map +0 -1
  456. package/fesm2020/tft-crispr-forms-ui.mjs +0 -12
  457. package/fesm2020/tft-crispr-forms-ui.mjs.map +0 -1
  458. package/fesm2020/tft-crispr-forms-utils.mjs.map +0 -1
  459. package/fesm2020/tft-crispr-forms.mjs +0 -434
  460. package/fesm2020/tft-crispr-forms.mjs.map +0 -1
  461. package/tft-crispr-forms-14.0.2.tgz +0 -0
  462. package/ui/README.md +0 -3
  463. package/ui/autocomplete-chiplist-field/index.d.ts +0 -5
  464. package/ui/autocomplete-field/index.d.ts +0 -5
  465. package/ui/button/index.d.ts +0 -5
  466. package/ui/checkbox-field/checkbox-field.component.d.ts +0 -21
  467. package/ui/checkbox-field/index.d.ts +0 -5
  468. package/ui/datepicker-field/index.d.ts +0 -5
  469. package/ui/divider/index.d.ts +0 -5
  470. package/ui/field-container/index.d.ts +0 -5
  471. package/ui/file-dropzone/index.d.ts +0 -5
  472. package/ui/file-upload-field/index.d.ts +0 -5
  473. package/ui/heading/index.d.ts +0 -5
  474. package/ui/image-upload-field/index.d.ts +0 -5
  475. package/ui/info/index.d.ts +0 -5
  476. package/ui/input-field/index.d.ts +0 -5
  477. package/ui/input-field/input-field.component.d.ts +0 -22
  478. package/ui/option/index.d.ts +0 -5
  479. package/ui/public-api.d.ts +0 -5
  480. package/ui/radio-field/index.d.ts +0 -5
  481. package/ui/radio-field/radio-field.component.d.ts +0 -23
  482. package/ui/select-field/index.d.ts +0 -5
  483. package/ui/selected-file/index.d.ts +0 -5
  484. package/ui/slider-field/index.d.ts +0 -5
  485. package/ui/slider-field/slider-field.component.d.ts +0 -25
  486. package/ui/textarea-field/index.d.ts +0 -5
  487. package/ui/textarea-field/textarea-field.component.d.ts +0 -21
  488. package/ui/unit-conversion-field/index.d.ts +0 -5
  489. package/utils/index.d.ts +0 -5
  490. /package/{utils → src/lib/utils}/README.md +0 -0
@@ -1,94 +1,97 @@
1
- import { FormGroup, ValidatorFn } from '@angular/forms';
2
- import { Observable } from 'rxjs';
3
- import { TooltipPosition } from '@angular/material/tooltip';
4
- import { MatFormFieldAppearance } from '@angular/material/form-field';
5
- import { ErrorDictionary } from '@tft/form-validation-handler';
6
- import type { SelectFieldConfig, HeadingConfig, ButtonConfig, DatepickerFieldConfig, InputFieldConfig, CheckboxFieldConfig, TextareaFieldConfig, AutocompleteFieldConfig, FormGroupListConfig, AutocompleteChiplistFieldConfig, SliderFieldConfig, DividerConfig, SelectOption, RadioFieldConfig, ImageUploadFieldConfig, FileUploadFieldConfig, UnitConversionFieldConfig } from '../models';
7
- import { ThemePalette } from '@angular/material/core';
8
- export declare enum ControlType {
9
- AUTOCOMPLETE = "autocomplete",
10
- AUTOCOMPLETE_CHIPLIST = "autocompleteChiplist",
11
- BUTTON = "button",
12
- CHECKBOX = "checkbox",
13
- CUSTOM = "custom",
14
- DATEPICKER = "datepicker",
15
- DIVIDER = "divider",
16
- FILE_UPLOAD = "fileUpload",
17
- HEADING = "heading",
18
- INPUT = "input",
19
- IMAGE_UPLOAD = "imageUpload",
20
- GROUP_LIST = "groupList",
21
- RADIO = "radio",
22
- SELECT = "select",
23
- SLIDER = "slider",
24
- SUB_GROUP = "subGroup",
25
- TEXTAREA = "textarea",
26
- UNIT_CONVERSION = "unitConversion"
27
- }
28
- /**
29
- * The base interface for all the fields in the form's config
30
- */
31
- export interface CrisprFieldConfig {
32
- controlType?: ControlType;
33
- classes?: string[];
34
- component?: any;
35
- }
36
- declare type RestrictedControlName<M> = M extends null ? string : keyof M;
37
- /**
38
- * The base interface for all control configs
39
- */
40
- export interface CrisprControlConfig<M = null> extends CrisprFieldConfig {
41
- controlName: RestrictedControlName<M>;
42
- controlType: ControlType;
43
- validators?: ValidatorFn[];
44
- computeValue?: (group: FormGroup) => Observable<unknown>;
45
- disabledCallback?: (group: FormGroup) => Observable<boolean>;
46
- /**
47
- * Hide the control when disabled
48
- * @default false
49
- */
50
- hideDisabled?: boolean;
51
- heading?: HeadingConfig;
52
- hint?: string;
53
- }
54
- /**
55
- * Holds properties for control fields that describe field behavior to users
56
- */
57
- export interface FieldDescriptors {
58
- label: string;
59
- info?: Info;
60
- fieldSuffix?: string;
61
- placeholder?: string;
62
- }
63
- export interface MatFieldProperties {
64
- appearance?: MatFormFieldAppearance;
65
- color?: ThemePalette;
66
- }
67
- export interface Info {
68
- content: string;
69
- tooltipPosition?: TooltipPosition;
70
- iconName?: string;
71
- }
72
- export interface AbstractGroupConfig<C extends CrisprFieldConfig = AnyFieldConfig> {
73
- fields?: (AnyFieldConfig | C)[];
74
- }
75
- export interface FormConfig<C = AnyFieldConfig> extends AbstractGroupConfig<C> {
76
- classes?: string[];
77
- errorDictionary?: ErrorDictionary;
78
- autoComplete?: string;
79
- /** @deprecated use autoComplete */
80
- autocomplete?: string;
81
- validators?: ValidatorFn[];
82
- }
83
- /**
84
- * Configuration for SubGroup components
85
- */
86
- export interface SubGroupConfig extends CrisprControlConfig, AbstractGroupConfig<any> {
87
- controlType: ControlType.SUB_GROUP;
88
- }
89
- export declare type AnyFieldConfig = InputFieldConfig | SelectFieldConfig | RadioFieldConfig | FormGroupListConfig | SubGroupConfig | AutocompleteFieldConfig | AutocompleteChiplistFieldConfig | TextareaFieldConfig | CheckboxFieldConfig | DatepickerFieldConfig | SliderFieldConfig | FileUploadFieldConfig | ImageUploadFieldConfig | HeadingConfig | ButtonConfig | DividerConfig | UnitConversionFieldConfig;
90
- export declare type ControlValue<T = any> = boolean | string | number | Date | SelectOption | SelectOption[] | ControlGroupValue | T;
91
- export declare type ControlGroupValue = {
92
- [key: string]: ControlValue;
93
- };
94
- export {};
1
+ import { FormGroup, ValidatorFn } from '@angular/forms';
2
+ import { Observable } from 'rxjs';
3
+ import { TooltipPosition } from '@angular/material/tooltip';
4
+ import { MatFormFieldAppearance } from '@angular/material/form-field';
5
+ import { ErrorDictionary } from '@tft/form-validation-handler';
6
+ import type { SelectFieldConfig, HeadingConfig, ButtonConfig, DatepickerFieldConfig, InputFieldConfig, CheckboxFieldConfig, TextareaFieldConfig, AutocompleteFieldConfig, FormGroupListConfig, AutocompleteChiplistFieldConfig, SliderFieldConfig, DividerConfig, SelectOption, RadioFieldConfig, ImageUploadFieldConfig, FileUploadFieldConfig, UnitConversionFieldConfig } from '../models';
7
+ import { ThemePalette } from '@angular/material/core';
8
+ export declare enum ControlType {
9
+ AUTOCOMPLETE = "autocomplete",
10
+ AUTOCOMPLETE_CHIPLIST = "autocompleteChiplist",
11
+ BUTTON = "button",
12
+ CHECKBOX = "checkbox",
13
+ CUSTOM = "custom",
14
+ DATEPICKER = "datepicker",
15
+ DIVIDER = "divider",
16
+ FILE_UPLOAD = "fileUpload",
17
+ HEADING = "heading",
18
+ INPUT = "input",
19
+ IMAGE_UPLOAD = "imageUpload",
20
+ GROUP_LIST = "groupList",
21
+ RADIO = "radio",
22
+ SELECT = "select",
23
+ SLIDER = "slider",
24
+ SUB_GROUP = "subGroup",
25
+ TEXTAREA = "textarea",
26
+ UNIT_CONVERSION = "unitConversion"
27
+ }
28
+ /**
29
+ * The base interface for all the fields in the form's config
30
+ */
31
+ export interface CrisprFieldConfig {
32
+ controlType?: ControlType;
33
+ classes?: string[];
34
+ component?: any;
35
+ }
36
+ /**
37
+ * A utility type that returns the keys of a type if one is passed otherwise return string type
38
+ */
39
+ type RestrictedControlName<M> = M extends null ? string : keyof M;
40
+ /**
41
+ * The base interface for all control configs
42
+ */
43
+ export interface CrisprControlConfig<M = null> extends CrisprFieldConfig {
44
+ controlName: RestrictedControlName<M>;
45
+ controlType: ControlType;
46
+ validators?: ValidatorFn[];
47
+ computeValue?: (group: FormGroup) => Observable<unknown>;
48
+ disabledCallback?: (group: FormGroup) => Observable<boolean>;
49
+ /**
50
+ * Hide the control when disabled
51
+ * @default false
52
+ */
53
+ hideDisabled?: boolean;
54
+ heading?: HeadingConfig;
55
+ hint?: string;
56
+ }
57
+ /**
58
+ * Holds properties for control fields that describe field behavior to users
59
+ */
60
+ export interface FieldDescriptors {
61
+ label: string;
62
+ info?: Info;
63
+ fieldSuffix?: string;
64
+ placeholder?: string;
65
+ }
66
+ export interface MatFieldProperties {
67
+ appearance?: MatFormFieldAppearance;
68
+ color?: ThemePalette;
69
+ }
70
+ export interface Info {
71
+ content: string;
72
+ tooltipPosition?: TooltipPosition;
73
+ iconName?: string;
74
+ }
75
+ export interface AbstractGroupConfig<C extends CrisprFieldConfig = AnyFieldConfig> {
76
+ fields?: (AnyFieldConfig | C)[];
77
+ }
78
+ export interface FormConfig<C = AnyFieldConfig> extends AbstractGroupConfig<C> {
79
+ classes?: string[];
80
+ errorDictionary?: ErrorDictionary;
81
+ autoComplete?: string;
82
+ /** @deprecated use autoComplete */
83
+ autocomplete?: string;
84
+ validators?: ValidatorFn[];
85
+ }
86
+ /**
87
+ * Configuration for SubGroup components
88
+ */
89
+ export interface SubGroupConfig extends CrisprControlConfig, AbstractGroupConfig<any> {
90
+ controlType: ControlType.SUB_GROUP;
91
+ }
92
+ export type AnyFieldConfig = InputFieldConfig | SelectFieldConfig | RadioFieldConfig | FormGroupListConfig | SubGroupConfig | AutocompleteFieldConfig | AutocompleteChiplistFieldConfig | TextareaFieldConfig | CheckboxFieldConfig | DatepickerFieldConfig | SliderFieldConfig | FileUploadFieldConfig | ImageUploadFieldConfig | HeadingConfig | ButtonConfig | DividerConfig | UnitConversionFieldConfig;
93
+ export type ControlValue<T = any> = boolean | string | number | Date | SelectOption | SelectOption[] | ControlGroupValue | T;
94
+ export type ControlGroupValue = {
95
+ [key: string]: ControlValue;
96
+ };
97
+ export {};
@@ -1,20 +1,20 @@
1
- import { FieldDescriptors, MatFieldProperties, CrisprControlConfig, ControlType } from './crispr-field.config';
2
- import { MatCalendarCellClassFunction } from '@angular/material/datepicker';
3
- import { Observable } from 'rxjs';
4
- import { FormGroup } from '@angular/forms';
5
- import { ComponentType } from '@angular/cdk/portal';
6
- export interface DatepickerFieldConfig extends CrisprControlConfig, Pick<FieldDescriptors, 'label'>, MatFieldProperties {
7
- controlType: ControlType.DATEPICKER;
8
- min?: Date;
9
- max?: Date;
10
- startView?: 'month' | 'year' | 'multi-year';
11
- startAt?: Date | ((group: FormGroup) => Observable<Date>) | null;
12
- touchUi?: boolean;
13
- datepickerFilter?: (date: Date) => boolean;
14
- cellClassFunction?: MatCalendarCellClassFunction<Date>;
15
- dateClass?: (parentGroup: FormGroup) => Observable<MatCalendarCellClassFunction<Date>>;
16
- /**
17
- * Pass a component into mat-datepicker-actions component see [docs](https://material.angular.io/components/datepicker/overview#confirmation-action-buttons)
18
- */
19
- datepickerActions?: ComponentType<any>;
20
- }
1
+ import { FieldDescriptors, MatFieldProperties, CrisprControlConfig, ControlType } from './crispr-field.config';
2
+ import { MatCalendarCellClassFunction } from '@angular/material/datepicker';
3
+ import { Observable } from 'rxjs';
4
+ import { FormGroup } from '@angular/forms';
5
+ import { ComponentType } from '@angular/cdk/portal';
6
+ export interface DatepickerFieldConfig extends CrisprControlConfig, Pick<FieldDescriptors, 'label'>, MatFieldProperties {
7
+ controlType: ControlType.DATEPICKER;
8
+ min?: Date;
9
+ max?: Date;
10
+ startView?: 'month' | 'year' | 'multi-year';
11
+ startAt?: Date | ((group: FormGroup) => Observable<Date>) | null;
12
+ touchUi?: boolean;
13
+ datepickerFilter?: (date: Date) => boolean;
14
+ cellClassFunction?: MatCalendarCellClassFunction<Date>;
15
+ dateClass?: (parentGroup: FormGroup) => Observable<MatCalendarCellClassFunction<Date>>;
16
+ /**
17
+ * Pass a component into mat-datepicker-actions component see [docs](https://material.angular.io/components/datepicker/overview#confirmation-action-buttons)
18
+ */
19
+ datepickerActions?: ComponentType<any>;
20
+ }
@@ -1,5 +1,5 @@
1
- import { CrisprFieldConfig, ControlType } from './crispr-field.config';
2
- export declare type DividerConfig = Omit<CrisprFieldConfig, 'label'> & {
3
- controlType?: ControlType.DIVIDER;
4
- vertical?: boolean;
5
- };
1
+ import { CrisprFieldConfig, ControlType } from './crispr-field.config';
2
+ export type DividerConfig = Omit<CrisprFieldConfig, 'label'> & {
3
+ controlType?: ControlType.DIVIDER;
4
+ vertical?: boolean;
5
+ };
@@ -1,33 +1,33 @@
1
- import { FormGroup } from '@angular/forms';
2
- import { CrisprControlConfig, ControlType, MatFieldProperties } from './crispr-field.config';
3
- import { ButtonType } from './button.config';
4
- import { Observable } from 'rxjs';
5
- export interface AbstractUploadComponent {
6
- isUploaded: boolean;
7
- fileProgress: Observable<number>[];
8
- disabled$: Observable<boolean>;
9
- }
10
- export declare type FileUploadFieldConfig = CrisprControlConfig & MatFieldProperties & {
11
- controlType: ControlType.FILE_UPLOAD;
12
- label: string;
13
- filesChanged?: (parentGroup: FormGroup, files: FileList) => void;
14
- allowMultipleFiles?: boolean;
15
- showClearFilesButton?: boolean;
16
- acceptedTypes?: string;
17
- selectFilesButtonType?: ButtonType;
18
- selectButtonText?: string;
19
- clearFilesButtonText?: string;
20
- dropZoneText?: string;
21
- } & (EnabledUploadButtonConfig | DisabledUploadButtonConfig);
22
- export interface EnabledUploadButtonConfig {
23
- uploadFiles: (parentGroup: FormGroup, files: FileList, uploadComponent: AbstractUploadComponent) => Promise<unknown> | unknown;
24
- showUploadProgress?: boolean;
25
- disableOnUpload?: boolean;
26
- uploadButtonType?: ButtonType;
27
- uploadButtonText?: string;
28
- }
29
- declare type DisabledUploadButtonConfig = NeverProps<EnabledUploadButtonConfig>;
30
- declare type NeverProps<T> = {
31
- [P in keyof T]?: never;
32
- };
33
- export {};
1
+ import { FormGroup } from '@angular/forms';
2
+ import { CrisprControlConfig, ControlType, MatFieldProperties } from './crispr-field.config';
3
+ import { ButtonType } from './button.config';
4
+ import { Observable } from 'rxjs';
5
+ export interface AbstractUploadComponent {
6
+ isUploaded: boolean;
7
+ fileProgress: Observable<number>[];
8
+ disabled$: Observable<boolean>;
9
+ }
10
+ export type FileUploadFieldConfig = CrisprControlConfig & MatFieldProperties & {
11
+ controlType: ControlType.FILE_UPLOAD;
12
+ label: string;
13
+ filesChanged?: (parentGroup: FormGroup, files: FileList) => void;
14
+ allowMultipleFiles?: boolean;
15
+ showClearFilesButton?: boolean;
16
+ acceptedTypes?: string;
17
+ selectFilesButtonType?: ButtonType;
18
+ selectButtonText?: string;
19
+ clearFilesButtonText?: string;
20
+ dropZoneText?: string;
21
+ } & (EnabledUploadButtonConfig | DisabledUploadButtonConfig);
22
+ export interface EnabledUploadButtonConfig {
23
+ uploadFiles: (parentGroup: FormGroup, files: FileList, uploadComponent: AbstractUploadComponent) => Promise<unknown> | unknown;
24
+ showUploadProgress?: boolean;
25
+ disableOnUpload?: boolean;
26
+ uploadButtonType?: ButtonType;
27
+ uploadButtonText?: string;
28
+ }
29
+ type DisabledUploadButtonConfig = NeverProps<EnabledUploadButtonConfig>;
30
+ type NeverProps<T> = {
31
+ [P in keyof T]?: never;
32
+ };
33
+ export {};
@@ -1,18 +1,18 @@
1
- import { ThemePalette } from '@angular/material/core';
2
- import { CrisprControlConfig, ControlType, SubGroupConfig } from './crispr-field.config';
3
- export interface FormGroupListConfig extends CrisprControlConfig {
4
- controlType: ControlType.GROUP_LIST;
5
- itemConfig: SubGroupConfig;
6
- itemLabelBuilder?: (index: number) => string;
7
- /** The number of list items that a user can delete */
8
- minListLength?: number;
9
- /** If no items are passed as an initial value, should an initial empty item be created */
10
- displayInitialItem?: boolean;
11
- addButtonColor?: ThemePalette;
12
- addButtonLabel?: string;
13
- displayItemComponent?: any;
14
- /**
15
- * @deprecated Please use addButtonLabel, addItemLabel will be removed in the next major release
16
- */
17
- addItemLabel?: string;
18
- }
1
+ import { ThemePalette } from '@angular/material/core';
2
+ import { CrisprControlConfig, ControlType, SubGroupConfig } from './crispr-field.config';
3
+ export interface FormGroupListConfig extends CrisprControlConfig {
4
+ controlType: ControlType.GROUP_LIST;
5
+ itemConfig: SubGroupConfig;
6
+ itemLabelBuilder?: (index: number) => string;
7
+ /** The number of list items that a user can delete */
8
+ minListLength?: number;
9
+ /** If no items are passed as an initial value, should an initial empty item be created */
10
+ displayInitialItem?: boolean;
11
+ addButtonColor?: ThemePalette;
12
+ addButtonLabel?: string;
13
+ displayItemComponent?: any;
14
+ /**
15
+ * @deprecated Please use addButtonLabel, addItemLabel will be removed in the next major release
16
+ */
17
+ addItemLabel?: string;
18
+ }
@@ -1,6 +1,6 @@
1
- import { FieldDescriptors, CrisprFieldConfig, ControlType } from './crispr-field.config';
2
- export interface HeadingConfig extends Omit<CrisprFieldConfig, 'controlType'>, Omit<FieldDescriptors, 'placeholder' | 'fieldSuffix'> {
3
- controlType?: ControlType.HEADING;
4
- typographyClass?: string;
5
- label: string;
6
- }
1
+ import { FieldDescriptors, CrisprFieldConfig, ControlType } from './crispr-field.config';
2
+ export interface HeadingConfig extends Omit<CrisprFieldConfig, 'controlType'>, Omit<FieldDescriptors, 'placeholder' | 'fieldSuffix'> {
3
+ controlType?: ControlType.HEADING;
4
+ typographyClass?: string;
5
+ label: string;
6
+ }
@@ -1,54 +1,54 @@
1
- import { FormGroup } from '@angular/forms';
2
- import { CrisprControlConfig, ControlType, MatFieldProperties } from './crispr-field.config';
3
- import { ButtonType } from './button.config';
4
- export declare type ImageUploadFieldConfig = CrisprControlConfig & MatFieldProperties & {
5
- controlType: ControlType.IMAGE_UPLOAD;
6
- label: string;
7
- filesChanged?: (parentGroup: FormGroup, file: File) => void;
8
- /**
9
- * The file types to accept. The onus is on the consuming developer to limit these to file types compatible with usage.
10
- * See https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/accept
11
- */
12
- acceptedTypes: string;
13
- fileName?: string;
14
- showClearFilesButton?: boolean;
15
- selectFilesButtonType?: ButtonType;
16
- selectButtonText?: string;
17
- clearFilesButtonText?: string;
18
- resetFilesButtonText?: string;
19
- dropZoneText?: string;
20
- /**
21
- * If the input value of the control is not a string of the src
22
- * url to the image, this function allows consumers to map their
23
- * input value into one
24
- */
25
- mapInputValueToUrl?: (inputValue: unknown) => string;
26
- /**
27
- * Should the field compress the image after loading it
28
- * @default false
29
- */
30
- compressImage?: boolean;
31
- /**
32
- * The target size of the compressed image
33
- */
34
- targetCompressedImageFileSizeMb?: number;
35
- /**
36
- * The minimum file size in MB required to trigger compression. Useful for preventing compression on files near the target compression size.
37
- * @default .7
38
- */
39
- minCompressionThresholdMb?: number;
40
- /**
41
- * The maximum height or width of the compressed image
42
- * @default undefined
43
- */
44
- maxWidthOrHeight?: number;
45
- /**
46
- * When true runs compression using a web worker, otherwise compression happens on the main thread.
47
- * @default true
48
- */
49
- useWebWorker?: boolean;
50
- /**
51
- * The height of the image preview container
52
- */
53
- imagePreviewHeight?: string;
54
- };
1
+ import { FormGroup } from '@angular/forms';
2
+ import { CrisprControlConfig, ControlType, MatFieldProperties } from './crispr-field.config';
3
+ import { ButtonType } from './button.config';
4
+ export type ImageUploadFieldConfig = CrisprControlConfig & MatFieldProperties & {
5
+ controlType: ControlType.IMAGE_UPLOAD;
6
+ label: string;
7
+ filesChanged?: (parentGroup: FormGroup, file: File) => void;
8
+ /**
9
+ * The file types to accept. The onus is on the consuming developer to limit these to file types compatible with usage.
10
+ * See https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/accept
11
+ */
12
+ acceptedTypes: string;
13
+ fileName?: string;
14
+ showClearFilesButton?: boolean;
15
+ selectFilesButtonType?: ButtonType;
16
+ selectButtonText?: string;
17
+ clearFilesButtonText?: string;
18
+ resetFilesButtonText?: string;
19
+ dropZoneText?: string;
20
+ /**
21
+ * If the input value of the control is not a string of the src
22
+ * url to the image, this function allows consumers to map their
23
+ * input value into one
24
+ */
25
+ mapInputValueToUrl?: (inputValue: unknown) => string;
26
+ /**
27
+ * Should the field compress the image after loading it
28
+ * @default false
29
+ */
30
+ compressImage?: boolean;
31
+ /**
32
+ * The target size of the compressed image
33
+ */
34
+ targetCompressedImageFileSizeMb?: number;
35
+ /**
36
+ * The minimum file size in MB required to trigger compression. Useful for preventing compression on files near the target compression size.
37
+ * @default .7
38
+ */
39
+ minCompressionThresholdMb?: number;
40
+ /**
41
+ * The maximum height or width of the compressed image
42
+ * @default undefined
43
+ */
44
+ maxWidthOrHeight?: number;
45
+ /**
46
+ * When true runs compression using a web worker, otherwise compression happens on the main thread.
47
+ * @default true
48
+ */
49
+ useWebWorker?: boolean;
50
+ /**
51
+ * The height of the image preview container
52
+ */
53
+ imagePreviewHeight?: string;
54
+ };
@@ -1,17 +1,17 @@
1
- export * from './input-field.config';
2
- export * from './select-field.config';
3
- export * from './radio-field.config';
4
- export * from './autocomplete-field.config';
5
- export * from './autocomplete-chiplist-field.config';
6
- export * from './checkbox-field.config';
7
- export * from './textarea-field.config';
8
- export * from './datepicker-field.config';
9
- export * from './slider-field.config';
10
- export * from './form-group-list.config';
11
- export * from './crispr-field.config';
12
- export * from './button.config';
13
- export * from './heading.config';
14
- export * from './divider.config';
15
- export * from './unit-conversion-field.config';
16
- export * from './file-upload-field.config';
17
- export * from './image-upload-field.config';
1
+ export * from './input-field.config';
2
+ export * from './select-field.config';
3
+ export * from './radio-field.config';
4
+ export * from './autocomplete-field.config';
5
+ export * from './autocomplete-chiplist-field.config';
6
+ export * from './checkbox-field.config';
7
+ export * from './textarea-field.config';
8
+ export * from './datepicker-field.config';
9
+ export * from './slider-field.config';
10
+ export * from './form-group-list.config';
11
+ export * from './crispr-field.config';
12
+ export * from './button.config';
13
+ export * from './heading.config';
14
+ export * from './divider.config';
15
+ export * from './unit-conversion-field.config';
16
+ export * from './file-upload-field.config';
17
+ export * from './image-upload-field.config';
@@ -1,16 +1,16 @@
1
- import { ControlType, FieldDescriptors, MatFieldProperties, CrisprControlConfig } from './crispr-field.config';
2
- export interface InputFieldConfig extends CrisprControlConfig, FieldDescriptors, MatFieldProperties {
3
- controlType: ControlType.INPUT;
4
- inputType?: InputType;
5
- min?: number;
6
- max?: number;
7
- maxLength?: number;
8
- step?: number;
9
- pattern?: string;
10
- autofocus?: boolean;
11
- spellcheck?: boolean;
12
- autoComplete?: string;
13
- autoCapitalize?: 'off' | 'on';
14
- }
15
- declare type InputType = 'color' | 'date' | 'datetime-local' | 'email' | 'month' | 'number' | 'password' | 'search' | 'tel' | 'text' | 'time' | 'url' | 'week';
16
- export {};
1
+ import { ControlType, FieldDescriptors, MatFieldProperties, CrisprControlConfig } from './crispr-field.config';
2
+ export interface InputFieldConfig extends CrisprControlConfig, FieldDescriptors, MatFieldProperties {
3
+ controlType: ControlType.INPUT;
4
+ inputType?: InputType;
5
+ min?: number;
6
+ max?: number;
7
+ maxLength?: number;
8
+ step?: number;
9
+ pattern?: string;
10
+ autofocus?: boolean;
11
+ spellcheck?: boolean;
12
+ autoComplete?: string;
13
+ autoCapitalize?: 'off' | 'on';
14
+ }
15
+ type InputType = 'color' | 'date' | 'datetime-local' | 'email' | 'month' | 'number' | 'password' | 'search' | 'tel' | 'text' | 'time' | 'url' | 'week';
16
+ export {};
@@ -1,6 +1,6 @@
1
- import { CrisprControlConfig, FieldDescriptors, MatFieldProperties, ControlType } from './crispr-field.config';
2
- import { OptionsType } from './select-field.config';
3
- export interface RadioFieldConfig extends Omit<CrisprControlConfig, 'placeholder'>, Omit<FieldDescriptors, 'label'>, MatFieldProperties {
4
- controlType: ControlType.RADIO;
5
- options: OptionsType;
6
- }
1
+ import { CrisprControlConfig, FieldDescriptors, MatFieldProperties, ControlType } from './crispr-field.config';
2
+ import { OptionsType } from './select-field.config';
3
+ export interface RadioFieldConfig extends Omit<CrisprControlConfig, 'placeholder'>, Omit<FieldDescriptors, 'label'>, MatFieldProperties {
4
+ controlType: ControlType.RADIO;
5
+ options: OptionsType;
6
+ }
@@ -1,21 +1,21 @@
1
- import { Observable } from 'rxjs';
2
- import { FormGroup } from '@angular/forms';
3
- import { ControlType, FieldDescriptors, Info, MatFieldProperties, CrisprControlConfig } from './crispr-field.config';
4
- export interface SelectFieldConfig extends Omit<CrisprControlConfig, 'placeholder'>, FieldDescriptors, MatFieldProperties {
5
- controlType: ControlType.SELECT;
6
- emptyOptionsMessage?: string;
7
- multiple?: boolean;
8
- enableToggleAll?: boolean;
9
- options: OptionsType;
10
- }
11
- export declare type OptionsType = SelectOption[] | Observable<SelectOption[]> | OptionsCallback | Promise<SelectOption[]>;
12
- export declare type OptionsCallback = (group?: FormGroup) => OptionsType;
13
- export declare type ReactiveOptionsCallback = (group?: FormGroup) => Observable<SelectOption[]>;
14
- export declare type AutocompleteOptionsCallback = (group?: FormGroup, searchTerm?: string) => OptionsType;
15
- export interface SelectOption {
16
- label: string;
17
- value: any;
18
- imageUrl?: string;
19
- info?: Info;
20
- }
21
- export declare const DEFAULT_EMPTY_OPTIONS_MESSAGE = "No Items";
1
+ import { Observable } from 'rxjs';
2
+ import { FormGroup } from '@angular/forms';
3
+ import { ControlType, FieldDescriptors, Info, MatFieldProperties, CrisprControlConfig } from './crispr-field.config';
4
+ export interface SelectFieldConfig extends Omit<CrisprControlConfig, 'placeholder'>, FieldDescriptors, MatFieldProperties {
5
+ controlType: ControlType.SELECT;
6
+ emptyOptionsMessage?: string;
7
+ multiple?: boolean;
8
+ enableToggleAll?: boolean;
9
+ options: OptionsType;
10
+ }
11
+ export type OptionsType = SelectOption[] | Observable<SelectOption[]> | OptionsCallback | Promise<SelectOption[]>;
12
+ export type OptionsCallback = (group?: FormGroup) => OptionsType;
13
+ export type ReactiveOptionsCallback = (group?: FormGroup) => Observable<SelectOption[]>;
14
+ export type AutocompleteOptionsCallback = (group?: FormGroup, searchTerm?: string) => OptionsType;
15
+ export interface SelectOption {
16
+ label: string;
17
+ value: any;
18
+ imageUrl?: string;
19
+ info?: Info;
20
+ }
21
+ export declare const DEFAULT_EMPTY_OPTIONS_MESSAGE = "No Items";
@@ -1,13 +1,11 @@
1
- import { FieldDescriptors, MatFieldProperties, CrisprControlConfig, ControlType } from './crispr-field.config';
2
- export interface SliderFieldConfig extends CrisprControlConfig, Pick<FieldDescriptors, 'label' | 'info'>, Pick<MatFieldProperties, 'color'> {
3
- controlType: ControlType.SLIDER;
4
- displayWith?: (value: number) => string | number;
5
- invert?: boolean;
6
- displayLimits?: boolean;
7
- max?: number;
8
- min?: number;
9
- step?: number;
10
- thumbLabel?: boolean;
11
- tickInterval?: number | 'auto';
12
- vertical?: boolean;
13
- }
1
+ import { FieldDescriptors, MatFieldProperties, CrisprControlConfig, ControlType } from './crispr-field.config';
2
+ export interface SliderFieldConfig extends CrisprControlConfig, Pick<FieldDescriptors, 'label' | 'info'>, Pick<MatFieldProperties, 'color'> {
3
+ controlType: ControlType.SLIDER;
4
+ displayWith?: (value: number) => string | number;
5
+ max?: number;
6
+ min?: number;
7
+ step?: number;
8
+ discrete?: boolean;
9
+ tickInterval?: number | 'auto';
10
+ displayLimits?: boolean;
11
+ }
@@ -1,5 +1,5 @@
1
- import { FieldDescriptors, MatFieldProperties, CrisprControlConfig, ControlType } from './crispr-field.config';
2
- export interface TextareaFieldConfig extends CrisprControlConfig, FieldDescriptors, MatFieldProperties {
3
- controlType: ControlType.TEXTAREA;
4
- rows?: number;
5
- }
1
+ import { FieldDescriptors, MatFieldProperties, CrisprControlConfig, ControlType } from './crispr-field.config';
2
+ export interface TextareaFieldConfig extends CrisprControlConfig, FieldDescriptors, MatFieldProperties {
3
+ controlType: ControlType.TEXTAREA;
4
+ rows?: number;
5
+ }