hazo_collab_forms 1.9.5 → 2.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 (394) hide show
  1. package/CHANGE_LOG.md +49 -0
  2. package/README.md +416 -0
  3. package/dist/components/_internal_form_set.d.ts +41 -0
  4. package/dist/components/_internal_form_set.d.ts.map +1 -1
  5. package/dist/components/_internal_form_set.js +81 -3
  6. package/dist/components/_internal_form_set.js.map +1 -1
  7. package/dist/components/clarification/clarification_badge.d.ts +16 -0
  8. package/dist/components/clarification/clarification_badge.d.ts.map +1 -0
  9. package/dist/components/clarification/clarification_badge.js +15 -0
  10. package/dist/components/clarification/clarification_badge.js.map +1 -0
  11. package/dist/components/clarification/clarification_card.d.ts +48 -0
  12. package/dist/components/clarification/clarification_card.d.ts.map +1 -0
  13. package/dist/components/clarification/clarification_card.js +46 -0
  14. package/dist/components/clarification/clarification_card.js.map +1 -0
  15. package/dist/components/clarification/clarification_dialog.d.ts +32 -0
  16. package/dist/components/clarification/clarification_dialog.d.ts.map +1 -0
  17. package/dist/components/clarification/clarification_dialog.js +63 -0
  18. package/dist/components/clarification/clarification_dialog.js.map +1 -0
  19. package/dist/components/clarification/clarification_doc_reference.d.ts +18 -0
  20. package/dist/components/clarification/clarification_doc_reference.d.ts.map +1 -0
  21. package/dist/components/clarification/clarification_doc_reference.js +22 -0
  22. package/dist/components/clarification/clarification_doc_reference.js.map +1 -0
  23. package/dist/components/clarification/clarification_response_form.d.ts +32 -0
  24. package/dist/components/clarification/clarification_response_form.d.ts.map +1 -0
  25. package/dist/components/clarification/clarification_response_form.js +38 -0
  26. package/dist/components/clarification/clarification_response_form.js.map +1 -0
  27. package/dist/components/clarification/clarification_section.d.ts +26 -0
  28. package/dist/components/clarification/clarification_section.d.ts.map +1 -0
  29. package/dist/components/clarification/clarification_section.js +46 -0
  30. package/dist/components/clarification/clarification_section.js.map +1 -0
  31. package/dist/components/clarification/index.d.ts +18 -0
  32. package/dist/components/clarification/index.d.ts.map +1 -0
  33. package/dist/components/clarification/index.js +13 -0
  34. package/dist/components/clarification/index.js.map +1 -0
  35. package/dist/components/clarification/use_clarifications.d.ts +49 -0
  36. package/dist/components/clarification/use_clarifications.d.ts.map +1 -0
  37. package/dist/components/clarification/use_clarifications.js +160 -0
  38. package/dist/components/clarification/use_clarifications.js.map +1 -0
  39. package/dist/components/collab_form_file_upload.d.ts +16 -1
  40. package/dist/components/collab_form_file_upload.d.ts.map +1 -1
  41. package/dist/components/collab_form_file_upload.js +44 -10
  42. package/dist/components/collab_form_file_upload.js.map +1 -1
  43. package/dist/components/hazo_add_field_dialog/types.d.ts.map +1 -1
  44. package/dist/components/hazo_add_field_dialog/types.js +28 -0
  45. package/dist/components/hazo_add_field_dialog/types.js.map +1 -1
  46. package/dist/components/hazo_collab_form_base.d.ts +32 -2
  47. package/dist/components/hazo_collab_form_base.d.ts.map +1 -1
  48. package/dist/components/hazo_collab_form_base.js +11 -5
  49. package/dist/components/hazo_collab_form_base.js.map +1 -1
  50. package/dist/components/hazo_collab_form_computed.d.ts +33 -0
  51. package/dist/components/hazo_collab_form_computed.d.ts.map +1 -0
  52. package/dist/components/hazo_collab_form_computed.js +42 -0
  53. package/dist/components/hazo_collab_form_computed.js.map +1 -0
  54. package/dist/components/hazo_collab_form_currency.d.ts +29 -0
  55. package/dist/components/hazo_collab_form_currency.d.ts.map +1 -0
  56. package/dist/components/hazo_collab_form_currency.js +42 -0
  57. package/dist/components/hazo_collab_form_currency.js.map +1 -0
  58. package/dist/components/hazo_collab_form_data_table.d.ts +1 -1
  59. package/dist/components/hazo_collab_form_data_table.d.ts.map +1 -1
  60. package/dist/components/hazo_collab_form_data_table.js +7 -3
  61. package/dist/components/hazo_collab_form_data_table.js.map +1 -1
  62. package/dist/components/hazo_collab_form_group.d.ts +12 -0
  63. package/dist/components/hazo_collab_form_group.d.ts.map +1 -1
  64. package/dist/components/hazo_collab_form_group.js +27 -4
  65. package/dist/components/hazo_collab_form_group.js.map +1 -1
  66. package/dist/components/hazo_collab_form_masked.d.ts +32 -0
  67. package/dist/components/hazo_collab_form_masked.d.ts.map +1 -0
  68. package/dist/components/hazo_collab_form_masked.js +55 -0
  69. package/dist/components/hazo_collab_form_masked.js.map +1 -0
  70. package/dist/components/hazo_collab_form_percentage.d.ts +27 -0
  71. package/dist/components/hazo_collab_form_percentage.d.ts.map +1 -0
  72. package/dist/components/hazo_collab_form_percentage.js +41 -0
  73. package/dist/components/hazo_collab_form_percentage.js.map +1 -0
  74. package/dist/components/hazo_collab_form_static_text.d.ts +26 -0
  75. package/dist/components/hazo_collab_form_static_text.d.ts.map +1 -0
  76. package/dist/components/hazo_collab_form_static_text.js +24 -0
  77. package/dist/components/hazo_collab_form_static_text.js.map +1 -0
  78. package/dist/components/hazo_collab_form_summary_row.d.ts +41 -0
  79. package/dist/components/hazo_collab_form_summary_row.d.ts.map +1 -0
  80. package/dist/components/hazo_collab_form_summary_row.js +35 -0
  81. package/dist/components/hazo_collab_form_summary_row.js.map +1 -0
  82. package/dist/components/hazo_collab_form_view/context.d.ts.map +1 -1
  83. package/dist/components/hazo_collab_form_view/context.js +25 -1
  84. package/dist/components/hazo_collab_form_view/context.js.map +1 -1
  85. package/dist/components/hazo_collab_form_view/index.d.ts +1 -1
  86. package/dist/components/hazo_collab_form_view/index.d.ts.map +1 -1
  87. package/dist/components/hazo_collab_form_view/index.js +8 -0
  88. package/dist/components/hazo_collab_form_view/index.js.map +1 -1
  89. package/dist/components/hazo_collab_form_view/types.d.ts +167 -2
  90. package/dist/components/hazo_collab_form_view/types.d.ts.map +1 -1
  91. package/dist/components/hazo_collab_form_view/views/edit_view.d.ts.map +1 -1
  92. package/dist/components/hazo_collab_form_view/views/edit_view.js +76 -8
  93. package/dist/components/hazo_collab_form_view/views/edit_view.js.map +1 -1
  94. package/dist/components/hazo_collab_form_view/views/summary_view.d.ts.map +1 -1
  95. package/dist/components/hazo_collab_form_view/views/summary_view.js +237 -14
  96. package/dist/components/hazo_collab_form_view/views/summary_view.js.map +1 -1
  97. package/dist/components/hazo_data_form/field_renderers/boolean_field.d.ts +6 -0
  98. package/dist/components/hazo_data_form/field_renderers/boolean_field.d.ts.map +1 -0
  99. package/dist/components/hazo_data_form/field_renderers/boolean_field.js +9 -0
  100. package/dist/components/hazo_data_form/field_renderers/boolean_field.js.map +1 -0
  101. package/dist/components/hazo_data_form/field_renderers/computed_field.d.ts +7 -0
  102. package/dist/components/hazo_data_form/field_renderers/computed_field.d.ts.map +1 -0
  103. package/dist/components/hazo_data_form/field_renderers/computed_field.js +34 -0
  104. package/dist/components/hazo_data_form/field_renderers/computed_field.js.map +1 -0
  105. package/dist/components/hazo_data_form/field_renderers/currency_field.d.ts +7 -0
  106. package/dist/components/hazo_data_form/field_renderers/currency_field.d.ts.map +1 -0
  107. package/dist/components/hazo_data_form/field_renderers/currency_field.js +30 -0
  108. package/dist/components/hazo_data_form/field_renderers/currency_field.js.map +1 -0
  109. package/dist/components/hazo_data_form/field_renderers/date_field.d.ts +7 -0
  110. package/dist/components/hazo_data_form/field_renderers/date_field.d.ts.map +1 -0
  111. package/dist/components/hazo_data_form/field_renderers/date_field.js +17 -0
  112. package/dist/components/hazo_data_form/field_renderers/date_field.js.map +1 -0
  113. package/dist/components/hazo_data_form/field_renderers/email_field.d.ts +6 -0
  114. package/dist/components/hazo_data_form/field_renderers/email_field.d.ts.map +1 -0
  115. package/dist/components/hazo_data_form/field_renderers/email_field.js +12 -0
  116. package/dist/components/hazo_data_form/field_renderers/email_field.js.map +1 -0
  117. package/dist/components/hazo_data_form/field_renderers/index.d.ts +50 -0
  118. package/dist/components/hazo_data_form/field_renderers/index.d.ts.map +1 -0
  119. package/dist/components/hazo_data_form/field_renderers/index.js +95 -0
  120. package/dist/components/hazo_data_form/field_renderers/index.js.map +1 -0
  121. package/dist/components/hazo_data_form/field_renderers/masked_field.d.ts +7 -0
  122. package/dist/components/hazo_data_form/field_renderers/masked_field.d.ts.map +1 -0
  123. package/dist/components/hazo_data_form/field_renderers/masked_field.js +56 -0
  124. package/dist/components/hazo_data_form/field_renderers/masked_field.js.map +1 -0
  125. package/dist/components/hazo_data_form/field_renderers/number_field.d.ts +6 -0
  126. package/dist/components/hazo_data_form/field_renderers/number_field.d.ts.map +1 -0
  127. package/dist/components/hazo_data_form/field_renderers/number_field.js +15 -0
  128. package/dist/components/hazo_data_form/field_renderers/number_field.js.map +1 -0
  129. package/dist/components/hazo_data_form/field_renderers/option_field.d.ts +6 -0
  130. package/dist/components/hazo_data_form/field_renderers/option_field.d.ts.map +1 -0
  131. package/dist/components/hazo_data_form/field_renderers/option_field.js +15 -0
  132. package/dist/components/hazo_data_form/field_renderers/option_field.js.map +1 -0
  133. package/dist/components/hazo_data_form/field_renderers/percentage_field.d.ts +7 -0
  134. package/dist/components/hazo_data_form/field_renderers/percentage_field.d.ts.map +1 -0
  135. package/dist/components/hazo_data_form/field_renderers/percentage_field.js +22 -0
  136. package/dist/components/hazo_data_form/field_renderers/percentage_field.js.map +1 -0
  137. package/dist/components/hazo_data_form/field_renderers/static_text_field.d.ts +7 -0
  138. package/dist/components/hazo_data_form/field_renderers/static_text_field.d.ts.map +1 -0
  139. package/dist/components/hazo_data_form/field_renderers/static_text_field.js +11 -0
  140. package/dist/components/hazo_data_form/field_renderers/static_text_field.js.map +1 -0
  141. package/dist/components/hazo_data_form/field_renderers/summary_row_field.d.ts +7 -0
  142. package/dist/components/hazo_data_form/field_renderers/summary_row_field.d.ts.map +1 -0
  143. package/dist/components/hazo_data_form/field_renderers/summary_row_field.js +20 -0
  144. package/dist/components/hazo_data_form/field_renderers/summary_row_field.js.map +1 -0
  145. package/dist/components/hazo_data_form/field_renderers/table_field.d.ts +7 -0
  146. package/dist/components/hazo_data_form/field_renderers/table_field.d.ts.map +1 -0
  147. package/dist/components/hazo_data_form/field_renderers/table_field.js +179 -0
  148. package/dist/components/hazo_data_form/field_renderers/table_field.js.map +1 -0
  149. package/dist/components/hazo_data_form/field_renderers/tel_field.d.ts +6 -0
  150. package/dist/components/hazo_data_form/field_renderers/tel_field.d.ts.map +1 -0
  151. package/dist/components/hazo_data_form/field_renderers/tel_field.js +12 -0
  152. package/dist/components/hazo_data_form/field_renderers/tel_field.js.map +1 -0
  153. package/dist/components/hazo_data_form/field_renderers/text_field.d.ts +6 -0
  154. package/dist/components/hazo_data_form/field_renderers/text_field.d.ts.map +1 -0
  155. package/dist/components/hazo_data_form/field_renderers/text_field.js +12 -0
  156. package/dist/components/hazo_data_form/field_renderers/text_field.js.map +1 -0
  157. package/dist/components/hazo_data_form/field_renderers/textarea_field.d.ts +6 -0
  158. package/dist/components/hazo_data_form/field_renderers/textarea_field.d.ts.map +1 -0
  159. package/dist/components/hazo_data_form/field_renderers/textarea_field.js +12 -0
  160. package/dist/components/hazo_data_form/field_renderers/textarea_field.js.map +1 -0
  161. package/dist/components/hazo_data_form/file_manager_button.d.ts +12 -0
  162. package/dist/components/hazo_data_form/file_manager_button.d.ts.map +1 -0
  163. package/dist/components/hazo_data_form/file_manager_button.js +9 -0
  164. package/dist/components/hazo_data_form/file_manager_button.js.map +1 -0
  165. package/dist/components/hazo_data_form/group_renderer.d.ts +20 -0
  166. package/dist/components/hazo_data_form/group_renderer.d.ts.map +1 -0
  167. package/dist/components/hazo_data_form/group_renderer.js +74 -0
  168. package/dist/components/hazo_data_form/group_renderer.js.map +1 -0
  169. package/dist/components/hazo_data_form/hazo_data_form.d.ts +10 -0
  170. package/dist/components/hazo_data_form/hazo_data_form.d.ts.map +1 -0
  171. package/dist/components/hazo_data_form/hazo_data_form.js +100 -0
  172. package/dist/components/hazo_data_form/hazo_data_form.js.map +1 -0
  173. package/dist/components/hazo_data_form/index.d.ts +15 -0
  174. package/dist/components/hazo_data_form/index.d.ts.map +1 -0
  175. package/dist/components/hazo_data_form/index.js +14 -0
  176. package/dist/components/hazo_data_form/index.js.map +1 -0
  177. package/dist/components/hazo_data_form/section_renderer.d.ts +24 -0
  178. package/dist/components/hazo_data_form/section_renderer.d.ts.map +1 -0
  179. package/dist/components/hazo_data_form/section_renderer.js +34 -0
  180. package/dist/components/hazo_data_form/section_renderer.js.map +1 -0
  181. package/dist/components/hazo_data_form/shared/data_form_badge.d.ts +13 -0
  182. package/dist/components/hazo_data_form/shared/data_form_badge.d.ts.map +1 -0
  183. package/dist/components/hazo_data_form/shared/data_form_badge.js +13 -0
  184. package/dist/components/hazo_data_form/shared/data_form_badge.js.map +1 -0
  185. package/dist/components/hazo_data_form/shared/data_form_field_layout.d.ts +17 -0
  186. package/dist/components/hazo_data_form/shared/data_form_field_layout.d.ts.map +1 -0
  187. package/dist/components/hazo_data_form/shared/data_form_field_layout.js +31 -0
  188. package/dist/components/hazo_data_form/shared/data_form_field_layout.js.map +1 -0
  189. package/dist/components/hazo_data_form/shared/data_form_file_column.d.ts +17 -0
  190. package/dist/components/hazo_data_form/shared/data_form_file_column.d.ts.map +1 -0
  191. package/dist/components/hazo_data_form/shared/data_form_file_column.js +46 -0
  192. package/dist/components/hazo_data_form/shared/data_form_file_column.js.map +1 -0
  193. package/dist/components/hazo_data_form/shared/data_form_help_tooltip.d.ts +15 -0
  194. package/dist/components/hazo_data_form/shared/data_form_help_tooltip.d.ts.map +1 -0
  195. package/dist/components/hazo_data_form/shared/data_form_help_tooltip.js +25 -0
  196. package/dist/components/hazo_data_form/shared/data_form_help_tooltip.js.map +1 -0
  197. package/dist/components/hazo_data_form/shared/data_form_label.d.ts +12 -0
  198. package/dist/components/hazo_data_form/shared/data_form_label.d.ts.map +1 -0
  199. package/dist/components/hazo_data_form/shared/data_form_label.js +18 -0
  200. package/dist/components/hazo_data_form/shared/data_form_label.js.map +1 -0
  201. package/dist/components/hazo_data_form/shared/data_form_reference_value.d.ts +10 -0
  202. package/dist/components/hazo_data_form/shared/data_form_reference_value.d.ts.map +1 -0
  203. package/dist/components/hazo_data_form/shared/data_form_reference_value.js +10 -0
  204. package/dist/components/hazo_data_form/shared/data_form_reference_value.js.map +1 -0
  205. package/dist/components/hazo_data_form/shared/index.d.ts +16 -0
  206. package/dist/components/hazo_data_form/shared/index.d.ts.map +1 -0
  207. package/dist/components/hazo_data_form/shared/index.js +10 -0
  208. package/dist/components/hazo_data_form/shared/index.js.map +1 -0
  209. package/dist/components/hazo_data_form/shared/types.d.ts +6 -0
  210. package/dist/components/hazo_data_form/shared/types.d.ts.map +1 -0
  211. package/dist/components/hazo_data_form/shared/types.js +5 -0
  212. package/dist/components/hazo_data_form/shared/types.js.map +1 -0
  213. package/dist/components/hazo_data_form/types.d.ts +110 -0
  214. package/dist/components/hazo_data_form/types.d.ts.map +1 -0
  215. package/dist/components/hazo_data_form/types.js +6 -0
  216. package/dist/components/hazo_data_form/types.js.map +1 -0
  217. package/dist/components/hazo_template_generator/components/type_editors/data_table_editor.d.ts.map +1 -1
  218. package/dist/components/hazo_template_generator/components/type_editors/data_table_editor.js +2 -0
  219. package/dist/components/hazo_template_generator/components/type_editors/data_table_editor.js.map +1 -1
  220. package/dist/components/hazo_template_generator/types.d.ts +2 -2
  221. package/dist/components/hazo_template_generator/types.d.ts.map +1 -1
  222. package/dist/components/hazo_template_generator/types.js +62 -0
  223. package/dist/components/hazo_template_generator/types.js.map +1 -1
  224. package/dist/components/hazo_validation_rule_editor/components/clarification_settings.d.ts +10 -0
  225. package/dist/components/hazo_validation_rule_editor/components/clarification_settings.d.ts.map +1 -0
  226. package/dist/components/hazo_validation_rule_editor/components/clarification_settings.js +57 -0
  227. package/dist/components/hazo_validation_rule_editor/components/clarification_settings.js.map +1 -0
  228. package/dist/components/hazo_validation_rule_editor/components/prompt_editor.d.ts +11 -0
  229. package/dist/components/hazo_validation_rule_editor/components/prompt_editor.d.ts.map +1 -0
  230. package/dist/components/hazo_validation_rule_editor/components/prompt_editor.js +145 -0
  231. package/dist/components/hazo_validation_rule_editor/components/prompt_editor.js.map +1 -0
  232. package/dist/components/hazo_validation_rule_editor/components/rule_editor.d.ts +6 -0
  233. package/dist/components/hazo_validation_rule_editor/components/rule_editor.d.ts.map +1 -0
  234. package/dist/components/hazo_validation_rule_editor/components/rule_editor.js +149 -0
  235. package/dist/components/hazo_validation_rule_editor/components/rule_editor.js.map +1 -0
  236. package/dist/components/hazo_validation_rule_editor/components/rule_list.d.ts +6 -0
  237. package/dist/components/hazo_validation_rule_editor/components/rule_list.d.ts.map +1 -0
  238. package/dist/components/hazo_validation_rule_editor/components/rule_list.js +57 -0
  239. package/dist/components/hazo_validation_rule_editor/components/rule_list.js.map +1 -0
  240. package/dist/components/hazo_validation_rule_editor/context.d.ts +19 -0
  241. package/dist/components/hazo_validation_rule_editor/context.d.ts.map +1 -0
  242. package/dist/components/hazo_validation_rule_editor/context.js +95 -0
  243. package/dist/components/hazo_validation_rule_editor/context.js.map +1 -0
  244. package/dist/components/hazo_validation_rule_editor/hooks/use_file_validation.d.ts +20 -0
  245. package/dist/components/hazo_validation_rule_editor/hooks/use_file_validation.d.ts.map +1 -0
  246. package/dist/components/hazo_validation_rule_editor/hooks/use_file_validation.js +127 -0
  247. package/dist/components/hazo_validation_rule_editor/hooks/use_file_validation.js.map +1 -0
  248. package/dist/components/hazo_validation_rule_editor/hooks/use_validation_rules.d.ts +30 -0
  249. package/dist/components/hazo_validation_rule_editor/hooks/use_validation_rules.d.ts.map +1 -0
  250. package/dist/components/hazo_validation_rule_editor/hooks/use_validation_rules.js +216 -0
  251. package/dist/components/hazo_validation_rule_editor/hooks/use_validation_rules.js.map +1 -0
  252. package/dist/components/hazo_validation_rule_editor/index.d.ts +14 -0
  253. package/dist/components/hazo_validation_rule_editor/index.d.ts.map +1 -0
  254. package/dist/components/hazo_validation_rule_editor/index.js +12 -0
  255. package/dist/components/hazo_validation_rule_editor/index.js.map +1 -0
  256. package/dist/components/hazo_validation_rule_editor/types.d.ts +53 -0
  257. package/dist/components/hazo_validation_rule_editor/types.d.ts.map +1 -0
  258. package/dist/components/hazo_validation_rule_editor/types.js +5 -0
  259. package/dist/components/hazo_validation_rule_editor/types.js.map +1 -0
  260. package/dist/components/hazo_validation_rule_editor/validation_rule_editor.d.ts +3 -0
  261. package/dist/components/hazo_validation_rule_editor/validation_rule_editor.d.ts.map +1 -0
  262. package/dist/components/hazo_validation_rule_editor/validation_rule_editor.js +14 -0
  263. package/dist/components/hazo_validation_rule_editor/validation_rule_editor.js.map +1 -0
  264. package/dist/components/index.d.ts +30 -2
  265. package/dist/components/index.d.ts.map +1 -1
  266. package/dist/components/index.js +22 -1
  267. package/dist/components/index.js.map +1 -1
  268. package/dist/components/shared/field_state/normalize.d.ts.map +1 -1
  269. package/dist/components/shared/field_state/normalize.js +1 -0
  270. package/dist/components/shared/field_state/normalize.js.map +1 -1
  271. package/dist/components/shared/field_state/types.d.ts +6 -0
  272. package/dist/components/shared/field_state/types.d.ts.map +1 -1
  273. package/dist/components/shared/field_utils/types.d.ts +1 -1
  274. package/dist/components/shared/field_utils/types.d.ts.map +1 -1
  275. package/dist/components/shared/strip_base_props.d.ts.map +1 -1
  276. package/dist/components/shared/strip_base_props.js +2 -0
  277. package/dist/components/shared/strip_base_props.js.map +1 -1
  278. package/dist/components/shared/summary_files/summary_files.d.ts +9 -1
  279. package/dist/components/shared/summary_files/summary_files.d.ts.map +1 -1
  280. package/dist/components/shared/summary_files/summary_files.js +11 -5
  281. package/dist/components/shared/summary_files/summary_files.js.map +1 -1
  282. package/dist/components/shared/unified_field_controls/types.d.ts +8 -0
  283. package/dist/components/shared/unified_field_controls/types.d.ts.map +1 -1
  284. package/dist/components/shared/unified_field_controls/unified_field_controls.d.ts +1 -1
  285. package/dist/components/shared/unified_field_controls/unified_field_controls.d.ts.map +1 -1
  286. package/dist/components/shared/unified_field_controls/unified_field_controls.js +3 -2
  287. package/dist/components/shared/unified_field_controls/unified_field_controls.js.map +1 -1
  288. package/dist/components/shared/use_base_form_field.d.ts +14 -0
  289. package/dist/components/shared/use_base_form_field.d.ts.map +1 -1
  290. package/dist/components/shared/use_base_form_field.js +41 -2
  291. package/dist/components/shared/use_base_form_field.js.map +1 -1
  292. package/dist/components/status_badges.d.ts +33 -0
  293. package/dist/components/status_badges.d.ts.map +1 -1
  294. package/dist/components/status_badges.js +27 -2
  295. package/dist/components/status_badges.js.map +1 -1
  296. package/dist/config/clarification_templates.d.ts +24 -0
  297. package/dist/config/clarification_templates.d.ts.map +1 -0
  298. package/dist/config/clarification_templates.js +66 -0
  299. package/dist/config/clarification_templates.js.map +1 -0
  300. package/dist/config/defaults.d.ts +4 -0
  301. package/dist/config/defaults.d.ts.map +1 -1
  302. package/dist/config/defaults.js +4 -0
  303. package/dist/config/defaults.js.map +1 -1
  304. package/dist/config/index.d.ts +3 -1
  305. package/dist/config/index.d.ts.map +1 -1
  306. package/dist/config/index.js +3 -1
  307. package/dist/config/index.js.map +1 -1
  308. package/dist/config/validation_rule_commands.d.ts +12 -0
  309. package/dist/config/validation_rule_commands.d.ts.map +1 -0
  310. package/dist/config/validation_rule_commands.js +106 -0
  311. package/dist/config/validation_rule_commands.js.map +1 -0
  312. package/dist/index.client.d.ts +1 -0
  313. package/dist/index.client.d.ts.map +1 -1
  314. package/dist/index.client.js +1 -0
  315. package/dist/index.client.js.map +1 -1
  316. package/dist/lib/autofill_handler.d.ts +34 -0
  317. package/dist/lib/autofill_handler.d.ts.map +1 -0
  318. package/dist/lib/autofill_handler.js +330 -0
  319. package/dist/lib/autofill_handler.js.map +1 -0
  320. package/dist/lib/index.d.ts +9 -0
  321. package/dist/lib/index.d.ts.map +1 -1
  322. package/dist/lib/index.js +5 -0
  323. package/dist/lib/index.js.map +1 -1
  324. package/dist/lib/validation_handler.d.ts +27 -0
  325. package/dist/lib/validation_handler.d.ts.map +1 -0
  326. package/dist/lib/validation_handler.js +341 -0
  327. package/dist/lib/validation_handler.js.map +1 -0
  328. package/dist/types/clarification.d.ts +126 -0
  329. package/dist/types/clarification.d.ts.map +1 -0
  330. package/dist/types/clarification.js +8 -0
  331. package/dist/types/clarification.js.map +1 -0
  332. package/dist/types/doc_link.d.ts +42 -0
  333. package/dist/types/doc_link.d.ts.map +1 -0
  334. package/dist/types/doc_link.js +5 -0
  335. package/dist/types/doc_link.js.map +1 -0
  336. package/dist/types/field_type_definition.d.ts +67 -0
  337. package/dist/types/field_type_definition.d.ts.map +1 -0
  338. package/dist/types/field_type_definition.js +41 -0
  339. package/dist/types/field_type_definition.js.map +1 -0
  340. package/dist/types/file_attachment.d.ts +2 -0
  341. package/dist/types/file_attachment.d.ts.map +1 -1
  342. package/dist/types/file_attachment.js.map +1 -1
  343. package/dist/types/file_manager.d.ts +36 -0
  344. package/dist/types/file_manager.d.ts.map +1 -1
  345. package/dist/types/index.d.ts +8 -1
  346. package/dist/types/index.d.ts.map +1 -1
  347. package/dist/types/index.js +2 -0
  348. package/dist/types/index.js.map +1 -1
  349. package/dist/types/style_variant.d.ts +93 -0
  350. package/dist/types/style_variant.d.ts.map +1 -0
  351. package/dist/types/style_variant.js +248 -0
  352. package/dist/types/style_variant.js.map +1 -0
  353. package/dist/types/validation.d.ts +192 -0
  354. package/dist/types/validation.d.ts.map +1 -0
  355. package/dist/types/validation.js +9 -0
  356. package/dist/types/validation.js.map +1 -0
  357. package/dist/utils/build_rule_field_map.d.ts +31 -0
  358. package/dist/utils/build_rule_field_map.d.ts.map +1 -0
  359. package/dist/utils/build_rule_field_map.js +53 -0
  360. package/dist/utils/build_rule_field_map.js.map +1 -0
  361. package/dist/utils/data_form_uploads.d.ts +25 -0
  362. package/dist/utils/data_form_uploads.d.ts.map +1 -0
  363. package/dist/utils/data_form_uploads.js +36 -0
  364. package/dist/utils/data_form_uploads.js.map +1 -0
  365. package/dist/utils/financial_format.d.ts +12 -0
  366. package/dist/utils/financial_format.d.ts.map +1 -0
  367. package/dist/utils/financial_format.js +19 -0
  368. package/dist/utils/financial_format.js.map +1 -0
  369. package/dist/utils/formula.d.ts +13 -0
  370. package/dist/utils/formula.d.ts.map +1 -0
  371. package/dist/utils/formula.js +104 -0
  372. package/dist/utils/formula.js.map +1 -0
  373. package/dist/utils/index.d.ts +11 -0
  374. package/dist/utils/index.d.ts.map +1 -1
  375. package/dist/utils/index.js +16 -0
  376. package/dist/utils/index.js.map +1 -1
  377. package/dist/utils/mask_format.d.ts +20 -0
  378. package/dist/utils/mask_format.d.ts.map +1 -0
  379. package/dist/utils/mask_format.js +41 -0
  380. package/dist/utils/mask_format.js.map +1 -0
  381. package/dist/utils/slugify.d.ts +10 -0
  382. package/dist/utils/slugify.d.ts.map +1 -0
  383. package/dist/utils/slugify.js +17 -0
  384. package/dist/utils/slugify.js.map +1 -0
  385. package/dist/utils/style_resolver.d.ts +36 -0
  386. package/dist/utils/style_resolver.d.ts.map +1 -0
  387. package/dist/utils/style_resolver.js +160 -0
  388. package/dist/utils/style_resolver.js.map +1 -0
  389. package/dist/utils/use_computed_fields.d.ts +14 -0
  390. package/dist/utils/use_computed_fields.d.ts.map +1 -0
  391. package/dist/utils/use_computed_fields.js +24 -0
  392. package/dist/utils/use_computed_fields.js.map +1 -0
  393. package/package.json +15 -3
  394. package/templates/config/hazo_collab_forms_config.ini +7 -0
