hazo_collab_forms 3.0.18 → 3.1.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 (139) hide show
  1. package/CHANGE_LOG.md +66 -0
  2. package/README.md +15 -0
  3. package/dist/components/clarification/clarification_card.d.ts.map +1 -1
  4. package/dist/components/clarification/clarification_card.js +5 -4
  5. package/dist/components/clarification/clarification_card.js.map +1 -1
  6. package/dist/components/clarification/clarification_doc_reference.d.ts +7 -0
  7. package/dist/components/clarification/clarification_doc_reference.d.ts.map +1 -1
  8. package/dist/components/clarification/clarification_doc_reference.js +2 -2
  9. package/dist/components/clarification/clarification_doc_reference.js.map +1 -1
  10. package/dist/components/clarification/clarification_group_card.js +2 -2
  11. package/dist/components/clarification/clarification_group_card.js.map +1 -1
  12. package/dist/components/clarification/clarification_item_body.d.ts +1 -7
  13. package/dist/components/clarification/clarification_item_body.d.ts.map +1 -1
  14. package/dist/components/clarification/clarification_item_body.js +6 -8
  15. package/dist/components/clarification/clarification_item_body.js.map +1 -1
  16. package/dist/components/clarification/clarification_response_form.d.ts +1 -3
  17. package/dist/components/clarification/clarification_response_form.d.ts.map +1 -1
  18. package/dist/components/clarification/clarification_response_form.js +31 -95
  19. package/dist/components/clarification/clarification_response_form.js.map +1 -1
  20. package/dist/components/clarification/clarification_status_config.d.ts.map +1 -1
  21. package/dist/components/clarification/clarification_status_config.js +12 -8
  22. package/dist/components/clarification/clarification_status_config.js.map +1 -1
  23. package/dist/components/clarification/clarification_thread.d.ts +3 -1
  24. package/dist/components/clarification/clarification_thread.d.ts.map +1 -1
  25. package/dist/components/clarification/clarification_thread.js +7 -7
  26. package/dist/components/clarification/clarification_thread.js.map +1 -1
  27. package/dist/components/clarification/use_response_files.d.ts +27 -0
  28. package/dist/components/clarification/use_response_files.d.ts.map +1 -0
  29. package/dist/components/clarification/use_response_files.js +98 -0
  30. package/dist/components/clarification/use_response_files.js.map +1 -0
  31. package/dist/components/hazo_collab_form_file_textbox/file_textbox_panel.js +1 -1
  32. package/dist/components/hazo_collab_form_file_textbox/file_textbox_panel.js.map +1 -1
  33. package/dist/components/hazo_fb_form/context.d.ts +5 -0
  34. package/dist/components/hazo_fb_form/context.d.ts.map +1 -1
  35. package/dist/components/hazo_fb_form/context.js.map +1 -1
  36. package/dist/components/hazo_fb_form/hazo_fb_form.d.ts.map +1 -1
  37. package/dist/components/hazo_fb_form/hazo_fb_form.js +188 -17
  38. package/dist/components/hazo_fb_form/hazo_fb_form.js.map +1 -1
  39. package/dist/components/hazo_fb_form/hooks/use_fb_form_state.js +1 -1
  40. package/dist/components/hazo_fb_form/hooks/use_fb_form_state.js.map +1 -1
  41. package/dist/components/hazo_fb_form/shared/send_back_item_card.d.ts +8 -1
  42. package/dist/components/hazo_fb_form/shared/send_back_item_card.d.ts.map +1 -1
  43. package/dist/components/hazo_fb_form/shared/send_back_item_card.js +38 -2
  44. package/dist/components/hazo_fb_form/shared/send_back_item_card.js.map +1 -1
  45. package/dist/components/hazo_fb_form/types.d.ts +12 -0
  46. package/dist/components/hazo_fb_form/types.d.ts.map +1 -1
  47. package/dist/components/hazo_fb_form/views/front_office_view.d.ts.map +1 -1
  48. package/dist/components/hazo_fb_form/views/front_office_view.js +163 -34
  49. package/dist/components/hazo_fb_form/views/front_office_view.js.map +1 -1
  50. package/dist/components/hazo_fb_form/views/review_queue_view.d.ts.map +1 -1
  51. package/dist/components/hazo_fb_form/views/review_queue_view.js +69 -18
  52. package/dist/components/hazo_fb_form/views/review_queue_view.js.map +1 -1
  53. package/dist/components/hazo_fb_form/views/send_back_view.d.ts.map +1 -1
  54. package/dist/components/hazo_fb_form/views/send_back_view.js +58 -3
  55. package/dist/components/hazo_fb_form/views/send_back_view.js.map +1 -1
  56. package/dist/components/hazo_rfi_box/hazo_rfi_box.d.ts +55 -0
  57. package/dist/components/hazo_rfi_box/hazo_rfi_box.d.ts.map +1 -0
  58. package/dist/components/hazo_rfi_box/hazo_rfi_box.js +54 -0
  59. package/dist/components/hazo_rfi_box/hazo_rfi_box.js.map +1 -0
  60. package/dist/components/hazo_rfi_box/index.d.ts +9 -0
  61. package/dist/components/hazo_rfi_box/index.d.ts.map +1 -0
  62. package/dist/components/hazo_rfi_box/index.js +5 -0
  63. package/dist/components/hazo_rfi_box/index.js.map +1 -0
  64. package/dist/components/hazo_rfi_box/rfi_option_tag_selector.d.ts +21 -0
  65. package/dist/components/hazo_rfi_box/rfi_option_tag_selector.d.ts.map +1 -0
  66. package/dist/components/hazo_rfi_box/rfi_option_tag_selector.js +47 -0
  67. package/dist/components/hazo_rfi_box/rfi_option_tag_selector.js.map +1 -0
  68. package/dist/components/hazo_rfi_box/rfi_review_actions.d.ts +11 -0
  69. package/dist/components/hazo_rfi_box/rfi_review_actions.d.ts.map +1 -0
  70. package/dist/components/hazo_rfi_box/rfi_review_actions.js +10 -0
  71. package/dist/components/hazo_rfi_box/rfi_review_actions.js.map +1 -0
  72. package/dist/components/hazo_rfi_box/rfi_send_back_form.d.ts +23 -0
  73. package/dist/components/hazo_rfi_box/rfi_send_back_form.d.ts.map +1 -0
  74. package/dist/components/hazo_rfi_box/rfi_send_back_form.js +22 -0
  75. package/dist/components/hazo_rfi_box/rfi_send_back_form.js.map +1 -0
  76. package/dist/components/hazo_validation_rule_editor/components/clarification_settings.d.ts +4 -1
  77. package/dist/components/hazo_validation_rule_editor/components/clarification_settings.d.ts.map +1 -1
  78. package/dist/components/hazo_validation_rule_editor/components/clarification_settings.js +15 -3
  79. package/dist/components/hazo_validation_rule_editor/components/clarification_settings.js.map +1 -1
  80. package/dist/components/hazo_validation_rule_editor/components/rule_editor.d.ts.map +1 -1
  81. package/dist/components/hazo_validation_rule_editor/components/rule_editor.js +2 -2
  82. package/dist/components/hazo_validation_rule_editor/components/rule_editor.js.map +1 -1
  83. package/dist/components/hazo_validation_rule_editor/context.d.ts +3 -1
  84. package/dist/components/hazo_validation_rule_editor/context.d.ts.map +1 -1
  85. package/dist/components/hazo_validation_rule_editor/context.js +5 -2
  86. package/dist/components/hazo_validation_rule_editor/context.js.map +1 -1
  87. package/dist/components/hazo_validation_rule_editor/types.d.ts +5 -0
  88. package/dist/components/hazo_validation_rule_editor/types.d.ts.map +1 -1
  89. package/dist/components/hazo_validation_rule_editor/validation_rule_editor.d.ts +1 -1
  90. package/dist/components/hazo_validation_rule_editor/validation_rule_editor.d.ts.map +1 -1
  91. package/dist/components/hazo_validation_rule_editor/validation_rule_editor.js +2 -2
  92. package/dist/components/hazo_validation_rule_editor/validation_rule_editor.js.map +1 -1
  93. package/dist/components/index.d.ts +4 -0
  94. package/dist/components/index.d.ts.map +1 -1
  95. package/dist/components/index.js +3 -0
  96. package/dist/components/index.js.map +1 -1
  97. package/dist/lib/fb_form_handler.d.ts.map +1 -1
  98. package/dist/lib/fb_form_handler.js +148 -0
  99. package/dist/lib/fb_form_handler.js.map +1 -1
  100. package/dist/types/clarification.d.ts +11 -1
  101. package/dist/types/clarification.d.ts.map +1 -1
  102. package/dist/types/fb_form_data.d.ts +216 -0
  103. package/dist/types/fb_form_data.d.ts.map +1 -0
  104. package/dist/types/fb_form_data.js +117 -0
  105. package/dist/types/fb_form_data.js.map +1 -0
  106. package/dist/types/fb_form_instance.d.ts +9 -4
  107. package/dist/types/fb_form_instance.d.ts.map +1 -1
  108. package/dist/types/fb_form_instance.js.map +1 -1
  109. package/dist/types/fb_response_types.d.ts +23 -0
  110. package/dist/types/fb_response_types.d.ts.map +1 -0
  111. package/dist/types/fb_response_types.js +5 -0
  112. package/dist/types/fb_response_types.js.map +1 -0
  113. package/dist/types/index.d.ts +3 -0
  114. package/dist/types/index.d.ts.map +1 -1
  115. package/dist/types/index.js +1 -0
  116. package/dist/types/index.js.map +1 -1
  117. package/dist/types/validation.d.ts +2 -0
  118. package/dist/types/validation.d.ts.map +1 -1
  119. package/dist/utils/fb_data_adapter.d.ts +28 -0
  120. package/dist/utils/fb_data_adapter.d.ts.map +1 -0
  121. package/dist/utils/fb_data_adapter.js +385 -0
  122. package/dist/utils/fb_data_adapter.js.map +1 -0
  123. package/dist/utils/fb_data_helpers.d.ts +86 -0
  124. package/dist/utils/fb_data_helpers.d.ts.map +1 -0
  125. package/dist/utils/fb_data_helpers.js +269 -0
  126. package/dist/utils/fb_data_helpers.js.map +1 -0
  127. package/dist/utils/fb_data_mutations.d.ts +43 -0
  128. package/dist/utils/fb_data_mutations.d.ts.map +1 -0
  129. package/dist/utils/fb_data_mutations.js +379 -0
  130. package/dist/utils/fb_data_mutations.js.map +1 -0
  131. package/dist/utils/index.d.ts +5 -0
  132. package/dist/utils/index.d.ts.map +1 -1
  133. package/dist/utils/index.js +8 -0
  134. package/dist/utils/index.js.map +1 -1
  135. package/dist/utils/resolve_response_set.d.ts +8 -0
  136. package/dist/utils/resolve_response_set.d.ts.map +1 -0
  137. package/dist/utils/resolve_response_set.js +37 -0
  138. package/dist/utils/resolve_response_set.js.map +1 -0
  139. package/package.json +1 -1
