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.
Files changed (212) hide show
  1. package/CHANGE_LOG.md +49 -0
  2. package/README.md +406 -0
  3. package/dist/components/_internal_form_set.d.ts +13 -0
  4. package/dist/components/_internal_form_set.d.ts.map +1 -1
  5. package/dist/components/_internal_form_set.js +49 -3
  6. package/dist/components/_internal_form_set.js.map +1 -1
  7. package/dist/components/clarification/clarification_badge.d.ts +16 -0
  8. package/dist/components/clarification/clarification_badge.d.ts.map +1 -0
  9. package/dist/components/clarification/clarification_badge.js +15 -0
  10. package/dist/components/clarification/clarification_badge.js.map +1 -0
  11. package/dist/components/clarification/clarification_card.d.ts +48 -0
  12. package/dist/components/clarification/clarification_card.d.ts.map +1 -0
  13. package/dist/components/clarification/clarification_card.js +46 -0
  14. package/dist/components/clarification/clarification_card.js.map +1 -0
  15. package/dist/components/clarification/clarification_dialog.d.ts +32 -0
  16. package/dist/components/clarification/clarification_dialog.d.ts.map +1 -0
  17. package/dist/components/clarification/clarification_dialog.js +63 -0
  18. package/dist/components/clarification/clarification_dialog.js.map +1 -0
  19. package/dist/components/clarification/clarification_doc_reference.d.ts +18 -0
  20. package/dist/components/clarification/clarification_doc_reference.d.ts.map +1 -0
  21. package/dist/components/clarification/clarification_doc_reference.js +22 -0
  22. package/dist/components/clarification/clarification_doc_reference.js.map +1 -0
  23. package/dist/components/clarification/clarification_response_form.d.ts +32 -0
  24. package/dist/components/clarification/clarification_response_form.d.ts.map +1 -0
  25. package/dist/components/clarification/clarification_response_form.js +38 -0
  26. package/dist/components/clarification/clarification_response_form.js.map +1 -0
  27. package/dist/components/clarification/clarification_section.d.ts +26 -0
  28. package/dist/components/clarification/clarification_section.d.ts.map +1 -0
  29. package/dist/components/clarification/clarification_section.js +46 -0
  30. package/dist/components/clarification/clarification_section.js.map +1 -0
  31. package/dist/components/clarification/index.d.ts +18 -0
  32. package/dist/components/clarification/index.d.ts.map +1 -0
  33. package/dist/components/clarification/index.js +13 -0
  34. package/dist/components/clarification/index.js.map +1 -0
  35. package/dist/components/clarification/use_clarifications.d.ts +49 -0
  36. package/dist/components/clarification/use_clarifications.d.ts.map +1 -0
  37. package/dist/components/clarification/use_clarifications.js +160 -0
  38. package/dist/components/clarification/use_clarifications.js.map +1 -0
  39. package/dist/components/collab_form_file_upload.d.ts +16 -1
  40. package/dist/components/collab_form_file_upload.d.ts.map +1 -1
  41. package/dist/components/collab_form_file_upload.js +44 -10
  42. package/dist/components/collab_form_file_upload.js.map +1 -1
  43. package/dist/components/hazo_collab_form_base.d.ts +32 -2
  44. package/dist/components/hazo_collab_form_base.d.ts.map +1 -1
  45. package/dist/components/hazo_collab_form_base.js +11 -5
  46. package/dist/components/hazo_collab_form_base.js.map +1 -1
  47. package/dist/components/hazo_collab_form_group.d.ts +12 -0
  48. package/dist/components/hazo_collab_form_group.d.ts.map +1 -1
  49. package/dist/components/hazo_collab_form_group.js +27 -4
  50. package/dist/components/hazo_collab_form_group.js.map +1 -1
  51. package/dist/components/hazo_collab_form_view/context.d.ts.map +1 -1
  52. package/dist/components/hazo_collab_form_view/context.js +19 -1
  53. package/dist/components/hazo_collab_form_view/context.js.map +1 -1
  54. package/dist/components/hazo_collab_form_view/index.d.ts +1 -1
  55. package/dist/components/hazo_collab_form_view/index.d.ts.map +1 -1
  56. package/dist/components/hazo_collab_form_view/index.js +8 -0
  57. package/dist/components/hazo_collab_form_view/index.js.map +1 -1
  58. package/dist/components/hazo_collab_form_view/types.d.ts +32 -2
  59. package/dist/components/hazo_collab_form_view/types.d.ts.map +1 -1
  60. package/dist/components/hazo_collab_form_view/views/edit_view.d.ts.map +1 -1
  61. package/dist/components/hazo_collab_form_view/views/edit_view.js +74 -8
  62. package/dist/components/hazo_collab_form_view/views/edit_view.js.map +1 -1
  63. package/dist/components/hazo_collab_form_view/views/summary_view.d.ts.map +1 -1
  64. package/dist/components/hazo_collab_form_view/views/summary_view.js +187 -10
  65. package/dist/components/hazo_collab_form_view/views/summary_view.js.map +1 -1
  66. package/dist/components/hazo_data_form/field_renderers/index.d.ts +6 -0
  67. package/dist/components/hazo_data_form/field_renderers/index.d.ts.map +1 -1
  68. package/dist/components/hazo_data_form/field_renderers/index.js +22 -1
  69. package/dist/components/hazo_data_form/field_renderers/index.js.map +1 -1
  70. package/dist/components/hazo_data_form/group_renderer.d.ts.map +1 -1
  71. package/dist/components/hazo_data_form/group_renderer.js +2 -1
  72. package/dist/components/hazo_data_form/group_renderer.js.map +1 -1
  73. package/dist/components/hazo_data_form/shared/data_form_field_layout.d.ts +1 -1
  74. package/dist/components/hazo_data_form/shared/data_form_field_layout.d.ts.map +1 -1
  75. package/dist/components/hazo_data_form/shared/data_form_field_layout.js +3 -3
  76. package/dist/components/hazo_data_form/shared/data_form_field_layout.js.map +1 -1
  77. package/dist/components/hazo_data_form/shared/data_form_reference_value.d.ts +3 -1
  78. package/dist/components/hazo_data_form/shared/data_form_reference_value.d.ts.map +1 -1
  79. package/dist/components/hazo_data_form/shared/data_form_reference_value.js +5 -2
  80. package/dist/components/hazo_data_form/shared/data_form_reference_value.js.map +1 -1
  81. package/dist/components/hazo_data_form/types.d.ts +2 -0
  82. package/dist/components/hazo_data_form/types.d.ts.map +1 -1
  83. package/dist/components/hazo_validation_rule_editor/components/clarification_settings.d.ts +10 -0
  84. package/dist/components/hazo_validation_rule_editor/components/clarification_settings.d.ts.map +1 -0
  85. package/dist/components/hazo_validation_rule_editor/components/clarification_settings.js +57 -0
  86. package/dist/components/hazo_validation_rule_editor/components/clarification_settings.js.map +1 -0
  87. package/dist/components/hazo_validation_rule_editor/components/prompt_editor.d.ts +11 -0
  88. package/dist/components/hazo_validation_rule_editor/components/prompt_editor.d.ts.map +1 -0
  89. package/dist/components/hazo_validation_rule_editor/components/prompt_editor.js +145 -0
  90. package/dist/components/hazo_validation_rule_editor/components/prompt_editor.js.map +1 -0
  91. package/dist/components/hazo_validation_rule_editor/components/rule_editor.d.ts +6 -0
  92. package/dist/components/hazo_validation_rule_editor/components/rule_editor.d.ts.map +1 -0
  93. package/dist/components/hazo_validation_rule_editor/components/rule_editor.js +149 -0
  94. package/dist/components/hazo_validation_rule_editor/components/rule_editor.js.map +1 -0
  95. package/dist/components/hazo_validation_rule_editor/components/rule_list.d.ts +6 -0
  96. package/dist/components/hazo_validation_rule_editor/components/rule_list.d.ts.map +1 -0
  97. package/dist/components/hazo_validation_rule_editor/components/rule_list.js +57 -0
  98. package/dist/components/hazo_validation_rule_editor/components/rule_list.js.map +1 -0
  99. package/dist/components/hazo_validation_rule_editor/context.d.ts +19 -0
  100. package/dist/components/hazo_validation_rule_editor/context.d.ts.map +1 -0
  101. package/dist/components/hazo_validation_rule_editor/context.js +95 -0
  102. package/dist/components/hazo_validation_rule_editor/context.js.map +1 -0
  103. package/dist/components/hazo_validation_rule_editor/hooks/use_file_validation.d.ts +20 -0
  104. package/dist/components/hazo_validation_rule_editor/hooks/use_file_validation.d.ts.map +1 -0
  105. package/dist/components/hazo_validation_rule_editor/hooks/use_file_validation.js +127 -0
  106. package/dist/components/hazo_validation_rule_editor/hooks/use_file_validation.js.map +1 -0
  107. package/dist/components/hazo_validation_rule_editor/hooks/use_validation_rules.d.ts +30 -0
  108. package/dist/components/hazo_validation_rule_editor/hooks/use_validation_rules.d.ts.map +1 -0
  109. package/dist/components/hazo_validation_rule_editor/hooks/use_validation_rules.js +216 -0
  110. package/dist/components/hazo_validation_rule_editor/hooks/use_validation_rules.js.map +1 -0
  111. package/dist/components/hazo_validation_rule_editor/index.d.ts +14 -0
  112. package/dist/components/hazo_validation_rule_editor/index.d.ts.map +1 -0
  113. package/dist/components/hazo_validation_rule_editor/index.js +12 -0
  114. package/dist/components/hazo_validation_rule_editor/index.js.map +1 -0
  115. package/dist/components/hazo_validation_rule_editor/types.d.ts +53 -0
  116. package/dist/components/hazo_validation_rule_editor/types.d.ts.map +1 -0
  117. package/dist/components/hazo_validation_rule_editor/types.js +5 -0
  118. package/dist/components/hazo_validation_rule_editor/types.js.map +1 -0
  119. package/dist/components/hazo_validation_rule_editor/validation_rule_editor.d.ts +3 -0
  120. package/dist/components/hazo_validation_rule_editor/validation_rule_editor.d.ts.map +1 -0
  121. package/dist/components/hazo_validation_rule_editor/validation_rule_editor.js +14 -0
  122. package/dist/components/hazo_validation_rule_editor/validation_rule_editor.js.map +1 -0
  123. package/dist/components/index.d.ts +9 -2
  124. package/dist/components/index.d.ts.map +1 -1
  125. package/dist/components/index.js +9 -1
  126. package/dist/components/index.js.map +1 -1
  127. package/dist/components/shared/field_state/normalize.d.ts.map +1 -1
  128. package/dist/components/shared/field_state/normalize.js +1 -0
  129. package/dist/components/shared/field_state/normalize.js.map +1 -1
  130. package/dist/components/shared/field_state/types.d.ts +6 -0
  131. package/dist/components/shared/field_state/types.d.ts.map +1 -1
  132. package/dist/components/shared/field_utils/types.d.ts +1 -1
  133. package/dist/components/shared/field_utils/types.d.ts.map +1 -1
  134. package/dist/components/shared/strip_base_props.d.ts.map +1 -1
  135. package/dist/components/shared/strip_base_props.js +2 -0
  136. package/dist/components/shared/strip_base_props.js.map +1 -1
  137. package/dist/components/shared/summary_files/summary_files.d.ts +9 -1
  138. package/dist/components/shared/summary_files/summary_files.d.ts.map +1 -1
  139. package/dist/components/shared/summary_files/summary_files.js +11 -5
  140. package/dist/components/shared/summary_files/summary_files.js.map +1 -1
  141. package/dist/components/shared/unified_field_controls/types.d.ts +8 -0
  142. package/dist/components/shared/unified_field_controls/types.d.ts.map +1 -1
  143. package/dist/components/shared/unified_field_controls/unified_field_controls.d.ts +1 -1
  144. package/dist/components/shared/unified_field_controls/unified_field_controls.d.ts.map +1 -1
  145. package/dist/components/shared/unified_field_controls/unified_field_controls.js +3 -2
  146. package/dist/components/shared/unified_field_controls/unified_field_controls.js.map +1 -1
  147. package/dist/components/shared/use_base_form_field.d.ts +14 -0
  148. package/dist/components/shared/use_base_form_field.d.ts.map +1 -1
  149. package/dist/components/shared/use_base_form_field.js +41 -2
  150. package/dist/components/shared/use_base_form_field.js.map +1 -1
  151. package/dist/components/status_badges.d.ts +33 -0
  152. package/dist/components/status_badges.d.ts.map +1 -1
  153. package/dist/components/status_badges.js +27 -2
  154. package/dist/components/status_badges.js.map +1 -1
  155. package/dist/config/clarification_templates.d.ts +24 -0
  156. package/dist/config/clarification_templates.d.ts.map +1 -0
  157. package/dist/config/clarification_templates.js +66 -0
  158. package/dist/config/clarification_templates.js.map +1 -0
  159. package/dist/config/defaults.d.ts +4 -0
  160. package/dist/config/defaults.d.ts.map +1 -1
  161. package/dist/config/defaults.js +4 -0
  162. package/dist/config/defaults.js.map +1 -1
  163. package/dist/config/index.d.ts +3 -1
  164. package/dist/config/index.d.ts.map +1 -1
  165. package/dist/config/index.js +3 -1
  166. package/dist/config/index.js.map +1 -1
  167. package/dist/config/validation_rule_commands.d.ts +12 -0
  168. package/dist/config/validation_rule_commands.d.ts.map +1 -0
  169. package/dist/config/validation_rule_commands.js +106 -0
  170. package/dist/config/validation_rule_commands.js.map +1 -0
  171. package/dist/lib/autofill_handler.d.ts +34 -0
  172. package/dist/lib/autofill_handler.d.ts.map +1 -0
  173. package/dist/lib/autofill_handler.js +330 -0
  174. package/dist/lib/autofill_handler.js.map +1 -0
  175. package/dist/lib/index.d.ts +9 -0
  176. package/dist/lib/index.d.ts.map +1 -1
  177. package/dist/lib/index.js +5 -0
  178. package/dist/lib/index.js.map +1 -1
  179. package/dist/lib/validation_handler.d.ts +27 -0
  180. package/dist/lib/validation_handler.d.ts.map +1 -0
  181. package/dist/lib/validation_handler.js +341 -0
  182. package/dist/lib/validation_handler.js.map +1 -0
  183. package/dist/types/clarification.d.ts +126 -0
  184. package/dist/types/clarification.d.ts.map +1 -0
  185. package/dist/types/clarification.js +8 -0
  186. package/dist/types/clarification.js.map +1 -0
  187. package/dist/types/file_attachment.d.ts +2 -0
  188. package/dist/types/file_attachment.d.ts.map +1 -1
  189. package/dist/types/file_attachment.js.map +1 -1
  190. package/dist/types/file_manager.d.ts +36 -0
  191. package/dist/types/file_manager.d.ts.map +1 -1
  192. package/dist/types/index.d.ts +3 -1
  193. package/dist/types/index.d.ts.map +1 -1
  194. package/dist/types/index.js.map +1 -1
  195. package/dist/types/validation.d.ts +192 -0
  196. package/dist/types/validation.d.ts.map +1 -0
  197. package/dist/types/validation.js +9 -0
  198. package/dist/types/validation.js.map +1 -0
  199. package/dist/utils/build_rule_field_map.d.ts +31 -0
  200. package/dist/utils/build_rule_field_map.d.ts.map +1 -0
  201. package/dist/utils/build_rule_field_map.js +53 -0
  202. package/dist/utils/build_rule_field_map.js.map +1 -0
  203. package/dist/utils/index.d.ts +3 -0
  204. package/dist/utils/index.d.ts.map +1 -1
  205. package/dist/utils/index.js +4 -0
  206. package/dist/utils/index.js.map +1 -1
  207. package/dist/utils/slugify.d.ts +10 -0
  208. package/dist/utils/slugify.d.ts.map +1 -0
  209. package/dist/utils/slugify.js +17 -0
  210. package/dist/utils/slugify.js.map +1 -0
  211. package/package.json +15 -3
  212. 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,5 @@
