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.
- package/CHANGE_LOG.md +49 -0
- package/README.md +416 -0
- package/dist/components/_internal_form_set.d.ts +41 -0
- package/dist/components/_internal_form_set.d.ts.map +1 -1
- package/dist/components/_internal_form_set.js +81 -3
- package/dist/components/_internal_form_set.js.map +1 -1
- package/dist/components/clarification/clarification_badge.d.ts +16 -0
- package/dist/components/clarification/clarification_badge.d.ts.map +1 -0
- package/dist/components/clarification/clarification_badge.js +15 -0
- package/dist/components/clarification/clarification_badge.js.map +1 -0
- package/dist/components/clarification/clarification_card.d.ts +48 -0
- package/dist/components/clarification/clarification_card.d.ts.map +1 -0
- package/dist/components/clarification/clarification_card.js +46 -0
- package/dist/components/clarification/clarification_card.js.map +1 -0
- package/dist/components/clarification/clarification_dialog.d.ts +32 -0
- package/dist/components/clarification/clarification_dialog.d.ts.map +1 -0
- package/dist/components/clarification/clarification_dialog.js +63 -0
- package/dist/components/clarification/clarification_dialog.js.map +1 -0
- package/dist/components/clarification/clarification_doc_reference.d.ts +18 -0
- package/dist/components/clarification/clarification_doc_reference.d.ts.map +1 -0
- package/dist/components/clarification/clarification_doc_reference.js +22 -0
- package/dist/components/clarification/clarification_doc_reference.js.map +1 -0
- package/dist/components/clarification/clarification_response_form.d.ts +32 -0
- package/dist/components/clarification/clarification_response_form.d.ts.map +1 -0
- package/dist/components/clarification/clarification_response_form.js +38 -0
- package/dist/components/clarification/clarification_response_form.js.map +1 -0
- package/dist/components/clarification/clarification_section.d.ts +26 -0
- package/dist/components/clarification/clarification_section.d.ts.map +1 -0
- package/dist/components/clarification/clarification_section.js +46 -0
- package/dist/components/clarification/clarification_section.js.map +1 -0
- package/dist/components/clarification/index.d.ts +18 -0
- package/dist/components/clarification/index.d.ts.map +1 -0
- package/dist/components/clarification/index.js +13 -0
- package/dist/components/clarification/index.js.map +1 -0
- package/dist/components/clarification/use_clarifications.d.ts +49 -0
- package/dist/components/clarification/use_clarifications.d.ts.map +1 -0
- package/dist/components/clarification/use_clarifications.js +160 -0
- package/dist/components/clarification/use_clarifications.js.map +1 -0
- package/dist/components/collab_form_file_upload.d.ts +16 -1
- package/dist/components/collab_form_file_upload.d.ts.map +1 -1
- package/dist/components/collab_form_file_upload.js +44 -10
- package/dist/components/collab_form_file_upload.js.map +1 -1
- package/dist/components/hazo_add_field_dialog/types.d.ts.map +1 -1
- package/dist/components/hazo_add_field_dialog/types.js +28 -0
- package/dist/components/hazo_add_field_dialog/types.js.map +1 -1
- package/dist/components/hazo_collab_form_base.d.ts +32 -2
- package/dist/components/hazo_collab_form_base.d.ts.map +1 -1
- package/dist/components/hazo_collab_form_base.js +11 -5
- package/dist/components/hazo_collab_form_base.js.map +1 -1
- package/dist/components/hazo_collab_form_computed.d.ts +33 -0
- package/dist/components/hazo_collab_form_computed.d.ts.map +1 -0
- package/dist/components/hazo_collab_form_computed.js +42 -0
- package/dist/components/hazo_collab_form_computed.js.map +1 -0
- package/dist/components/hazo_collab_form_currency.d.ts +29 -0
- package/dist/components/hazo_collab_form_currency.d.ts.map +1 -0
- package/dist/components/hazo_collab_form_currency.js +42 -0
- package/dist/components/hazo_collab_form_currency.js.map +1 -0
- package/dist/components/hazo_collab_form_data_table.d.ts +1 -1
- package/dist/components/hazo_collab_form_data_table.d.ts.map +1 -1
- package/dist/components/hazo_collab_form_data_table.js +7 -3
- package/dist/components/hazo_collab_form_data_table.js.map +1 -1
- package/dist/components/hazo_collab_form_group.d.ts +12 -0
- package/dist/components/hazo_collab_form_group.d.ts.map +1 -1
- package/dist/components/hazo_collab_form_group.js +27 -4
- package/dist/components/hazo_collab_form_group.js.map +1 -1
- package/dist/components/hazo_collab_form_masked.d.ts +32 -0
- package/dist/components/hazo_collab_form_masked.d.ts.map +1 -0
- package/dist/components/hazo_collab_form_masked.js +55 -0
- package/dist/components/hazo_collab_form_masked.js.map +1 -0
- package/dist/components/hazo_collab_form_percentage.d.ts +27 -0
- package/dist/components/hazo_collab_form_percentage.d.ts.map +1 -0
- package/dist/components/hazo_collab_form_percentage.js +41 -0
- package/dist/components/hazo_collab_form_percentage.js.map +1 -0
- package/dist/components/hazo_collab_form_static_text.d.ts +26 -0
- package/dist/components/hazo_collab_form_static_text.d.ts.map +1 -0
- package/dist/components/hazo_collab_form_static_text.js +24 -0
- package/dist/components/hazo_collab_form_static_text.js.map +1 -0
- package/dist/components/hazo_collab_form_summary_row.d.ts +41 -0
- package/dist/components/hazo_collab_form_summary_row.d.ts.map +1 -0
- package/dist/components/hazo_collab_form_summary_row.js +35 -0
- package/dist/components/hazo_collab_form_summary_row.js.map +1 -0
- package/dist/components/hazo_collab_form_view/context.d.ts.map +1 -1
- package/dist/components/hazo_collab_form_view/context.js +25 -1
- package/dist/components/hazo_collab_form_view/context.js.map +1 -1
- package/dist/components/hazo_collab_form_view/index.d.ts +1 -1
- package/dist/components/hazo_collab_form_view/index.d.ts.map +1 -1
- package/dist/components/hazo_collab_form_view/index.js +8 -0
- package/dist/components/hazo_collab_form_view/index.js.map +1 -1
- package/dist/components/hazo_collab_form_view/types.d.ts +167 -2
- package/dist/components/hazo_collab_form_view/types.d.ts.map +1 -1
- package/dist/components/hazo_collab_form_view/views/edit_view.d.ts.map +1 -1
- package/dist/components/hazo_collab_form_view/views/edit_view.js +76 -8
- package/dist/components/hazo_collab_form_view/views/edit_view.js.map +1 -1
- package/dist/components/hazo_collab_form_view/views/summary_view.d.ts.map +1 -1
- package/dist/components/hazo_collab_form_view/views/summary_view.js +237 -14
- package/dist/components/hazo_collab_form_view/views/summary_view.js.map +1 -1
- package/dist/components/hazo_data_form/field_renderers/boolean_field.d.ts +6 -0
- package/dist/components/hazo_data_form/field_renderers/boolean_field.d.ts.map +1 -0
- package/dist/components/hazo_data_form/field_renderers/boolean_field.js +9 -0
- package/dist/components/hazo_data_form/field_renderers/boolean_field.js.map +1 -0
- package/dist/components/hazo_data_form/field_renderers/computed_field.d.ts +7 -0
- package/dist/components/hazo_data_form/field_renderers/computed_field.d.ts.map +1 -0
- package/dist/components/hazo_data_form/field_renderers/computed_field.js +34 -0
- package/dist/components/hazo_data_form/field_renderers/computed_field.js.map +1 -0
- package/dist/components/hazo_data_form/field_renderers/currency_field.d.ts +7 -0
- package/dist/components/hazo_data_form/field_renderers/currency_field.d.ts.map +1 -0
- package/dist/components/hazo_data_form/field_renderers/currency_field.js +30 -0
- package/dist/components/hazo_data_form/field_renderers/currency_field.js.map +1 -0
- package/dist/components/hazo_data_form/field_renderers/date_field.d.ts +7 -0
- package/dist/components/hazo_data_form/field_renderers/date_field.d.ts.map +1 -0
- package/dist/components/hazo_data_form/field_renderers/date_field.js +17 -0
- package/dist/components/hazo_data_form/field_renderers/date_field.js.map +1 -0
- package/dist/components/hazo_data_form/field_renderers/email_field.d.ts +6 -0
- package/dist/components/hazo_data_form/field_renderers/email_field.d.ts.map +1 -0
- package/dist/components/hazo_data_form/field_renderers/email_field.js +12 -0
- package/dist/components/hazo_data_form/field_renderers/email_field.js.map +1 -0
- package/dist/components/hazo_data_form/field_renderers/index.d.ts +50 -0
- package/dist/components/hazo_data_form/field_renderers/index.d.ts.map +1 -0
- package/dist/components/hazo_data_form/field_renderers/index.js +95 -0
- package/dist/components/hazo_data_form/field_renderers/index.js.map +1 -0
- package/dist/components/hazo_data_form/field_renderers/masked_field.d.ts +7 -0
- package/dist/components/hazo_data_form/field_renderers/masked_field.d.ts.map +1 -0
- package/dist/components/hazo_data_form/field_renderers/masked_field.js +56 -0
- package/dist/components/hazo_data_form/field_renderers/masked_field.js.map +1 -0
- package/dist/components/hazo_data_form/field_renderers/number_field.d.ts +6 -0
- package/dist/components/hazo_data_form/field_renderers/number_field.d.ts.map +1 -0
- package/dist/components/hazo_data_form/field_renderers/number_field.js +15 -0
- package/dist/components/hazo_data_form/field_renderers/number_field.js.map +1 -0
- package/dist/components/hazo_data_form/field_renderers/option_field.d.ts +6 -0
- package/dist/components/hazo_data_form/field_renderers/option_field.d.ts.map +1 -0
- package/dist/components/hazo_data_form/field_renderers/option_field.js +15 -0
- package/dist/components/hazo_data_form/field_renderers/option_field.js.map +1 -0
- package/dist/components/hazo_data_form/field_renderers/percentage_field.d.ts +7 -0
- package/dist/components/hazo_data_form/field_renderers/percentage_field.d.ts.map +1 -0
- package/dist/components/hazo_data_form/field_renderers/percentage_field.js +22 -0
- package/dist/components/hazo_data_form/field_renderers/percentage_field.js.map +1 -0
- package/dist/components/hazo_data_form/field_renderers/static_text_field.d.ts +7 -0
- package/dist/components/hazo_data_form/field_renderers/static_text_field.d.ts.map +1 -0
- package/dist/components/hazo_data_form/field_renderers/static_text_field.js +11 -0
- package/dist/components/hazo_data_form/field_renderers/static_text_field.js.map +1 -0
- package/dist/components/hazo_data_form/field_renderers/summary_row_field.d.ts +7 -0
- package/dist/components/hazo_data_form/field_renderers/summary_row_field.d.ts.map +1 -0
- package/dist/components/hazo_data_form/field_renderers/summary_row_field.js +20 -0
- package/dist/components/hazo_data_form/field_renderers/summary_row_field.js.map +1 -0
- package/dist/components/hazo_data_form/field_renderers/table_field.d.ts +7 -0
- package/dist/components/hazo_data_form/field_renderers/table_field.d.ts.map +1 -0
- package/dist/components/hazo_data_form/field_renderers/table_field.js +179 -0
- package/dist/components/hazo_data_form/field_renderers/table_field.js.map +1 -0
- package/dist/components/hazo_data_form/field_renderers/tel_field.d.ts +6 -0
- package/dist/components/hazo_data_form/field_renderers/tel_field.d.ts.map +1 -0
- package/dist/components/hazo_data_form/field_renderers/tel_field.js +12 -0
- package/dist/components/hazo_data_form/field_renderers/tel_field.js.map +1 -0
- package/dist/components/hazo_data_form/field_renderers/text_field.d.ts +6 -0
- package/dist/components/hazo_data_form/field_renderers/text_field.d.ts.map +1 -0
- package/dist/components/hazo_data_form/field_renderers/text_field.js +12 -0
- package/dist/components/hazo_data_form/field_renderers/text_field.js.map +1 -0
- package/dist/components/hazo_data_form/field_renderers/textarea_field.d.ts +6 -0
- package/dist/components/hazo_data_form/field_renderers/textarea_field.d.ts.map +1 -0
- package/dist/components/hazo_data_form/field_renderers/textarea_field.js +12 -0
- package/dist/components/hazo_data_form/field_renderers/textarea_field.js.map +1 -0
- package/dist/components/hazo_data_form/file_manager_button.d.ts +12 -0
- package/dist/components/hazo_data_form/file_manager_button.d.ts.map +1 -0
- package/dist/components/hazo_data_form/file_manager_button.js +9 -0
- package/dist/components/hazo_data_form/file_manager_button.js.map +1 -0
- package/dist/components/hazo_data_form/group_renderer.d.ts +20 -0
- package/dist/components/hazo_data_form/group_renderer.d.ts.map +1 -0
- package/dist/components/hazo_data_form/group_renderer.js +74 -0
- package/dist/components/hazo_data_form/group_renderer.js.map +1 -0
- package/dist/components/hazo_data_form/hazo_data_form.d.ts +10 -0
- package/dist/components/hazo_data_form/hazo_data_form.d.ts.map +1 -0
- package/dist/components/hazo_data_form/hazo_data_form.js +100 -0
- package/dist/components/hazo_data_form/hazo_data_form.js.map +1 -0
- package/dist/components/hazo_data_form/index.d.ts +15 -0
- package/dist/components/hazo_data_form/index.d.ts.map +1 -0
- package/dist/components/hazo_data_form/index.js +14 -0
- package/dist/components/hazo_data_form/index.js.map +1 -0
- package/dist/components/hazo_data_form/section_renderer.d.ts +24 -0
- package/dist/components/hazo_data_form/section_renderer.d.ts.map +1 -0
- package/dist/components/hazo_data_form/section_renderer.js +34 -0
- package/dist/components/hazo_data_form/section_renderer.js.map +1 -0
- package/dist/components/hazo_data_form/shared/data_form_badge.d.ts +13 -0
- package/dist/components/hazo_data_form/shared/data_form_badge.d.ts.map +1 -0
- package/dist/components/hazo_data_form/shared/data_form_badge.js +13 -0
- package/dist/components/hazo_data_form/shared/data_form_badge.js.map +1 -0
- package/dist/components/hazo_data_form/shared/data_form_field_layout.d.ts +17 -0
- package/dist/components/hazo_data_form/shared/data_form_field_layout.d.ts.map +1 -0
- package/dist/components/hazo_data_form/shared/data_form_field_layout.js +31 -0
- package/dist/components/hazo_data_form/shared/data_form_field_layout.js.map +1 -0
- package/dist/components/hazo_data_form/shared/data_form_file_column.d.ts +17 -0
- package/dist/components/hazo_data_form/shared/data_form_file_column.d.ts.map +1 -0
- package/dist/components/hazo_data_form/shared/data_form_file_column.js +46 -0
- package/dist/components/hazo_data_form/shared/data_form_file_column.js.map +1 -0
- package/dist/components/hazo_data_form/shared/data_form_help_tooltip.d.ts +15 -0
- package/dist/components/hazo_data_form/shared/data_form_help_tooltip.d.ts.map +1 -0
- package/dist/components/hazo_data_form/shared/data_form_help_tooltip.js +25 -0
- package/dist/components/hazo_data_form/shared/data_form_help_tooltip.js.map +1 -0
- package/dist/components/hazo_data_form/shared/data_form_label.d.ts +12 -0
- package/dist/components/hazo_data_form/shared/data_form_label.d.ts.map +1 -0
- package/dist/components/hazo_data_form/shared/data_form_label.js +18 -0
- package/dist/components/hazo_data_form/shared/data_form_label.js.map +1 -0
- package/dist/components/hazo_data_form/shared/data_form_reference_value.d.ts +10 -0
- package/dist/components/hazo_data_form/shared/data_form_reference_value.d.ts.map +1 -0
- package/dist/components/hazo_data_form/shared/data_form_reference_value.js +10 -0
- package/dist/components/hazo_data_form/shared/data_form_reference_value.js.map +1 -0
- package/dist/components/hazo_data_form/shared/index.d.ts +16 -0
- package/dist/components/hazo_data_form/shared/index.d.ts.map +1 -0
- package/dist/components/hazo_data_form/shared/index.js +10 -0
- package/dist/components/hazo_data_form/shared/index.js.map +1 -0
- package/dist/components/hazo_data_form/shared/types.d.ts +6 -0
- package/dist/components/hazo_data_form/shared/types.d.ts.map +1 -0
- package/dist/components/hazo_data_form/shared/types.js +5 -0
- package/dist/components/hazo_data_form/shared/types.js.map +1 -0
- package/dist/components/hazo_data_form/types.d.ts +110 -0
- package/dist/components/hazo_data_form/types.d.ts.map +1 -0
- package/dist/components/hazo_data_form/types.js +6 -0
- package/dist/components/hazo_data_form/types.js.map +1 -0
- package/dist/components/hazo_template_generator/components/type_editors/data_table_editor.d.ts.map +1 -1
- package/dist/components/hazo_template_generator/components/type_editors/data_table_editor.js +2 -0
- package/dist/components/hazo_template_generator/components/type_editors/data_table_editor.js.map +1 -1
- package/dist/components/hazo_template_generator/types.d.ts +2 -2
- package/dist/components/hazo_template_generator/types.d.ts.map +1 -1
- package/dist/components/hazo_template_generator/types.js +62 -0
- package/dist/components/hazo_template_generator/types.js.map +1 -1
- package/dist/components/hazo_validation_rule_editor/components/clarification_settings.d.ts +10 -0
- package/dist/components/hazo_validation_rule_editor/components/clarification_settings.d.ts.map +1 -0
- package/dist/components/hazo_validation_rule_editor/components/clarification_settings.js +57 -0
- package/dist/components/hazo_validation_rule_editor/components/clarification_settings.js.map +1 -0
- package/dist/components/hazo_validation_rule_editor/components/prompt_editor.d.ts +11 -0
- package/dist/components/hazo_validation_rule_editor/components/prompt_editor.d.ts.map +1 -0
- package/dist/components/hazo_validation_rule_editor/components/prompt_editor.js +145 -0
- package/dist/components/hazo_validation_rule_editor/components/prompt_editor.js.map +1 -0
- package/dist/components/hazo_validation_rule_editor/components/rule_editor.d.ts +6 -0
- package/dist/components/hazo_validation_rule_editor/components/rule_editor.d.ts.map +1 -0
- package/dist/components/hazo_validation_rule_editor/components/rule_editor.js +149 -0
- package/dist/components/hazo_validation_rule_editor/components/rule_editor.js.map +1 -0
- package/dist/components/hazo_validation_rule_editor/components/rule_list.d.ts +6 -0
- package/dist/components/hazo_validation_rule_editor/components/rule_list.d.ts.map +1 -0
- package/dist/components/hazo_validation_rule_editor/components/rule_list.js +57 -0
- package/dist/components/hazo_validation_rule_editor/components/rule_list.js.map +1 -0
- package/dist/components/hazo_validation_rule_editor/context.d.ts +19 -0
- package/dist/components/hazo_validation_rule_editor/context.d.ts.map +1 -0
- package/dist/components/hazo_validation_rule_editor/context.js +95 -0
- package/dist/components/hazo_validation_rule_editor/context.js.map +1 -0
- package/dist/components/hazo_validation_rule_editor/hooks/use_file_validation.d.ts +20 -0
- package/dist/components/hazo_validation_rule_editor/hooks/use_file_validation.d.ts.map +1 -0
- package/dist/components/hazo_validation_rule_editor/hooks/use_file_validation.js +127 -0
- package/dist/components/hazo_validation_rule_editor/hooks/use_file_validation.js.map +1 -0
- package/dist/components/hazo_validation_rule_editor/hooks/use_validation_rules.d.ts +30 -0
- package/dist/components/hazo_validation_rule_editor/hooks/use_validation_rules.d.ts.map +1 -0
- package/dist/components/hazo_validation_rule_editor/hooks/use_validation_rules.js +216 -0
- package/dist/components/hazo_validation_rule_editor/hooks/use_validation_rules.js.map +1 -0
- package/dist/components/hazo_validation_rule_editor/index.d.ts +14 -0
- package/dist/components/hazo_validation_rule_editor/index.d.ts.map +1 -0
- package/dist/components/hazo_validation_rule_editor/index.js +12 -0
- package/dist/components/hazo_validation_rule_editor/index.js.map +1 -0
- package/dist/components/hazo_validation_rule_editor/types.d.ts +53 -0
- package/dist/components/hazo_validation_rule_editor/types.d.ts.map +1 -0
- package/dist/components/hazo_validation_rule_editor/types.js +5 -0
- package/dist/components/hazo_validation_rule_editor/types.js.map +1 -0
- package/dist/components/hazo_validation_rule_editor/validation_rule_editor.d.ts +3 -0
- package/dist/components/hazo_validation_rule_editor/validation_rule_editor.d.ts.map +1 -0
- package/dist/components/hazo_validation_rule_editor/validation_rule_editor.js +14 -0
- package/dist/components/hazo_validation_rule_editor/validation_rule_editor.js.map +1 -0
- package/dist/components/index.d.ts +30 -2
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +22 -1
- package/dist/components/index.js.map +1 -1
- package/dist/components/shared/field_state/normalize.d.ts.map +1 -1
- package/dist/components/shared/field_state/normalize.js +1 -0
- package/dist/components/shared/field_state/normalize.js.map +1 -1
- package/dist/components/shared/field_state/types.d.ts +6 -0
- package/dist/components/shared/field_state/types.d.ts.map +1 -1
- package/dist/components/shared/field_utils/types.d.ts +1 -1
- package/dist/components/shared/field_utils/types.d.ts.map +1 -1
- package/dist/components/shared/strip_base_props.d.ts.map +1 -1
- package/dist/components/shared/strip_base_props.js +2 -0
- package/dist/components/shared/strip_base_props.js.map +1 -1
- package/dist/components/shared/summary_files/summary_files.d.ts +9 -1
- package/dist/components/shared/summary_files/summary_files.d.ts.map +1 -1
- package/dist/components/shared/summary_files/summary_files.js +11 -5
- package/dist/components/shared/summary_files/summary_files.js.map +1 -1
- package/dist/components/shared/unified_field_controls/types.d.ts +8 -0
- package/dist/components/shared/unified_field_controls/types.d.ts.map +1 -1
- package/dist/components/shared/unified_field_controls/unified_field_controls.d.ts +1 -1
- package/dist/components/shared/unified_field_controls/unified_field_controls.d.ts.map +1 -1
- package/dist/components/shared/unified_field_controls/unified_field_controls.js +3 -2
- package/dist/components/shared/unified_field_controls/unified_field_controls.js.map +1 -1
- package/dist/components/shared/use_base_form_field.d.ts +14 -0
- package/dist/components/shared/use_base_form_field.d.ts.map +1 -1
- package/dist/components/shared/use_base_form_field.js +41 -2
- package/dist/components/shared/use_base_form_field.js.map +1 -1
- package/dist/components/status_badges.d.ts +33 -0
- package/dist/components/status_badges.d.ts.map +1 -1
- package/dist/components/status_badges.js +27 -2
- package/dist/components/status_badges.js.map +1 -1
- package/dist/config/clarification_templates.d.ts +24 -0
- package/dist/config/clarification_templates.d.ts.map +1 -0
- package/dist/config/clarification_templates.js +66 -0
- package/dist/config/clarification_templates.js.map +1 -0
- package/dist/config/defaults.d.ts +4 -0
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +4 -0
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/index.d.ts +3 -1
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +3 -1
- package/dist/config/index.js.map +1 -1
- package/dist/config/validation_rule_commands.d.ts +12 -0
- package/dist/config/validation_rule_commands.d.ts.map +1 -0
- package/dist/config/validation_rule_commands.js +106 -0
- package/dist/config/validation_rule_commands.js.map +1 -0
- package/dist/index.client.d.ts +1 -0
- package/dist/index.client.d.ts.map +1 -1
- package/dist/index.client.js +1 -0
- package/dist/index.client.js.map +1 -1
- package/dist/lib/autofill_handler.d.ts +34 -0
- package/dist/lib/autofill_handler.d.ts.map +1 -0
- package/dist/lib/autofill_handler.js +330 -0
- package/dist/lib/autofill_handler.js.map +1 -0
- package/dist/lib/index.d.ts +9 -0
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +5 -0
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/validation_handler.d.ts +27 -0
- package/dist/lib/validation_handler.d.ts.map +1 -0
- package/dist/lib/validation_handler.js +341 -0
- package/dist/lib/validation_handler.js.map +1 -0
- package/dist/types/clarification.d.ts +126 -0
- package/dist/types/clarification.d.ts.map +1 -0
- package/dist/types/clarification.js +8 -0
- package/dist/types/clarification.js.map +1 -0
- package/dist/types/doc_link.d.ts +42 -0
- package/dist/types/doc_link.d.ts.map +1 -0
- package/dist/types/doc_link.js +5 -0
- package/dist/types/doc_link.js.map +1 -0
- package/dist/types/field_type_definition.d.ts +67 -0
- package/dist/types/field_type_definition.d.ts.map +1 -0
- package/dist/types/field_type_definition.js +41 -0
- package/dist/types/field_type_definition.js.map +1 -0
- package/dist/types/file_attachment.d.ts +2 -0
- package/dist/types/file_attachment.d.ts.map +1 -1
- package/dist/types/file_attachment.js.map +1 -1
- package/dist/types/file_manager.d.ts +36 -0
- package/dist/types/file_manager.d.ts.map +1 -1
- package/dist/types/index.d.ts +8 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/style_variant.d.ts +93 -0
- package/dist/types/style_variant.d.ts.map +1 -0
- package/dist/types/style_variant.js +248 -0
- package/dist/types/style_variant.js.map +1 -0
- package/dist/types/validation.d.ts +192 -0
- package/dist/types/validation.d.ts.map +1 -0
- package/dist/types/validation.js +9 -0
- package/dist/types/validation.js.map +1 -0
- package/dist/utils/build_rule_field_map.d.ts +31 -0
- package/dist/utils/build_rule_field_map.d.ts.map +1 -0
- package/dist/utils/build_rule_field_map.js +53 -0
- package/dist/utils/build_rule_field_map.js.map +1 -0
- package/dist/utils/data_form_uploads.d.ts +25 -0
- package/dist/utils/data_form_uploads.d.ts.map +1 -0
- package/dist/utils/data_form_uploads.js +36 -0
- package/dist/utils/data_form_uploads.js.map +1 -0
- package/dist/utils/financial_format.d.ts +12 -0
- package/dist/utils/financial_format.d.ts.map +1 -0
- package/dist/utils/financial_format.js +19 -0
- package/dist/utils/financial_format.js.map +1 -0
- package/dist/utils/formula.d.ts +13 -0
- package/dist/utils/formula.d.ts.map +1 -0
- package/dist/utils/formula.js +104 -0
- package/dist/utils/formula.js.map +1 -0
- package/dist/utils/index.d.ts +11 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +16 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/mask_format.d.ts +20 -0
- package/dist/utils/mask_format.d.ts.map +1 -0
- package/dist/utils/mask_format.js +41 -0
- package/dist/utils/mask_format.js.map +1 -0
- package/dist/utils/slugify.d.ts +10 -0
- package/dist/utils/slugify.d.ts.map +1 -0
- package/dist/utils/slugify.js +17 -0
- package/dist/utils/slugify.js.map +1 -0
- package/dist/utils/style_resolver.d.ts +36 -0
- package/dist/utils/style_resolver.d.ts.map +1 -0
- package/dist/utils/style_resolver.js +160 -0
- package/dist/utils/style_resolver.js.map +1 -0
- package/dist/utils/use_computed_fields.d.ts +14 -0
- package/dist/utils/use_computed_fields.d.ts.map +1 -0
- package/dist/utils/use_computed_fields.js +24 -0
- package/dist/utils/use_computed_fields.js.map +1 -0
- package/package.json +15 -3
- package/templates/config/hazo_collab_forms_config.ini +7 -0
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from '../../utils/cn.js';
|
|
3
|
+
import { get_field_uploads } from '../../utils/data_form_uploads.js';
|
|
4
|
+
import { DataFormFieldRenderer } from './field_renderers/index.js';
|
|
5
|
+
import { DataFormLabel } from './shared/data_form_label.js';
|
|
6
|
+
import { DataFormBadge } from './shared/data_form_badge.js';
|
|
7
|
+
import { format_currency } from '../../utils/financial_format.js';
|
|
8
|
+
/**
|
|
9
|
+
* Format a ReferenceValueData into a display annotation string
|
|
10
|
+
*/
|
|
11
|
+
function format_reference_annotation(ref) {
|
|
12
|
+
let formatted;
|
|
13
|
+
if (typeof ref.value === 'boolean') {
|
|
14
|
+
formatted = ref.value ? 'Yes' : 'No';
|
|
15
|
+
}
|
|
16
|
+
else if (typeof ref.value === 'number') {
|
|
17
|
+
formatted = format_currency(ref.value, '$', 2);
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
formatted = String(ref.value);
|
|
21
|
+
}
|
|
22
|
+
return ref.label ? `${ref.label}: ${formatted}` : `Ref: ${formatted}`;
|
|
23
|
+
}
|
|
24
|
+
export function GroupRenderer({ group, mode, form_data, config, on_field_change, on_doc_link_click, file_uploads, on_upload_click, upload_enabled, reference_data, }) {
|
|
25
|
+
const fields = group.fields || [];
|
|
26
|
+
const orientation = group.orientation || 'vertical';
|
|
27
|
+
const is_horizontal = orientation === 'horizontal';
|
|
28
|
+
const has_header = Boolean(group.label);
|
|
29
|
+
// Style for group header
|
|
30
|
+
const variant_style = group.style_variant && config.style_resolver.has_style(group.style_variant)
|
|
31
|
+
? config.style_resolver.to_style(group.style_variant)
|
|
32
|
+
: undefined;
|
|
33
|
+
// Column headers for paired layouts
|
|
34
|
+
const column_headers = group.column_headers;
|
|
35
|
+
return (_jsxs("div", { className: cn('cls_data_form_group', 'mb-2'), children: [has_header && (_jsxs("div", { className: cn('cls_data_form_group_header', 'flex items-center gap-2 py-1.5 px-2 mb-1'), style: {
|
|
36
|
+
...variant_style,
|
|
37
|
+
...(!variant_style && !group.item_code ? { borderBottom: '1px solid #e5e7eb' } : {}),
|
|
38
|
+
}, children: [group.item_code && (_jsx(DataFormLabel, { field: group, config: config })), !group.item_code && (_jsx("span", { className: "font-semibold text-sm text-gray-900", children: group.label })), (group.badge || group.formula_label) && (_jsx(DataFormBadge, { badge: group.badge, formula_label: group.formula_label, config: config }))] })), column_headers && column_headers.length > 0 && (_jsxs("div", { className: "cls_data_form_column_headers flex items-center gap-2 px-2 py-1 border-b border-gray-200 mb-1", children: [_jsx("div", { className: "flex-1" }), group.badge_column_width && (_jsx("div", { style: { width: group.badge_column_width }, className: "shrink-0" })), column_headers.map((header, idx) => (_jsx("div", { className: "shrink-0 text-xs font-medium text-gray-500 text-center", style: { width: header.width || group.value_column_width || '200px' }, children: header.label }, idx)))] })), _jsx("div", { className: cn('cls_data_form_group_fields', is_horizontal ? 'flex flex-wrap gap-4' : 'flex flex-col'), children: fields.map((field) => {
|
|
39
|
+
// Skip hidden fields
|
|
40
|
+
if (field.visibility === 'hidden')
|
|
41
|
+
return null;
|
|
42
|
+
// Handle nested groups (recursive)
|
|
43
|
+
if (field.field_type === 'group') {
|
|
44
|
+
const group_el = (_jsx(GroupRenderer, { group: field, mode: mode, form_data: form_data, config: config, on_field_change: on_field_change, on_doc_link_click: on_doc_link_click, file_uploads: file_uploads, on_upload_click: on_upload_click, upload_enabled: upload_enabled, reference_data: reference_data }, field.id));
|
|
45
|
+
// Wrap nested groups in flex:1 for even distribution in horizontal layout
|
|
46
|
+
if (is_horizontal) {
|
|
47
|
+
return (_jsx("div", { style: { flex: 1, minWidth: 0 }, children: group_el }, field.id));
|
|
48
|
+
}
|
|
49
|
+
return group_el;
|
|
50
|
+
}
|
|
51
|
+
const field_value = form_data[field.id];
|
|
52
|
+
const paired_value = field.paired_field ? form_data[field.paired_field.id] : undefined;
|
|
53
|
+
// Resolve accept_files: field-level overrides form-level default
|
|
54
|
+
const field_accepts_files = field.accept_files ?? config.default_accept_files;
|
|
55
|
+
const is_upload_enabled = field_accepts_files && upload_enabled;
|
|
56
|
+
// Get field uploads from explicit prop or from form_data convention
|
|
57
|
+
const resolved_uploads = file_uploads?.[field.id] ?? get_field_uploads(form_data, field.id);
|
|
58
|
+
// Resolve reference annotation
|
|
59
|
+
const ref = reference_data?.[field.id];
|
|
60
|
+
const ref_annotation = ref ? format_reference_annotation(ref) : undefined;
|
|
61
|
+
const ref_bg_color = ref?.background_color;
|
|
62
|
+
const field_el = (_jsx(DataFormFieldRenderer, { field: field, mode: mode, value: field_value, config: config, on_change: (val) => on_field_change(field.id, val), on_doc_link_click: on_doc_link_click && field.doc_links?.length
|
|
63
|
+
? () => on_doc_link_click({ field_id: field.id, doc_links: field.doc_links })
|
|
64
|
+
: undefined, badge_column_width: group.badge_column_width, value_column_width: group.value_column_width, paired_value: paired_value, paired_on_change: field.paired_field
|
|
65
|
+
? (val) => on_field_change(field.paired_field.id, val)
|
|
66
|
+
: undefined, field_uploads: resolved_uploads, on_upload_click: on_upload_click ? () => on_upload_click(field.id) : undefined, upload_enabled: is_upload_enabled, reserve_file_column: upload_enabled, force_layout: is_horizontal ? 'stacked' : undefined, reference_annotation: ref_annotation, reference_background_color: ref_bg_color, form_data: field.field_type === 'table' ? form_data : undefined, on_field_change: field.field_type === 'table' ? on_field_change : undefined }, field.id));
|
|
67
|
+
// Wrap fields in flex:1 for even distribution in horizontal layout
|
|
68
|
+
if (is_horizontal) {
|
|
69
|
+
return (_jsx("div", { style: { flex: 1, minWidth: 0 }, children: field_el }, field.id));
|
|
70
|
+
}
|
|
71
|
+
return field_el;
|
|
72
|
+
}) })] }));
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=group_renderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"group_renderer.js","sourceRoot":"","sources":["../../../src/components/hazo_data_form/group_renderer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HazoDataForm - Data entry form for working papers
|
|
3
|
+
*
|
|
4
|
+
* Renders form sections/groups/fields using ViewSection/ViewFieldConfig types.
|
|
5
|
+
* Uses form_data + on_field_change pattern (no react-hook-form).
|
|
6
|
+
* Supports computed fields, financial formatting, masked inputs, and tables.
|
|
7
|
+
*/
|
|
8
|
+
import type { HazoDataFormProps } from './types.js';
|
|
9
|
+
export declare function HazoDataForm({ sections, mode, form_data, on_field_change, on_form_data_change, styles_config, field_types_config, default_currency_symbol, default_decimal_places, percentage_suffix, on_doc_link_click, enable_file_upload, default_accept_files, on_upload_click, file_uploads, show_section_headers, collapsible_sections, collapsed_sections, on_section_toggle, reference_data, on_submit, class_name, }: HazoDataFormProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
//# sourceMappingURL=hazo_data_form.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hazo_data_form.d.ts","sourceRoot":"","sources":["../../../src/components/hazo_data_form/hazo_data_form.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AASH,OAAO,KAAK,EAAE,iBAAiB,EAAmC,MAAM,YAAY,CAAC;AAkCrF,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,IAAa,EACb,SAAS,EACT,eAAe,EACf,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,uBAA6B,EAC7B,sBAA0B,EAC1B,iBAAuB,EACvB,iBAAiB,EACjB,kBAA0B,EAC1B,oBAA4B,EAC5B,eAAe,EACf,YAAY,EACZ,oBAA2B,EAC3B,oBAA4B,EAC5B,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,SAAS,EACT,UAAU,GACX,EAAE,iBAAiB,2CAwGnB"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* HazoDataForm - Data entry form for working papers
|
|
4
|
+
*
|
|
5
|
+
* Renders form sections/groups/fields using ViewSection/ViewFieldConfig types.
|
|
6
|
+
* Uses form_data + on_field_change pattern (no react-hook-form).
|
|
7
|
+
* Supports computed fields, financial formatting, masked inputs, and tables.
|
|
8
|
+
*/
|
|
9
|
+
import { useMemo, useCallback, useRef } from 'react';
|
|
10
|
+
import { cn } from '../../utils/cn.js';
|
|
11
|
+
import { create_style_resolver } from '../../utils/style_resolver.js';
|
|
12
|
+
import { use_computed_fields } from '../../utils/use_computed_fields.js';
|
|
13
|
+
import { DEFAULT_STYLES_CONFIG } from '../../types/style_variant.js';
|
|
14
|
+
import { DEFAULT_FIELD_TYPES_CONFIG } from '../../types/field_type_definition.js';
|
|
15
|
+
import { SectionRenderer } from './section_renderer.js';
|
|
16
|
+
/**
|
|
17
|
+
* Collect computed field definitions from all sections
|
|
18
|
+
*/
|
|
19
|
+
function collect_computed_fields(sections) {
|
|
20
|
+
const result = [];
|
|
21
|
+
function walk_fields(fields) {
|
|
22
|
+
if (!fields)
|
|
23
|
+
return;
|
|
24
|
+
for (const field of fields) {
|
|
25
|
+
if (field.computed_formula) {
|
|
26
|
+
result.push({
|
|
27
|
+
field_id: field.id,
|
|
28
|
+
formula: field.computed_formula,
|
|
29
|
+
dependencies: field.computed_dependencies,
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
if (field.fields) {
|
|
33
|
+
walk_fields(field.fields);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
for (const section of sections) {
|
|
38
|
+
if (section.groups) {
|
|
39
|
+
walk_fields(section.groups);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return result;
|
|
43
|
+
}
|
|
44
|
+
export function HazoDataForm({ sections, mode = 'edit', form_data, on_field_change, on_form_data_change, styles_config, field_types_config, default_currency_symbol = '$', default_decimal_places = 2, percentage_suffix = '%', on_doc_link_click, enable_file_upload = false, default_accept_files = false, on_upload_click, file_uploads, show_section_headers = true, collapsible_sections = false, collapsed_sections, on_section_toggle, reference_data, on_submit, class_name, }) {
|
|
45
|
+
const form_data_ref = useRef(form_data);
|
|
46
|
+
form_data_ref.current = form_data;
|
|
47
|
+
// Create style resolver (memoized)
|
|
48
|
+
const resolved_styles_config = styles_config || DEFAULT_STYLES_CONFIG;
|
|
49
|
+
const resolved_field_types_config = field_types_config || DEFAULT_FIELD_TYPES_CONFIG;
|
|
50
|
+
const style_resolver = useMemo(() => create_style_resolver(resolved_styles_config), [resolved_styles_config]);
|
|
51
|
+
// Build config object
|
|
52
|
+
const config = useMemo(() => ({
|
|
53
|
+
styles_config: resolved_styles_config,
|
|
54
|
+
field_types_config: resolved_field_types_config,
|
|
55
|
+
default_currency_symbol,
|
|
56
|
+
default_decimal_places,
|
|
57
|
+
percentage_suffix,
|
|
58
|
+
style_resolver,
|
|
59
|
+
default_accept_files,
|
|
60
|
+
}), [resolved_styles_config, resolved_field_types_config, default_currency_symbol, default_decimal_places, percentage_suffix, style_resolver, default_accept_files]);
|
|
61
|
+
// Collect computed fields
|
|
62
|
+
const computed_fields = useMemo(() => collect_computed_fields(sections), [sections]);
|
|
63
|
+
// Handle field change
|
|
64
|
+
const handle_field_change = useCallback((field_id, value) => {
|
|
65
|
+
on_field_change?.(field_id, value);
|
|
66
|
+
if (on_form_data_change) {
|
|
67
|
+
const updated = { ...form_data_ref.current, [field_id]: value };
|
|
68
|
+
on_form_data_change(updated);
|
|
69
|
+
}
|
|
70
|
+
}, [on_field_change, on_form_data_change]);
|
|
71
|
+
// Handle computed field value changes
|
|
72
|
+
const handle_computed_change = useCallback((field_id, value) => {
|
|
73
|
+
if (value !== null) {
|
|
74
|
+
handle_field_change(field_id, value);
|
|
75
|
+
}
|
|
76
|
+
}, [handle_field_change]);
|
|
77
|
+
// Use computed fields hook
|
|
78
|
+
use_computed_fields({
|
|
79
|
+
form_data,
|
|
80
|
+
computed_fields,
|
|
81
|
+
on_computed_value_change: handle_computed_change,
|
|
82
|
+
enabled: computed_fields.length > 0,
|
|
83
|
+
});
|
|
84
|
+
// Handle form submit
|
|
85
|
+
const handle_submit = useCallback((e) => {
|
|
86
|
+
e.preventDefault();
|
|
87
|
+
on_submit?.(form_data_ref.current);
|
|
88
|
+
}, [on_submit]);
|
|
89
|
+
const collapsed_set = useMemo(() => new Set(collapsed_sections || []), [collapsed_sections]);
|
|
90
|
+
const content = (_jsx("div", { className: cn('cls_data_form', 'w-full', class_name), children: sections.map((section, index) => {
|
|
91
|
+
const section_name = section.section_name || `section_${index}`;
|
|
92
|
+
return (_jsx(SectionRenderer, { section: section, section_index: index, mode: mode, form_data: form_data, config: config, on_field_change: handle_field_change, on_doc_link_click: on_doc_link_click, file_uploads: file_uploads, on_upload_click: on_upload_click, upload_enabled: enable_file_upload, reference_data: reference_data, show_header: show_section_headers, collapsible: collapsible_sections, initial_collapsed: collapsed_set.has(section_name), on_collapse_toggle: on_section_toggle }, section_name));
|
|
93
|
+
}) }));
|
|
94
|
+
// Wrap in form tag if on_submit is provided
|
|
95
|
+
if (on_submit) {
|
|
96
|
+
return (_jsx("form", { onSubmit: handle_submit, className: "cls_data_form_wrapper", children: content }));
|
|
97
|
+
}
|
|
98
|
+
return content;
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=hazo_data_form.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hazo_data_form.js","sourceRoot":"","sources":["../../../src/components/hazo_data_form/hazo_data_form.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HazoDataForm - Data entry form for working papers
|
|
3
|
+
*/
|
|
4
|
+
export { HazoDataForm } from './hazo_data_form.js';
|
|
5
|
+
export type { HazoDataFormProps, DataFormConfig, DataFormFieldRendererProps } from './types.js';
|
|
6
|
+
export { DataFormFieldLayout } from './shared/index.js';
|
|
7
|
+
export type { DataFormFieldLayoutProps } from './shared/index.js';
|
|
8
|
+
export { SectionRenderer } from './section_renderer.js';
|
|
9
|
+
export type { SectionRendererProps } from './section_renderer.js';
|
|
10
|
+
export { GroupRenderer } from './group_renderer.js';
|
|
11
|
+
export type { GroupRendererProps } from './group_renderer.js';
|
|
12
|
+
export { DataFormFieldRenderer, resolve_field_renderer } from './field_renderers/index.js';
|
|
13
|
+
export { FileManagerButton } from './file_manager_button.js';
|
|
14
|
+
export type { FileManagerButtonProps } from './file_manager_button.js';
|
|
15
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/hazo_data_form/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAGhG,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,YAAY,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAGlE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,YAAY,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAElE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,YAAY,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAG9D,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAG3F,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,YAAY,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HazoDataForm - Data entry form for working papers
|
|
3
|
+
*/
|
|
4
|
+
export { HazoDataForm } from './hazo_data_form.js';
|
|
5
|
+
// Shared layout components
|
|
6
|
+
export { DataFormFieldLayout } from './shared/index.js';
|
|
7
|
+
// Section and group renderers
|
|
8
|
+
export { SectionRenderer } from './section_renderer.js';
|
|
9
|
+
export { GroupRenderer } from './group_renderer.js';
|
|
10
|
+
// Field renderers
|
|
11
|
+
export { DataFormFieldRenderer, resolve_field_renderer } from './field_renderers/index.js';
|
|
12
|
+
// File manager button
|
|
13
|
+
export { FileManagerButton } from './file_manager_button.js';
|
|
14
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/hazo_data_form/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGnD,2BAA2B;AAC3B,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAGxD,8BAA8B;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGxD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGpD,kBAAkB;AAClB,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAE3F,sBAAsB;AACtB,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Section renderer for HazoDataForm
|
|
3
|
+
* Renders ViewSection: header with style_variant, collapsibility, and groups
|
|
4
|
+
*/
|
|
5
|
+
import type { ViewSection, DataFormConfig, DocLinkClickEvent, UploadedFile, ReferenceData } from './types.js';
|
|
6
|
+
export interface SectionRendererProps {
|
|
7
|
+
section: ViewSection;
|
|
8
|
+
section_index: number;
|
|
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
|
+
show_header?: boolean;
|
|
19
|
+
collapsible?: boolean;
|
|
20
|
+
initial_collapsed?: boolean;
|
|
21
|
+
on_collapse_toggle?: (section_name: string, collapsed: boolean) => void;
|
|
22
|
+
}
|
|
23
|
+
export declare function SectionRenderer({ section, mode, form_data, config, on_field_change, on_doc_link_click, file_uploads, on_upload_click, upload_enabled, reference_data, show_header, collapsible, initial_collapsed, on_collapse_toggle, }: SectionRendererProps): import("react/jsx-runtime").JSX.Element;
|
|
24
|
+
//# sourceMappingURL=section_renderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"section_renderer.d.ts","sourceRoot":"","sources":["../../../src/components/hazo_data_form/section_renderer.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,iBAAiB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAG9G,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,WAAW,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,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;IAC/B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,kBAAkB,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;CACzE;AAED,wBAAgB,eAAe,CAAC,EAC9B,OAAO,EACP,IAAI,EACJ,SAAS,EACT,MAAM,EACN,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,cAAc,EACd,cAAc,EACd,WAAkB,EAClB,WAAmB,EACnB,iBAAyB,EACzB,kBAAkB,GACnB,EAAE,oBAAoB,2CAoFtB"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* Section renderer for HazoDataForm
|
|
4
|
+
* Renders ViewSection: header with style_variant, collapsibility, and groups
|
|
5
|
+
*/
|
|
6
|
+
import { useState, useCallback } from 'react';
|
|
7
|
+
import { cn } from '../../utils/cn.js';
|
|
8
|
+
import { GroupRenderer } from './group_renderer.js';
|
|
9
|
+
export function SectionRenderer({ section, mode, form_data, config, on_field_change, on_doc_link_click, file_uploads, on_upload_click, upload_enabled, reference_data, show_header = true, collapsible = false, initial_collapsed = false, on_collapse_toggle, }) {
|
|
10
|
+
const [is_collapsed, set_is_collapsed] = useState(initial_collapsed);
|
|
11
|
+
const groups = section.groups || [];
|
|
12
|
+
const section_name = section.section_name || '';
|
|
13
|
+
// Style for section header
|
|
14
|
+
const variant_style = section.style_variant && config.style_resolver.has_style(section.style_variant)
|
|
15
|
+
? config.style_resolver.to_style(section.style_variant)
|
|
16
|
+
: undefined;
|
|
17
|
+
const handle_toggle = useCallback(() => {
|
|
18
|
+
const new_state = !is_collapsed;
|
|
19
|
+
set_is_collapsed(new_state);
|
|
20
|
+
on_collapse_toggle?.(section_name, new_state);
|
|
21
|
+
}, [is_collapsed, section_name, on_collapse_toggle]);
|
|
22
|
+
return (_jsxs("div", { className: cn('cls_data_form_section', 'mb-4'), children: [show_header && section_name && (_jsxs("div", { className: cn('cls_data_form_section_header', 'flex items-center gap-2 py-2 px-3 rounded-t', collapsible && 'cursor-pointer select-none', !variant_style && 'bg-gray-100 border-b border-gray-200'), style: variant_style, onClick: collapsible ? handle_toggle : undefined, role: collapsible ? 'button' : undefined, tabIndex: collapsible ? 0 : undefined, onKeyDown: collapsible ? (e) => {
|
|
23
|
+
if (e.key === 'Enter' || e.key === ' ') {
|
|
24
|
+
e.preventDefault();
|
|
25
|
+
handle_toggle();
|
|
26
|
+
}
|
|
27
|
+
} : undefined, children: [collapsible && (_jsx("svg", { className: cn('w-4 h-4 shrink-0 transition-transform', is_collapsed && '-rotate-90'), fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M19 9l-7 7-7-7" }) })), _jsx("span", { className: "font-semibold text-sm", children: section_name })] })), !is_collapsed && (_jsxs("div", { className: cn('cls_data_form_section_content', 'px-1 pt-1'), children: [groups.map((group) => {
|
|
28
|
+
// Skip hidden groups
|
|
29
|
+
if (group.visibility === 'hidden')
|
|
30
|
+
return null;
|
|
31
|
+
return (_jsx(GroupRenderer, { group: group, mode: mode, form_data: form_data, config: config, on_field_change: on_field_change, on_doc_link_click: on_doc_link_click, file_uploads: file_uploads, on_upload_click: on_upload_click, upload_enabled: upload_enabled, reference_data: reference_data }, group.id));
|
|
32
|
+
}), groups.length === 0 && (_jsx("div", { className: "text-sm text-gray-400 py-4 text-center italic", children: "No fields in this section" }))] }))] }));
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=section_renderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"section_renderer.js","sourceRoot":"","sources":["../../../src/components/hazo_data_form/section_renderer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Badge component for data form fields
|
|
3
|
+
* Renders: badge pill + formula_label text
|
|
4
|
+
*/
|
|
5
|
+
import type { DataFormConfig } from './types.js';
|
|
6
|
+
export interface DataFormBadgeProps {
|
|
7
|
+
badge?: string;
|
|
8
|
+
formula_label?: string;
|
|
9
|
+
config: DataFormConfig;
|
|
10
|
+
column_width?: string;
|
|
11
|
+
}
|
|
12
|
+
export declare function DataFormBadge({ badge, formula_label, config, column_width }: DataFormBadgeProps): import("react/jsx-runtime").JSX.Element | null;
|
|
13
|
+
//# sourceMappingURL=data_form_badge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data_form_badge.d.ts","sourceRoot":"","sources":["../../../../src/components/hazo_data_form/shared/data_form_badge.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,cAAc,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,kBAAkB,kDA4B/F"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from '../../../utils/cn.js';
|
|
3
|
+
import { to_inline_style } from '../../../utils/style_resolver.js';
|
|
4
|
+
export function DataFormBadge({ badge, formula_label, config, column_width }) {
|
|
5
|
+
if (!badge && !formula_label)
|
|
6
|
+
return null;
|
|
7
|
+
const { style_resolver } = config;
|
|
8
|
+
const badge_style = style_resolver.has_style('badge')
|
|
9
|
+
? to_inline_style(style_resolver.resolve('badge'))
|
|
10
|
+
: undefined;
|
|
11
|
+
return (_jsxs("div", { className: cn('cls_data_form_badge', 'flex items-center gap-1.5 shrink-0'), style: column_width ? { width: column_width } : undefined, children: [badge && (_jsx("span", { className: "cls_data_form_badge_pill inline-flex items-center justify-center", style: badge_style, children: badge })), formula_label && (_jsx("span", { className: "cls_data_form_formula_label text-xs text-gray-500 whitespace-nowrap", children: formula_label }))] }));
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=data_form_badge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data_form_badge.js","sourceRoot":"","sources":["../../../../src/components/hazo_data_form/shared/data_form_badge.tsx"],"names":[],"mappings":";AAMA,OAAO,EAAE,EAAE,EAAE,MAAM,sBAAsB,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAUnE,MAAM,UAAU,aAAa,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,EAAsB;IAC9F,IAAI,CAAC,KAAK,IAAI,CAAC,aAAa;QAAE,OAAO,IAAI,CAAC;IAE1C,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,CAAC;IAClC,MAAM,WAAW,GAAG,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC;QACnD,CAAC,CAAC,eAAe,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAClD,CAAC,CAAC,SAAS,CAAC;IAEd,OAAO,CACL,eACE,SAAS,EAAE,EAAE,CAAC,qBAAqB,EAAE,oCAAoC,CAAC,EAC1E,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,SAAS,aAExD,KAAK,IAAI,CACR,eACE,SAAS,EAAC,kEAAkE,EAC5E,KAAK,EAAE,WAAW,YAEjB,KAAK,GACD,CACR,EACA,aAAa,IAAI,CAChB,eAAM,SAAS,EAAC,qEAAqE,YAClF,aAAa,GACT,CACR,IACG,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Field layout wrapper for data form fields
|
|
3
|
+
* Handles inline vs stacked layout, error display, reference value, and file column
|
|
4
|
+
*/
|
|
5
|
+
import React from 'react';
|
|
6
|
+
import type { DataFormFieldRendererProps } from './types.js';
|
|
7
|
+
export interface DataFormFieldLayoutProps extends DataFormFieldRendererProps {
|
|
8
|
+
children: React.ReactNode;
|
|
9
|
+
computed_formula?: string;
|
|
10
|
+
reference_annotation?: string;
|
|
11
|
+
/** Override label_position for this field */
|
|
12
|
+
force_layout?: 'inline' | 'stacked';
|
|
13
|
+
/** Hide label (e.g., for summary rows) */
|
|
14
|
+
hide_label?: boolean;
|
|
15
|
+
}
|
|
16
|
+
export declare function DataFormFieldLayout({ field, mode, error, config, on_doc_link_click, badge_column_width, value_column_width, field_uploads, on_upload_click, upload_enabled, reserve_file_column, children, computed_formula, reference_annotation, reference_background_color, force_layout, hide_label, }: DataFormFieldLayoutProps): import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
//# sourceMappingURL=data_form_field_layout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data_form_field_layout.d.ts","sourceRoot":"","sources":["../../../../src/components/hazo_data_form/shared/data_form_field_layout.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAM7D,MAAM,WAAW,wBAAyB,SAAQ,0BAA0B;IAC1E,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,6CAA6C;IAC7C,YAAY,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IACpC,0CAA0C;IAC1C,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,wBAAgB,mBAAmB,CAAC,EAClC,KAAK,EACL,IAAI,EACJ,KAAK,EACL,MAAM,EACN,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACb,eAAe,EACf,cAAc,EACd,mBAAmB,EACnB,QAAQ,EACR,gBAAgB,EAChB,oBAAoB,EACpB,0BAA0B,EAC1B,YAAY,EACZ,UAAU,GACX,EAAE,wBAAwB,2CAsI1B"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from '../../../utils/cn.js';
|
|
3
|
+
import { DataFormLabel } from './data_form_label.js';
|
|
4
|
+
import { DataFormBadge } from './data_form_badge.js';
|
|
5
|
+
import { DataFormReferenceValue } from './data_form_reference_value.js';
|
|
6
|
+
import { DataFormFileColumn } from './data_form_file_column.js';
|
|
7
|
+
export function DataFormFieldLayout({ field, mode, error, config, on_doc_link_click, badge_column_width, value_column_width, field_uploads, on_upload_click, upload_enabled, reserve_file_column, children, computed_formula, reference_annotation, reference_background_color, force_layout, hide_label, }) {
|
|
8
|
+
const layout = force_layout || field.label_position || 'inline';
|
|
9
|
+
const is_inline = layout === 'inline';
|
|
10
|
+
const has_badge = Boolean(field.badge || field.formula_label);
|
|
11
|
+
const has_error = Boolean(error);
|
|
12
|
+
const has_files = Boolean((field.doc_links && field.doc_links.length > 0) ||
|
|
13
|
+
(field_uploads && field_uploads.length > 0) ||
|
|
14
|
+
upload_enabled);
|
|
15
|
+
// Show file column area (active or spacer) to keep fields aligned
|
|
16
|
+
const show_file_area = has_files || reserve_file_column;
|
|
17
|
+
const error_style = config.style_resolver.has_style('error_message')
|
|
18
|
+
? config.style_resolver.to_style('error_message')
|
|
19
|
+
: undefined;
|
|
20
|
+
const row_style = field.row_variant === 'highlight' && config.style_resolver.has_style('highlight_row')
|
|
21
|
+
? config.style_resolver.to_style('highlight_row')
|
|
22
|
+
: undefined;
|
|
23
|
+
if (is_inline) {
|
|
24
|
+
return (_jsxs("div", { className: cn('cls_data_form_field_row', 'flex items-center gap-2 py-1', has_error && 'items-start'), style: row_style, children: [!hide_label && (_jsx("div", { className: "cls_data_form_label_col flex-1 min-w-0", children: _jsx(DataFormLabel, { field: field, config: config, computed_formula: computed_formula }) })), has_badge && (_jsx(DataFormBadge, { badge: field.badge, formula_label: field.formula_label, config: config, column_width: badge_column_width })), _jsxs("div", { className: "cls_data_form_value_col shrink-0", style: {
|
|
25
|
+
width: field.value_width || value_column_width || '200px',
|
|
26
|
+
}, children: [children, has_error && (_jsx("div", { className: "cls_data_form_error", style: error_style, children: error })), reference_annotation && (_jsx(DataFormReferenceValue, { value: reference_annotation, background_color: reference_background_color }))] }), show_file_area && (has_files ? (_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: "cls_data_form_file_col_spacer shrink-0 ml-1", style: { width: 26 } })))] }));
|
|
27
|
+
}
|
|
28
|
+
// Stacked layout
|
|
29
|
+
return (_jsxs("div", { className: cn('cls_data_form_field_stacked', 'flex flex-col gap-1 py-1'), style: row_style, children: [!hide_label && (_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(DataFormLabel, { field: field, config: config, computed_formula: computed_formula }), has_badge && (_jsx(DataFormBadge, { badge: field.badge, formula_label: field.formula_label, config: config }))] })), _jsxs("div", { className: "flex items-start gap-1", children: [_jsxs("div", { className: "flex-1 min-w-0", children: [children, has_error && (_jsx("div", { className: "cls_data_form_error", style: error_style, children: error })), reference_annotation && (_jsx(DataFormReferenceValue, { value: reference_annotation, background_color: reference_background_color }))] }), show_file_area && (has_files ? (_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: "cls_data_form_file_col_spacer shrink-0 ml-1", style: { width: 26 } })))] })] }));
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=data_form_field_layout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data_form_field_layout.js","sourceRoot":"","sources":["../../../../src/components/hazo_data_form/shared/data_form_field_layout.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* File column component for data form fields
|
|
3
|
+
* Shows a unified file icon: grey FaFileUpload when no files, blue FaFileAlt + count badge when files exist.
|
|
4
|
+
* Matches the hazo_data_forms FileManagerButton visual pattern.
|
|
5
|
+
*/
|
|
6
|
+
import type { DocLink, UploadedFile, DataFormConfig } from './types.js';
|
|
7
|
+
export interface DataFormFileColumnProps {
|
|
8
|
+
doc_links?: DocLink[];
|
|
9
|
+
field_uploads?: UploadedFile[];
|
|
10
|
+
on_doc_link_click?: () => void;
|
|
11
|
+
on_upload_click?: () => void;
|
|
12
|
+
upload_enabled?: boolean;
|
|
13
|
+
mode: 'edit' | 'view';
|
|
14
|
+
config: DataFormConfig;
|
|
15
|
+
}
|
|
16
|
+
export declare function DataFormFileColumn({ doc_links, field_uploads, on_doc_link_click, on_upload_click, upload_enabled, mode, }: DataFormFileColumnProps): import("react/jsx-runtime").JSX.Element | null;
|
|
17
|
+
//# sourceMappingURL=data_form_file_column.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data_form_file_column.d.ts","sourceRoot":"","sources":["../../../../src/components/hazo_data_form/shared/data_form_file_column.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAExE,MAAM,WAAW,uBAAuB;IACtC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC;IACtB,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;IAC/B,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,MAAM,EAAE,cAAc,CAAC;CACxB;AASD,wBAAgB,kBAAkB,CAAC,EACjC,SAAS,EACT,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,IAAI,GACL,EAAE,uBAAuB,kDAiEzB"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* File column component for data form fields
|
|
4
|
+
* Shows a unified file icon: grey FaFileUpload when no files, blue FaFileAlt + count badge when files exist.
|
|
5
|
+
* Matches the hazo_data_forms FileManagerButton visual pattern.
|
|
6
|
+
*/
|
|
7
|
+
import { useState } from 'react';
|
|
8
|
+
import { FaFileUpload, FaFileAlt } from 'react-icons/fa';
|
|
9
|
+
import { cn } from '../../../utils/cn.js';
|
|
10
|
+
const ICON_SIZE = 18;
|
|
11
|
+
const ICON_COLOR_DEFAULT = '#9ca3af'; // grey-400
|
|
12
|
+
const ICON_COLOR_WITH_FILES = '#2563eb'; // blue-600
|
|
13
|
+
const ICON_COLOR_HOVER = '#1d4ed8'; // blue-700
|
|
14
|
+
const BADGE_BG = '#2563eb'; // blue-600
|
|
15
|
+
const BADGE_TEXT = '#ffffff';
|
|
16
|
+
export function DataFormFileColumn({ doc_links, field_uploads, on_doc_link_click, on_upload_click, upload_enabled, mode, }) {
|
|
17
|
+
const [is_hovered, set_is_hovered] = useState(false);
|
|
18
|
+
const doc_count = doc_links?.length ?? 0;
|
|
19
|
+
const upload_count = field_uploads?.length ?? 0;
|
|
20
|
+
const total_count = doc_count + upload_count;
|
|
21
|
+
const has_files = total_count > 0;
|
|
22
|
+
if (!has_files && !upload_enabled)
|
|
23
|
+
return null;
|
|
24
|
+
// Determine click handler: use doc_link handler if available, otherwise upload handler
|
|
25
|
+
const handle_click = has_files
|
|
26
|
+
? (on_doc_link_click || on_upload_click)
|
|
27
|
+
: on_upload_click;
|
|
28
|
+
// Icon logic: FaFileAlt (blue) when files exist, FaFileUpload (grey) when empty
|
|
29
|
+
const IconComponent = has_files ? FaFileAlt : FaFileUpload;
|
|
30
|
+
const icon_color = is_hovered
|
|
31
|
+
? ICON_COLOR_HOVER
|
|
32
|
+
: has_files
|
|
33
|
+
? ICON_COLOR_WITH_FILES
|
|
34
|
+
: ICON_COLOR_DEFAULT;
|
|
35
|
+
const tooltip = has_files
|
|
36
|
+
? `${total_count} file${total_count !== 1 ? 's' : ''} attached`
|
|
37
|
+
: 'Upload file';
|
|
38
|
+
// In view mode with no files, show nothing
|
|
39
|
+
if (mode === 'view' && !has_files)
|
|
40
|
+
return null;
|
|
41
|
+
return (_jsx("div", { className: cn('cls_data_form_file_col', 'flex items-center shrink-0 ml-1'), children: _jsxs("button", { type: "button", onClick: handle_click, onMouseEnter: () => set_is_hovered(true), onMouseLeave: () => set_is_hovered(false), disabled: !handle_click, className: cn('cls_file_manager_btn relative p-1 rounded transition-colors', handle_click ? 'cursor-pointer' : 'opacity-50 cursor-not-allowed'), style: is_hovered && handle_click ? { backgroundColor: 'rgba(0,0,0,0.06)' } : undefined, "aria-label": tooltip, title: tooltip, children: [_jsx(IconComponent, { size: ICON_SIZE, color: icon_color, className: "transition-colors" }), total_count > 0 && (_jsx("span", { className: "cls_file_count_badge absolute -top-1 -right-1 min-w-[16px] h-[16px] flex items-center justify-center rounded-full text-[10px] font-bold", style: {
|
|
42
|
+
backgroundColor: BADGE_BG,
|
|
43
|
+
color: BADGE_TEXT,
|
|
44
|
+
}, children: total_count > 9 ? '9+' : total_count }))] }) }));
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=data_form_file_column.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data_form_file_column.js","sourceRoot":"","sources":["../../../../src/components/hazo_data_form/shared/data_form_file_column.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Help tooltip for data form fields
|
|
3
|
+
* Lightweight implementation using title attribute and hover div
|
|
4
|
+
*/
|
|
5
|
+
export interface DataFormHelpTooltipProps {
|
|
6
|
+
help_tooltip: {
|
|
7
|
+
text?: string;
|
|
8
|
+
link?: string;
|
|
9
|
+
show_formula?: boolean;
|
|
10
|
+
formula_display?: string;
|
|
11
|
+
};
|
|
12
|
+
computed_formula?: string;
|
|
13
|
+
}
|
|
14
|
+
export declare function DataFormHelpTooltip({ help_tooltip, computed_formula }: DataFormHelpTooltipProps): import("react/jsx-runtime").JSX.Element | null;
|
|
15
|
+
//# sourceMappingURL=data_form_help_tooltip.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data_form_help_tooltip.d.ts","sourceRoot":"","sources":["../../../../src/components/hazo_data_form/shared/data_form_help_tooltip.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,MAAM,WAAW,wBAAwB;IACvC,YAAY,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,OAAO,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACjG,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,wBAAgB,mBAAmB,CAAC,EAAE,YAAY,EAAE,gBAAgB,EAAE,EAAE,wBAAwB,kDAiE/F"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* Help tooltip for data form fields
|
|
4
|
+
* Lightweight implementation using title attribute and hover div
|
|
5
|
+
*/
|
|
6
|
+
import { useState, useRef } from 'react';
|
|
7
|
+
import { cn } from '../../../utils/cn.js';
|
|
8
|
+
export function DataFormHelpTooltip({ help_tooltip, computed_formula }) {
|
|
9
|
+
const [is_visible, set_is_visible] = useState(false);
|
|
10
|
+
const timeout_ref = useRef(null);
|
|
11
|
+
const show_formula = help_tooltip.show_formula && (help_tooltip.formula_display || computed_formula);
|
|
12
|
+
const has_content = help_tooltip.text || show_formula || help_tooltip.link;
|
|
13
|
+
if (!has_content)
|
|
14
|
+
return null;
|
|
15
|
+
const handle_mouse_enter = () => {
|
|
16
|
+
if (timeout_ref.current)
|
|
17
|
+
clearTimeout(timeout_ref.current);
|
|
18
|
+
set_is_visible(true);
|
|
19
|
+
};
|
|
20
|
+
const handle_mouse_leave = () => {
|
|
21
|
+
timeout_ref.current = setTimeout(() => set_is_visible(false), 150);
|
|
22
|
+
};
|
|
23
|
+
return (_jsxs("div", { className: "cls_data_form_help_tooltip relative inline-flex", onMouseEnter: handle_mouse_enter, onMouseLeave: handle_mouse_leave, children: [_jsx("button", { type: "button", className: cn('inline-flex items-center justify-center w-4 h-4 rounded-full', 'text-[10px] font-bold text-gray-400 border border-gray-300', 'hover:text-gray-600 hover:border-gray-400 cursor-help'), tabIndex: -1, "aria-label": "Help", children: "?" }), is_visible && (_jsxs("div", { className: cn('absolute z-50 bottom-full left-1/2 -translate-x-1/2 mb-1', 'bg-gray-800 text-white text-xs rounded px-2.5 py-1.5', 'shadow-lg max-w-[250px] whitespace-normal'), children: [help_tooltip.text && _jsx("p", { children: help_tooltip.text }), show_formula && (_jsx("p", { className: "mt-1 font-mono text-[10px] text-gray-300", children: help_tooltip.formula_display || computed_formula })), help_tooltip.link && (_jsx("a", { href: help_tooltip.link, target: "_blank", rel: "noopener noreferrer", className: "mt-1 block text-blue-300 underline text-[10px]", children: "Learn more" })), _jsx("div", { className: "absolute top-full left-1/2 -translate-x-1/2 border-4 border-transparent border-t-gray-800" })] }))] }));
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=data_form_help_tooltip.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data_form_help_tooltip.js","sourceRoot":"","sources":["../../../../src/components/hazo_data_form/shared/data_form_help_tooltip.tsx"],"names":[],"mappings":";AAAA;;;GAGG;AAEH,OAAc,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAChD,OAAO,EAAE,EAAE,EAAE,MAAM,sBAAsB,CAAC;AAO1C,MAAM,UAAU,mBAAmB,CAAC,EAAE,YAAY,EAAE,gBAAgB,EAA4B;IAC9F,MAAM,CAAC,UAAU,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACrD,MAAM,WAAW,GAAG,MAAM,CAAuC,IAAI,CAAC,CAAC;IAEvE,MAAM,YAAY,GAAG,YAAY,CAAC,YAAY,IAAI,CAAC,YAAY,CAAC,eAAe,IAAI,gBAAgB,CAAC,CAAC;IACrG,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,IAAI,YAAY,IAAI,YAAY,CAAC,IAAI,CAAC;IAE3E,IAAI,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IAE9B,MAAM,kBAAkB,GAAG,GAAG,EAAE;QAC9B,IAAI,WAAW,CAAC,OAAO;YAAE,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC3D,cAAc,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,GAAG,EAAE;QAC9B,WAAW,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;IACrE,CAAC,CAAC;IAEF,OAAO,CACL,eACE,SAAS,EAAC,iDAAiD,EAC3D,YAAY,EAAE,kBAAkB,EAChC,YAAY,EAAE,kBAAkB,aAEhC,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,EAAE,CACX,8DAA8D,EAC9D,4DAA4D,EAC5D,uDAAuD,CACxD,EACD,QAAQ,EAAE,CAAC,CAAC,gBACD,MAAM,kBAGV,EACR,UAAU,IAAI,CACb,eACE,SAAS,EAAE,EAAE,CACX,0DAA0D,EAC1D,sDAAsD,EACtD,2CAA2C,CAC5C,aAEA,YAAY,CAAC,IAAI,IAAI,sBAAI,YAAY,CAAC,IAAI,GAAK,EAC/C,YAAY,IAAI,CACf,YAAG,SAAS,EAAC,0CAA0C,YACpD,YAAY,CAAC,eAAe,IAAI,gBAAgB,GAC/C,CACL,EACA,YAAY,CAAC,IAAI,IAAI,CACpB,YACE,IAAI,EAAE,YAAY,CAAC,IAAI,EACvB,MAAM,EAAC,QAAQ,EACf,GAAG,EAAC,qBAAqB,EACzB,SAAS,EAAC,gDAAgD,2BAGxD,CACL,EACD,cAAK,SAAS,EAAC,2FAA2F,GAAG,IACzG,CACP,IACG,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Label component for data form fields
|
|
3
|
+
* Renders: item_code box + label + required asterisk + help tooltip icon
|
|
4
|
+
*/
|
|
5
|
+
import type { DataFormConfig, ViewFieldConfig } from './types.js';
|
|
6
|
+
export interface DataFormLabelProps {
|
|
7
|
+
field: ViewFieldConfig;
|
|
8
|
+
config: DataFormConfig;
|
|
9
|
+
computed_formula?: string;
|
|
10
|
+
}
|
|
11
|
+
export declare function DataFormLabel({ field, config, computed_formula }: DataFormLabelProps): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
//# sourceMappingURL=data_form_label.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data_form_label.d.ts","sourceRoot":"","sources":["../../../../src/components/hazo_data_form/shared/data_form_label.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGlE,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,eAAe,CAAC;IACvB,MAAM,EAAE,cAAc,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,kBAAkB,2CAwCpF"}
|