@@ -29,7 +29,7 @@ function group_by_category(items) {
29
29
  }
30
30
  /* ── Component ── */
31
31
  export function SendBackView() {
32
- const { send_back_items, set_active_step, set_review_queue_decisions, send_clarifications, prepare_for_client, props, } = useFbFormContext();
32
+ const { send_back_items, set_active_step, set_review_queue_decisions, set_draft_clarifications, send_clarifications, prepare_for_client, props, } = useFbFormContext();
33
33
  // Per-item editable messages (issue shown to client), pre-filled with issue description
34
34
  const [messages, set_messages] = useState(() => {
35
35
  const map = new Map();
@@ -97,6 +97,49 @@ export function SendBackView() {
97
97
  return next;
98
98
  });
99
99
  }, []);
100
+ /* ── Update response options on a clarification item ── */
101
+ const { active_instance_id } = useFbFormContext();
102
+ const update_item_response_options = useCallback((item_id, option_ids) => {
103
+ const available = props.available_response_types ?? [];
104
+ const item = send_back_items.find(i => i.id === item_id);
105
+ const existing = item?.clarification?.response_options ?? [];
106
+ const new_options = option_ids.map(id => {
107
+ const existing_opt = existing.find(o => o.value === id);
108
+ if (existing_opt)
109
+ return existing_opt;
110
+ const rt = available.find(a => a.response_id === id);
111
+ if (rt)
112
+ return {
113
+ value: rt.response_id,
114
+ label: rt.label,
115
+ shows_file_upload: rt.accept_files,
116
+ shows_additional_input: rt.accept_comment,
117
+ };
118
+ return { value: id, label: id };
119
+ });
120
+ // Helper: update a clarification, preserving original_response_options on first edit
121
+ const update_clr = (c) => {
122
+ if (c.id !== item_id)
123
+ return c;
124
+ return {
125
+ ...c,
126
+ original_response_options: c.original_response_options ?? [...(c.response_options ?? [])],
127
+ response_options: new_options,
128
+ };
129
+ };
130
+ set_draft_clarifications(prev => {
131
+ if (!prev.some(c => c.id === item_id))
132
+ return prev;
133
+ return prev.map(update_clr);
134
+ });
135
+ // Also update front_form_data.__clarifications for Instance 2+ items
136
+ const front_clrs = props.front_form_data?.['__clarifications'];
137
+ if (Array.isArray(front_clrs) && front_clrs.some((c) => c.id === item_id)) {
138
+ props.on_instance_update?.(active_instance_id, {
139
+ front_form_data: { ...props.front_form_data, __clarifications: front_clrs.map(update_clr) },
140
+ });
141
+ }
142
+ }, [props, send_back_items, set_draft_clarifications, active_instance_id]);
100
143
  // Check if all items have feedback
101
144
  const all_have_feedback = send_back_items.every(item => (feedback.get(item.id) ?? '').trim().length > 0);
102
145
  /* ── Send to client ── */
@@ -150,7 +193,7 @@ export function SendBackView() {
150
193
  timestamp: clr.updated_at || now,
151
194
  });
152
195
  }
153
- // Add agent's send-back feedback
196
+ // Add agent's send-back feedback to the thread
154
197
  const agent_feedback = feedback.get(item.id)?.trim() || edited_message;