@@ -0,0 +1,15 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { cn } from '../../../utils/cn.js';
3
+ import { DataFormFieldLayout } from '../shared/data_form_field_layout.js';
4
+ export function OptionField(props) {
5
+ const { field, mode, value, config, on_change, on_blur } = props;
6
+ const string_value = value != null ? String(value) : '';
7
+ const options = field.input_options || [];
8
+ const field_style = config.style_resolver.has_style(mode === 'view' ? 'field_view' : 'field')
9
+ ? config.style_resolver.to_style(mode === 'view' ? 'field_view' : 'field')
10
+ : undefined;
11
+ // Find display label for view mode
12
+ const display_label = options.find(o => o.value === string_value)?.label || string_value;
13
+ return (_jsx(DataFormFieldLayout, { ...props, children: mode === 'edit' ? (_jsxs("select", { className: cn('cls_data_form_option_input', 'w-full'), style: field_style, value: string_value, disabled: field.disabled, onChange: (e) => on_change(e.target.value), onBlur: on_blur, children: [_jsx("option", { value: "", children: field.placeholder || 'Select...' }), options.map((opt) => (_jsx("option", { value: opt.value, children: opt.label }, opt.value)))] })) : (_jsx("div", { className: "cls_data_form_option_view", style: field_style, children: display_label || '\u00A0' })) }));
14
+ }
15
+ //# sourceMappingURL=option_field.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"option_field.js","sourceRoot":"","sources":["../../../../src/components/hazo_data_form/field_renderers/option_field.tsx"],"names":[],"mappings":";AAKA,OAAO,EAAE,EAAE,EAAE,MAAM,sBAAsB,CAAC;AAE1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAE1E,MAAM,UAAU,WAAW,CAAC,KAAiC;IAC3D,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IACjE,MAAM,YAAY,GAAG,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACxD,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,IAAI,EAAE,CAAC;IAE1C,MAAM,WAAW,GAAG,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC;QAC3F,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC;QAC1E,CAAC,CAAC,SAAS,CAAC;IAEd,mCAAmC;IACnC,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,YAAY,CAAC,EAAE,KAAK,IAAI,YAAY,CAAC;IAEzF,OAAO,CACL,KAAC,mBAAmB,OAAK,KAAK,YAC3B,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CACjB,kBACE,SAAS,EAAE,EAAE,CAAC,4BAA4B,EAAE,QAAQ,CAAC,EACrD,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAC1C,MAAM,EAAE,OAAO,aAEf,iBAAQ,KAAK,EAAC,EAAE,YAAE,KAAK,CAAC,WAAW,IAAI,WAAW,GAAU,EAC3D,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CACpB,iBAAwB,KAAK,EAAE,GAAG,CAAC,KAAK,YACrC,GAAG,CAAC,KAAK,IADC,GAAG,CAAC,KAAK,CAEb,CACV,CAAC,IACK,CACV,CAAC,CAAC,CAAC,CACF,cACE,SAAS,EAAC,2BAA2B,EACrC,KAAK,EAAE,WAAW,YAEjB,aAAa,IAAI,QAAQ,GACtB,CACP,GACmB,CACvB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Percentage field renderer for data form
3
+ * Displays with percentage suffix and formatted value in view mode
4
+ */
5
+ import type { DataFormFieldRendererProps } from '../types.js';
6
+ export declare function PercentageField(props: DataFormFieldRendererProps): import("react/jsx-runtime").JSX.Element;
7
+ //# sourceMappingURL=percentage_field.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"percentage_field.d.ts","sourceRoot":"","sources":["../../../../src/components/hazo_data_form/field_renderers/percentage_field.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAG9D,wBAAgB,eAAe,CAAC,KAAK,EAAE,0BAA0B,2CAkDhE"}
@@ -0,0 +1,22 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { cn } from '../../../utils/cn.js';
3
+ import { format_percentage } from '../../../utils/financial_format.js';
4
+ import { DataFormFieldLayout } from '../shared/data_form_field_layout.js';
5
+ export function PercentageField(props) {
6
+ const { field, mode, value, config, on_change, on_blur } = props;
7
+ const suffix = config.percentage_suffix;
8
+ const decimals = field.decimal_places ?? config.default_decimal_places;
9
+ const num_value = value != null && value !== '' ? Number(value) : null;
10
+ const string_value = num_value != null ? String(num_value) : '';
11
+ const field_style = config.style_resolver.has_style(mode === 'view' ? 'field_view' : 'field')
12
+ ? config.style_resolver.to_style(mode === 'view' ? 'field_view' : 'field')
13
+ : undefined;
14
+ const display_value = num_value != null
15
+ ? format_percentage(num_value, decimals, suffix)
16
+ : '';
17
+ return (_jsx(DataFormFieldLayout, { ...props, children: mode === 'edit' ? (_jsxs("div", { className: "cls_data_form_percentage_input relative flex items-center", children: [_jsx("input", { type: "number", className: cn('cls_data_form_percentage_number', 'w-full text-right pr-6'), style: field_style, value: string_value, placeholder: field.placeholder || '0.00', disabled: field.disabled, step: Math.pow(10, -decimals), min: field.min, max: field.max, onChange: (e) => {
18
+ const parsed = e.target.value === '' ? '' : parseFloat(e.target.value);
19
+ on_change(parsed === '' ? '' : isNaN(parsed) ? '' : parsed);
20
+ }, onBlur: on_blur }), _jsx("span", { className: "absolute right-2 text-gray-500 text-sm pointer-events-none select-none", children: suffix })] })) : (_jsx("div", { className: "cls_data_form_percentage_view text-right", style: field_style, children: display_value || '\u00A0' })) }));
21
+ }
22
+ //# sourceMappingURL=percentage_field.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"percentage_field.js","sourceRoot":"","sources":["../../../../src/components/hazo_data_form/field_renderers/percentage_field.tsx"],"names":[],"mappings":";AAMA,OAAO,EAAE,EAAE,EAAE,MAAM,sBAAsB,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAEvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAE1E,MAAM,UAAU,eAAe,CAAC,KAAiC;IAC/D,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAEjE,MAAM,MAAM,GAAG,MAAM,CAAC,iBAAiB,CAAC;IACxC,MAAM,QAAQ,GAAG,KAAK,CAAC,cAAc,IAAI,MAAM,CAAC,sBAAsB,CAAC;IACvE,MAAM,SAAS,GAAG,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACvE,MAAM,YAAY,GAAG,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAEhE,MAAM,WAAW,GAAG,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC;QAC3F,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC;QAC1E,CAAC,CAAC,SAAS,CAAC;IAEd,MAAM,aAAa,GAAG,SAAS,IAAI,IAAI;QACrC,CAAC,CAAC,iBAAiB,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC;QAChD,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO,CACL,KAAC,mBAAmB,OAAK,KAAK,YAC3B,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CACjB,eAAK,SAAS,EAAC,2DAA2D,aACxE,gBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,EAAE,CAAC,iCAAiC,EAAE,wBAAwB,CAAC,EAC1E,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,YAAY,EACnB,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,MAAM,EACxC,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,EAC7B,GAAG,EAAE,KAAK,CAAC,GAAG,EACd,GAAG,EAAE,KAAK,CAAC,GAAG,EACd,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;wBACd,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;wBACvE,SAAS,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;oBACxE,CAAC,EACD,MAAM,EAAE,OAAO,GACf,EACF,eAAM,SAAS,EAAC,wEAAwE,YACrF,MAAM,GACF,IACH,CACP,CAAC,CAAC,CAAC,CACF,cACE,SAAS,EAAC,0CAA0C,EACpD,KAAK,EAAE,WAAW,YAEjB,aAAa,IAAI,QAAQ,GACtB,CACP,GACmB,CACvB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Static text field renderer for data form
3
+ * Display-only content, not editable — spans full width (no label/value column split)
4
+ */
5
+ import type { DataFormFieldRendererProps } from '../types.js';
6
+ export declare function StaticTextField(props: DataFormFieldRendererProps): import("react/jsx-runtime").JSX.Element;
7
+ //# sourceMappingURL=static_text_field.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"static_text_field.d.ts","sourceRoot":"","sources":["../../../../src/components/hazo_data_form/field_renderers/static_text_field.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAE9D,wBAAgB,eAAe,CAAC,KAAK,EAAE,0BAA0B,2CAehE"}
@@ -0,0 +1,11 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { cn } from '../../../utils/cn.js';
3
+ export function StaticTextField(props) {
4
+ const { field, config } = props;
5
+ const content = field.static_content || field.label || '';
6
+ const style = field.style_variant && config.style_resolver.has_style(field.style_variant)
7
+ ? config.style_resolver.to_style(field.style_variant)
8
+ : undefined;
9
+ return (_jsx("div", { className: cn('cls_data_form_static_text', 'py-1'), children: _jsx("span", { className: "text-sm font-medium text-gray-700", style: style, children: content }) }));
10
+ }
11
+ //# sourceMappingURL=static_text_field.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"static_text_field.js","sourceRoot":"","sources":["../../../../src/components/hazo_data_form/field_renderers/static_text_field.tsx"],"names":[],"mappings":";AAMA,OAAO,EAAE,EAAE,EAAE,MAAM,sBAAsB,CAAC;AAG1C,MAAM,UAAU,eAAe,CAAC,KAAiC;IAC/D,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAEhC,MAAM,OAAO,GAAG,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;IAC1D,MAAM,KAAK,GAAG,KAAK,CAAC,aAAa,IAAI,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC;QACvF,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC;QACrD,CAAC,CAAC,SAAS,CAAC;IAEd,OAAO,CACL,cAAK,SAAS,EAAE,EAAE,CAAC,2BAA2B,EAAE,MAAM,CAAC,YACrD,eAAM,SAAS,EAAC,mCAAmC,EAAC,KAAK,EAAE,KAAK,YAC7D,OAAO,GACH,GACH,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Summary row field renderer for data form
3
+ * Full-width styled row with style_variant, does NOT use DataFormFieldLayout
4
+ */
5
+ import type { DataFormFieldRendererProps } from '../types.js';
6
+ export declare function SummaryRowField(props: DataFormFieldRendererProps): import("react/jsx-runtime").JSX.Element;
7
+ //# sourceMappingURL=summary_row_field.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"summary_row_field.d.ts","sourceRoot":"","sources":["../../../../src/components/hazo_data_form/field_renderers/summary_row_field.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAE9D,wBAAgB,eAAe,CAAC,KAAK,EAAE,0BAA0B,2CAqDhE"}
@@ -0,0 +1,20 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { cn } from '../../../utils/cn.js';
3
+ import { format_currency } from '../../../utils/financial_format.js';
4
+ export function SummaryRowField(props) {
5
+ const { field, value, config, value_column_width, badge_column_width, reserve_file_column } = props;
6
+ const num_value = value != null && value !== '' ? Number(value) : null;
7
+ const symbol = field.currency_symbol || config.default_currency_symbol;
8
+ const decimals = field.decimal_places ?? config.default_decimal_places;
9
+ const variant_style = field.style_variant && config.style_resolver.has_style(field.style_variant)
10
+ ? config.style_resolver.to_style(field.style_variant)
11
+ : {};
12
+ const display_value = num_value != null && !isNaN(num_value)
13
+ ? format_currency(num_value, symbol, decimals)
14
+ : '';
15
+ return (_jsxs("div", { className: cn('cls_data_form_summary_row', 'flex items-center gap-2 py-1.5 px-2'), style: {
16
+ ...variant_style,
17
+ borderStyle: variant_style.borderWidth ? 'solid' : undefined,
18
+ }, children: [_jsxs("div", { className: "flex-1 min-w-0", children: [_jsx("span", { className: "font-semibold", children: field.label || field.id }), field.summary_note && (_jsx("span", { className: "ml-2 text-xs text-gray-500", children: field.summary_note }))] }), badge_column_width && (_jsx("div", { style: { width: badge_column_width }, className: "shrink-0" })), _jsx("div", { className: "shrink-0 text-right font-semibold", style: { width: value_column_width || '200px' }, children: display_value || '\u00A0' }), reserve_file_column && (_jsx("div", { className: "shrink-0 ml-1", style: { width: 26 } }))] }));
19
+ }
20
+ //# sourceMappingURL=summary_row_field.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"summary_row_field.js","sourceRoot":"","sources":["../../../../src/components/hazo_data_form/field_renderers/summary_row_field.tsx"],"names":[],"mappings":";AAMA,OAAO,EAAE,EAAE,EAAE,MAAM,sBAAsB,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAGrE,MAAM,UAAU,eAAe,CAAC,KAAiC;IAC/D,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,GAAG,KAAK,CAAC;IAEpG,MAAM,SAAS,GAAG,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACvE,MAAM,MAAM,GAAG,KAAK,CAAC,eAAe,IAAI,MAAM,CAAC,uBAAuB,CAAC;IACvE,MAAM,QAAQ,GAAG,KAAK,CAAC,cAAc,IAAI,MAAM,CAAC,sBAAsB,CAAC;IAEvE,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,IAAI,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC;QAC/F,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC;QACrD,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,aAAa,GAAG,SAAS,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QAC1D,CAAC,CAAC,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC;QAC9C,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO,CACL,eACE,SAAS,EAAE,EAAE,CACX,2BAA2B,EAC3B,qCAAqC,CACtC,EACD,KAAK,EAAE;YACL,GAAG,aAAa;YAChB,WAAW,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;SAC7D,aAGD,eAAK,SAAS,EAAC,gBAAgB,aAC7B,eAAM,SAAS,EAAC,eAAe,YAAE,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,EAAE,GAAQ,EAC/D,KAAK,CAAC,YAAY,IAAI,CACrB,eAAM,SAAS,EAAC,4BAA4B,YAAE,KAAK,CAAC,YAAY,GAAQ,CACzE,IACG,EAGL,kBAAkB,IAAI,CACrB,cAAK,KAAK,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,EAAE,SAAS,EAAC,UAAU,GAAG,CACnE,EAGD,cACE,SAAS,EAAC,mCAAmC,EAC7C,KAAK,EAAE,EAAE,KAAK,EAAE,kBAAkB,IAAI,OAAO,EAAE,YAE9C,aAAa,IAAI,QAAQ,GACtB,EAGL,mBAAmB,IAAI,CACtB,cAAK,SAAS,EAAC,eAAe,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,GAAI,CACxD,IACG,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Table field renderer for data form
3
+ * Dynamic rows with per-column types, subtotals, and per-row doc links
4
+ */
5
+ import type { DataFormFieldRendererProps } from '../types.js';
6
+ export declare function TableField(props: DataFormFieldRendererProps): import("react/jsx-runtime").JSX.Element;
7
+ //# sourceMappingURL=table_field.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table_field.d.ts","sourceRoot":"","sources":["../../../../src/components/hazo_data_form/field_renderers/table_field.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,KAAK,EAAE,0BAA0B,EAAgB,MAAM,aAAa,CAAC;AAO5E,wBAAgB,UAAU,CAAC,KAAK,EAAE,0BAA0B,2CAsa3D"}
@@ -0,0 +1,179 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /**
3
+ * Table field renderer for data form
4
+ * Dynamic rows with per-column types, subtotals, and per-row doc links
5
+ */
6
+ import { useCallback, useMemo } from 'react';
7
+ import { LuTrash2 } from 'react-icons/lu';
8
+ import { cn } from '../../../utils/cn.js';
9
+ import { format_currency } from '../../../utils/financial_format.js';
10
+ import { DataFormFileColumn } from '../shared/data_form_file_column.js';
11
+ import { get_field_uploads } from '../../../utils/data_form_uploads.js';
12
+ export function TableField(props) {
13
+ const { field, mode, value, config, on_change, on_doc_link_click, field_uploads, on_upload_click, upload_enabled, reserve_file_column, form_data, on_field_change } = props;
14
+ const columns = field.table_columns || [];
15
+ const rows = useMemo(() => {
16
+ if (Array.isArray(value))
17
+ return value;
18
+ return [];
19
+ }, [value]);
20
+ const min_rows = field.table_min_rows ?? 1;
21
+ const max_rows = field.table_max_rows ?? 50;
22
+ // --- Resolve table styles from config ---
23
+ const sr = config.style_resolver;
24
+ const header_style = useMemo(() => sr.has_style('table_header') ? sr.to_style('table_header') : { backgroundColor: '#1e293b', color: '#ffffff', fontSize: '12px', fontWeight: '600' }, [sr]);
25
+ const cell_style = useMemo(() => sr.has_style('table_cell') ? sr.to_style('table_cell') : { borderColor: '#e2e8f0', borderWidth: '1px', borderRadius: '4px' }, [sr]);
26
+ const subtotal_style = useMemo(() => sr.has_style('table_subtotal') ? sr.to_style('table_subtotal') : { backgroundColor: '#f8fafc', fontWeight: '600', borderColor: '#d1d5db' }, [sr]);
27
+ const add_row_style = useMemo(() => sr.has_style('table_add_row') ? sr.to_style('table_add_row') : { color: '#3b82f6', fontSize: '13px' }, [sr]);
28
+ // Ensure minimum rows
29
+ const effective_rows = useMemo(() => {
30
+ if (rows.length >= min_rows)
31
+ return rows;
32
+ const padded = [...rows];
33
+ while (padded.length < min_rows) {
34
+ const empty_row = {};
35
+ for (const col of columns) {
36
+ empty_row[col.id] = col.default_value ?? '';
37
+ }
38
+ padded.push(empty_row);
39
+ }
40
+ return padded;
41
+ }, [rows, min_rows, columns]);
42
+ // Compute subtotals
43
+ const subtotals = useMemo(() => {
44
+ const result = {};
45
+ for (const col of columns) {
46
+ if (!col.subtotal)
47
+ continue;
48
+ let sum = 0;
49
+ for (const row of effective_rows) {
50
+ const val = row[col.id];
51
+ const num = typeof val === 'number' ? val : parseFloat(String(val));
52
+ if (!isNaN(num))
53
+ sum += num;
54
+ }
55
+ result[col.id] = sum;
56
+ }
57
+ return result;
58
+ }, [columns, effective_rows]);
59
+ const has_subtotals = Object.keys(subtotals).length > 0;
60
+ const handle_cell_change = useCallback((row_index, col_id, cell_value) => {
61
+ const updated = [...effective_rows];
62
+ updated[row_index] = { ...updated[row_index], [col_id]: cell_value };
63
+ on_change(updated);
64
+ }, [effective_rows, on_change]);
65
+ const handle_add_row = useCallback(() => {
66
+ if (effective_rows.length >= max_rows)
67
+ return;
68
+ const new_row = {};
69
+ for (const col of columns) {
70
+ new_row[col.id] = col.default_value ?? '';
71
+ }
72
+ on_change([...effective_rows, new_row]);
73
+ }, [effective_rows, max_rows, columns, on_change]);
74
+ const handle_remove_row = useCallback((row_index) => {
75
+ if (effective_rows.length <= min_rows)
76
+ return;
77
+ const updated = effective_rows.filter((_, i) => i !== row_index);
78
+ on_change(updated);
79
+ }, [effective_rows, min_rows, on_change]);
80
+ // --- Cell input style (border from config) ---
81
+ const cell_input_style = {
82
+ borderColor: cell_style.borderColor || '#e2e8f0',
83
+ borderWidth: cell_style.borderWidth || '1px',
84
+ borderStyle: 'solid',
85
+ borderRadius: cell_style.borderRadius || '4px',
86
+ };
87
+ const render_cell = (col, cell_value, row_index) => {
88
+ if (mode === 'view') {
89
+ return render_cell_display(col, cell_value);
90
+ }
91
+ const col_type = col.field_type || 'text';
92
+ switch (col_type) {
93
+ case 'number':
94
+ case 'currency':
95
+ return (_jsx("input", { type: "number", className: "cls_data_form_table_cell_input w-full text-right text-sm px-1.5 py-1", style: cell_input_style, value: cell_value != null && cell_value !== '' ? String(cell_value) : '', step: col.decimal_places != null ? Math.pow(10, -col.decimal_places) : undefined, onChange: (e) => {
96
+ const parsed = e.target.value === '' ? '' : parseFloat(e.target.value);
97
+ handle_cell_change(row_index, col.id, parsed === '' ? '' : isNaN(parsed) ? '' : parsed);
98
+ } }));
99
+ case 'option':
100
+ return (_jsxs("select", { className: "cls_data_form_table_cell_select w-full text-sm px-1.5 py-1", style: cell_input_style, value: cell_value != null ? String(cell_value) : '', onChange: (e) => handle_cell_change(row_index, col.id, e.target.value), children: [_jsx("option", { value: "", children: "Select..." }), (col.options || []).map(opt => (_jsx("option", { value: opt.value, children: opt.label }, opt.value)))] }));
101
+ case 'boolean':
102
+ return (_jsx("input", { type: "checkbox", className: "cls_data_form_table_cell_checkbox w-4 h-4 mx-auto block", checked: Boolean(cell_value), onChange: (e) => handle_cell_change(row_index, col.id, e.target.checked) }));
103
+ case 'date':
104
+ return (_jsx("input", { type: "date", className: "cls_data_form_table_cell_date w-full text-sm px-1.5 py-1", style: cell_input_style, value: cell_value != null ? String(cell_value) : '', onChange: (e) => handle_cell_change(row_index, col.id, e.target.value) }));
105
+ default:
106
+ return (_jsx("input", { type: "text", className: "cls_data_form_table_cell_text w-full text-sm px-1.5 py-1", style: cell_input_style, value: cell_value != null ? String(cell_value) : '', onChange: (e) => handle_cell_change(row_index, col.id, e.target.value) }));
107
+ }
108
+ };
109
+ const render_cell_display = (col, cell_value) => {
110
+ if (cell_value == null || cell_value === '')
111
+ return _jsx("span", { className: "text-gray-300", children: "\u2014" });
112
+ const col_type = col.field_type || 'text';
113
+ const str_val = String(cell_value);
114
+ switch (col_type) {
115
+ case 'currency': {
116
+ const num = typeof cell_value === 'number' ? cell_value : parseFloat(str_val);
117
+ if (isNaN(num))
118
+ return str_val;
119
+ const sym = col.currency_symbol || config.default_currency_symbol;
120
+ const dec = col.decimal_places ?? config.default_decimal_places;
121
+ return _jsx("span", { className: "text-right block", children: format_currency(num, sym, dec) });
122
+ }
123
+ case 'number': {
124
+ const num = typeof cell_value === 'number' ? cell_value : parseFloat(str_val);
125
+ if (isNaN(num))
126
+ return str_val;
127
+ const dec = col.decimal_places ?? 0;
128
+ return _jsx("span", { className: "text-right block", children: num.toFixed(dec) });
129
+ }
130
+ case 'boolean':
131
+ return _jsx("span", { children: Boolean(cell_value) ? 'Yes' : 'No' });
132
+ case 'option': {
133
+ const opt = col.options?.find(o => o.value === str_val);
134
+ return _jsx("span", { children: opt?.label || str_val });
135
+ }
136
+ default:
137
+ return _jsx("span", { children: str_val });
138
+ }
139
+ };
140
+ const variant_style = field.style_variant && config.style_resolver.has_style(field.style_variant)
141
+ ? config.style_resolver.to_style(field.style_variant)
142
+ : undefined;
143
+ const has_files = Boolean((field.doc_links && field.doc_links.length > 0) ||
144
+ (field_uploads && field_uploads.length > 0) ||
145
+ upload_enabled);
146
+ // Row-level uploads: stored at `${field.id}__row_${row_index}__uploads` in form_data
147
+ const get_row_uploads = (row_index) => {
148
+ if (!form_data)
149
+ return [];
150
+ return get_field_uploads(form_data, `${field.id}__row_${row_index}`);
151
+ };
152
+ const handle_row_upload_click = (row_index) => {
153
+ if (on_upload_click) {
154
+ on_upload_click();
155
+ }
156
+ };
157
+ // Check if ANY row has uploads (to decide whether to show file column in table)
158
+ const any_row_has_uploads = form_data
159
+ ? effective_rows.some((_, i) => get_row_uploads(i).length > 0)
160
+ : false;
161
+ const show_row_file_col = upload_enabled || any_row_has_uploads;
162
+ const can_add_row = mode === 'edit' && effective_rows.length < max_rows;
163
+ const show_title_bar = Boolean(field.table_title);
164
+ const show_file_area = has_files || reserve_file_column;
165
+ // Border color from cell style (used on table structure)
166
+ const border_color = cell_style.borderColor || '#e2e8f0';
167
+ return (_jsxs("div", { className: cn('cls_data_form_table_field', 'flex flex-col gap-1 py-1'), children: [_jsxs("div", { className: "flex items-start gap-2", children: [_jsxs("div", { className: "cls_data_form_table_card flex-1 min-w-0 rounded-md overflow-hidden", style: { border: `1px solid ${border_color}` }, children: [show_title_bar && (_jsx("div", { className: "flex items-center gap-2 px-2 py-1.5", style: { borderBottom: `1px solid ${border_color}`, backgroundColor: subtotal_style.backgroundColor || '#f8fafc' }, children: field.table_title && (_jsx("div", { className: "cls_data_form_table_title text-sm font-semibold", style: variant_style, children: field.table_title })) })), _jsx("div", { className: "overflow-x-auto", children: _jsxs("table", { className: "cls_data_form_table w-full border-collapse text-sm", children: [_jsx("thead", { children: _jsxs("tr", { style: header_style, children: [columns.map((col) => (_jsxs("th", { className: cn('cls_data_form_table_th', 'text-left', (col.field_type === 'number' || col.field_type === 'currency') && 'text-right'), style: {
168
+ padding: `${header_style.paddingTop || '6px'} ${header_style.paddingRight || '8px'} ${header_style.paddingBottom || '6px'} ${header_style.paddingLeft || '8px'}`,
169
+ fontWeight: header_style.fontWeight || '600',
170
+ fontSize: header_style.fontSize || '12px',
171
+ ...(col.width ? { width: col.width } : {}),
172
+ }, children: [col.label, col.required && _jsx("span", { className: "text-red-400 ml-0.5", children: "*" })] }, col.id))), mode === 'edit' && (_jsx("th", { className: "cls_data_form_table_th_actions w-8" })), show_row_file_col && (_jsx("th", { className: "cls_data_form_table_th_files w-8" }))] }) }), _jsx("tbody", { children: effective_rows.map((row, row_index) => (_jsxs("tr", { className: cn('cls_data_form_table_row', 'hover:bg-gray-50/50'), style: { borderBottom: `1px solid ${border_color}` }, children: [columns.map((col) => (_jsx("td", { className: cn('cls_data_form_table_td', 'px-2 py-1', (col.field_type === 'number' || col.field_type === 'currency') && 'text-right'), style: { borderRight: `1px solid ${border_color}` }, children: render_cell(col, row[col.id], row_index) }, col.id))), mode === 'edit' && (_jsx("td", { className: "cls_data_form_table_td_actions px-1 py-1 text-center", children: effective_rows.length > min_rows && (_jsx("button", { type: "button", className: "text-gray-400 hover:text-red-500 transition-colors", onClick: () => handle_remove_row(row_index), title: "Remove row", children: _jsx(LuTrash2, { className: "w-3.5 h-3.5" }) })) })), show_row_file_col && (_jsx("td", { className: "cls_data_form_table_td_files px-0.5 py-1", children: _jsx(DataFormFileColumn, { field_uploads: get_row_uploads(row_index), on_upload_click: () => handle_row_upload_click(row_index), upload_enabled: upload_enabled, mode: mode, config: config }) }))] }, row_index))) }), has_subtotals && (_jsx("tfoot", { children: _jsxs("tr", { className: "cls_data_form_table_subtotal", style: {
173
+ ...subtotal_style,
174
+ borderTop: `2px solid ${subtotal_style.borderColor || '#d1d5db'}`,
175
+ }, children: [columns.map((col, col_index) => (_jsx("td", { className: cn('px-2 py-1.5', (col.field_type === 'number' || col.field_type === 'currency') && 'text-right'), children: col.subtotal && subtotals[col.id] !== undefined ? (col.field_type === 'currency'
176
+ ? format_currency(subtotals[col.id], col.currency_symbol || config.default_currency_symbol, col.decimal_places ?? config.default_decimal_places)
177
+ : subtotals[col.id].toFixed(col.decimal_places ?? 0)) : col_index === 0 ? (_jsx("span", { style: { opacity: 0.6 }, children: "Total" })) : null }, col.id))), mode === 'edit' && _jsx("td", {}), show_row_file_col && _jsx("td", {})] }) }))] }) })] }), show_file_area && (has_files ? (_jsx("div", { className: "shrink-0 pt-1", children: _jsx(DataFormFileColumn, { doc_links: field.doc_links, field_uploads: field_uploads, on_doc_link_click: on_doc_link_click, on_upload_click: on_upload_click, upload_enabled: upload_enabled, mode: mode, config: config }) })) : (_jsx("div", { className: "shrink-0 ml-1", style: { width: 26 } })))] }), can_add_row && (_jsx("button", { type: "button", className: "cls_data_form_table_add_row self-start px-2 py-0.5 rounded transition-colors hover:opacity-80", style: add_row_style, onClick: handle_add_row, children: "+ Add row" }))] }));
178
+ }
179
+ //# sourceMappingURL=table_field.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table_field.js","sourceRoot":"","sources":["../../../../src/components/hazo_data_form/field_renderers/table_field.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Telephone field renderer for data form
3
+ */
4
+ import type { DataFormFieldRendererProps } from '../types.js';
5
+ export declare function TelField(props: DataFormFieldRendererProps): import("react/jsx-runtime").JSX.Element;
6
+ //# sourceMappingURL=tel_field.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tel_field.d.ts","sourceRoot":"","sources":["../../../../src/components/hazo_data_form/field_renderers/tel_field.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAG9D,wBAAgB,QAAQ,CAAC,KAAK,EAAE,0BAA0B,2CA+BzD"}
@@ -0,0 +1,12 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { cn } from '../../../utils/cn.js';
3
+ import { DataFormFieldLayout } from '../shared/data_form_field_layout.js';
4
+ export function TelField(props) {
5
+ const { field, mode, value, config, on_change, on_blur } = props;
6
+ const string_value = value != null ? String(value) : '';
7
+ const field_style = config.style_resolver.has_style(mode === 'view' ? 'field_view' : 'field')
8
+ ? config.style_resolver.to_style(mode === 'view' ? 'field_view' : 'field')
9
+ : undefined;
10
+ return (_jsx(DataFormFieldLayout, { ...props, children: mode === 'edit' ? (_jsx("input", { type: "tel", className: cn('cls_data_form_tel_input', 'w-full'), style: field_style, value: string_value, placeholder: field.placeholder, disabled: field.disabled, onChange: (e) => on_change(e.target.value), onBlur: on_blur })) : (_jsx("div", { className: "cls_data_form_tel_view", style: field_style, children: string_value || '\u00A0' })) }));
11
+ }
12
+ //# sourceMappingURL=tel_field.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tel_field.js","sourceRoot":"","sources":["../../../../src/components/hazo_data_form/field_renderers/tel_field.tsx"],"names":[],"mappings":";AAKA,OAAO,EAAE,EAAE,EAAE,MAAM,sBAAsB,CAAC;AAE1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAE1E,MAAM,UAAU,QAAQ,CAAC,KAAiC;IACxD,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IACjE,MAAM,YAAY,GAAG,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAExD,MAAM,WAAW,GAAG,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC;QAC3F,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC;QAC1E,CAAC,CAAC,SAAS,CAAC;IAEd,OAAO,CACL,KAAC,mBAAmB,OAAK,KAAK,YAC3B,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CACjB,gBACE,IAAI,EAAC,KAAK,EACV,SAAS,EAAE,EAAE,CAAC,yBAAyB,EAAE,QAAQ,CAAC,EAClD,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,YAAY,EACnB,WAAW,EAAE,KAAK,CAAC,WAAW,EAC9B,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAC1C,MAAM,EAAE,OAAO,GACf,CACH,CAAC,CAAC,CAAC,CACF,cACE,SAAS,EAAC,wBAAwB,EAClC,KAAK,EAAE,WAAW,YAEjB,YAAY,IAAI,QAAQ,GACrB,CACP,GACmB,CACvB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Text field renderer for data form
3
+ */
4
+ import type { DataFormFieldRendererProps } from '../types.js';
5
+ export declare function TextField(props: DataFormFieldRendererProps): import("react/jsx-runtime").JSX.Element;
6
+ //# sourceMappingURL=text_field.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text_field.d.ts","sourceRoot":"","sources":["../../../../src/components/hazo_data_form/field_renderers/text_field.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAG9D,wBAAgB,SAAS,CAAC,KAAK,EAAE,0BAA0B,2CAgC1D"}
@@ -0,0 +1,12 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { cn } from '../../../utils/cn.js';
3
+ import { DataFormFieldLayout } from '../shared/data_form_field_layout.js';
4
+ export function TextField(props) {
5
+ const { field, mode, value, config, on_change, on_blur } = props;
6
+ const string_value = value != null ? String(value) : '';
7
+ const field_style = config.style_resolver.has_style(mode === 'view' ? 'field_view' : 'field')
8
+ ? config.style_resolver.to_style(mode === 'view' ? 'field_view' : 'field')
9
+ : undefined;
10
+ return (_jsx(DataFormFieldLayout, { ...props, children: mode === 'edit' ? (_jsx("input", { type: "text", className: cn('cls_data_form_text_input', 'w-full'), style: field_style, value: string_value, placeholder: field.placeholder, disabled: field.disabled, maxLength: field.max_length, onChange: (e) => on_change(e.target.value), onBlur: on_blur })) : (_jsx("div", { className: "cls_data_form_text_view", style: field_style, children: string_value || '\u00A0' })) }));
11
+ }
12
+ //# sourceMappingURL=text_field.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text_field.js","sourceRoot":"","sources":["../../../../src/components/hazo_data_form/field_renderers/text_field.tsx"],"names":[],"mappings":";AAKA,OAAO,EAAE,EAAE,EAAE,MAAM,sBAAsB,CAAC;AAE1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAE1E,MAAM,UAAU,SAAS,CAAC,KAAiC;IACzD,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IACjE,MAAM,YAAY,GAAG,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAExD,MAAM,WAAW,GAAG,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC;QAC3F,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC;QAC1E,CAAC,CAAC,SAAS,CAAC;IAEd,OAAO,CACL,KAAC,mBAAmB,OAAK,KAAK,YAC3B,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CACjB,gBACE,IAAI,EAAC,MAAM,EACX,SAAS,EAAE,EAAE,CAAC,0BAA0B,EAAE,QAAQ,CAAC,EACnD,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,YAAY,EACnB,WAAW,EAAE,KAAK,CAAC,WAAW,EAC9B,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,SAAS,EAAE,KAAK,CAAC,UAAU,EAC3B,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAC1C,MAAM,EAAE,OAAO,GACf,CACH,CAAC,CAAC,CAAC,CACF,cACE,SAAS,EAAC,yBAAyB,EACnC,KAAK,EAAE,WAAW,YAEjB,YAAY,IAAI,QAAQ,GACrB,CACP,GACmB,CACvB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Textarea field renderer for data form
3
+ */
4
+ import type { DataFormFieldRendererProps } from '../types.js';
5
+ export declare function TextareaField(props: DataFormFieldRendererProps): import("react/jsx-runtime").JSX.Element;
6
+ //# sourceMappingURL=textarea_field.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"textarea_field.d.ts","sourceRoot":"","sources":["../../../../src/components/hazo_data_form/field_renderers/textarea_field.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAG9D,wBAAgB,aAAa,CAAC,KAAK,EAAE,0BAA0B,2CA+B9D"}
@@ -0,0 +1,12 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { cn } from '../../../utils/cn.js';
3
+ import { DataFormFieldLayout } from '../shared/data_form_field_layout.js';
4
+ export function TextareaField(props) {
5
+ const { field, mode, value, config, on_change, on_blur } = props;
6
+ const string_value = value != null ? String(value) : '';
7
+ const field_style = config.style_resolver.has_style(mode === 'view' ? 'field_view' : 'field')
8
+ ? config.style_resolver.to_style(mode === 'view' ? 'field_view' : 'field')
9
+ : undefined;
10
+ return (_jsx(DataFormFieldLayout, { ...props, force_layout: "stacked", children: mode === 'edit' ? (_jsx("textarea", { className: cn('cls_data_form_textarea_input', 'w-full min-h-[80px] resize-y'), style: field_style, value: string_value, placeholder: field.placeholder, disabled: field.disabled, maxLength: field.max_length, onChange: (e) => on_change(e.target.value), onBlur: on_blur })) : (_jsx("div", { className: "cls_data_form_textarea_view whitespace-pre-wrap", style: field_style, children: string_value || '\u00A0' })) }));
11
+ }
12
+ //# sourceMappingURL=textarea_field.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"textarea_field.js","sourceRoot":"","sources":["../../../../src/components/hazo_data_form/field_renderers/textarea_field.tsx"],"names":[],"mappings":";AAKA,OAAO,EAAE,EAAE,EAAE,MAAM,sBAAsB,CAAC;AAE1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAE1E,MAAM,UAAU,aAAa,CAAC,KAAiC;IAC7D,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IACjE,MAAM,YAAY,GAAG,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAExD,MAAM,WAAW,GAAG,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC;QAC3F,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC;QAC1E,CAAC,CAAC,SAAS,CAAC;IAEd,OAAO,CACL,KAAC,mBAAmB,OAAK,KAAK,EAAE,YAAY,EAAC,SAAS,YACnD,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CACjB,mBACE,SAAS,EAAE,EAAE,CAAC,8BAA8B,EAAE,8BAA8B,CAAC,EAC7E,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,YAAY,EACnB,WAAW,EAAE,KAAK,CAAC,WAAW,EAC9B,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,SAAS,EAAE,KAAK,CAAC,UAAU,EAC3B,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAC1C,MAAM,EAAE,OAAO,GACf,CACH,CAAC,CAAC,CAAC,CACF,cACE,SAAS,EAAC,iDAAiD,EAC3D,KAAK,EAAE,WAAW,YAEjB,YAAY,IAAI,QAAQ,GACrB,CACP,GACmB,CACvB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * File manager button for data form
3
+ * Button with badge showing file count, icon changes based on has_files state
4
+ */
5
+ export interface FileManagerButtonProps {
6
+ file_count: number;
7
+ on_click: () => void;
8
+ disabled?: boolean;
9
+ class_name?: string;
10
+ }
11
+ export declare function FileManagerButton({ file_count, on_click, disabled, class_name, }: FileManagerButtonProps): import("react/jsx-runtime").JSX.Element;
12
+ //# sourceMappingURL=file_manager_button.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file_manager_button.d.ts","sourceRoot":"","sources":["../../../src/components/hazo_data_form/file_manager_button.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,iBAAiB,CAAC,EAChC,UAAU,EACV,QAAQ,EACR,QAAgB,EAChB,UAAU,GACX,EAAE,sBAAsB,2CAwCxB"}
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { cn } from '../../utils/cn.js';
3
+ export function FileManagerButton({ file_count, on_click, disabled = false, class_name, }) {
4
+ const has_files = file_count > 0;
5
+ return (_jsxs("button", { type: "button", className: cn('cls_data_form_file_manager_btn', 'inline-flex items-center gap-1.5 px-3 py-1.5 rounded border text-sm transition-colors', has_files
6
+ ? 'border-green-300 text-green-700 bg-green-50 hover:bg-green-100'
7
+ : 'border-gray-300 text-gray-600 bg-white hover:bg-gray-50', disabled && 'opacity-50 cursor-not-allowed', class_name), onClick: on_click, disabled: disabled, children: [has_files ? (_jsx("svg", { className: "w-4 h-4", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z" }) })) : (_jsx("svg", { className: "w-4 h-4", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M7 16a4 4 0 01-.88-7.903A5 5 0 1115.9 6L16 6a5 5 0 011 9.9M15 13l-3-3m0 0l-3 3m3-3v12" }) })), _jsx("span", { children: "Files" }), has_files && (_jsx("span", { className: cn('inline-flex items-center justify-center min-w-[18px] h-[18px] rounded-full text-[10px] font-bold', 'bg-green-600 text-white'), children: file_count }))] }));
8
+ }
9
+ //# sourceMappingURL=file_manager_button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file_manager_button.js","sourceRoot":"","sources":["../../../src/components/hazo_data_form/file_manager_button.tsx"],"names":[],"mappings":";AAMA,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AASvC,MAAM,UAAU,iBAAiB,CAAC,EAChC,UAAU,EACV,QAAQ,EACR,QAAQ,GAAG,KAAK,EAChB,UAAU,GACa;IACvB,MAAM,SAAS,GAAG,UAAU,GAAG,CAAC,CAAC;IAEjC,OAAO,CACL,kBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,EAAE,CACX,gCAAgC,EAChC,uFAAuF,EACvF,SAAS;YACP,CAAC,CAAC,gEAAgE;YAClE,CAAC,CAAC,yDAAyD,EAC7D,QAAQ,IAAI,+BAA+B,EAC3C,UAAU,CACX,EACD,OAAO,EAAE,QAAQ,EACjB,QAAQ,EAAE,QAAQ,aAEjB,SAAS,CAAC,CAAC,CAAC,CACX,cAAK,SAAS,EAAC,SAAS,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,EAAC,OAAO,EAAC,WAAW,YAC5E,eAAM,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,EAAC,WAAW,EAAE,CAAC,EAAE,CAAC,EAAC,sHAAsH,GAAG,GAC1L,CACP,CAAC,CAAC,CAAC,CACF,cAAK,SAAS,EAAC,SAAS,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,EAAC,OAAO,EAAC,WAAW,YAC5E,eAAM,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,EAAC,WAAW,EAAE,CAAC,EAAE,CAAC,EAAC,uFAAuF,GAAG,GAC3J,CACP,EACD,mCAAkB,EACjB,SAAS,IAAI,CACZ,eACE,SAAS,EAAE,EAAE,CACX,kGAAkG,EAClG,yBAAyB,CAC1B,YAEA,UAAU,GACN,CACR,IACM,CACV,CAAC;AACJ,CAAC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Group renderer for HazoDataForm
3
+ * Renders a group (ViewFieldConfig with fields) with optional sub-section header,
4
+ * badge, item_code, style_variant, orientation, and column alignment
5
+ */
6
+ import type { ViewFieldConfig, DataFormConfig, DocLinkClickEvent, UploadedFile, ReferenceData } from './types.js';
7
+ export interface GroupRendererProps {
8
+ group: ViewFieldConfig;
9
+ mode: 'edit' | 'view';
10
+ form_data: Record<string, unknown>;
11
+ config: DataFormConfig;
12
+ on_field_change: (field_id: string, value: unknown) => void;
13
+ on_doc_link_click?: (event: DocLinkClickEvent) => void;
14
+ file_uploads?: Record<string, UploadedFile[]>;
15
+ on_upload_click?: (field_id: string) => void;
16
+ upload_enabled?: boolean;
17
+ reference_data?: ReferenceData;
18
+ }
19
+ export declare function GroupRenderer({ group, mode, form_data, config, on_field_change, on_doc_link_click, file_uploads, on_upload_click, upload_enabled, reference_data, }: GroupRendererProps): import("react/jsx-runtime").JSX.Element;
20
+ //# sourceMappingURL=group_renderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"group_renderer.d.ts","sourceRoot":"","sources":["../../../src/components/hazo_data_form/group_renderer.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAAE,YAAY,EAAE,aAAa,EAAsB,MAAM,YAAY,CAAC;AAqBtI,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,eAAe,CAAC;IACvB,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,MAAM,EAAE,cAAc,CAAC;IACvB,eAAe,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5D,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACvD,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;IAC9C,eAAe,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,aAAa,CAAC;CAChC;AAED,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,IAAI,EACJ,SAAS,EACT,MAAM,EACN,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,cAAc,EACd,cAAc,GACf,EAAE,kBAAkB,2CAoKpB"}