hazo_collab_forms 1.12.0 → 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 +406 -0
- package/dist/components/_internal_form_set.d.ts +13 -0
- package/dist/components/_internal_form_set.d.ts.map +1 -1
- package/dist/components/_internal_form_set.js +49 -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_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_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_view/context.d.ts.map +1 -1
- package/dist/components/hazo_collab_form_view/context.js +19 -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 +32 -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 +74 -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 +187 -10
- package/dist/components/hazo_collab_form_view/views/summary_view.js.map +1 -1
- package/dist/components/hazo_data_form/field_renderers/index.d.ts +6 -0
- package/dist/components/hazo_data_form/field_renderers/index.d.ts.map +1 -1
- package/dist/components/hazo_data_form/field_renderers/index.js +22 -1
- package/dist/components/hazo_data_form/field_renderers/index.js.map +1 -1
- package/dist/components/hazo_data_form/group_renderer.d.ts.map +1 -1
- package/dist/components/hazo_data_form/group_renderer.js +2 -1
- package/dist/components/hazo_data_form/group_renderer.js.map +1 -1
- package/dist/components/hazo_data_form/shared/data_form_field_layout.d.ts +1 -1
- package/dist/components/hazo_data_form/shared/data_form_field_layout.d.ts.map +1 -1
- package/dist/components/hazo_data_form/shared/data_form_field_layout.js +3 -3
- package/dist/components/hazo_data_form/shared/data_form_field_layout.js.map +1 -1
- package/dist/components/hazo_data_form/shared/data_form_reference_value.d.ts +3 -1
- package/dist/components/hazo_data_form/shared/data_form_reference_value.d.ts.map +1 -1
- package/dist/components/hazo_data_form/shared/data_form_reference_value.js +5 -2
- package/dist/components/hazo_data_form/shared/data_form_reference_value.js.map +1 -1
- package/dist/components/hazo_data_form/types.d.ts +2 -0
- package/dist/components/hazo_data_form/types.d.ts.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 +9 -2
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +9 -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/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/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 +3 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- 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/index.d.ts +3 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +4 -0
- package/dist/utils/index.js.map +1 -1
- 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/package.json +15 -3
- package/templates/config/hazo_collab_forms_config.ini +7 -0
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
/**
|
|
3
|
+
* Client-side hook for triggering document validation.
|
|
4
|
+
*
|
|
5
|
+
* Calls the validation API endpoint with the uploaded file and rules,
|
|
6
|
+
* and returns created ClarificationItems.
|
|
7
|
+
*/
|
|
8
|
+
import { useState, useCallback, useMemo } from 'react';
|
|
9
|
+
/**
|
|
10
|
+
* Convert a ValidationRule to a ValidationRuleExecution for the API.
|
|
11
|
+
* Performs client-side variable substitution where possible.
|
|
12
|
+
*
|
|
13
|
+
* Field resolution priority:
|
|
14
|
+
* 1. rule_field_map[rule.id] (field/group-level assignment via validation_rules)
|
|
15
|
+
* 2. rule.target_field_id (deprecated, backward compat)
|
|
16
|
+
* 3. '__document' (fallback for document-wide rules)
|
|
17
|
+
*/
|
|
18
|
+
function rule_to_execution(rule, variables, rule_field_map) {
|
|
19
|
+
// Substitute known variables in the prompt
|
|
20
|
+
let prompt = rule.prompt;
|
|
21
|
+
for (const [key, value] of Object.entries(variables)) {
|
|
22
|
+
prompt = prompt.replace(new RegExp(`\\{\\{${key}\\}\\}`, 'g'), value);
|
|
23
|
+
}
|
|
24
|
+
// Resolve target field: map > rule.target_field_id > '__document'
|
|
25
|
+
const mapping = rule_field_map?.[rule.id];
|
|
26
|
+
const target_field_id = mapping?.field_id ?? rule.target_field_id ?? '__document';
|
|
27
|
+
const target_label = mapping?.field_label ?? rule.target_label ?? rule.name;
|
|
28
|
+
return {
|
|
29
|
+
rule_id: rule.id,
|
|
30
|
+
name: rule.name,
|
|
31
|
+
prompt,
|
|
32
|
+
target_field_id,
|
|
33
|
+
target_label,
|
|
34
|
+
clarification_type: rule.clarification_type,
|
|
35
|
+
custom_issue_description: rule.custom_issue_description,
|
|
36
|
+
custom_action_description: rule.custom_action_description,
|
|
37
|
+
custom_response_options: rule.custom_response_options,
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Hook for triggering document validation against uploaded files.
|
|
42
|
+
*
|
|
43
|
+
* Usage:
|
|
44
|
+
* ```tsx
|
|
45
|
+
* const { validate_file, is_validating, last_error } = use_file_validation({
|
|
46
|
+
* enabled: true,
|
|
47
|
+
* api_url: '/api/validation',
|
|
48
|
+
* rules: validation_rules,
|
|
49
|
+
* form_data: form_data,
|
|
50
|
+
* on_clarifications_created: (items) => { ... },
|
|
51
|
+
* });
|
|
52
|
+
*
|
|
53
|
+
* // When a file is uploaded:
|
|
54
|
+
* const clarifications = await validate_file(file_b64, 'document.pdf', 'application/pdf');
|
|
55
|
+
* ```
|
|
56
|
+
*/
|
|
57
|
+
export function use_file_validation(options) {
|
|
58
|
+
const { enabled, api_url, rules, form_data, on_clarifications_created, variables: extra_variables, rule_field_map, } = options;
|
|
59
|
+
const [is_validating, set_is_validating] = useState(false);
|
|
60
|
+
const [last_error, set_last_error] = useState();
|
|
61
|
+
// Filter to only enabled rules
|
|
62
|
+
const enabled_rules = useMemo(() => rules.filter(r => r.enabled), [rules]);
|
|
63
|
+
const validate_file = useCallback(async (file_b64, file_name, mime_type, content_tag) => {
|
|
64
|
+
if (!enabled || enabled_rules.length === 0) {
|
|
65
|
+
return [];
|
|
66
|
+
}
|
|
67
|
+
set_is_validating(true);
|
|
68
|
+
set_last_error(undefined);
|
|
69
|
+
try {
|
|
70
|
+
// Filter rules by content_tag (document_type) when provided
|
|
71
|
+
const rules_to_execute = content_tag
|
|
72
|
+
? enabled_rules.filter(r => r.document_type === content_tag)
|
|
73
|
+
: enabled_rules;
|
|
74
|
+
if (rules_to_execute.length === 0) {
|
|
75
|
+
return [];
|
|
76
|
+
}
|
|
77
|
+
// Build variables from form_data and extras
|
|
78
|
+
const variables = {
|
|
79
|
+
...(extra_variables ?? {}),
|
|
80
|
+
document_name: file_name,
|
|
81
|
+
...(content_tag ? { document_type: content_tag } : {}),
|
|
82
|
+
};
|
|
83
|
+
// Convert rules to executions
|
|
84
|
+
const rule_executions = rules_to_execute.map(r => rule_to_execution(r, variables, rule_field_map));
|
|
85
|
+
const request_body = {
|
|
86
|
+
file_b64,
|
|
87
|
+
file_name,
|
|
88
|
+
mime_type,
|
|
89
|
+
rules: rule_executions,
|
|
90
|
+
variables,
|
|
91
|
+
content_tag,
|
|
92
|
+
};
|
|
93
|
+
const response = await fetch(api_url, {
|
|
94
|
+
method: 'POST',
|
|
95
|
+
headers: { 'Content-Type': 'application/json' },
|
|
96
|
+
body: JSON.stringify(request_body),
|
|
97
|
+
});
|
|
98
|
+
if (!response.ok) {
|
|
99
|
+
const error_data = await response.json().catch(() => ({}));
|
|
100
|
+
throw new Error(error_data.errors?.[0]?.error || `HTTP ${response.status}`);
|
|
101
|
+
}
|
|
102
|
+
const result = await response.json();
|
|
103
|
+
if (result.clarifications.length > 0) {
|
|
104
|
+
on_clarifications_created?.(result.clarifications);
|
|
105
|
+
}
|
|
106
|
+
if (result.errors?.length) {
|
|
107
|
+
console.warn('[use_file_validation] Some rules had errors:', result.errors);
|
|
108
|
+
}
|
|
109
|
+
return result.clarifications;
|
|
110
|
+
}
|
|
111
|
+
catch (err) {
|
|
112
|
+
const message = err instanceof Error ? err.message : 'Validation failed';
|
|
113
|
+
set_last_error(message);
|
|
114
|
+
console.error('[use_file_validation] Error:', err);
|
|
115
|
+
return [];
|
|
116
|
+
}
|
|
117
|
+
finally {
|
|
118
|
+
set_is_validating(false);
|
|
119
|
+
}
|
|
120
|
+
}, [enabled, enabled_rules, api_url, extra_variables, on_clarifications_created, rule_field_map]);
|
|
121
|
+
return {
|
|
122
|
+
validate_file,
|
|
123
|
+
is_validating,
|
|
124
|
+
last_error,
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=use_file_validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use_file_validation.js","sourceRoot":"","sources":["../../../../src/components/hazo_validation_rule_editor/hooks/use_file_validation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { ValidationRule } from '../../../types/validation.js';
|
|
2
|
+
export interface UseValidationRulesOptions {
|
|
3
|
+
api_base_url?: string;
|
|
4
|
+
table_name?: string;
|
|
5
|
+
scope_id?: string | null;
|
|
6
|
+
}
|
|
7
|
+
export interface UseValidationRulesReturn {
|
|
8
|
+
/** All loaded rules */
|
|
9
|
+
rules: ValidationRule[];
|
|
10
|
+
/** Loading state */
|
|
11
|
+
loading: boolean;
|
|
12
|
+
/** Error message (if any) */
|
|
13
|
+
error: string | null;
|
|
14
|
+
/** Distinct document types from loaded rules */
|
|
15
|
+
document_types: string[];
|
|
16
|
+
/** Fetch rules from the server */
|
|
17
|
+
fetch_rules: (filter?: {
|
|
18
|
+
document_type?: string;
|
|
19
|
+
}) => Promise<void>;
|
|
20
|
+
/** Create a new rule. When custom_id is provided, it is used instead of auto-generated ID. */
|
|
21
|
+
create_rule: (rule: Omit<ValidationRule, 'id' | 'created_at' | 'changed_at'>, custom_id?: string) => Promise<ValidationRule | null>;
|
|
22
|
+
/** Update an existing rule */
|
|
23
|
+
update_rule: (id: string, updates: Partial<ValidationRule>) => Promise<ValidationRule | null>;
|
|
24
|
+
/** Delete a rule */
|
|
25
|
+
delete_rule: (id: string) => Promise<boolean>;
|
|
26
|
+
/** Check if an ID is unique among loaded rules. Optionally exclude a specific rule ID. */
|
|
27
|
+
is_id_unique: (id: string, exclude_id?: string) => boolean;
|
|
28
|
+
}
|
|
29
|
+
export declare function use_validation_rules(options?: UseValidationRulesOptions): UseValidationRulesReturn;
|
|
30
|
+
//# sourceMappingURL=use_validation_rules.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use_validation_rules.d.ts","sourceRoot":"","sources":["../../../../src/components/hazo_validation_rule_editor/hooks/use_validation_rules.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,cAAc,EAAwB,MAAM,8BAA8B,CAAC;AA0DzF,MAAM,WAAW,yBAAyB;IACxC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,wBAAwB;IACvC,uBAAuB;IACvB,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,oBAAoB;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,6BAA6B;IAC7B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,gDAAgD;IAChD,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,kCAAkC;IAClC,WAAW,EAAE,CAAC,MAAM,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpE,8FAA8F;IAC9F,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,GAAG,YAAY,GAAG,YAAY,CAAC,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACpI,8BAA8B;IAC9B,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,KAAK,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAC9F,oBAAoB;IACpB,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9C,0FAA0F;IAC1F,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;CAC5D;AAED,wBAAgB,oBAAoB,CAAC,OAAO,GAAE,yBAA8B,GAAG,wBAAwB,CAiMtG"}
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
/**
|
|
3
|
+
* Custom hook for managing validation rules via hazo_connect API.
|
|
4
|
+
* Follows the same pattern as use_elements.ts in hazo_field_library.
|
|
5
|
+
*/
|
|
6
|
+
import { useState, useCallback, useMemo } from 'react';
|
|
7
|
+
import { API_ENDPOINTS } from '../../../config/api_endpoints.js';
|
|
8
|
+
const DEFAULT_TABLE_NAME = 'hazo_collab_form_validations';
|
|
9
|
+
const DEFAULT_API_ENDPOINT = API_ENDPOINTS.library_data;
|
|
10
|
+
function generate_id() {
|
|
11
|
+
return `vr_${Date.now()}_${Math.random().toString(36).substring(2, 9)}`;
|
|
12
|
+
}
|
|
13
|
+
/** Parse a ValidationRuleRecord into a ValidationRule */
|
|
14
|
+
function parse_rule_record(record) {
|
|
15
|
+
try {
|
|
16
|
+
const rule_data = JSON.parse(record.rule_data);
|
|
17
|
+
return {
|
|
18
|
+
id: record.id,
|
|
19
|
+
scope_id: record.scope_id,
|
|
20
|
+
document_type: record.document_type,
|
|
21
|
+
name: record.name,
|
|
22
|
+
created_at: record.created_at,
|
|
23
|
+
changed_at: record.changed_at,
|
|
24
|
+
...rule_data,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
catch {
|
|
28
|
+
// Return minimal rule on parse error
|
|
29
|
+
return {
|
|
30
|
+
id: record.id,
|
|
31
|
+
scope_id: record.scope_id,
|
|
32
|
+
document_type: record.document_type,
|
|
33
|
+
name: record.name,
|
|
34
|
+
prompt: '',
|
|
35
|
+
clarification_type: 'none',
|
|
36
|
+
enabled: false,
|
|
37
|
+
created_at: record.created_at,
|
|
38
|
+
changed_at: record.changed_at,
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
/** Serialize a ValidationRule into a ValidationRuleRecord */
|
|
43
|
+
function serialize_rule(rule) {
|
|
44
|
+
const { id, scope_id, document_type, name, created_at, changed_at, ...rule_data } = rule;
|
|
45
|
+
return {
|
|
46
|
+
id,
|
|
47
|
+
scope_id: scope_id ?? null,
|
|
48
|
+
document_type,
|
|
49
|
+
name,
|
|
50
|
+
rule_data: JSON.stringify(rule_data),
|
|
51
|
+
created_at,
|
|
52
|
+
changed_at,
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
export function use_validation_rules(options = {}) {
|
|
56
|
+
const { api_base_url = DEFAULT_API_ENDPOINT, table_name = DEFAULT_TABLE_NAME, scope_id, } = options;
|
|
57
|
+
const [rules, set_rules] = useState([]);
|
|
58
|
+
const [loading, set_loading] = useState(false);
|
|
59
|
+
const [error, set_error] = useState(null);
|
|
60
|
+
// Derive distinct document types from rules
|
|
61
|
+
const document_types = useMemo(() => {
|
|
62
|
+
const type_set = new Set(rules.map(r => r.document_type));
|
|
63
|
+
return Array.from(type_set).sort();
|
|
64
|
+
}, [rules]);
|
|
65
|
+
const fetch_rules = useCallback(async (filter) => {
|
|
66
|
+
set_loading(true);
|
|
67
|
+
set_error(null);
|
|
68
|
+
try {
|
|
69
|
+
const params = new URLSearchParams({
|
|
70
|
+
table: table_name,
|
|
71
|
+
orderBy: 'document_type',
|
|
72
|
+
orderDirection: 'asc',
|
|
73
|
+
});
|
|
74
|
+
if (filter?.document_type) {
|
|
75
|
+
params.set('filter[document_type]', filter.document_type);
|
|
76
|
+
}
|
|
77
|
+
if (scope_id) {
|
|
78
|
+
params.set('filter[scope_id]', scope_id);
|
|
79
|
+
}
|
|
80
|
+
const response = await fetch(`${api_base_url}?${params.toString()}`);
|
|
81
|
+
if (!response.ok) {
|
|
82
|
+
const error_data = await response.json().catch(() => ({}));
|
|
83
|
+
throw new Error(error_data.error || `HTTP ${response.status}`);
|
|
84
|
+
}
|
|
85
|
+
const result = await response.json();
|
|
86
|
+
const records = result.data || [];
|
|
87
|
+
set_rules(records.map(parse_rule_record));
|
|
88
|
+
}
|
|
89
|
+
catch (err) {
|
|
90
|
+
const message = err instanceof Error ? err.message : 'Failed to fetch validation rules';
|
|
91
|
+
set_error(message);
|
|
92
|
+
console.error('Error fetching validation rules:', err);
|
|
93
|
+
}
|
|
94
|
+
finally {
|
|
95
|
+
set_loading(false);
|
|
96
|
+
}
|
|
97
|
+
}, [api_base_url, table_name, scope_id]);
|
|
98
|
+
const create_rule = useCallback(async (rule_input, custom_id) => {
|
|
99
|
+
set_error(null);
|
|
100
|
+
try {
|
|
101
|
+
const now = new Date().toISOString();
|
|
102
|
+
const rule_id = custom_id?.trim() || generate_id();
|
|
103
|
+
const full_rule = {
|
|
104
|
+
...rule_input,
|
|
105
|
+
id: rule_id,
|
|
106
|
+
scope_id: scope_id ?? rule_input.scope_id ?? null,
|
|
107
|
+
created_at: now,
|
|
108
|
+
changed_at: now,
|
|
109
|
+
};
|
|
110
|
+
const record = serialize_rule(full_rule);
|
|
111
|
+
const response = await fetch(api_base_url, {
|
|
112
|
+
method: 'POST',
|
|
113
|
+
headers: { 'Content-Type': 'application/json' },
|
|
114
|
+
body: JSON.stringify({
|
|
115
|
+
table: table_name,
|
|
116
|
+
data: record,
|
|
117
|
+
}),
|
|
118
|
+
});
|
|
119
|
+
if (!response.ok) {
|
|
120
|
+
const error_data = await response.json().catch(() => ({}));
|
|
121
|
+
throw new Error(error_data.error || `HTTP ${response.status}`);
|
|
122
|
+
}
|
|
123
|
+
set_rules(prev => [...prev, full_rule]);
|
|
124
|
+
return full_rule;
|
|
125
|
+
}
|
|
126
|
+
catch (err) {
|
|
127
|
+
const message = err instanceof Error ? err.message : 'Failed to create validation rule';
|
|
128
|
+
set_error(message);
|
|
129
|
+
console.error('Error creating validation rule:', err);
|
|
130
|
+
return null;
|
|
131
|
+
}
|
|
132
|
+
}, [api_base_url, table_name, scope_id]);
|
|
133
|
+
const update_rule = useCallback(async (id, updates) => {
|
|
134
|
+
set_error(null);
|
|
135
|
+
try {
|
|
136
|
+
// Find existing rule to merge
|
|
137
|
+
const existing = rules.find(r => r.id === id);
|
|
138
|
+
if (!existing) {
|
|
139
|
+
throw new Error(`Rule ${id} not found`);
|
|
140
|
+
}
|
|
141
|
+
const updated_rule = {
|
|
142
|
+
...existing,
|
|
143
|
+
...updates,
|
|
144
|
+
id, // Ensure ID doesn't change
|
|
145
|
+
changed_at: new Date().toISOString(),
|
|
146
|
+
};
|
|
147
|
+
const record = serialize_rule(updated_rule);
|
|
148
|
+
const response = await fetch(api_base_url, {
|
|
149
|
+
method: 'PATCH',
|
|
150
|
+
headers: { 'Content-Type': 'application/json' },
|
|
151
|
+
body: JSON.stringify({
|
|
152
|
+
table: table_name,
|
|
153
|
+
criteria: { id },
|
|
154
|
+
data: {
|
|
155
|
+
document_type: record.document_type,
|
|
156
|
+
name: record.name,
|
|
157
|
+
rule_data: record.rule_data,
|
|
158
|
+
changed_at: record.changed_at,
|
|
159
|
+
},
|
|
160
|
+
}),
|
|
161
|
+
});
|
|
162
|
+
if (!response.ok) {
|
|
163
|
+
const error_data = await response.json().catch(() => ({}));
|
|
164
|
+
throw new Error(error_data.error || `HTTP ${response.status}`);
|
|
165
|
+
}
|
|
166
|
+
set_rules(prev => prev.map(r => (r.id === id ? updated_rule : r)));
|
|
167
|
+
return updated_rule;
|
|
168
|
+
}
|
|
169
|
+
catch (err) {
|
|
170
|
+
const message = err instanceof Error ? err.message : 'Failed to update validation rule';
|
|
171
|
+
set_error(message);
|
|
172
|
+
console.error('Error updating validation rule:', err);
|
|
173
|
+
return null;
|
|
174
|
+
}
|
|
175
|
+
}, [api_base_url, table_name, rules]);
|
|
176
|
+
const delete_rule = useCallback(async (id) => {
|
|
177
|
+
set_error(null);
|
|
178
|
+
try {
|
|
179
|
+
const response = await fetch(api_base_url, {
|
|
180
|
+
method: 'DELETE',
|
|
181
|
+
headers: { 'Content-Type': 'application/json' },
|
|
182
|
+
body: JSON.stringify({
|
|
183
|
+
table: table_name,
|
|
184
|
+
criteria: { id },
|
|
185
|
+
}),
|
|
186
|
+
});
|
|
187
|
+
if (!response.ok) {
|
|
188
|
+
const error_data = await response.json().catch(() => ({}));
|
|
189
|
+
throw new Error(error_data.error || `HTTP ${response.status}`);
|
|
190
|
+
}
|
|
191
|
+
set_rules(prev => prev.filter(r => r.id !== id));
|
|
192
|
+
return true;
|
|
193
|
+
}
|
|
194
|
+
catch (err) {
|
|
195
|
+
const message = err instanceof Error ? err.message : 'Failed to delete validation rule';
|
|
196
|
+
set_error(message);
|
|
197
|
+
console.error('Error deleting validation rule:', err);
|
|
198
|
+
return false;
|
|
199
|
+
}
|
|
200
|
+
}, [api_base_url, table_name]);
|
|
201
|
+
const is_id_unique = useCallback((id, exclude_id) => {
|
|
202
|
+
return !rules.some(r => r.id === id && r.id !== exclude_id);
|
|
203
|
+
}, [rules]);
|
|
204
|
+
return {
|
|
205
|
+
rules,
|
|
206
|
+
loading,
|
|
207
|
+
error,
|
|
208
|
+
document_types,
|
|
209
|
+
fetch_rules,
|
|
210
|
+
create_rule,
|
|
211
|
+
update_rule,
|
|
212
|
+
delete_rule,
|
|
213
|
+
is_id_unique,
|
|
214
|
+
};
|
|
215
|
+
}
|
|
216
|
+
//# sourceMappingURL=use_validation_rules.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use_validation_rules.js","sourceRoot":"","sources":["../../../../src/components/hazo_validation_rule_editor/hooks/use_validation_rules.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HazoValidationRuleEditor - Document validation rule management UI
|
|
3
|
+
*/
|
|
4
|
+
export { HazoValidationRuleEditor } from './validation_rule_editor.js';
|
|
5
|
+
export { ValidationRuleEditorProvider, useValidationRuleEditor } from './context.js';
|
|
6
|
+
export { use_validation_rules } from './hooks/use_validation_rules.js';
|
|
7
|
+
export { PromptEditor } from './components/prompt_editor.js';
|
|
8
|
+
export { ClarificationSettings } from './components/clarification_settings.js';
|
|
9
|
+
export { RuleList } from './components/rule_list.js';
|
|
10
|
+
export { RuleEditor } from './components/rule_editor.js';
|
|
11
|
+
export type { HazoValidationRuleEditorProps, ValidationRuleEditorContextValue, RuleListTab, } from './types.js';
|
|
12
|
+
export type { UseValidationRulesOptions, UseValidationRulesReturn, } from './hooks/use_validation_rules.js';
|
|
13
|
+
export { use_file_validation } from './hooks/use_file_validation.js';
|
|
14
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/hazo_validation_rule_editor/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,4BAA4B,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACrF,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,YAAY,EACV,6BAA6B,EAC7B,gCAAgC,EAChC,WAAW,GACZ,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HazoValidationRuleEditor - Document validation rule management UI
|
|
3
|
+
*/
|
|
4
|
+
export { HazoValidationRuleEditor } from './validation_rule_editor.js';
|
|
5
|
+
export { ValidationRuleEditorProvider, useValidationRuleEditor } from './context.js';
|
|
6
|
+
export { use_validation_rules } from './hooks/use_validation_rules.js';
|
|
7
|
+
export { PromptEditor } from './components/prompt_editor.js';
|
|
8
|
+
export { ClarificationSettings } from './components/clarification_settings.js';
|
|
9
|
+
export { RuleList } from './components/rule_list.js';
|
|
10
|
+
export { RuleEditor } from './components/rule_editor.js';
|
|
11
|
+
export { use_file_validation } from './hooks/use_file_validation.js';
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/hazo_validation_rule_editor/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,4BAA4B,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AACrF,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAUzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Types for the HazoValidationRuleEditor component
|
|
3
|
+
*/
|
|
4
|
+
import type { ValidationRule, PromptEditorConfig } from '../../types/validation.js';
|
|
5
|
+
import type { EditorTheme } from '../shared/editor_theme/types.js';
|
|
6
|
+
import type { UseValidationRulesReturn } from './hooks/use_validation_rules.js';
|
|
7
|
+
/** Active tab in the rule list sidebar */
|
|
8
|
+
export type RuleListTab = 'all' | 'enabled' | 'disabled';
|
|
9
|
+
/** Props for the HazoValidationRuleEditor component */
|
|
10
|
+
export interface HazoValidationRuleEditorProps {
|
|
11
|
+
/** Override the hazo_connect API endpoint */
|
|
12
|
+
api_base_url?: string;
|
|
13
|
+
/** Override the database table name */
|
|
14
|
+
table_name?: string;
|
|
15
|
+
/** Scope filter for multi-tenant setups */
|
|
16
|
+
scope_id?: string | null;
|
|
17
|
+
/** Additional CSS class */
|
|
18
|
+
className?: string;
|
|
19
|
+
/** Editor theme overrides */
|
|
20
|
+
theme?: Partial<EditorTheme>;
|
|
21
|
+
/** Custom prompt editor commands/variables (merged with defaults) */
|
|
22
|
+
prompt_config?: Partial<PromptEditorConfig>;
|
|
23
|
+
/** Read-only mode */
|
|
24
|
+
read_only?: boolean;
|
|
25
|
+
}
|
|
26
|
+
/** Context value for the validation rule editor */
|
|
27
|
+
export interface ValidationRuleEditorContextValue {
|
|
28
|
+
/** CRUD hook return */
|
|
29
|
+
rules_data: UseValidationRulesReturn;
|
|
30
|
+
/** Currently selected rule ID */
|
|
31
|
+
selected_id: string | null;
|
|
32
|
+
/** Set the selected rule ID */
|
|
33
|
+
set_selected_id: (id: string | null) => void;
|
|
34
|
+
/** Document type filter for sidebar */
|
|
35
|
+
type_filter: string | null;
|
|
36
|
+
/** Set the document type filter */
|
|
37
|
+
set_type_filter: (type: string | null) => void;
|
|
38
|
+
/** Search query for filtering */
|
|
39
|
+
search_query: string;
|
|
40
|
+
/** Set the search query */
|
|
41
|
+
set_search_query: (query: string) => void;
|
|
42
|
+
/** Active tab in sidebar */
|
|
43
|
+
active_tab: RuleListTab;
|
|
44
|
+
/** Set active tab */
|
|
45
|
+
set_active_tab: (tab: RuleListTab) => void;
|
|
46
|
+
/** Filtered rules based on current filters */
|
|
47
|
+
filtered_rules: ValidationRule[];
|
|
48
|
+
/** Prompt editor configuration */
|
|
49
|
+
prompt_config: PromptEditorConfig;
|
|
50
|
+
/** Read-only mode */
|
|
51
|
+
read_only: boolean;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/hazo_validation_rule_editor/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAEhF,0CAA0C;AAC1C,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,SAAS,GAAG,UAAU,CAAC;AAEzD,uDAAuD;AACvD,MAAM,WAAW,6BAA6B;IAC5C,6CAA6C;IAC7C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uCAAuC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,2BAA2B;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6BAA6B;IAC7B,KAAK,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC7B,qEAAqE;IACrE,aAAa,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC5C,qBAAqB;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,mDAAmD;AACnD,MAAM,WAAW,gCAAgC;IAC/C,uBAAuB;IACvB,UAAU,EAAE,wBAAwB,CAAC;IACrC,iCAAiC;IACjC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,+BAA+B;IAC/B,eAAe,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC7C,uCAAuC;IACvC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,mCAAmC;IACnC,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC/C,iCAAiC;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,2BAA2B;IAC3B,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,4BAA4B;IAC5B,UAAU,EAAE,WAAW,CAAC;IACxB,qBAAqB;IACrB,cAAc,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,IAAI,CAAC;IAC3C,8CAA8C;IAC9C,cAAc,EAAE,cAAc,EAAE,CAAC;IACjC,kCAAkC;IAClC,aAAa,EAAE,kBAAkB,CAAC;IAClC,qBAAqB;IACrB,SAAS,EAAE,OAAO,CAAC;CACpB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/hazo_validation_rule_editor/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { HazoValidationRuleEditorProps } from './types.js';
|
|
2
|
+
export declare function HazoValidationRuleEditor({ api_base_url, table_name, scope_id, className, theme, prompt_config, read_only, }: HazoValidationRuleEditorProps): import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
//# sourceMappingURL=validation_rule_editor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation_rule_editor.d.ts","sourceRoot":"","sources":["../../../src/components/hazo_validation_rule_editor/validation_rule_editor.tsx"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,YAAY,CAAC;AAWhE,wBAAgB,wBAAwB,CAAC,EACvC,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,SAAS,EACT,KAAK,EACL,aAAa,EACb,SAAS,GACV,EAAE,6BAA6B,2CAc/B"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { cn } from '../../utils/cn.js';
|
|
4
|
+
import { EditorThemeProvider } from '../shared/editor_theme/index.js';
|
|
5
|
+
import { ValidationRuleEditorProvider } from './context.js';
|
|
6
|
+
import { RuleList } from './components/rule_list.js';
|
|
7
|
+
import { RuleEditor } from './components/rule_editor.js';
|
|
8
|
+
function ValidationRuleEditorInner({ className }) {
|
|
9
|
+
return (_jsxs("div", { className: cn('cls_validation_rule_editor flex h-full border rounded-lg overflow-hidden bg-background', className), children: [_jsx(RuleList, { className: "w-72 flex-shrink-0" }), _jsx(RuleEditor, { className: "flex-1 min-w-0" })] }));
|
|
10
|
+
}
|
|
11
|
+
export function HazoValidationRuleEditor({ api_base_url, table_name, scope_id, className, theme, prompt_config, read_only, }) {
|
|
12
|
+
return (_jsx(ValidationRuleEditorProvider, { api_base_url: api_base_url, table_name: table_name, scope_id: scope_id, prompt_config: prompt_config, read_only: read_only, children: _jsx(EditorThemeProvider, { theme: theme, children: _jsx(ValidationRuleEditorInner, { className: className }) }) }));
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=validation_rule_editor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation_rule_editor.js","sourceRoot":"","sources":["../../../src/components/hazo_validation_rule_editor/validation_rule_editor.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAcb,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AACvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAGzD,SAAS,yBAAyB,CAAC,EAAE,SAAS,EAA0B;IACtE,OAAO,CACL,eAAK,SAAS,EAAE,EAAE,CAAC,wFAAwF,EAAE,SAAS,CAAC,aACrH,KAAC,QAAQ,IAAC,SAAS,EAAC,oBAAoB,GAAG,EAC3C,KAAC,UAAU,IAAC,SAAS,EAAC,gBAAgB,GAAG,IACrC,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,EACvC,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,SAAS,EACT,KAAK,EACL,aAAa,EACb,SAAS,GACqB;IAC9B,OAAO,CACL,KAAC,4BAA4B,IAC3B,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,SAAS,YAEpB,KAAC,mBAAmB,IAAC,KAAK,EAAE,KAAK,YAC/B,KAAC,yBAAyB,IAAC,SAAS,EAAE,SAAS,GAAI,GAC/B,GACO,CAChC,CAAC;AACJ,CAAC"}
|
|
@@ -42,8 +42,8 @@ export type { HazoCollabFormDateProps, HazoCollabFormDateRef, DateRangeValue, Da
|
|
|
42
42
|
export { HazoCollabFormDataTable } from './hazo_collab_form_data_table.js';
|
|
43
43
|
export type { HazoCollabFormDataTableProps, HazoCollabFormDataTableRef, DataTableConfig, DataTableColumn, DataTableRow, DataTableFieldType, DataTableOption, AggregationType, AggregationConfig, HeaderStyling, ColumnConstraints, FilesColumnConfig, TooltipConfig, } from './hazo_collab_form_data_table.js';
|
|
44
44
|
export type { FieldMetadataInput, FieldMetadata } from './shared/field_state/index.js';
|
|
45
|
-
export { HiddenBadge, ProtectedBadge } from './status_badges.js';
|
|
46
|
-
export type { HiddenBadgeProps, ProtectedBadgeProps } from './status_badges.js';
|
|
45
|
+
export { HiddenBadge, ProtectedBadge, ClarificationLabelBadge } from './status_badges.js';
|
|
46
|
+
export type { HiddenBadgeProps, ProtectedBadgeProps, ClarificationLabelBadgeProps } from './status_badges.js';
|
|
47
47
|
export { FieldTooltip } from './shared/field_tooltip/index.js';
|
|
48
48
|
export type { FieldTooltipProps, TooltipValue } from './shared/field_tooltip/index.js';
|
|
49
49
|
export { UnifiedFieldControls, KebabMenu, use_control_resolution, resolve_field_controls, controls_to_fallback_visibility, build_control_props, CONTROL_SIZE, NOTES_ICON_SIZE, DEFAULT_FALLBACK_VISIBILITY, DEFAULT_FALLBACK_ENABLED, } from './shared/unified_field_controls/index.js';
|
|
@@ -82,12 +82,17 @@ export type { FormFileAttachment, FileStatus, } from '../types/file_attachment.j
|
|
|
82
82
|
export { is_form_file_attachment, attachment_to_file_data, file_data_to_attachment, } from '../types/file_attachment.js';
|
|
83
83
|
export type { FileUploadOptions, FileManagerCallbacks, FileManagerConfig, } from '../types/file_manager.js';
|
|
84
84
|
export { get_field_attachments, get_field_private_attachments, } from './shared/summary_utils/index.js';
|
|
85
|
+
export type { ClarificationType, ClarificationStatus, ClarificationDocReference, ClarificationResponseOption, ClarificationItem, ClarificationTemplate, ClarificationResponse, ClarificationCallbacks, ClarificationCounts, } from '../types/clarification.js';
|
|
86
|
+
export { DEFAULT_CLARIFICATION_TEMPLATES, INVALID_DOCUMENT_TEMPLATE, ADDITIONAL_INFO_REQUIRED_TEMPLATE, } from '../config/clarification_templates.js';
|
|
87
|
+
export { DEFAULT_PROMPT_COMMANDS, DEFAULT_PROMPT_VARIABLES, DEFAULT_PROMPT_EDITOR_CONFIG, } from '../config/validation_rule_commands.js';
|
|
85
88
|
export { FileSettingsCheckboxes } from './shared/file_settings/index.js';
|
|
86
89
|
export type { FileSettingsCheckboxesProps } from './shared/file_settings/index.js';
|
|
87
90
|
export { EditorThemeProvider, useEditorTheme, DEFAULT_EDITOR_THEME } from './shared/editor_theme/index.js';
|
|
88
91
|
export type { EditorTheme } from './shared/editor_theme/index.js';
|
|
89
92
|
export { AutofillDropzone, OverwriteConfirmDialog } from './autofill_dropzone/index.js';
|
|
90
93
|
export type { AutofillFieldSchema, AutofillRequest, AutofillResponse, AutofillDropzoneProps, AutofillStatus, OverwriteConflict, } from './autofill_dropzone/index.js';
|
|
94
|
+
export { use_clarifications, get_clarifications, CLARIFICATIONS_KEY, ClarificationCard, ClarificationSection, ClarificationBadge, ClarificationDocReferenceList, ClarificationResponseForm, ClarificationDialog, } from './clarification/index.js';
|
|
95
|
+
export type { UseClarificationsReturn, ClarificationCardProps, ClarificationSectionProps, ClarificationBadgeProps, ClarificationDocReferenceListProps, ClarificationResponseFormProps, ClarificationDialogProps, } from './clarification/index.js';
|
|
91
96
|
export { HazoDataForm } from './hazo_data_form/index.js';
|
|
92
97
|
export type { HazoDataFormProps, DataFormConfig, DataFormFieldRendererProps } from './hazo_data_form/index.js';
|
|
93
98
|
export { DataFormFieldLayout } from './hazo_data_form/index.js';
|
|
@@ -97,4 +102,6 @@ export { SectionRenderer as DataFormSectionRenderer } from './hazo_data_form/ind
|
|
|
97
102
|
export { GroupRenderer as DataFormGroupRenderer } from './hazo_data_form/index.js';
|
|
98
103
|
export { FileManagerButton } from './hazo_data_form/index.js';
|
|
99
104
|
export type { FileManagerButtonProps } from './hazo_data_form/index.js';
|
|
105
|
+
export { HazoValidationRuleEditor, ValidationRuleEditorProvider, useValidationRuleEditor, use_validation_rules, use_file_validation, PromptEditor as ValidationPromptEditor, ClarificationSettings as ValidationClarificationSettings, } from './hazo_validation_rule_editor/index.js';
|
|
106
|
+
export type { HazoValidationRuleEditorProps, ValidationRuleEditorContextValue, RuleListTab, UseValidationRulesOptions, UseValidationRulesReturn, } from './hazo_validation_rule_editor/index.js';
|
|
100
107
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"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"}
|