155
198
  thread.push({
156
199
  role: 'author',
@@ -158,12 +201,15 @@ export function SendBackView() {
158
201
  message: agent_feedback,
159
202
  timestamp: now,
160
203
  actor_name: props.current_user?.name,
204
+ actor_id: props.current_user?.id,
161
205
  });
162
206
  return {
163
207
  ...clr,
164
208
  issue_description: edited_message,
165
209
  review_decision: 'approve',
166
210
  status: 'pending',
211
+ // Snapshot current options for the rfi_draft in the data model
212
+ send_back_options: [...(clr.response_options ?? [])],
167
213
  // Reset response so client can respond again
168
214
  response_choice: undefined,
169
215
  user_comment: undefined,
@@ -194,10 +240,19 @@ export function SendBackView() {
194
240
  /* ── Main content ── */
195
241
  return (_jsxs("div", { className: "space-y-6", children: [_jsxs("div", { className: "flex items-start gap-3 px-4 py-3 rounded-lg border border-amber-300 bg-amber-50 text-amber-800", children: [_jsx("span", { className: "text-lg flex-shrink-0 mt-0.5", children: "\u26A0\uFE0F" }), _jsxs("p", { className: "text-sm font-medium", children: [total, " item", total !== 1 ? 's' : '', " will be sent back to the client for clarification. Review and edit the messages below before sending."] })] }), Array.from(grouped.entries()).map(([category_key, items]) => {
196
242
  const category_label = items[0]?.category_label || category_key;
197
- return (_jsxs("section", { className: "space-y-3", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("h3", { className: "text-sm font-semibold", children: category_label }), _jsx("span", { className: "inline-flex items-center justify-center h-5 min-w-[20px] px-1.5 rounded-full text-xs font-bold bg-red-100 text-red-700", children: items.length })] }), _jsx("div", { className: "space-y-3", children: items.map(item => (_jsx("div", { className: "rounded-lg border border-red-200 bg-red-50 p-4", children: _jsx(SendBackItemCard, { item: item, feedback: feedback.get(item.id) ?? '', on_feedback_change: (val) => handle_feedback_change(item.id, val), on_remove: () => handle_remove(item.id), show_response_options: true }) }, item.id))) })] }, category_key));
243
+ return (_jsxs("section", { className: "space-y-3", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("h3", { className: "text-sm font-semibold", children: category_label }), _jsx("span", { className: "inline-flex items-center justify-center h-5 min-w-[20px] px-1.5 rounded-full text-xs font-bold bg-red-100 text-red-700", children: items.length })] }), _jsx("div", { className: "space-y-3", children: items.map(item => (_jsx(SendBackItemAccordion, { item: item, is_sent: sent, feedback: feedback.get(item.id) ?? '', on_feedback_change: (val) => handle_feedback_change(item.id, val), on_remove: () => handle_remove(item.id), available_response_types: props.available_response_types, on_response_options_change: (option_ids) => {
244
+ update_item_response_options(item.id, option_ids);
245
+ } }, item.id))) })] }, category_key));
198
246
  }), _jsx("div", { className: "pt-4 border-t", children: _jsxs("div", { className: "flex items-center justify-between gap-3", children: [_jsx("button", { type: "button", onClick: () => set_active_step('tax_data'), className: "px-4 py-2 rounded-md text-sm font-medium text-muted-foreground hover:text-foreground hover:bg-muted transition-colors", children: "\u2190 Back to Tax Data" }), sent ? (_jsx("span", { className: "inline-flex items-center gap-1.5 px-5 py-2.5 rounded-md text-sm font-medium bg-green-100 text-green-700", children: "\u2713 Sent to Client" })) : (_jsxs("div", { className: "flex items-center gap-2", children: [!all_have_feedback && (_jsx("p", { className: "text-xs text-amber-600", children: "Add feedback for all items" })), _jsx("button", { type: "button", onClick: handle_send, disabled: sending || total === 0 || !all_have_feedback, className: cn('px-5 py-2.5 rounded-md text-sm font-medium transition-colors shadow-sm', !sending && total > 0 && all_have_feedback
199
247
  ? 'bg-red-600 text-white hover:bg-red-700'
200
248
  : 'bg-muted text-muted-foreground cursor-not-allowed'), children: sending ? 'Sending...' : `Send to Client (${total} item${total !== 1 ? 's' : ''}) \u2192` })] }))] }) })] }));
201
249
  }
202
250
  SendBackView.displayName = 'SendBackView';
251
+ /* ── SendBackItemAccordion — collapsible card matching review view pattern ── */
252
+ function SendBackItemAccordion({ item, is_sent, feedback, on_feedback_change, on_remove, available_response_types, on_response_options_change }) {
253
+ // Resolved = already has feedback filled in, or already sent
254
+ const is_resolved = is_sent || !!feedback.trim();
255
+ const [expanded, set_expanded] = useState(!is_resolved);
256
+ return (_jsxs("div", { className: cn('rounded-lg border transition-colors overflow-visible', is_resolved ? 'border-blue-200 bg-blue-50/50' : 'border-pink-300 bg-pink-50'), children: [_jsxs("div", { className: cn('flex items-center justify-between p-3 cursor-pointer', is_resolved ? 'hover:bg-blue-100/30' : 'hover:bg-pink-100/30'), onClick: () => set_expanded(prev => !prev), children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("span", { className: "text-muted-foreground text-xs select-none", children: expanded ? '▼' : '▶' }), _jsxs("span", { className: "text-xs font-medium text-foreground/70", children: [item.clarification?.rule_name ?? 'Clarification', " \u2014 ", item.source_label] })] }), _jsx("span", { className: "px-2.5 py-1 rounded-md text-xs font-semibold bg-amber-100 text-amber-700", children: is_sent ? 'Sent Back' : 'Sending Back' })] }), expanded && (_jsx("div", { className: "px-3 pb-3", children: _jsx(SendBackItemCard, { item: item, feedback: feedback, on_feedback_change: on_feedback_change, on_remove: is_sent ? undefined : on_remove, read_only: is_sent, show_response_options: true, available_response_types: (available_response_types ?? []).map(rt => ({ response_id: rt.response_id, label: rt.label })), on_response_options_change: is_sent ? undefined : on_response_options_change }) }))] }));
257
+ }
203
258
  //# sourceMappingURL=send_back_view.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"send_back_view.js","sourceRoot":"","sources":["../../../../src/components/hazo_fb_form/views/send_back_view.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"send_back_view.js","sourceRoot":"","sources":["../../../../src/components/hazo_fb_form/views/send_back_view.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * HazoCollabFormRFIbox — Standalone Request for Information lifecycle component.
