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,192 @@
1
+ /**
2
+ * Type definitions for Document Validation Rules feature.
3
+ *
4
+ * Validation rules define automated checks that run when documents are uploaded.
5
+ * Each rule contains an LLM prompt that analyzes the document and may produce
6
+ * ClarificationItems when issues are found.
7
+ */
8
+ import type { ClarificationType, ClarificationResponseOption, ClarificationItem } from './clarification.js';
9
+ /** A validation rule definition stored in the database */
10
+ export interface ValidationRule {
11
+ /** Unique rule ID (auto-generated) */
12
+ id: string;
13
+ /** Human-readable rule name */
14
+ name: string;
15
+ /** Optional description of what this rule checks */
16
+ description?: string;
17
+ /** Document type / category this rule applies to (e.g., "payg_summary", "bank_statement") */
18
+ document_type: string;
19
+ /** @deprecated Assign rules via `validation_rules` on fields/groups instead. Kept as fallback. */
20
+ target_field_id?: string;
21
+ /** @deprecated Assign rules via `validation_rules` on fields/groups instead. Kept as fallback. */
22
+ target_label?: string;
23
+ /** LLM prompt with {{variable}} placeholders */
24
+ prompt: string;
25
+ /** Which clarification template to use when an issue is found */
26
+ clarification_type: ClarificationType;
27
+ /** Whether this rule is active */
28
+ enabled: boolean;
29
+ /** Execution priority (lower = earlier, default: 100) */
30
+ priority?: number;
31
+ /** Custom issue description (overrides template default) */
32
+ custom_issue_description?: string;
33
+ /** Custom action description (overrides template default) */
34
+ custom_action_description?: string;
35
+ /** Custom response options (overrides template defaults) */
36
+ custom_response_options?: ClarificationResponseOption[];
37
+ /** Scope filter for multi-tenant setups */
38
+ scope_id?: string | null;
39
+ /** ISO timestamp when created */
40
+ created_at: string;
41
+ /** ISO timestamp of last update */
42
+ changed_at: string;
43
+ }
44
+ /** Database record format for validation rules (element stored as JSON string) */
45
+ export interface ValidationRuleRecord {
46
+ /** Database primary key */
47
+ id: string;
48
+ /** Scope filter */
49
+ scope_id: string | null;
50
+ /** Document type / category */
51
+ document_type: string;
52
+ /** Rule name */
53
+ name: string;
54
+ /** JSON-serialized rule data (everything except id, scope_id, document_type, name, timestamps) */
55
+ rule_data: string;
56
+ /** ISO timestamp when created */
57
+ created_at: string;
58
+ /** ISO timestamp of last update */
59
+ changed_at: string;
60
+ }
61
+ /** A slash command for the prompt editor (e.g., /check_coverage) */
62
+ export interface PromptCommand {
63
+ /** The trigger text (e.g., "/check_coverage") */
64
+ trigger: string;
65
+ /** Display label */
66
+ label: string;
67
+ /** Prompt template that gets inserted */
68
+ template: string;
69
+ /** Optional description shown in autocomplete */
70
+ description?: string;
71
+ }
72
+ /** A variable reference for the prompt editor (e.g., @field_list) */
73
+ export interface PromptVariable {
74
+ /** The trigger text (e.g., "@field_list") */
75
+ trigger: string;
76
+ /** Display label */
77
+ label: string;
78
+ /** Description of what this variable resolves to */
79
+ description?: string;
80
+ }
81
+ /** Configuration for prompt editor commands and variables */
82
+ export interface PromptEditorConfig {
83
+ /** Slash commands available in the prompt editor */
84
+ commands: PromptCommand[];
85
+ /** Variable references available in the prompt editor */
86
+ variables: PromptVariable[];
87
+ }
88
+ /** A rule prepared for execution with resolved variables */
89
+ export interface ValidationRuleExecution {
90
+ /** Original rule ID */
91
+ rule_id: string;
92
+ /** Rule name for error reporting */
93
+ name: string;
94
+ /** Fully substituted prompt (variables resolved) */
95
+ prompt: string;
96
+ /** Target field ID for the resulting clarification */
97
+ target_field_id: string;
98
+ /** Target field label for display */
99
+ target_label: string;
100
+ /** Template to use for resulting clarification */
101
+ clarification_type: ClarificationType;
102
+ /** Custom issue description override */
103
+ custom_issue_description?: string;
104
+ /** Custom action description override */
105
+ custom_action_description?: string;
106
+ /** Custom response options override */
107
+ custom_response_options?: ClarificationResponseOption[];
108
+ }
109
+ /** Request payload for the validation route handler */
110
+ export interface ValidationRequest {
111
+ /** Base64-encoded file content (preferred over download_url) */
112
+ file_b64?: string;
113
+ /** File name for context */
114
+ file_name: string;
115
+ /** MIME type of the file */
116
+ mime_type: string;
117
+ /** URL to download the file (fallback if file_b64 not provided) */
118
+ download_url?: string;
119
+ /** Rules to execute against this document */
120
+ rules: ValidationRuleExecution[];
121
+ /** Additional variables for prompt substitution */
122
+ variables?: Record<string, string>;
123
+ /** Content tag from hazo_files (used for document_type matching and as {{document_type}} variable) */
124
+ content_tag?: string;
125
+ }
126
+ /** Result from a single rule execution */
127
+ export interface ValidationRuleResult {
128
+ /** Rule ID that was executed */
129
+ rule_id: string;
130
+ /** Whether an issue was found */
131
+ has_issue: boolean;
132
+ /** LLM-generated issue description (if issue found) */
133
+ issue_description?: string;
134
+ /** Confidence score (0-1) */
135
+ confidence?: number;
136
+ /** Raw LLM response for debugging */
137
+ raw_response?: string;
138
+ }
139
+ /** Response from the validation route handler */
140
+ export interface ValidationResponse {
141
+ /** Overall success status */
142
+ success: boolean;
143
+ /** Created clarification items for rules that found issues */
144
+ clarifications: ClarificationItem[];
145
+ /** Individual rule results */
146
+ rule_results: ValidationRuleResult[];
147
+ /** Errors encountered during execution */
148
+ errors?: Array<{
149
+ rule_id: string;
150
+ error: string;
151
+ }>;
152
+ }
153
+ /** Options for the validation route handler factory */
154
+ export interface ValidationRouteOptions {
155
+ /** Path to the SQLite database for prompt lookup */
156
+ sqlite_path?: string;
157
+ /** Error callback (defaults to console.error) */
158
+ on_error?: (error: unknown, context: string) => void;
159
+ }
160
+ /** Options for the use_file_validation hook */
161
+ export interface UseFileValidationOptions {
162
+ /** Whether validation is enabled */
163
+ enabled: boolean;
164
+ /** API endpoint URL for validation */
165
+ api_url: string;
166
+ /** Rules to execute (typically fetched from DB) */
167
+ rules: ValidationRule[];
168
+ /** Current form data (for variable resolution) */
169
+ form_data: Record<string, unknown>;
170
+ /** Callback when new clarifications are created */
171
+ on_clarifications_created?: (items: ClarificationItem[]) => void;
172
+ /** Additional variables for prompt substitution */
173
+ variables?: Record<string, string>;
174
+ /**
175
+ * Reverse map from rule ID to field info, built by build_rule_field_map().
176
+ * When provided, overrides rule.target_field_id with the field that references the rule.
177
+ */
178
+ rule_field_map?: Record<string, {
179
+ field_id: string;
180
+ field_label: string;
181
+ }>;
182
+ }
183
+ /** Return type for the use_file_validation hook */
184
+ export interface UseFileValidationReturn {
185
+ /** Trigger validation for a file. When content_tag is provided, only rules matching that document_type are executed. */
186
+ validate_file: (file_b64: string, file_name: string, mime_type: string, content_tag?: string) => Promise<ClarificationItem[]>;
187
+ /** Whether validation is currently in progress */
188
+ is_validating: boolean;
189
+ /** Last error message (if any) */
190
+ last_error?: string;
191
+ }
192
+ //# sourceMappingURL=validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/types/validation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Type definitions for Document Validation Rules feature.
3
+ *
4
+ * Validation rules define automated checks that run when documents are uploaded.
5
+ * Each rule contains an LLM prompt that analyzes the document and may produce
6
+ * ClarificationItems when issues are found.
7
+ */
8
+ export {};
9
+ //# sourceMappingURL=validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/types/validation.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Builds a reverse mapping from validation rule IDs to field info.
3
+ *
4
+ * Walks sections -> groups -> fields, reads `validation_rules` arrays,
5
+ * and produces a Record<rule_id, { field_id, field_label }>.
6
+ *
7
+ * Global validation IDs map to { field_id: '__document', field_label: 'Document' }.
8
+ */
9
+ export interface RuleFieldMapping {
10
+ field_id: string;
11
+ field_label: string;
12
+ }
13
+ interface FieldLike {
14
+ id: string;
15
+ label?: string;
16
+ fields?: FieldLike[];
17
+ validation_rules?: string[];
18
+ }
19
+ interface SectionLike {
20
+ groups?: FieldLike[];
21
+ }
22
+ /**
23
+ * Build a reverse map from validation rule IDs to the fields/groups that reference them.
24
+ *
25
+ * @param sections - Form sections containing groups and fields
26
+ * @param global_validations - Optional array of rule IDs that apply document-wide
27
+ * @returns Record mapping rule_id to { field_id, field_label }
28
+ */
29
+ export declare function build_rule_field_map(sections: SectionLike[], global_validations?: string[]): Record<string, RuleFieldMapping>;
30
+ export {};
31
+ //# sourceMappingURL=build_rule_field_map.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build_rule_field_map.d.ts","sourceRoot":"","sources":["../../src/utils/build_rule_field_map.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,SAAS;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,UAAU,WAAW;IACnB,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;CACtB;AAwBD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,WAAW,EAAE,EACvB,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAC5B,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAqBlC"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Builds a reverse mapping from validation rule IDs to field info.
3
+ *
4
+ * Walks sections -> groups -> fields, reads `validation_rules` arrays,
5
+ * and produces a Record<rule_id, { field_id, field_label }>.
6
+ *
7
+ * Global validation IDs map to { field_id: '__document', field_label: 'Document' }.
8
+ */
9
+ /**
10
+ * Recursively walk fields and collect validation_rules mappings.
11
+ */
12
+ function walk_fields(fields, map) {
13
+ for (const field of fields) {
14
+ if (field.validation_rules) {
15
+ for (const rule_id of field.validation_rules) {
16
+ map[rule_id] = {
17
+ field_id: field.id,
18
+ field_label: field.label ?? field.id,
19
+ };
20
+ }
21
+ }
22
+ if (field.fields) {
23
+ walk_fields(field.fields, map);
24
+ }
25
+ }
26
+ }
27
+ /**
28
+ * Build a reverse map from validation rule IDs to the fields/groups that reference them.
29
+ *
30
+ * @param sections - Form sections containing groups and fields
31
+ * @param global_validations - Optional array of rule IDs that apply document-wide
32
+ * @returns Record mapping rule_id to { field_id, field_label }
33
+ */
34
+ export function build_rule_field_map(sections, global_validations) {
35
+ const map = {};
36
+ // Walk sections -> groups -> fields
37
+ for (const section of sections) {
38
+ if (section.groups) {
39
+ walk_fields(section.groups, map);
40
+ }
41
+ }
42
+ // Add global validations
43
+ if (global_validations) {
44
+ for (const rule_id of global_validations) {
45
+ map[rule_id] = {
46
+ field_id: '__document',
47
+ field_label: 'Document',
48
+ };
49
+ }
50
+ }
51
+ return map;
52
+ }
53
+ //# sourceMappingURL=build_rule_field_map.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build_rule_field_map.js","sourceRoot":"","sources":["../../src/utils/build_rule_field_map.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAkBH;;GAEG;AACH,SAAS,WAAW,CAClB,MAAmB,EACnB,GAAqC;IAErC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC;YAC3B,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC;gBAC7C,GAAG,CAAC,OAAO,CAAC,GAAG;oBACb,QAAQ,EAAE,KAAK,CAAC,EAAE;oBAClB,WAAW,EAAE,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,EAAE;iBACrC,CAAC;YACJ,CAAC;QACH,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAClC,QAAuB,EACvB,kBAA6B;IAE7B,MAAM,GAAG,GAAqC,EAAE,CAAC;IAEjD,oCAAoC;IACpC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,yBAAyB;IACzB,IAAI,kBAAkB,EAAE,CAAC;QACvB,KAAK,MAAM,OAAO,IAAI,kBAAkB,EAAE,CAAC;YACzC,GAAG,CAAC,OAAO,CAAC,GAAG;gBACb,QAAQ,EAAE,YAAY;gBACtB,WAAW,EAAE,UAAU;aACxB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Upload storage helpers for HazoDataForm
3
+ *
4
+ * Follows the same convention as hazo_data_forms:
5
+ * - Uploads stored at `${field_id}__uploads` in form_data
6
+ * - UploadedFile[] array per field
7
+ */
8
+ import type { UploadedFile } from '../types/doc_link.js';
9
+ /**
10
+ * Get the form_data key where uploads are stored for a field.
11
+ */
12
+ export declare function get_uploads_key(field_id: string): string;
13
+ /**
14
+ * Extract uploads from form_data for a given field.
15
+ */
16
+ export declare function get_field_uploads(form_data: Record<string, unknown>, field_id: string): UploadedFile[];
17
+ /**
18
+ * Check if a field has any uploads.
19
+ */
20
+ export declare function has_field_uploads(form_data: Record<string, unknown>, field_id: string): boolean;
21
+ /**
22
+ * Generate a unique file ID.
23
+ */
24
+ export declare function generate_file_id(): string;
25
+ //# sourceMappingURL=data_form_uploads.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data_form_uploads.d.ts","sourceRoot":"","sources":["../../src/utils/data_form_uploads.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAExD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,QAAQ,EAAE,MAAM,GACf,YAAY,EAAE,CAKhB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,QAAQ,EAAE,MAAM,GACf,OAAO,CAET;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Upload storage helpers for HazoDataForm
3
+ *
4
+ * Follows the same convention as hazo_data_forms:
5
+ * - Uploads stored at `${field_id}__uploads` in form_data
6
+ * - UploadedFile[] array per field
7
+ */
8
+ /**
9
+ * Get the form_data key where uploads are stored for a field.
10
+ */
11
+ export function get_uploads_key(field_id) {
12
+ return `${field_id}__uploads`;
13
+ }
14
+ /**
15
+ * Extract uploads from form_data for a given field.
16
+ */
17
+ export function get_field_uploads(form_data, field_id) {
18
+ const key = get_uploads_key(field_id);
19
+ const value = form_data[key];
20
+ if (Array.isArray(value))
21
+ return value;
22
+ return [];
23
+ }
24
+ /**
25
+ * Check if a field has any uploads.
26
+ */
27
+ export function has_field_uploads(form_data, field_id) {
28
+ return get_field_uploads(form_data, field_id).length > 0;
29
+ }
30
+ /**
31
+ * Generate a unique file ID.
32
+ */
33
+ export function generate_file_id() {
34
+ return `${Date.now()}-${Math.random().toString(36).substring(2, 11)}`;
35
+ }
36
+ //# sourceMappingURL=data_form_uploads.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data_form_uploads.js","sourceRoot":"","sources":["../../src/utils/data_form_uploads.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,QAAgB;IAC9C,OAAO,GAAG,QAAQ,WAAW,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,SAAkC,EAClC,QAAgB;IAEhB,MAAM,GAAG,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAuB,CAAC;IACzD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,SAAkC,EAClC,QAAgB;IAEhB,OAAO,iBAAiB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AAC3D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;AACxE,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Financial formatting utilities
3
+ */
4
+ /**
5
+ * Format a number as currency
6
+ */
7
+ export declare function format_currency(value: number, symbol?: string, decimal_places?: number): string;
8
+ /**
9
+ * Format a number as percentage
10
+ */
11
+ export declare function format_percentage(value: number, decimal_places?: number, suffix?: string): string;
12
+ //# sourceMappingURL=financial_format.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"financial_format.d.ts","sourceRoot":"","sources":["../../src/utils/financial_format.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,MAAM,EACb,MAAM,GAAE,MAAY,EACpB,cAAc,GAAE,MAAU,GACzB,MAAM,CAKR;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,MAAM,EACb,cAAc,GAAE,MAAU,EAC1B,MAAM,GAAE,MAAY,GACnB,MAAM,CAER"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Financial formatting utilities
3
+ */
4
+ /**
5
+ * Format a number as currency
6
+ */
7
+ export function format_currency(value, symbol = "$", decimal_places = 2) {
8
+ const formatted = value.toFixed(decimal_places);
9
+ const parts = formatted.split(".");
10
+ parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ",");
11
+ return `${symbol}${parts.join(".")}`;
12
+ }
13
+ /**
14
+ * Format a number as percentage
15
+ */
16
+ export function format_percentage(value, decimal_places = 2, suffix = "%") {
17
+ return `${value.toFixed(decimal_places)}${suffix}`;
18
+ }
19
+ //# sourceMappingURL=financial_format.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"financial_format.js","sourceRoot":"","sources":["../../src/utils/financial_format.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,UAAU,eAAe,CAC7B,KAAa,EACb,SAAiB,GAAG,EACpB,iBAAyB,CAAC;IAE1B,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;IAC1D,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AACvC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,KAAa,EACb,iBAAyB,CAAC,EAC1B,SAAiB,GAAG;IAEpB,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,MAAM,EAAE,CAAC;AACrD,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Formula evaluation utilities for computed fields
3
+ */
4
+ /**
5
+ * Safely evaluate a computed formula
6
+ * Supports basic arithmetic operations and TABLE_SUM function
7
+ *
8
+ * Supported functions:
9
+ * - TABLE_SUM(table_id, sum_column, filter_column, filter_value)
10
+ * Sums values from a table column where another column matches a filter value
11
+ */
12
+ export declare function evaluate_formula(formula: string, values: Record<string, unknown>): number | null;
13
+ //# sourceMappingURL=formula.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formula.d.ts","sourceRoot":"","sources":["../../src/utils/formula.ts"],"names":[],"mappings":"AAAA;;GAEG;AAkEH;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,MAAM,GAAG,IAAI,CAoCf"}
@@ -0,0 +1,104 @@
1
+ /**
2
+ * Formula evaluation utilities for computed fields
3
+ */
4
+ /**
5
+ * Evaluate TABLE_SUM function
6
+ * Syntax: TABLE_SUM(table_id, sum_column, filter_column, filter_value)
7
+ * Returns the sum of sum_column values where filter_column equals filter_value
8
+ */
9
+ function evaluate_table_sum(args, values) {
10
+ if (args.length !== 4) {
11
+ console.warn("TABLE_SUM requires 4 arguments: table_id, sum_column, filter_column, filter_value");
12
+ return null;
13
+ }
14
+ const [table_id, sum_column, filter_column, filter_value] = args.map(a => a.trim());
15
+ const table_data = values[table_id];
16
+ if (!Array.isArray(table_data)) {
17
+ return null;
18
+ }
19
+ let sum = 0;
20
+ for (const row of table_data) {
21
+ if (typeof row === "object" && row !== null) {
22
+ const row_obj = row;
23
+ const row_filter_value = String(row_obj[filter_column]).toLowerCase();
24
+ const target_filter_value = filter_value.toLowerCase();
25
+ if (row_filter_value === target_filter_value) {
26
+ const val = row_obj[sum_column];
27
+ const num = typeof val === "number" ? val : parseFloat(String(val));
28
+ if (!isNaN(num)) {
29
+ sum += num;
30
+ }
31
+ }
32
+ }
33
+ }
34
+ return sum;
35
+ }
36
+ /**
37
+ * Simple arithmetic expression evaluator
38
+ * Only supports: numbers, +, -, *, /, parentheses, whitespace, decimal points
39
+ * This avoids using eval() or new Function() for security
40
+ */
41
+ function evaluate_arithmetic(expression) {
42
+ // Validate that expression only contains safe characters
43
+ if (!/^[\d\s+\-*/().]+$/.test(expression)) {
44
+ console.warn("Invalid formula expression:", expression);
45
+ return null;
46
+ }
47
+ // Use Function constructor with validated input - the regex above ensures
48
+ // only digits, arithmetic operators, parentheses, dots, and whitespace
49
+ // are present, making code injection impossible
50
+ try {
51
+ // eslint-disable-next-line no-new-func
52
+ const result = new Function(`return (${expression})`)();
53
+ return typeof result === "number" && !isNaN(result) ? result : null;
54
+ }
55
+ catch {
56
+ return null;
57
+ }
58
+ }
59
+ /**
60
+ * Safely evaluate a computed formula
61
+ * Supports basic arithmetic operations and TABLE_SUM function
62
+ *
63
+ * Supported functions:
64
+ * - TABLE_SUM(table_id, sum_column, filter_column, filter_value)
65
+ * Sums values from a table column where another column matches a filter value
66
+ */
67
+ export function evaluate_formula(formula, values) {
68
+ try {
69
+ let expression = formula;
70
+ // First, process TABLE_SUM functions
71
+ if (formula.includes("TABLE_SUM")) {
72
+ const table_sum_regex = /TABLE_SUM\s*\(\s*([^,]+)\s*,\s*([^,]+)\s*,\s*([^,]+)\s*,\s*([^)]+)\s*\)/gi;
73
+ expression = expression.replace(table_sum_regex, (_match, table_id, sum_col, filter_col, filter_val) => {
74
+ const result = evaluate_table_sum([table_id, sum_col, filter_col, filter_val], values);
75
+ return result !== null ? String(result) : "0";
76
+ });
77
+ }
78
+ // Find all remaining field references (alphanumeric with underscores)
79
+ const field_refs = expression.match(/[a-zA-Z_][a-zA-Z0-9_]*/g) || [];
80
+ for (const ref of field_refs) {
81
+ if (ref.toUpperCase() === "TABLE_SUM")
82
+ continue;
83
+ const value = values[ref];
84
+ if (typeof value === "number") {
85
+ expression = expression.replace(new RegExp(`\\b${ref}\\b`, "g"), String(value));
86
+ }
87
+ else if (typeof value === "string" && !isNaN(parseFloat(value))) {
88
+ expression = expression.replace(new RegExp(`\\b${ref}\\b`, "g"), value);
89
+ }
90
+ else if (value === undefined || value === null || value === "") {
91
+ expression = expression.replace(new RegExp(`\\b${ref}\\b`, "g"), "0");
92
+ }
93
+ else {
94
+ return null;
95
+ }
96
+ }
97
+ return evaluate_arithmetic(expression);
98
+ }
99
+ catch (error) {
100
+ console.warn("Formula evaluation error:", error);
101
+ return null;
102
+ }
103
+ }
104
+ //# sourceMappingURL=formula.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formula.js","sourceRoot":"","sources":["../../src/utils/formula.ts"],"names":[],"mappings":"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"}
@@ -16,4 +16,15 @@ export { deprecation_warning } from './deprecation_warning.js';
16
16
  export { filter_dom_props, get_dom_safe_props, } from './filter_dom_props.js';