1
+ /**
2
+ * Types for the HazoValidationRuleEditor component
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=types.js.map
@@ -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":"AAAA;;GAEG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,YAAY,EAAE,2BAA2B,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAE7G,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,YAAY,EAAE,2BAA2B,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAE7G,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,YAAY,EAAE,2BAA2B,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAE7G,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,YAAY,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAEpH,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,YAAY,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAEjH,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,YAAY,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAE9F,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,YAAY,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAEpG,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,YAAY,EAAE,2BAA2B,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAE7G,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,YAAY,EAAE,6BAA6B,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAEnH,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,YAAY,EAAE,2BAA2B,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAE7G,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,YAAY,EAAE,6BAA6B,EAAE,2BAA2B,EAAE,MAAM,mCAAmC,CAAC;AAEpH,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,YAAY,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAC;AAEvF,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,YAAY,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvG,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,YAAY,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEjE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,YAAY,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAErF,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAC1I,YAAY,EAAE,qBAAqB,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAEtG,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,wBAAwB,EACxB,sBAAsB,EACtB,yBAAyB,EACzB,yBAAyB,EACzB,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,6BAA6B,EAC7B,kCAAkC,EAClC,mBAAmB,EACnB,uBAAuB,EAEvB,uBAAuB,EACvB,sBAAsB,EACtB,0BAA0B,EAE1B,mBAAmB,GACpB,MAAM,4BAA4B,CAAC;AACpC,YAAY,EACV,SAAS,EACT,QAAQ,EACR,mBAAmB,EACnB,wBAAwB,EACxB,UAAU,EACV,sBAAsB,EACtB,WAAW,EACX,2BAA2B,EAC3B,kCAAkC,EAClC,uCAAuC,GACxC,MAAM,4BAA4B,CAAC;AAOpC,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEnH,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAC;AAEjI,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACrF,YAAY,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAE7H,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,YAAY,EACV,4BAA4B,EAC5B,0BAA0B,EAC1B,eAAe,EACf,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,GACd,MAAM,kCAAkC,CAAC;AAG1C,YAAY,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAMvF,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC1F,YAAY,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;AAE9G,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAGvF,OAAO,EACL,oBAAoB,EACpB,SAAS,EACT,sBAAsB,EACtB,sBAAsB,EACtB,+BAA+B,EAC/B,mBAAmB,EACnB,YAAY,EACZ,eAAe,EACf,2BAA2B,EAC3B,wBAAwB,GACzB,MAAM,0CAA0C,CAAC;AAClD,YAAY,EACV,yBAAyB,EACzB,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,uBAAuB,EACvB,cAAc,EACd,qBAAqB,EACrB,uBAAuB,EACvB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,0CAA0C,CAAC;AAGlD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAClF,YAAY,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAGrE,OAAO,EACL,wBAAwB,EACxB,8BAA8B,IAAI,qCAAqC,EACvE,+BAA+B,EAC/B,WAAW,GACZ,MAAM,+BAA+B,CAAC;AACvC,YAAY,EACV,uBAAuB,GACxB,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,+BAA+B,EAC/B,sBAAsB,EACtB,mBAAmB,EACnB,cAAc,EACd,eAAe,GAChB,MAAM,+BAA+B,CAAC;AACvC,YAAY,EACV,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,EACZ,eAAe,EACf,kBAAkB,GACnB,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,EACb,YAAY,EACZ,eAAe,EACf,cAAc,EACd,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,QAAQ,EACR,WAAW,EACX,SAAS,EACT,YAAY,GACb,MAAM,kCAAkC,CAAC;AAC1C,YAAY,EACV,QAAQ,EACR,WAAW,EACX,eAAe,EACf,YAAY,EACZ,aAAa,EACb,UAAU,EACV,oBAAoB,EACpB,uBAAuB,EACvB,qBAAqB,EACrB,cAAc,EACd,WAAW,EACX,gBAAgB,IAAI,wBAAwB,EAC5C,kBAAkB,IAAI,0BAA0B,EAChD,kBAAkB,EAClB,aAAa,GACd,MAAM,kCAAkC,CAAC;AAG1C,+CAA+C;AAC/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,YAAY,EACV,0BAA0B,EAC1B,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EACL,yBAAyB,EACzB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,oCAAoC,CAAC;AAG5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AACpG,OAAO,EACL,YAAY,EACZ,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,YAAY,IAAI,oBAAoB,EACpC,YAAY,EACZ,eAAe,EACf,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EACpB,eAAe,EACf,cAAc,EACd,eAAe,EACf,aAAa,GACd,MAAM,+BAA+B,CAAC;AACvC,YAAY,EACV,qBAAqB,EACrB,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,EACX,UAAU,EACV,iBAAiB,EACjB,wBAAwB,EACxB,aAAa,EACb,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,iCAAiC,EACjC,qBAAqB,EACrB,sBAAsB,EACtB,2BAA2B,GAC5B,MAAM,uCAAuC,CAAC;AAC/C,YAAY,EACV,4BAA4B,EAC5B,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,uCAAuC,CAAC;AAG/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,YAAY,EACV,uBAAuB,EACvB,kBAAkB,EAClB,YAAY,EACZ,WAAW,EACX,cAAc,EACd,UAAU,EACV,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAClG,YAAY,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtH,OAAO,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAG1H,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,YAAY,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAGpG,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,YAAY,EACV,wBAAwB,EACxB,aAAa,GACd,MAAM,mCAAmC,CAAC;AAG3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,YAAY,EACV,wBAAwB,EACxB,aAAa,EACb,eAAe,GAChB,MAAM,mCAAmC,CAAC;AAG3C,YAAY,EACV,kBAAkB,EAClB,UAAU,GACX,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,6BAA6B,CAAC;AACrC,YAAY,EACV,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,qBAAqB,EACrB,6BAA6B,GAC9B,MAAM,iCAAiC,CAAC;AAGzC,YAAY,EACV,iBAAiB,EACjB,mBAAmB,EACnB,yBAAyB,EACzB,2BAA2B,EAC3B,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACL,+BAA+B,EAC/B,yBAAyB,EACzB,iCAAiC,GAClC,MAAM,sCAAsC,CAAC;AAG9C,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,4BAA4B,GAC7B,MAAM,uCAAuC,CAAC;AAG/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,YAAY,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAC;AAGnF,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAC3G,YAAY,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAGlE,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACxF,YAAY,EACV,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,qBAAqB,EACrB,cAAc,EACd,iBAAiB,GAClB,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,6BAA6B,EAC7B,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACV,uBAAuB,EACvB,sBAAsB,EACtB,yBAAyB,EACzB,uBAAuB,EACvB,kCAAkC,EAClC,8BAA8B,EAC9B,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AAC/G,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,YAAY,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAC1F,OAAO,EAAE,eAAe,IAAI,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACvF,OAAO,EAAE,aAAa,IAAI,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACnF,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,YAAY,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAGxE,OAAO,EACL,wBAAwB,EACxB,4BAA4B,EAC5B,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,EACnB,YAAY,IAAI,sBAAsB,EACtC,qBAAqB,IAAI,+BAA+B,GACzD,MAAM,wCAAwC,CAAC;AAChD,YAAY,EACV,6BAA6B,EAC7B,gCAAgC,EAChC,WAAW,EACX,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,wCAAwC,CAAC"}