3
+ *
4
+ * Handles the full RFI lifecycle:
5
+ * - Client respond (dialog, embedded, or collapsed)
6
+ * - Agent review (accept / send back)
7
+ * - Agent send back (feedback + option tag selector)
8
+ * - Client re-respond with thread history
9
+ *
10
+ * Composes ClarificationItemBody as the core renderer.
11
+ */
12
+ import type { RfiSendBackPayload } from './rfi_send_back_form.js';
13
+ import type { ClarificationItem, ClarificationResponse, ClarificationResponseOption } from '../../types/clarification.js';
14
+ import type { FileManagerCallbacks } from '../../types/file_manager.js';
15
+ export type RfiBoxMode = 'respond' | 'review' | 'send_back' | 'read_only';
16
+ export type RfiBoxDisplay = 'dialog' | 'embedded' | 'collapsed';
17
+ export type { RfiSendBackPayload };
18
+ export interface HazoCollabFormRFIboxProps {
19
+ /** The clarification item to render */
20
+ item: ClarificationItem;
21
+ /** Determines the scenario rendered */
22
+ mode: RfiBoxMode;
23
+ /** Display variant (default: 'embedded'). Only applies to respond and read_only modes. */
24
+ display?: RfiBoxDisplay;
25
+ /** Whether dialog is open (controlled, only for display='dialog') */
26
+ open?: boolean;
27
+ /** Dialog open/close handler */
28
+ on_open_change?: (open: boolean) => void;
29
+ /** Dialog title (default: "Validation Issues") */
30
+ dialog_title?: string;
31
+ /** Client submits a response (mode: respond) */
32
+ on_respond?: (id: string, response: ClarificationResponse) => void;
33
+ /** Agent accepts the client's response (mode: review) */
34
+ on_accept?: (id: string) => void;
35
+ /** Agent sends back to client with feedback + selected options (mode: send_back) */
36
+ on_send_back?: (id: string, payload: RfiSendBackPayload) => void;
37
+ /** Item dismissed */
38
+ on_dismiss?: (id: string) => void;
39
+ /** Item resolved */
40
+ on_resolve?: (id: string) => void;
41
+ /** File manager callbacks for upload in response form */
42
+ file_manager?: FileManagerCallbacks;
43
+ /** Callback when a doc reference is clicked for viewing */
44
+ on_doc_view?: (file_id: string, file_name: string) => void;
45
+ /** All possible response options to choose from in send_back mode.
46
+ * If not provided, falls back to item.response_options */
47
+ available_response_options?: ClarificationResponseOption[];
48
+ /** Pre-selected response options for send_back mode */
49
+ initial_selected_options?: ClarificationResponseOption[];
50
+ /** Pre-filled feedback text for send_back mode */
51
+ initial_feedback?: string;
52
+ className?: string;
53
+ }
54
+ export declare function HazoCollabFormRFIbox({ item, mode, display, open, on_open_change, dialog_title, on_respond, on_accept, on_send_back, on_dismiss, on_resolve, file_manager, on_doc_view, available_response_options, initial_selected_options, initial_feedback, className, }: HazoCollabFormRFIboxProps): import("react/jsx-runtime").JSX.Element;
55
+ //# sourceMappingURL=hazo_rfi_box.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hazo_rfi_box.d.ts","sourceRoot":"","sources":["../../../src/components/hazo_rfi_box/hazo_rfi_box.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAkBH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EACV,iBAAiB,EACjB,qBAAqB,EACrB,2BAA2B,EAC5B,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAExE,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,WAAW,GAAG,WAAW,CAAC;AAC1E,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,UAAU,GAAG,WAAW,CAAC;AAEhE,YAAY,EAAE,kBAAkB,EAAE,CAAC;AAEnC,MAAM,WAAW,yBAAyB;IACxC,uCAAuC;IACvC,IAAI,EAAE,iBAAiB,CAAC;IACxB,uCAAuC;IACvC,IAAI,EAAE,UAAU,CAAC;IACjB,0FAA0F;IAC1F,OAAO,CAAC,EAAE,aAAa,CAAC;IAGxB,qEAAqE;IACrE,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,gCAAgC;IAChC,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,kDAAkD;IAClD,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,gDAAgD;IAChD,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,qBAAqB,KAAK,IAAI,CAAC;IACnE,yDAAyD;IACzD,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,oFAAoF;IACpF,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,KAAK,IAAI,CAAC;IACjE,qBAAqB;IACrB,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,oBAAoB;IACpB,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAGlC,yDAAyD;IACzD,YAAY,CAAC,EAAE,oBAAoB,CAAC;IACpC,2DAA2D;IAC3D,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAG3D;+DAC2D;IAC3D,0BAA0B,CAAC,EAAE,2BAA2B,EAAE,CAAC;IAC3D,uDAAuD;IACvD,wBAAwB,CAAC,EAAE,2BAA2B,EAAE,CAAC;IACzD,kDAAkD;IAClD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAG1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,oBAAoB,CAAC,EACnC,IAAI,EACJ,IAAI,EACJ,OAAoB,EACpB,IAAI,EACJ,cAAc,EACd,YAAkC,EAClC,UAAU,EACV,SAAS,EACT,YAAY,EACZ,UAAU,EACV,UAAU,EACV,YAAY,EACZ,WAAW,EACX,0BAA0B,EAC1B,wBAAwB,EACxB,gBAAgB,EAChB,SAAS,GACV,EAAE,yBAAyB,2CAmI3B"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * HazoCollabFormRFIbox — Standalone Request for Information lifecycle component.
3
+ *
4
+ * Handles the full RFI lifecycle:
5
+ * - Client respond (dialog, embedded, or collapsed)
6
+ * - Agent review (accept / send back)
7
+ * - Agent send back (feedback + option tag selector)
8
+ * - Client re-respond with thread history
9
+ *
10
+ * Composes ClarificationItemBody as the core renderer.
11
+ */
12
+ 'use client';
13
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
14
+ import { useCallback } from 'react';
15
+ import { cn } from '../../utils/cn.js';
16
+ import { ClarificationItemBody } from '../clarification/clarification_item_body.js';
17
+ import { CollapsibleCard } from '../shared/collapsible_card/index.js';
18
+ import { STATUS_CONFIG } from '../clarification/clarification_status_config.js';
19
+ import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogDescription, } from '../shared/dialog/index.js';
20
+ import { RfiReviewActions } from './rfi_review_actions.js';
21
+ import { RfiSendBackForm } from './rfi_send_back_form.js';
22
+ export function HazoCollabFormRFIbox({ item, mode, display = 'embedded', open, on_open_change, dialog_title = 'Validation Issues', on_respond, on_accept, on_send_back, on_dismiss, on_resolve, file_manager, on_doc_view, available_response_options, initial_selected_options, initial_feedback, className, }) {
23
+ // Derive rendering flags from mode
24
+ const is_read_only = mode !== 'respond';
25
+ const hide_submit = mode !== 'respond';
26
+ const hide_response_form = mode === 'send_back';
27
+ const config = STATUS_CONFIG[item.status] ?? STATUS_CONFIG.pending;
28
+ // Response counter for footer
29
+ const responded = item.status === 'responded' || item.status === 'resolved';
30
+ const counter_text = responded ? '1 of 1 responded' : '0 of 1 responded';
31
+ // Handle send-back
32
+ const handle_send_back = useCallback((payload) => {
33
+ on_send_back?.(item.id, payload);
34
+ }, [on_send_back, item.id]);
35
+ // ── Core content: ClarificationItemBody + mode-specific additions ──
36
+ const core_content = (_jsxs("div", { className: cn('cls_rfi_box', className), children: [_jsx("div", { className: cn('rounded-lg overflow-hidden border border-l-[3px]', config.card_border, config.card_left_border), children: _jsx(ClarificationItemBody, { item: item, show_doc_references: true, read_only: is_read_only, hide_submit: hide_submit, hide_response_form: hide_response_form, file_manager: file_manager, on_respond: on_respond, on_resolve: on_resolve, on_dismiss: on_dismiss, on_doc_view: on_doc_view }) }), mode === 'review' && (_jsx(RfiReviewActions, { on_accept: on_accept ? () => on_accept(item.id) : undefined, on_send_back: on_send_back ? () => on_send_back(item.id, { feedback: '', response_options: [] }) : undefined })), mode === 'send_back' && (_jsx(RfiSendBackForm, { available_response_options: available_response_options ?? item.response_options, initial_selected_options: initial_selected_options, initial_feedback: initial_feedback, on_send_back: handle_send_back })), mode === 'respond' && (_jsx("div", { className: "flex items-center justify-between pt-3", children: _jsx("span", { className: "text-sm text-muted-foreground", children: counter_text }) }))] }));
37
+ // ── Display wrapper ──
38
+ if (display === 'dialog' && (mode === 'respond' || mode === 'read_only')) {
39
+ return (_jsx(Dialog, { open: open, onOpenChange: on_open_change, children: _jsxs(DialogContent, { className: "max-w-2xl max-h-[80vh] overflow-y-auto", children: [_jsxs(DialogHeader, { children: [_jsx(DialogTitle, { children: dialog_title }), _jsx(DialogDescription, { children: item.status === 'pending'
40
+ ? '1 pending issue requiring attention'
41
+ : '1 issue' })] }), _jsx("div", { className: "mt-4", children: core_content })] }) }));
42
+ }
43
+ if (display === 'collapsed' && (mode === 'respond' || mode === 'read_only')) {
44
+ const is_responded = item.status === 'responded' || item.status === 'resolved';
45
+ const StatusIcon = config.Icon;
46
+ const status_badge = is_responded ? (_jsx("span", { className: cn('inline-flex items-center px-1.5 py-0.5 rounded text-[10px] font-semibold shrink-0', item.status === 'responded' ? 'bg-blue-100 text-blue-700' :
47
+ item.status === 'resolved' ? 'bg-green-100 text-green-700' :
48
+ 'bg-gray-100 text-gray-600'), children: item.status === 'responded' ? 'Responded' : item.status === 'resolved' ? 'Resolved' : 'Dismissed' })) : undefined;
49
+ return (_jsx("div", { className: cn('cls_rfi_box', className), children: _jsx(CollapsibleCard, { expanded: item.status === 'pending', icon: _jsx(StatusIcon, { className: cn('w-4 h-4 shrink-0', is_responded ? 'text-blue-500' : 'text-red-500') }), title: item.issue_description || 'Issue', title_class_name: is_responded ? 'text-muted-foreground' : 'text-foreground', tag: item.rule_name, trailing: status_badge, muted: is_responded, children: _jsx(ClarificationItemBody, { item: item, show_doc_references: true, read_only: mode === 'read_only', hide_submit: mode === 'read_only', file_manager: file_manager, on_respond: on_respond, on_doc_view: on_doc_view }) }) }));
50
+ }
51
+ // Default: embedded
52
+ return core_content;
53
+ }
54
+ //# sourceMappingURL=hazo_rfi_box.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hazo_rfi_box.js","sourceRoot":"","sources":["../../../src/components/hazo_rfi_box/hazo_rfi_box.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export { HazoCollabFormRFIbox } from './hazo_rfi_box.js';
2
+ export type { HazoCollabFormRFIboxProps, RfiBoxMode, RfiBoxDisplay, RfiSendBackPayload } from './hazo_rfi_box.js';
3
+ export { RfiReviewActions } from './rfi_review_actions.js';
4
+ export type { RfiReviewActionsProps } from './rfi_review_actions.js';
5
+ export { RfiSendBackForm } from './rfi_send_back_form.js';
6
+ export type { RfiSendBackFormProps } from './rfi_send_back_form.js';
7
+ export { RfiOptionTagSelector } from './rfi_option_tag_selector.js';
8
+ export type { RfiOptionTagSelectorProps } from './rfi_option_tag_selector.js';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/hazo_rfi_box/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,YAAY,EAAE,yBAAyB,EAAE,UAAU,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAClH,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,YAAY,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,YAAY,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,YAAY,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { HazoCollabFormRFIbox } from './hazo_rfi_box.js';
2
+ export { RfiReviewActions } from './rfi_review_actions.js';
3
+ export { RfiSendBackForm } from './rfi_send_back_form.js';
4
+ export { RfiOptionTagSelector } from './rfi_option_tag_selector.js';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/hazo_rfi_box/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * RfiOptionTagSelector — Multi-select for picking which ClarificationResponseOptions
3
+ * to include when sending back to the client.
4
+ *
5
+ * Shows selected options as removable tag pills. Dropdown lists available options
6
+ * with checkboxes.
7
+ */
8
+ import type { ClarificationResponseOption } from '../../types/clarification.js';
9
+ export interface RfiOptionTagSelectorProps {
10
+ /** All available options to pick from */
11
+ available_options: ClarificationResponseOption[];
12
+ /** Currently selected options */
13
+ selected_options: ClarificationResponseOption[];
14
+ /** Callback when selection changes */
15
+ on_change: (selected: ClarificationResponseOption[]) => void;
16
+ /** Whether selector is disabled */
17
+ disabled?: boolean;
18
+ className?: string;
19
+ }
20
+ export declare function RfiOptionTagSelector({ available_options, selected_options, on_change, disabled, className, }: RfiOptionTagSelectorProps): import("react/jsx-runtime").JSX.Element;
21
+ //# sourceMappingURL=rfi_option_tag_selector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rfi_option_tag_selector.d.ts","sourceRoot":"","sources":["../../../src/components/hazo_rfi_box/rfi_option_tag_selector.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAEhF,MAAM,WAAW,yBAAyB;IACxC,yCAAyC;IACzC,iBAAiB,EAAE,2BAA2B,EAAE,CAAC;IACjD,iCAAiC;IACjC,gBAAgB,EAAE,2BAA2B,EAAE,CAAC;IAChD,sCAAsC;IACtC,SAAS,EAAE,CAAC,QAAQ,EAAE,2BAA2B,EAAE,KAAK,IAAI,CAAC;IAC7D,mCAAmC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,oBAAoB,CAAC,EACnC,iBAAiB,EACjB,gBAAgB,EAChB,SAAS,EACT,QAAQ,EACR,SAAS,GACV,EAAE,yBAAyB,2CA+G3B"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * RfiOptionTagSelector — Multi-select for picking which ClarificationResponseOptions
3
+ * to include when sending back to the client.
4
+ *
5
+ * Shows selected options as removable tag pills. Dropdown lists available options
6
+ * with checkboxes.
7
+ */
8
+ 'use client';
9
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
+ import { useState, useRef, useCallback, useEffect } from 'react';
11
+ import { cn } from '../../utils/cn.js';
12
+ import { IoClose, IoChevronDown } from 'react-icons/io5';
13
+ export function RfiOptionTagSelector({ available_options, selected_options, on_change, disabled, className, }) {
14
+ const [open, set_open] = useState(false);
15
+ const container_ref = useRef(null);
16
+ const selected_values = new Set(selected_options.map(o => o.value));
17
+ const toggle_option = useCallback((option) => {
18
+ if (selected_values.has(option.value)) {
19
+ on_change(selected_options.filter(o => o.value !== option.value));
20
+ }
21
+ else {
22
+ on_change([...selected_options, option]);
23
+ }
24
+ }, [selected_options, selected_values, on_change]);
25
+ const remove_option = useCallback((value) => {
26
+ on_change(selected_options.filter(o => o.value !== value));
27
+ }, [selected_options, on_change]);
28
+ // Close on outside click
29
+ useEffect(() => {
30
+ if (!open)
31
+ return;
32
+ const handle_click = (e) => {
33
+ if (container_ref.current && !container_ref.current.contains(e.target)) {
34
+ set_open(false);
35
+ }
36
+ };
37
+ document.addEventListener('mousedown', handle_click);
38
+ return () => document.removeEventListener('mousedown', handle_click);
39
+ }, [open]);
40
+ return (_jsxs("div", { ref: container_ref, className: cn('relative', className), children: [selected_options.length > 0 && (_jsx("div", { className: "flex flex-wrap gap-1.5 mb-2", children: selected_options.map(opt => (_jsxs("span", { className: "inline-flex items-center gap-1 px-2.5 py-1 rounded-full text-xs font-medium bg-blue-100 text-blue-800 border border-blue-200", children: [opt.label, !disabled && (_jsx("button", { type: "button", onClick: () => remove_option(opt.value), className: "hover:text-blue-600 transition-colors", children: _jsx(IoClose, { className: "w-3 h-3" }) }))] }, opt.value))) })), _jsxs("button", { type: "button", onClick: () => !disabled && set_open(!open), disabled: disabled, className: cn('w-full flex items-center justify-between px-3 py-2 text-sm border rounded-md bg-background', 'hover:bg-muted/50 transition-colors', 'disabled:opacity-50 disabled:cursor-not-allowed', open && 'ring-2 ring-ring'), children: [_jsx("span", { className: "text-muted-foreground", children: selected_options.length === 0
41
+ ? 'Select response options for client...'
42
+ : `${selected_options.length} option${selected_options.length !== 1 ? 's' : ''} selected` }), _jsx(IoChevronDown, { className: cn('w-4 h-4 text-muted-foreground transition-transform', open && 'rotate-180') })] }), open && (_jsx("div", { className: "absolute z-50 mt-1 w-full rounded-md border bg-popover shadow-md", children: _jsxs("div", { className: "py-1 max-h-48 overflow-y-auto", children: [available_options.map(opt => {
43
+ const checked = selected_values.has(opt.value);
44
+ return (_jsxs("button", { type: "button", onClick: () => toggle_option(opt), className: "w-full flex items-start gap-2.5 px-3 py-2 text-sm hover:bg-muted/50 transition-colors text-left", children: [_jsx("input", { type: "checkbox", checked: checked, readOnly: true, className: "mt-0.5 accent-blue-600" }), _jsxs("div", { children: [_jsx("span", { className: "font-medium text-foreground", children: opt.label }), opt.description && (_jsxs("span", { className: "text-xs text-muted-foreground ml-1.5", children: ["\u2014 ", opt.description] }))] })] }, opt.value));
45
+ }), available_options.length === 0 && (_jsx("p", { className: "px-3 py-2 text-sm text-muted-foreground italic", children: "No options available" }))] }) }))] }));
46
+ }
47
+ //# sourceMappingURL=rfi_option_tag_selector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rfi_option_tag_selector.js","sourceRoot":"","sources":["../../../src/components/hazo_rfi_box/rfi_option_tag_selector.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * RfiReviewActions — Accept / Send Back button row for agent review mode.
3
+ */
4
+ export interface RfiReviewActionsProps {
5
+ on_accept?: () => void;
6
+ on_send_back?: () => void;
7
+ disabled?: boolean;
8
+ className?: string;
9
+ }
10
+ export declare function RfiReviewActions({ on_accept, on_send_back, disabled, className }: RfiReviewActionsProps): import("react/jsx-runtime").JSX.Element;
11
+ //# sourceMappingURL=rfi_review_actions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rfi_review_actions.d.ts","sourceRoot":"","sources":["../../../src/components/hazo_rfi_box/rfi_review_actions.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAOH,MAAM,WAAW,qBAAqB;IACpC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,gBAAgB,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,qBAAqB,2CA6BvG"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * RfiReviewActions — Accept / Send Back button row for agent review mode.
3
+ */
4
+ 'use client';
5
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
6
+ import { cn } from '../../utils/cn.js';
7
+ export function RfiReviewActions({ on_accept, on_send_back, disabled, className }) {
8
+ return (_jsxs("div", { className: cn('flex items-center justify-end gap-2 pt-3', className), children: [_jsx("button", { type: "button", onClick: on_accept, disabled: disabled, className: cn('px-4 py-2 rounded-md text-sm font-medium transition-colors', 'bg-green-600 text-white hover:bg-green-700', 'disabled:opacity-50 disabled:cursor-not-allowed'), children: "Accept" }), _jsx("button", { type: "button", onClick: on_send_back, disabled: disabled, className: cn('px-4 py-2 rounded-md text-sm font-medium transition-colors', 'bg-amber-600 text-white hover:bg-amber-700', 'disabled:opacity-50 disabled:cursor-not-allowed'), children: "Send Back" })] }));
9
+ }
10
+ //# sourceMappingURL=rfi_review_actions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rfi_review_actions.js","sourceRoot":"","sources":["../../../src/components/hazo_rfi_box/rfi_review_actions.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAEH,YAAY,CAAC;;AAGb,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AASvC,MAAM,UAAU,gBAAgB,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAyB;IACtG,OAAO,CACL,eAAK,SAAS,EAAE,EAAE,CAAC,0CAA0C,EAAE,SAAS,CAAC,aACvE,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,SAAS,EAClB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,EAAE,CACX,4DAA4D,EAC5D,4CAA4C,EAC5C,iDAAiD,CAClD,uBAGM,EACT,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,EAAE,CACX,4DAA4D,EAC5D,4CAA4C,EAC5C,iDAAiD,CAClD,0BAGM,IACL,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * RfiSendBackForm — Feedback textarea + option tag selector for agent send-back mode.
3
+ */
4
+ import type { ClarificationResponseOption } from '../../types/clarification.js';
5
+ export interface RfiSendBackPayload {
6
+ feedback: string;
7
+ response_options: ClarificationResponseOption[];
8
+ }
9
+ export interface RfiSendBackFormProps {
10
+ /** All available response options to pick from */
11
+ available_response_options: ClarificationResponseOption[];
12
+ /** Pre-selected response options */
13
+ initial_selected_options?: ClarificationResponseOption[];
14
+ /** Pre-filled feedback text */
15
+ initial_feedback?: string;
16
+ /** Callback when send is clicked */
17
+ on_send_back?: (payload: RfiSendBackPayload) => void;
18
+ /** Whether form is disabled */
19
+ disabled?: boolean;
20
+ className?: string;
21
+ }
22
+ export declare function RfiSendBackForm({ available_response_options, initial_selected_options, initial_feedback, on_send_back, disabled, className, }: RfiSendBackFormProps): import("react/jsx-runtime").JSX.Element;
23
+ //# sourceMappingURL=rfi_send_back_form.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rfi_send_back_form.d.ts","sourceRoot":"","sources":["../../../src/components/hazo_rfi_box/rfi_send_back_form.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAOH,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAEhF,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,2BAA2B,EAAE,CAAC;CACjD;AAED,MAAM,WAAW,oBAAoB;IACnC,kDAAkD;IAClD,0BAA0B,EAAE,2BAA2B,EAAE,CAAC;IAC1D,oCAAoC;IACpC,wBAAwB,CAAC,EAAE,2BAA2B,EAAE,CAAC;IACzD,+BAA+B;IAC/B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oCAAoC;IACpC,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,IAAI,CAAC;IACrD,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,eAAe,CAAC,EAC9B,0BAA0B,EAC1B,wBAAwB,EACxB,gBAAqB,EACrB,YAAY,EACZ,QAAQ,EACR,SAAS,GACV,EAAE,oBAAoB,2CAkEtB"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * RfiSendBackForm — Feedback textarea + option tag selector for agent send-back mode.
3
+ */
4
+ 'use client';
5
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
6
+ import { useState, useCallback } from 'react';
7
+ import { cn } from '../../utils/cn.js';
8
+ import { RfiOptionTagSelector } from './rfi_option_tag_selector.js';
9
+ export function RfiSendBackForm({ available_response_options, initial_selected_options, initial_feedback = '', on_send_back, disabled, className, }) {
10
+ const [feedback, set_feedback] = useState(initial_feedback);
11
+ const [selected_options, set_selected_options] = useState(initial_selected_options ?? []);
12
+ const can_send = feedback.trim().length > 0 && selected_options.length > 0;
13
+ const handle_send = useCallback(() => {
14
+ if (!can_send || !on_send_back)
15
+ return;
16
+ on_send_back({ feedback: feedback.trim(), response_options: selected_options });
17
+ }, [can_send, on_send_back, feedback, selected_options]);
18
+ return (_jsxs("div", { className: cn('space-y-4 pt-3', className), children: [_jsxs("div", { className: "space-y-1", children: [_jsxs("label", { className: "text-xs font-bold uppercase tracking-wide text-amber-700", children: ["Your Feedback to Client ", _jsx("span", { className: "text-red-500", children: "*" })] }), _jsx("textarea", { value: feedback, onChange: e => set_feedback(e.target.value), disabled: disabled, rows: 3, className: cn('w-full px-3 py-2 rounded-md border bg-white text-sm', 'focus:outline-none focus:ring-2 focus:ring-amber-300 focus:border-amber-400', 'resize-y min-h-[60px]', !feedback.trim() ? 'border-amber-300' : 'border-border'), placeholder: "Explain what's wrong and what the client should do..." })] }), _jsxs("div", { className: "space-y-1", children: [_jsxs("label", { className: "text-xs font-bold uppercase tracking-wide text-muted-foreground", children: ["Client Response Options ", _jsx("span", { className: "text-red-500", children: "*" })] }), _jsx(RfiOptionTagSelector, { available_options: available_response_options, selected_options: selected_options, on_change: set_selected_options, disabled: disabled })] }), _jsx("div", { className: "flex justify-end", children: _jsx("button", { type: "button", onClick: handle_send, disabled: disabled || !can_send, className: cn('px-5 py-2.5 rounded-md text-sm font-medium transition-colors shadow-sm', can_send && !disabled
19
+ ? 'bg-red-600 text-white hover:bg-red-700'
20
+ : 'bg-muted text-muted-foreground cursor-not-allowed'), children: "Send to Client" }) })] }));
21
+ }
22
+ //# sourceMappingURL=rfi_send_back_form.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rfi_send_back_form.js","sourceRoot":"","sources":["../../../src/components/hazo_rfi_box/rfi_send_back_form.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAEH,YAAY,CAAC;;AAEb,OAAc,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AACvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAsBpE,MAAM,UAAU,eAAe,CAAC,EAC9B,0BAA0B,EAC1B,wBAAwB,EACxB,gBAAgB,GAAG,EAAE,EACrB,YAAY,EACZ,QAAQ,EACR,SAAS,GACY;IACrB,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAC5D,MAAM,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CACvD,wBAAwB,IAAI,EAAE,CAC/B,CAAC;IAEF,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC;IAE3E,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE;QACnC,IAAI,CAAC,QAAQ,IAAI,CAAC,YAAY;YAAE,OAAO;QACvC,YAAY,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAClF,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAEzD,OAAO,CACL,eAAK,SAAS,EAAE,EAAE,CAAC,gBAAgB,EAAE,SAAS,CAAC,aAE7C,eAAK,SAAS,EAAC,WAAW,aACxB,iBAAO,SAAS,EAAC,0DAA0D,yCACjD,eAAM,SAAS,EAAC,cAAc,kBAAS,IACzD,EACR,mBACE,KAAK,EAAE,QAAQ,EACf,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAC3C,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,CAAC,EACP,SAAS,EAAE,EAAE,CACX,qDAAqD,EACrD,6EAA6E,EAC7E,uBAAuB,EACvB,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,eAAe,CACxD,EACD,WAAW,EAAC,uDAAuD,GACnE,IACE,EAGN,eAAK,SAAS,EAAC,WAAW,aACxB,iBAAO,SAAS,EAAC,iEAAiE,yCACxD,eAAM,SAAS,EAAC,cAAc,kBAAS,IACzD,EACR,KAAC,oBAAoB,IACnB,iBAAiB,EAAE,0BAA0B,EAC7C,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,oBAAoB,EAC/B,QAAQ,EAAE,QAAQ,GAClB,IACE,EAGN,cAAK,SAAS,EAAC,kBAAkB,YAC/B,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,QAAQ,IAAI,CAAC,QAAQ,EAC/B,SAAS,EAAE,EAAE,CACX,wEAAwE,EACxE,QAAQ,IAAI,CAAC,QAAQ;wBACnB,CAAC,CAAC,wCAAwC;wBAC1C,CAAC,CAAC,mDAAmD,CACxD,+BAGM,GACL,IACF,CACP,CAAC;AACJ,CAAC"}
@@ -1,10 +1,13 @@
1
1
  import type { ValidationRule } from '../../../types/validation.js';