17
17
  export { use_file_status } from './use_file_status.js';
18
18
  export type { UseFileStatusOptions, UseFileStatusResult } from './use_file_status.js';
19
+ export { format_currency, format_percentage } from './financial_format.js';
20
+ export { format_masked_value, extract_raw_value } from './mask_format.js';
21
+ export { evaluate_formula } from './formula.js';
22
+ export { use_computed_fields } from './use_computed_fields.js';
23
+ export type { ComputedFieldDef, UseComputedFieldsOptions } from './use_computed_fields.js';
24
+ export { get_uploads_key, get_field_uploads, has_field_uploads, generate_file_id, } from './data_form_uploads.js';
25
+ export { slugify } from './slugify.js';
26
+ export { build_rule_field_map } from './build_rule_field_map.js';
27
+ export type { RuleFieldMapping } from './build_rule_field_map.js';
28
+ export { resolve_tokens, resolve_style_class, to_inline_style, create_style_resolver, merge_with_overrides, } from './style_resolver.js';
29
+ export type { StyleResolver } from './style_resolver.js';
19
30
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,YAAY,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,YAAY,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,YAAY,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtG,OAAO,EACL,SAAS,EACT,UAAU,EACV,QAAQ,EACR,aAAa,EACb,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EACL,8BAA8B,EAC9B,8BAA8B,EAC9B,0BAA0B,EAC1B,wBAAwB,GACzB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,OAAO,EACL,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,YAAY,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,YAAY,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,YAAY,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,YAAY,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtG,OAAO,EACL,SAAS,EACT,UAAU,EACV,QAAQ,EACR,aAAa,EACb,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EACL,8BAA8B,EAC9B,8BAA8B,EAC9B,0BAA0B,EAC1B,wBAAwB,GACzB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,OAAO,EACL,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,YAAY,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAGtF,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAG3E,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAG1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAGhD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,YAAY,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAG3F,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAGvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,YAAY,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAGlE,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC"}
@@ -11,4 +11,20 @@ export { new_field_definition_to_config, insert_field_after_in_sections, remove_
11
11
  export { deprecation_warning } from './deprecation_warning.js';
12
12
  export { filter_dom_props, get_dom_safe_props, } from './filter_dom_props.js';
13
13
  export { use_file_status } from './use_file_status.js';
14
+ // Financial formatting
15
+ export { format_currency, format_percentage } from './financial_format.js';
16
+ // Mask formatting
17
+ export { format_masked_value, extract_raw_value } from './mask_format.js';
18
+ // Formula evaluation
19
+ export { evaluate_formula } from './formula.js';
20
+ // Computed fields hook
21
+ export { use_computed_fields } from './use_computed_fields.js';
22
+ // Data form upload helpers
23
+ export { get_uploads_key, get_field_uploads, has_field_uploads, generate_file_id, } from './data_form_uploads.js';
24
+ // Slugify
25
+ export { slugify } from './slugify.js';
26
+ // Rule-to-field mapping
27
+ export { build_rule_field_map } from './build_rule_field_map.js';
28
+ // Style resolver
29
+ export { resolve_tokens, resolve_style_class, to_inline_style, create_style_resolver, merge_with_overrides, } from './style_resolver.js';
14
30
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,OAAO,EACL,SAAS,EACT,UAAU,EACV,QAAQ,EACR,aAAa,EACb,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,8BAA8B,EAC9B,8BAA8B,EAC9B,0BAA0B,EAC1B,wBAAwB,GACzB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,OAAO,EACL,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,OAAO,EACL,SAAS,EACT,UAAU,EACV,QAAQ,EACR,aAAa,EACb,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,8BAA8B,EAC9B,8BAA8B,EAC9B,0BAA0B,EAC1B,wBAAwB,GACzB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,OAAO,EACL,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,uBAAuB;AACvB,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE3E,kBAAkB;AAClB,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE1E,qBAAqB;AACrB,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,uBAAuB;AACvB,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAG/D,2BAA2B;AAC3B,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAEhC,UAAU;AACV,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,wBAAwB;AACxB,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAGjE,iBAAiB;AACjB,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Masked value formatting utilities
3
+ * Used for TFN, ABN, phone numbers, and other formatted inputs
4
+ */
5
+ /**
6
+ * Format a raw value using a display format template
7
+ * X in the format represents a digit position
8
+ * @param value - Raw unformatted value (digits only)
9
+ * @param display_format - Format template (e.g., "XXX XXX XXX")
10
+ * @returns Formatted value
11
+ */
12
+ export declare function format_masked_value(value: string, display_format: string): string;
13
+ /**
14
+ * Extract raw digits from a formatted value
15
+ * @param value - Formatted value that may contain spaces, dashes, etc.
16
+ * @param digit_count - Expected number of digits
17
+ * @returns Raw digits string
18
+ */
19
+ export declare function extract_raw_value(value: string, digit_count: number): string;
20
+ //# sourceMappingURL=mask_format.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mask_format.d.ts","sourceRoot":"","sources":["../../src/utils/mask_format.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,CAiBjF;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAI5E"}