2
+ import type { FbResponseSet } from '../../../types/fb_response_types.js';
2
3
  interface ClarificationSettingsProps {
3
4
  rule: ValidationRule;
4
5
  on_update: (updates: Partial<ValidationRule>) => void;
5
6
  disabled?: boolean;
6
7
  className?: string;
8
+ /** Available response sets for dropdown selection */
9
+ available_response_sets?: FbResponseSet[];
7
10
  }
8
- export declare function ClarificationSettings({ rule, on_update, disabled, className, }: ClarificationSettingsProps): import("react/jsx-runtime").JSX.Element;
11
+ export declare function ClarificationSettings({ rule, on_update, disabled, className, available_response_sets, }: ClarificationSettingsProps): import("react/jsx-runtime").JSX.Element;
9
12
  export {};
10
13
  //# sourceMappingURL=clarification_settings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"clarification_settings.d.ts","sourceRoot":"","sources":["../../../../src/components/hazo_validation_rule_editor/components/clarification_settings.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAInE,UAAU,0BAA0B;IAClC,IAAI,EAAE,cAAc,CAAC;IACrB,SAAS,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;IACtD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAuBD,wBAAgB,qBAAqB,CAAC,EACpC,IAAI,EACJ,SAAS,EACT,QAAgB,EAChB,SAAS,GACV,EAAE,0BAA0B,2CAkQ5B"}
1
+ {"version":3,"file":"clarification_settings.d.ts","sourceRoot":"","sources":["../../../../src/components/hazo_validation_rule_editor/components/clarification_settings.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAIzE,UAAU,0BAA0B;IAClC,IAAI,EAAE,cAAc,CAAC;IACrB,SAAS,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;IACtD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qDAAqD;IACrD,uBAAuB,CAAC,EAAE,aAAa,EAAE,CAAC;CAC3C;AAuBD,wBAAgB,qBAAqB,CAAC,EACpC,IAAI,EACJ,SAAS,EACT,QAAgB,EAChB,SAAS,EACT,uBAA4B,GAC7B,EAAE,0BAA0B,2CAqS5B"}
@@ -8,7 +8,7 @@ import { useCallback, useRef, useState } from 'react';
8
8
  import { cn } from '../../../utils/cn.js';
9
9
  import { EditorSection, EditorLabel, EditorSelect, EditorInput, EditorTextArea, EditorHelpText, } from '../../shared/editor_theme/index.js';
10
10
  import { DEFAULT_CLARIFICATION_TEMPLATES } from '../../../config/clarification_templates.js';
11
- import { LuGripVertical, LuMessageSquare, LuPlus, LuTrash2 } from 'react-icons/lu';
11
+ import { LuGripVertical, LuList, LuMessageSquare, LuPlus, LuTrash2 } from 'react-icons/lu';
12
12
  const CLARIFICATION_TYPE_OPTIONS = [
13
13
  { value: 'invalid_document', label: 'Invalid Document' },
14
14
  { value: 'additional_info_required', label: 'Additional Info Required' },
@@ -21,7 +21,17 @@ const RESPONSE_ACTION_OPTIONS = [
21
21
  { value: 'replace_document', label: 'Replace document', description: 'Replace this file with new one(s) provided here', default_label: 'Replace document', shows_file_upload: true, shows_additional_input: false },
22
22
  { value: 'submit_for_review', label: 'Submit as is', description: 'Submit to Tax Agent as is', default_label: 'Submit as is', shows_file_upload: false, shows_additional_input: true },
23
23
  ];
24
- export function ClarificationSettings({ rule, on_update, disabled = false, className, }) {
24
+ export function ClarificationSettings({ rule, on_update, disabled = false, className, available_response_sets = [], }) {
25
+ const has_response_sets = available_response_sets.length > 0;
26
+ const uses_response_set = !!rule.response_set_id;
27
+ const handle_response_set_change = useCallback((e) => {
28
+ const set_id = e.target.value || undefined;
29
+ on_update({
30
+ response_set_id: set_id,
31
+ // Clear custom options when a response set is selected
32
+ ...(set_id ? { custom_response_options: undefined } : {}),
33
+ });
34
+ }, [on_update]);
25
35
  const template = rule.clarification_type !== 'none'
26
36
  ? DEFAULT_CLARIFICATION_TEMPLATES[rule.clarification_type]
27
37
  : null;
@@ -75,7 +85,9 @@ export function ClarificationSettings({ rule, on_update, disabled = false, class
75
85
  const drag_index_ref = useRef(null);
76
86
  const [drop_target_index, set_drop_target_index] = useState(null);
77
87
  const response_options = rule.custom_response_options ?? template?.response_options ?? [];
78
- return (_jsxs("div", { className: cn('space-y-0', className), children: [_jsxs(EditorSection, { children: [_jsx(EditorLabel, { icon: LuMessageSquare, children: "Clarification Type" }), _jsx(EditorSelect, { value: rule.clarification_type, onChange: handle_type_change, disabled: disabled, children: CLARIFICATION_TYPE_OPTIONS.map(opt => (_jsx("option", { value: opt.value, children: opt.label }, opt.value))) }), _jsx(EditorHelpText, { children: "Determines the template used when this rule detects an issue." })] }), rule.clarification_type !== 'none' && (_jsxs(_Fragment, { children: [_jsxs(EditorSection, { children: [_jsx(EditorLabel, { children: "Custom Issue Description" }), _jsx(EditorTextArea, { value: rule.custom_issue_description ?? '', onChange: e => on_update({ custom_issue_description: e.target.value || undefined }), placeholder: template?.default_issue_description ?? 'Uses template default...', disabled: disabled, rows: 3 }), _jsx(EditorHelpText, { children: "Overrides the template's default issue description. Leave empty to use template default." })] }), _jsxs(EditorSection, { children: [_jsx(EditorLabel, { children: "Custom Action Description" }), _jsx(EditorTextArea, { value: rule.custom_action_description ?? '', onChange: e => on_update({ custom_action_description: e.target.value || undefined }), placeholder: template?.default_action_description ?? 'Uses template default...', disabled: disabled, rows: 2 })] }), _jsxs(EditorSection, { last: true, children: [_jsxs("div", { className: "flex items-center justify-between mb-2", children: [_jsx(EditorLabel, { children: "Response Options" }), !disabled && (_jsxs("button", { type: "button", onClick: handle_add_option, className: "inline-flex items-center gap-1 px-2 py-1 text-xs rounded-md bg-muted hover:bg-muted/80 transition-colors", children: [_jsx(LuPlus, { className: "h-3 w-3" }), "Add Option"] }))] }), _jsx("div", { className: "space-y-2", children: response_options.map((opt, idx) => (_jsxs("div", { draggable: !disabled, onDragStart: e => {
88
+ return (_jsxs("div", { className: cn('space-y-0', className), children: [_jsxs(EditorSection, { children: [_jsx(EditorLabel, { icon: LuMessageSquare, children: "Clarification Type" }), _jsx(EditorSelect, { value: rule.clarification_type, onChange: handle_type_change, disabled: disabled, children: CLARIFICATION_TYPE_OPTIONS.map(opt => (_jsx("option", { value: opt.value, children: opt.label }, opt.value))) }), _jsx(EditorHelpText, { children: "Determines the template used when this rule detects an issue." })] }), rule.clarification_type !== 'none' && (_jsxs(_Fragment, { children: [_jsxs(EditorSection, { children: [_jsx(EditorLabel, { children: "Custom Issue Description" }), _jsx(EditorTextArea, { value: rule.custom_issue_description ?? '', onChange: e => on_update({ custom_issue_description: e.target.value || undefined }), placeholder: template?.default_issue_description ?? 'Uses template default...', disabled: disabled, rows: 3 }), _jsx(EditorHelpText, { children: "Overrides the template's default issue description. Leave empty to use template default." })] }), _jsxs(EditorSection, { children: [_jsx(EditorLabel, { children: "Custom Action Description" }), _jsx(EditorTextArea, { value: rule.custom_action_description ?? '', onChange: e => on_update({ custom_action_description: e.target.value || undefined }), placeholder: template?.default_action_description ?? 'Uses template default...', disabled: disabled, rows: 2 })] }), has_response_sets && (_jsxs(EditorSection, { children: [_jsx(EditorLabel, { icon: LuList, children: "Response Set" }), _jsxs(EditorSelect, { value: rule.response_set_id ?? '', onChange: handle_response_set_change, disabled: disabled, children: [_jsx("option", { value: "", children: "Custom (define below)" }), available_response_sets.map(rs => (_jsx("option", { value: rs.set_id, children: rs.set_label }, rs.set_id)))] }), _jsx(EditorHelpText, { children: uses_response_set
89
+ ? `Using "${available_response_sets.find(rs => rs.set_id === rule.response_set_id)?.set_label ?? rule.response_set_id}" response set. Custom options below are ignored.`
90
+ : 'Select a pre-configured response set, or define custom options below.' })] })), _jsxs(EditorSection, { last: true, children: [_jsxs("div", { className: "flex items-center justify-between mb-2", children: [_jsxs(EditorLabel, { children: ["Response Options", uses_response_set ? ' (overridden by response set)' : ''] }), !disabled && !uses_response_set && (_jsxs("button", { type: "button", onClick: handle_add_option, className: "inline-flex items-center gap-1 px-2 py-1 text-xs rounded-md bg-muted hover:bg-muted/80 transition-colors", children: [_jsx(LuPlus, { className: "h-3 w-3" }), "Add Option"] }))] }), _jsx("div", { className: cn('space-y-2', uses_response_set && 'opacity-40 pointer-events-none'), children: response_options.map((opt, idx) => (_jsxs("div", { draggable: !disabled && !uses_response_set, onDragStart: e => {
79
91
  drag_index_ref.current = idx;
80
92
  e.dataTransfer.effectAllowed = 'move';
81
93
  }, onDragOver: e => {