hazo_collab_forms 1.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.
- package/README.md +114 -0
- package/dist/components/collab_form_file_upload.d.ts +65 -0
- package/dist/components/collab_form_file_upload.d.ts.map +1 -0
- package/dist/components/collab_form_file_upload.js +339 -0
- package/dist/components/collab_form_file_upload.js.map +1 -0
- package/dist/components/data_ok_checkbox.d.ts +36 -0
- package/dist/components/data_ok_checkbox.d.ts.map +1 -0
- package/dist/components/data_ok_checkbox.js +26 -0
- package/dist/components/data_ok_checkbox.js.map +1 -0
- package/dist/components/hazo_collab_form_base.d.ts +398 -0
- package/dist/components/hazo_collab_form_base.d.ts.map +1 -0
- package/dist/components/hazo_collab_form_base.js +206 -0
- package/dist/components/hazo_collab_form_base.js.map +1 -0
- package/dist/components/hazo_collab_form_checkbox.d.ts +52 -0
- package/dist/components/hazo_collab_form_checkbox.d.ts.map +1 -0
- package/dist/components/hazo_collab_form_checkbox.js +65 -0
- package/dist/components/hazo_collab_form_checkbox.js.map +1 -0
- package/dist/components/hazo_collab_form_combo.d.ts +91 -0
- package/dist/components/hazo_collab_form_combo.d.ts.map +1 -0
- package/dist/components/hazo_collab_form_combo.js +192 -0
- package/dist/components/hazo_collab_form_combo.js.map +1 -0
- package/dist/components/hazo_collab_form_date.d.ts +71 -0
- package/dist/components/hazo_collab_form_date.d.ts.map +1 -0
- package/dist/components/hazo_collab_form_date.js +251 -0
- package/dist/components/hazo_collab_form_date.js.map +1 -0
- package/dist/components/hazo_collab_form_group.d.ts +40 -0
- package/dist/components/hazo_collab_form_group.d.ts.map +1 -0
- package/dist/components/hazo_collab_form_group.js +151 -0
- package/dist/components/hazo_collab_form_group.js.map +1 -0
- package/dist/components/hazo_collab_form_inputbox.d.ts +44 -0
- package/dist/components/hazo_collab_form_inputbox.d.ts.map +1 -0
- package/dist/components/hazo_collab_form_inputbox.js +64 -0
- package/dist/components/hazo_collab_form_inputbox.js.map +1 -0
- package/dist/components/hazo_collab_form_radio.d.ts +73 -0
- package/dist/components/hazo_collab_form_radio.d.ts.map +1 -0
- package/dist/components/hazo_collab_form_radio.js +65 -0
- package/dist/components/hazo_collab_form_radio.js.map +1 -0
- package/dist/components/hazo_collab_form_set.d.ts +181 -0
- package/dist/components/hazo_collab_form_set.d.ts.map +1 -0
- package/dist/components/hazo_collab_form_set.js +425 -0
- package/dist/components/hazo_collab_form_set.js.map +1 -0
- package/dist/components/hazo_collab_form_textarea.d.ts +43 -0
- package/dist/components/hazo_collab_form_textarea.d.ts.map +1 -0
- package/dist/components/hazo_collab_form_textarea.js +61 -0
- package/dist/components/hazo_collab_form_textarea.js.map +1 -0
- package/dist/components/index.d.ts +23 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +14 -0
- package/dist/components/index.js.map +1 -0
- package/dist/index.client.d.ts +7 -0
- package/dist/index.client.d.ts.map +1 -0
- package/dist/index.client.js +7 -0
- package/dist/index.client.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/config.d.ts +15 -0
- package/dist/lib/config.d.ts.map +1 -0
- package/dist/lib/config.js +62 -0
- package/dist/lib/config.js.map +1 -0
- package/dist/lib/index.d.ts +5 -0
- package/dist/lib/index.d.ts.map +1 -0
- package/dist/lib/index.js +5 -0
- package/dist/lib/index.js.map +1 -0
- package/dist/utils/cn.d.ts +12 -0
- package/dist/utils/cn.d.ts.map +1 -0
- package/dist/utils/cn.js +15 -0
- package/dist/utils/cn.js.map +1 -0
- package/dist/utils/index.d.ts +9 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +7 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/use_chat_messages_check.d.ts +40 -0
- package/dist/utils/use_chat_messages_check.d.ts.map +1 -0
- package/dist/utils/use_chat_messages_check.js +80 -0
- package/dist/utils/use_chat_messages_check.js.map +1 -0
- package/dist/utils/use_collab_chat.d.ts +21 -0
- package/dist/utils/use_collab_chat.d.ts.map +1 -0
- package/dist/utils/use_collab_chat.js +49 -0
- package/dist/utils/use_collab_chat.js.map +1 -0
- package/package.json +78 -0
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Collaboration form date picker component
|
|
3
|
+
* Provides a reusable date picker field with label, error message, and chat icon functionality
|
|
4
|
+
*/
|
|
5
|
+
'use client';
|
|
6
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
7
|
+
import React from 'react';
|
|
8
|
+
import { cn } from '../utils/cn.js';
|
|
9
|
+
import { use_collab_form_field, CollabFormFieldContainer, CollabFormFieldLabel, CollabFormChatIcon, CollabFormFieldError, CollabFormDataOkCheckbox, CollabFormFileUploadSection, } from './hazo_collab_form_base.js';
|
|
10
|
+
/**
|
|
11
|
+
* Convert ISO date string to Date object
|
|
12
|
+
*/
|
|
13
|
+
function iso_string_to_date(iso_string) {
|
|
14
|
+
if (!iso_string)
|
|
15
|
+
return undefined;
|
|
16
|
+
const date = new Date(iso_string + 'T00:00:00');
|
|
17
|
+
return isNaN(date.getTime()) ? undefined : date;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Convert Date object to ISO date string (YYYY-MM-DD)
|
|
21
|
+
*/
|
|
22
|
+
function date_to_iso_string(date) {
|
|
23
|
+
if (!date)
|
|
24
|
+
return '';
|
|
25
|
+
const year = date.getFullYear();
|
|
26
|
+
const month = String(date.getMonth() + 1).padStart(2, '0');
|
|
27
|
+
const day = String(date.getDate()).padStart(2, '0');
|
|
28
|
+
return `${year}-${month}-${day}`;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Format date for display
|
|
32
|
+
*/
|
|
33
|
+
function format_date_display(iso_string) {
|
|
34
|
+
if (!iso_string)
|
|
35
|
+
return '';
|
|
36
|
+
const date = iso_string_to_date(iso_string);
|
|
37
|
+
if (!date)
|
|
38
|
+
return '';
|
|
39
|
+
return date.toLocaleDateString('en-US', { year: 'numeric', month: 'short', day: 'numeric' });
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Collaboration form date picker component
|
|
43
|
+
* Displays a labeled date picker field with error message and chat icon
|
|
44
|
+
*/
|
|
45
|
+
export const HazoCollabFormDate = React.forwardRef((props, ref) => {
|
|
46
|
+
// Create internal ref for component reference (for file_processor)
|
|
47
|
+
const component_ref = React.useRef(null);
|
|
48
|
+
const [internal_files, set_internal_files] = React.useState([]);
|
|
49
|
+
// Use controlled files if provided, otherwise use internal state
|
|
50
|
+
const current_files = props.files !== undefined ? props.files : internal_files;
|
|
51
|
+
// Expose get_file_data method and forward ref to button element
|
|
52
|
+
React.useImperativeHandle(ref, () => {
|
|
53
|
+
return {
|
|
54
|
+
...component_ref.current,
|
|
55
|
+
get_file_data: () => current_files,
|
|
56
|
+
};
|
|
57
|
+
}, [current_files]);
|
|
58
|
+
const { label, error, field_id, field_data_id, field_name, value, onChange, on_chat_click, has_chat_messages, is_chat_active, chat_background_color = 'bg-muted', is_data_ok_default, container_class_name, label_class_name, date_wrapper_class_name, error_class_name, field_width_class_name, required, multi_state_radio, data_ok_checked, on_data_ok_change, data_ok_editable, disable_data_ok, disable_chat, accept_files, files_dir, max_size, min_files, max_files, file_accept, file_processor, files: controlled_files_prop, on_files_change, id, date_mode = 'single', min_date, max_date, disabled_dates, placeholder,
|
|
59
|
+
// HazoChat props
|
|
60
|
+
hazo_chat_receiver_user_id, recipient_user_id, hazo_chat_reference_id, hazo_chat_reference_type, hazo_chat_api_base_url, hazo_chat_timezone, hazo_chat_title, hazo_chat_subtitle, hazo_chat_realtime_mode, hazo_chat_polling_interval, hazo_chat_messages_per_page, hazo_chat_class_name, hazo_chat_on_close, hazo_chat_is_open, hazo_chat_on_open_change, hazo_chat_show_sidebar_toggle, hazo_chat_show_delete_button, hazo_chat_bubble_radius, } = props;
|
|
61
|
+
const { field_id_final, handle_chat_icon_click, chat_is_open, is_chat_disabled } = use_collab_form_field({
|
|
62
|
+
label,
|
|
63
|
+
field_id,
|
|
64
|
+
id,
|
|
65
|
+
field_data_id,
|
|
66
|
+
field_name,
|
|
67
|
+
on_chat_click,
|
|
68
|
+
hazo_chat_receiver_user_id,
|
|
69
|
+
recipient_user_id,
|
|
70
|
+
hazo_chat_on_open_change,
|
|
71
|
+
hazo_chat_is_open,
|
|
72
|
+
});
|
|
73
|
+
// Determine if field should be disabled when chat is active
|
|
74
|
+
// Use is_chat_active if provided, otherwise use chat_is_open
|
|
75
|
+
const is_field_disabled = is_chat_active !== undefined ? is_chat_active : chat_is_open;
|
|
76
|
+
// State for popover open/close
|
|
77
|
+
const [popover_open, set_popover_open] = React.useState(false);
|
|
78
|
+
// Dynamic imports for shadcn components
|
|
79
|
+
const [Components, setComponents] = React.useState(null);
|
|
80
|
+
const [is_loading, set_is_loading] = React.useState(true);
|
|
81
|
+
const [is_mounted, set_is_mounted] = React.useState(false);
|
|
82
|
+
React.useEffect(() => {
|
|
83
|
+
set_is_mounted(true);
|
|
84
|
+
}, []);
|
|
85
|
+
React.useEffect(() => {
|
|
86
|
+
if (!is_mounted)
|
|
87
|
+
return;
|
|
88
|
+
const loadComponents = async () => {
|
|
89
|
+
try {
|
|
90
|
+
set_is_loading(true);
|
|
91
|
+
// Try to import from consuming app's components directory
|
|
92
|
+
// This path will be resolved by Next.js/webpack in the consuming app
|
|
93
|
+
// @ts-expect-error - These modules are provided by the consuming application
|
|
94
|
+
const popoverModule = await import('@/components/ui/popover').catch(() => null);
|
|
95
|
+
// @ts-expect-error - These modules are provided by the consuming application
|
|
96
|
+
const calendarModule = await import('@/components/ui/calendar').catch(() => null);
|
|
97
|
+
// @ts-expect-error - These modules are provided by the consuming application
|
|
98
|
+
const buttonModule = await import('@/components/ui/button').catch(() => null);
|
|
99
|
+
const lucideModule = await import('lucide-react').catch(() => null);
|
|
100
|
+
if (popoverModule && calendarModule && buttonModule && lucideModule) {
|
|
101
|
+
setComponents({
|
|
102
|
+
Popover: popoverModule.Popover,
|
|
103
|
+
PopoverTrigger: popoverModule.PopoverTrigger,
|
|
104
|
+
PopoverContent: popoverModule.PopoverContent,
|
|
105
|
+
Calendar: calendarModule.Calendar,
|
|
106
|
+
Button: buttonModule.Button,
|
|
107
|
+
CalendarIcon: lucideModule.CalendarIcon,
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
console.warn('[HazoCollabFormDate] shadcn Popover, Calendar, Button, or lucide-react not found. ' +
|
|
112
|
+
'Please install them: npx shadcn@latest add popover calendar button && npm install lucide-react');
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
catch (error) {
|
|
116
|
+
console.warn('[HazoCollabFormDate] Error loading components:', error);
|
|
117
|
+
}
|
|
118
|
+
finally {
|
|
119
|
+
set_is_loading(false);
|
|
120
|
+
}
|
|
121
|
+
};
|
|
122
|
+
loadComponents();
|
|
123
|
+
}, [is_mounted]);
|
|
124
|
+
/**
|
|
125
|
+
* Get current date value(s) as Date objects for Calendar component
|
|
126
|
+
*/
|
|
127
|
+
const get_calendar_date = React.useMemo(() => {
|
|
128
|
+
if (date_mode === 'single') {
|
|
129
|
+
return iso_string_to_date(value);
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
const range_value = value;
|
|
133
|
+
if (!range_value)
|
|
134
|
+
return undefined;
|
|
135
|
+
return {
|
|
136
|
+
from: iso_string_to_date(range_value.from),
|
|
137
|
+
to: iso_string_to_date(range_value.to),
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
}, [value, date_mode]);
|
|
141
|
+
/**
|
|
142
|
+
* Get disabled dates as Date objects
|
|
143
|
+
*/
|
|
144
|
+
const disabled_dates_as_dates = React.useMemo(() => {
|
|
145
|
+
if (!disabled_dates || disabled_dates.length === 0)
|
|
146
|
+
return undefined;
|
|
147
|
+
return disabled_dates.map(iso_string_to_date).filter((d) => d !== undefined);
|
|
148
|
+
}, [disabled_dates]);
|
|
149
|
+
/**
|
|
150
|
+
* Get min/max dates as Date objects
|
|
151
|
+
*/
|
|
152
|
+
const min_date_obj = React.useMemo(() => iso_string_to_date(min_date), [min_date]);
|
|
153
|
+
const max_date_obj = React.useMemo(() => iso_string_to_date(max_date), [max_date]);
|
|
154
|
+
/**
|
|
155
|
+
* Handle date selection from Calendar
|
|
156
|
+
*/
|
|
157
|
+
const handle_date_select = React.useCallback((selected_date) => {
|
|
158
|
+
if (!selected_date) {
|
|
159
|
+
if (date_mode === 'single') {
|
|
160
|
+
onChange('');
|
|
161
|
+
}
|
|
162
|
+
else {
|
|
163
|
+
onChange({ from: '', to: '' });
|
|
164
|
+
}
|
|
165
|
+
return;
|
|
166
|
+
}
|
|
167
|
+
if (date_mode === 'single') {
|
|
168
|
+
const date = selected_date;
|
|
169
|
+
onChange(date_to_iso_string(date));
|
|
170
|
+
set_popover_open(false);
|
|
171
|
+
}
|
|
172
|
+
else {
|
|
173
|
+
const range = selected_date;
|
|
174
|
+
// For range mode, we need to handle the selection differently
|
|
175
|
+
// The Calendar component in range mode will provide { from, to }
|
|
176
|
+
const new_range = {
|
|
177
|
+
from: date_to_iso_string(range.from),
|
|
178
|
+
to: date_to_iso_string(range.to),
|
|
179
|
+
};
|
|
180
|
+
onChange(new_range);
|
|
181
|
+
// Close popover when both dates are selected
|
|
182
|
+
if (range.from && range.to) {
|
|
183
|
+
set_popover_open(false);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
}, [date_mode, onChange]);
|
|
187
|
+
/**
|
|
188
|
+
* Get display text for the date picker button
|
|
189
|
+
*/
|
|
190
|
+
const get_button_text = React.useMemo(() => {
|
|
191
|
+
if (date_mode === 'single') {
|
|
192
|
+
const date_str = value;
|
|
193
|
+
if (!date_str)
|
|
194
|
+
return placeholder || 'Pick a date';
|
|
195
|
+
return format_date_display(date_str);
|
|
196
|
+
}
|
|
197
|
+
else {
|
|
198
|
+
const range_value = value;
|
|
199
|
+
if (!range_value || (!range_value.from && !range_value.to)) {
|
|
200
|
+
return placeholder || 'Pick a date range';
|
|
201
|
+
}
|
|
202
|
+
if (range_value.from && range_value.to) {
|
|
203
|
+
return `${format_date_display(range_value.from)} - ${format_date_display(range_value.to)}`;
|
|
204
|
+
}
|
|
205
|
+
if (range_value.from) {
|
|
206
|
+
return `${format_date_display(range_value.from)} - ...`;
|
|
207
|
+
}
|
|
208
|
+
return placeholder || 'Pick a date range';
|
|
209
|
+
}
|
|
210
|
+
}, [value, date_mode, placeholder]);
|
|
211
|
+
// Show loading state while components are loading
|
|
212
|
+
if (is_loading) {
|
|
213
|
+
return (_jsxs(CollabFormFieldContainer, { has_chat_messages: has_chat_messages, is_chat_active: is_chat_active, chat_background_color: chat_background_color, is_data_ok_default: is_data_ok_default, container_class_name: container_class_name, hazo_chat_is_open: chat_is_open, hazo_chat_receiver_user_id: hazo_chat_receiver_user_id, recipient_user_id: recipient_user_id, hazo_chat_reference_id: hazo_chat_reference_id, hazo_chat_reference_type: hazo_chat_reference_type, hazo_chat_api_base_url: hazo_chat_api_base_url, hazo_chat_timezone: hazo_chat_timezone, hazo_chat_title: hazo_chat_title, hazo_chat_subtitle: hazo_chat_subtitle, hazo_chat_realtime_mode: hazo_chat_realtime_mode, hazo_chat_polling_interval: hazo_chat_polling_interval, hazo_chat_messages_per_page: hazo_chat_messages_per_page, hazo_chat_class_name: hazo_chat_class_name, hazo_chat_on_close: hazo_chat_on_close, hazo_chat_on_open_change: hazo_chat_on_open_change, hazo_chat_show_sidebar_toggle: hazo_chat_show_sidebar_toggle, hazo_chat_show_delete_button: hazo_chat_show_delete_button, hazo_chat_bubble_radius: hazo_chat_bubble_radius, field_data_id: field_data_id, field_name: field_name, label: label, files: current_files, children: [_jsx(CollabFormFieldLabel, { field_id_final: field_id_final, label: label, label_class_name: label_class_name, required: required }), _jsx("div", { className: cn('cls_collab_date_wrapper flex items-center gap-2', date_wrapper_class_name), suppressHydrationWarning: true, children: _jsx("div", { className: cn(field_width_class_name || 'flex-1', field_width_class_name && 'flex-shrink-0'), children: _jsx("div", { className: "cls_collab_date_loading w-full h-9 rounded-md border border-input bg-muted animate-pulse" }) }) })] }));
|
|
214
|
+
}
|
|
215
|
+
// If components are not available, show fallback
|
|
216
|
+
if (!Components) {
|
|
217
|
+
return (_jsxs(CollabFormFieldContainer, { has_chat_messages: has_chat_messages, is_chat_active: is_chat_active, chat_background_color: chat_background_color, is_data_ok_default: is_data_ok_default, container_class_name: container_class_name, hazo_chat_is_open: chat_is_open, hazo_chat_receiver_user_id: hazo_chat_receiver_user_id, recipient_user_id: recipient_user_id, hazo_chat_reference_id: hazo_chat_reference_id, hazo_chat_reference_type: hazo_chat_reference_type, hazo_chat_api_base_url: hazo_chat_api_base_url, hazo_chat_timezone: hazo_chat_timezone, hazo_chat_title: hazo_chat_title, hazo_chat_subtitle: hazo_chat_subtitle, hazo_chat_realtime_mode: hazo_chat_realtime_mode, hazo_chat_polling_interval: hazo_chat_polling_interval, hazo_chat_messages_per_page: hazo_chat_messages_per_page, hazo_chat_class_name: hazo_chat_class_name, hazo_chat_on_close: hazo_chat_on_close, hazo_chat_on_open_change: hazo_chat_on_open_change, hazo_chat_show_sidebar_toggle: hazo_chat_show_sidebar_toggle, hazo_chat_show_delete_button: hazo_chat_show_delete_button, hazo_chat_bubble_radius: hazo_chat_bubble_radius, field_data_id: field_data_id, field_name: field_name, label: label, files: current_files, children: [_jsx(CollabFormFieldLabel, { field_id_final: field_id_final, label: label, label_class_name: label_class_name, required: required }), _jsx("div", { className: cn('cls_collab_date_wrapper flex items-center gap-2', date_wrapper_class_name), suppressHydrationWarning: true, children: _jsx("div", { className: cn(field_width_class_name || 'flex-1', field_width_class_name && 'flex-shrink-0'), children: _jsx("div", { className: "cls_collab_date_fallback w-full h-9 rounded-md border border-destructive bg-transparent px-3 py-1 text-sm text-muted-foreground flex items-center", children: "Date picker components not available. Please install: npx shadcn@latest add popover calendar button" }) }) }), error && (_jsx(CollabFormFieldError, { field_id_final: field_id_final, error: error, error_class_name: error_class_name }))] }));
|
|
218
|
+
}
|
|
219
|
+
const { Popover, PopoverTrigger, PopoverContent, Calendar, Button, CalendarIcon } = Components;
|
|
220
|
+
return (_jsxs(CollabFormFieldContainer, { has_chat_messages: has_chat_messages, is_chat_active: is_chat_active, chat_background_color: chat_background_color, is_data_ok_default: is_data_ok_default, container_class_name: container_class_name, hazo_chat_is_open: chat_is_open, hazo_chat_receiver_user_id: hazo_chat_receiver_user_id, recipient_user_id: recipient_user_id, hazo_chat_reference_id: hazo_chat_reference_id, hazo_chat_reference_type: hazo_chat_reference_type, hazo_chat_api_base_url: hazo_chat_api_base_url, hazo_chat_timezone: hazo_chat_timezone, hazo_chat_title: hazo_chat_title, hazo_chat_subtitle: hazo_chat_subtitle, hazo_chat_realtime_mode: hazo_chat_realtime_mode, hazo_chat_polling_interval: hazo_chat_polling_interval, hazo_chat_messages_per_page: hazo_chat_messages_per_page, hazo_chat_class_name: hazo_chat_class_name, hazo_chat_on_close: hazo_chat_on_close, hazo_chat_on_open_change: hazo_chat_on_open_change, hazo_chat_show_sidebar_toggle: hazo_chat_show_sidebar_toggle, hazo_chat_show_delete_button: hazo_chat_show_delete_button, hazo_chat_bubble_radius: hazo_chat_bubble_radius, field_data_id: field_data_id, field_name: field_name, label: label, files: current_files, children: [_jsx(CollabFormFieldLabel, { field_id_final: field_id_final, label: label, label_class_name: label_class_name, required: required }), _jsxs("div", { className: cn('cls_collab_date_wrapper flex items-center gap-2', date_wrapper_class_name), suppressHydrationWarning: true, children: [_jsx("div", { className: cn(field_width_class_name || 'flex-1', field_width_class_name && 'flex-shrink-0'), children: _jsxs(Popover, { open: popover_open, onOpenChange: set_popover_open, children: [_jsx(PopoverTrigger, { asChild: true, children: _jsxs(Button, { ref: component_ref, id: field_id_final, variant: "outline", disabled: is_field_disabled, className: cn('cls_collab_date_button w-full h-9 justify-start text-left font-normal', !value && 'text-muted-foreground', error && 'border-destructive focus-visible:ring-destructive'), "aria-invalid": error ? 'true' : 'false', "aria-describedby": error ? `${field_id_final}-error` : undefined, children: [_jsx(CalendarIcon, { className: "mr-2 h-4 w-4" }), get_button_text] }) }), _jsx(PopoverContent, { className: "w-auto p-0", align: "start", children: _jsx(Calendar, { mode: date_mode, selected: get_calendar_date, onSelect: handle_date_select, disabled: (date) => {
|
|
221
|
+
// Normalize date to midnight for accurate comparison
|
|
222
|
+
const normalized_date = new Date(date.getFullYear(), date.getMonth(), date.getDate());
|
|
223
|
+
// Check if date is before min_date
|
|
224
|
+
if (min_date_obj) {
|
|
225
|
+
const normalized_min = new Date(min_date_obj.getFullYear(), min_date_obj.getMonth(), min_date_obj.getDate());
|
|
226
|
+
if (normalized_date < normalized_min)
|
|
227
|
+
return true;
|
|
228
|
+
}
|
|
229
|
+
// Check if date is after max_date
|
|
230
|
+
if (max_date_obj) {
|
|
231
|
+
const normalized_max = new Date(max_date_obj.getFullYear(), max_date_obj.getMonth(), max_date_obj.getDate());
|
|
232
|
+
if (normalized_date > normalized_max)
|
|
233
|
+
return true;
|
|
234
|
+
}
|
|
235
|
+
// Check if date is in disabled_dates
|
|
236
|
+
if (disabled_dates_as_dates) {
|
|
237
|
+
const date_str = date_to_iso_string(date);
|
|
238
|
+
return disabled_dates_as_dates.some(d => date_to_iso_string(d) === date_str);
|
|
239
|
+
}
|
|
240
|
+
return false;
|
|
241
|
+
}, initialFocus: true }) })] }) }), !disable_data_ok && (_jsx(CollabFormDataOkCheckbox, { label: label, data_ok_checked: data_ok_checked, on_data_ok_change: on_data_ok_change, editable: data_ok_editable })), !disable_chat && (_jsx(CollabFormChatIcon, { label: label, error: error, on_click: handle_chat_icon_click, multi_state_radio: multi_state_radio, has_chat_messages: has_chat_messages, disabled: disable_chat, button_disabled: is_chat_disabled }))] }), _jsx(CollabFormFieldError, { field_id_final: field_id_final, error: error, error_class_name: error_class_name }), _jsx(CollabFormFileUploadSection, { field_id_final: field_id_final, accept_files: accept_files, files_dir: files_dir, max_size: max_size, min_files: min_files, max_files: max_files, file_accept: file_accept, file_processor: file_processor, files: current_files, on_files_change: (new_files) => {
|
|
242
|
+
if (controlled_files_prop === undefined) {
|
|
243
|
+
set_internal_files(new_files);
|
|
244
|
+
}
|
|
245
|
+
if (on_files_change) {
|
|
246
|
+
on_files_change(new_files);
|
|
247
|
+
}
|
|
248
|
+
}, component_ref: component_ref })] }));
|
|
249
|
+
});
|
|
250
|
+
HazoCollabFormDate.displayName = 'HazoCollabFormDate';
|
|
251
|
+
//# sourceMappingURL=hazo_collab_form_date.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hazo_collab_form_date.js","sourceRoot":"","sources":["../../src/components/hazo_collab_form_date.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Collaboration form group component
|
|
3
|
+
* Groups multiple collab form fields together with a single data ok checkbox and chat icon at the group level
|
|
4
|
+
*/
|
|
5
|
+
import React from 'react';
|
|
6
|
+
import { type CollabFormFieldBaseProps, type FileData } from './hazo_collab_form_base.js';
|
|
7
|
+
/**
|
|
8
|
+
* Props for the HazoCollabFormGroup component
|
|
9
|
+
*/
|
|
10
|
+
export interface HazoCollabFormGroupProps extends CollabFormFieldBaseProps {
|
|
11
|
+
/**
|
|
12
|
+
* Child form fields to group together
|
|
13
|
+
*/
|
|
14
|
+
children: React.ReactNode;
|
|
15
|
+
/**
|
|
16
|
+
* Custom className for the group wrapper
|
|
17
|
+
*/
|
|
18
|
+
group_wrapper_class_name?: string;
|
|
19
|
+
/**
|
|
20
|
+
* Whether to disable the border/frame around the group
|
|
21
|
+
* Default: false (border is shown by default)
|
|
22
|
+
*/
|
|
23
|
+
disable_border?: boolean;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Exposed methods for HazoCollabFormGroup
|
|
27
|
+
*/
|
|
28
|
+
export interface HazoCollabFormGroupRef {
|
|
29
|
+
/**
|
|
30
|
+
* Get the current files data
|
|
31
|
+
* Returns array of FileData objects
|
|
32
|
+
*/
|
|
33
|
+
get_file_data: () => FileData[];
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Collaboration form group component
|
|
37
|
+
* Groups multiple collab form fields together with group-level data ok checkbox and chat icon
|
|
38
|
+
*/
|
|
39
|
+
export declare const HazoCollabFormGroup: React.ForwardRefExoticComponent<HazoCollabFormGroupProps & React.RefAttributes<HTMLDivElement & HazoCollabFormGroupRef>>;
|
|
40
|
+
//# sourceMappingURL=hazo_collab_form_group.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hazo_collab_form_group.d.ts","sourceRoot":"","sources":["../../src/components/hazo_collab_form_group.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAQL,KAAK,wBAAwB,EAC7B,KAAK,QAAQ,EACd,MAAM,4BAA4B,CAAC;AAEpC;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,wBAAwB;IACxE;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAE1B;;OAEG;IACH,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAElC;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAkGD;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,aAAa,EAAE,MAAM,QAAQ,EAAE,CAAC;CACjC;AAED;;;GAGG;AACH,eAAO,MAAM,mBAAmB,0HAmN9B,CAAC"}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Collaboration form group component
|
|
3
|
+
* Groups multiple collab form fields together with a single data ok checkbox and chat icon at the group level
|
|
4
|
+
*/
|
|
5
|
+
'use client';
|
|
6
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
7
|
+
import React from 'react';
|
|
8
|
+
import { cn } from '../utils/cn.js';
|
|
9
|
+
import { use_collab_form_field, CollabFormFieldContainer, CollabFormFieldLabel, CollabFormChatIcon, CollabFormFieldError, CollabFormDataOkCheckbox, CollabFormFileUploadSection, } from './hazo_collab_form_base.js';
|
|
10
|
+
/**
|
|
11
|
+
* List of collab form component display names to identify them
|
|
12
|
+
*/
|
|
13
|
+
const COLLAB_FORM_COMPONENT_NAMES = [
|
|
14
|
+
'HazoCollabFormInputbox',
|
|
15
|
+
'HazoCollabFormTextArea',
|
|
16
|
+
'HazoCollabFormCheckbox',
|
|
17
|
+
'HazoCollabFormCombo',
|
|
18
|
+
'HazoCollabFormRadio',
|
|
19
|
+
];
|
|
20
|
+
/**
|
|
21
|
+
* Check if a React element is a collab form component
|
|
22
|
+
*/
|
|
23
|
+
function is_collab_form_component(element) {
|
|
24
|
+
if (!element || typeof element !== 'object') {
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
const element_type = element.type;
|
|
28
|
+
// Helper function to check displayName
|
|
29
|
+
const check_display_name = (type_to_check) => {
|
|
30
|
+
if (!type_to_check)
|
|
31
|
+
return false;
|
|
32
|
+
// Check displayName directly
|
|
33
|
+
if (type_to_check.displayName) {
|
|
34
|
+
if (COLLAB_FORM_COMPONENT_NAMES.includes(type_to_check.displayName)) {
|
|
35
|
+
return true;
|
|
36
|
+
}
|
|
37
|
+
// Also check if it starts with "HazoCollabForm" as a fallback
|
|
38
|
+
if (type_to_check.displayName.startsWith('HazoCollabForm')) {
|
|
39
|
+
return true;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
// Check render.displayName for forwardRef components
|
|
43
|
+
if (type_to_check.render && type_to_check.render.displayName) {
|
|
44
|
+
if (COLLAB_FORM_COMPONENT_NAMES.includes(type_to_check.render.displayName)) {
|
|
45
|
+
return true;
|
|
46
|
+
}
|
|
47
|
+
// Also check if it starts with "HazoCollabForm" as a fallback
|
|
48
|
+
if (type_to_check.render.displayName.startsWith('HazoCollabForm')) {
|
|
49
|
+
return true;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return false;
|
|
53
|
+
};
|
|
54
|
+
// Check if it's a forwardRef component (object with render function)
|
|
55
|
+
if (element_type && typeof element_type === 'object' && element_type !== null) {
|
|
56
|
+
if (check_display_name(element_type)) {
|
|
57
|
+
return true;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
// Check if it's a regular function component
|
|
61
|
+
if (element_type && typeof element_type === 'function') {
|
|
62
|
+
if (check_display_name(element_type)) {
|
|
63
|
+
return true;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
// Fallback: Check props to see if it has collab form component props
|
|
67
|
+
// This is a more lenient check - if it has the base props, assume it's a collab form component
|
|
68
|
+
if (element.props) {
|
|
69
|
+
const has_label = typeof element.props.label === 'string';
|
|
70
|
+
// Check for any collab form component indicators
|
|
71
|
+
const has_collab_value = element.props.value !== undefined ||
|
|
72
|
+
element.props.checked !== undefined ||
|
|
73
|
+
element.props.options !== undefined;
|
|
74
|
+
const has_collab_callbacks = element.props.onChange !== undefined;
|
|
75
|
+
// Also check for common collab form props
|
|
76
|
+
const has_collab_props = element.props.field_id !== undefined ||
|
|
77
|
+
element.props.field_data_id !== undefined ||
|
|
78
|
+
element.props.field_name !== undefined ||
|
|
79
|
+
element.props.disable_data_ok !== undefined ||
|
|
80
|
+
element.props.disable_chat !== undefined;
|
|
81
|
+
// If it has a label and any collab form indicators, treat it as a collab form component
|
|
82
|
+
// Very lenient: if it has a label and onChange, it's likely a collab form component
|
|
83
|
+
if (has_label && (has_collab_value || has_collab_callbacks || has_collab_props || element.props.onChange)) {
|
|
84
|
+
return true;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
return false;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Collaboration form group component
|
|
91
|
+
* Groups multiple collab form fields together with group-level data ok checkbox and chat icon
|
|
92
|
+
*/
|
|
93
|
+
export const HazoCollabFormGroup = React.forwardRef((props, ref) => {
|
|
94
|
+
// Create internal ref for component reference (for file_processor)
|
|
95
|
+
const component_ref = React.useRef(null);
|
|
96
|
+
const [internal_files, set_internal_files] = React.useState([]);
|
|
97
|
+
// Use controlled files if provided, otherwise use internal state
|
|
98
|
+
const current_files = props.files !== undefined ? props.files : internal_files;
|
|
99
|
+
// Expose get_file_data method and forward ref to div element
|
|
100
|
+
React.useImperativeHandle(ref, () => {
|
|
101
|
+
return {
|
|
102
|
+
...component_ref.current,
|
|
103
|
+
get_file_data: () => current_files,
|
|
104
|
+
};
|
|
105
|
+
}, [current_files]);
|
|
106
|
+
const { label, error, field_id, field_data_id, field_name, children, on_chat_click, has_chat_messages, is_chat_active, chat_background_color = 'bg-muted', is_data_ok_default, container_class_name, label_class_name, group_wrapper_class_name, error_class_name, multi_state_radio, data_ok_checked, on_data_ok_change, data_ok_editable, disable_border = false, accept_files, files_dir, max_size, min_files, max_files, file_accept, file_processor, files: controlled_files, on_files_change, id,
|
|
107
|
+
// HazoChat props
|
|
108
|
+
hazo_chat_receiver_user_id, recipient_user_id, hazo_chat_reference_id, hazo_chat_reference_type, hazo_chat_api_base_url, hazo_chat_timezone, hazo_chat_title, hazo_chat_subtitle, hazo_chat_realtime_mode, hazo_chat_polling_interval, hazo_chat_messages_per_page, hazo_chat_class_name, hazo_chat_on_close, hazo_chat_is_open, hazo_chat_on_open_change, hazo_chat_show_sidebar_toggle, hazo_chat_show_delete_button, hazo_chat_bubble_radius, } = props;
|
|
109
|
+
const { field_id_final, handle_chat_icon_click, chat_is_open } = use_collab_form_field({
|
|
110
|
+
label,
|
|
111
|
+
field_id,
|
|
112
|
+
id,
|
|
113
|
+
field_data_id,
|
|
114
|
+
field_name,
|
|
115
|
+
on_chat_click,
|
|
116
|
+
hazo_chat_receiver_user_id,
|
|
117
|
+
recipient_user_id,
|
|
118
|
+
hazo_chat_on_open_change,
|
|
119
|
+
hazo_chat_is_open,
|
|
120
|
+
});
|
|
121
|
+
/**
|
|
122
|
+
* Clone children and add disable_data_ok and disable_chat props to collab form components
|
|
123
|
+
*/
|
|
124
|
+
const cloned_children = React.Children.map(children, (child) => {
|
|
125
|
+
if (!React.isValidElement(child)) {
|
|
126
|
+
return child;
|
|
127
|
+
}
|
|
128
|
+
// Check if this child is a collab form component
|
|
129
|
+
if (is_collab_form_component(child)) {
|
|
130
|
+
// Clone the element and add disable props
|
|
131
|
+
// Merge with existing props to ensure we don't override important props
|
|
132
|
+
return React.cloneElement(child, {
|
|
133
|
+
...child.props,
|
|
134
|
+
disable_data_ok: true,
|
|
135
|
+
disable_chat: true,
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
// If not a collab form component, return as-is
|
|
139
|
+
return child;
|
|
140
|
+
});
|
|
141
|
+
return (_jsxs("div", { className: "cls_collab_group_root space-y-2", ref: component_ref, children: [_jsxs("div", { className: "cls_collab_group_label_row flex items-center justify-between gap-2", children: [_jsx(CollabFormFieldLabel, { field_id_final: field_id_final, label: label, label_class_name: label_class_name }), _jsxs("div", { className: "cls_collab_group_actions flex items-center gap-2 flex-shrink-0", suppressHydrationWarning: true, children: [_jsx(CollabFormDataOkCheckbox, { label: label, data_ok_checked: data_ok_checked, on_data_ok_change: on_data_ok_change, editable: data_ok_editable }), _jsx(CollabFormChatIcon, { label: label, error: error, on_click: handle_chat_icon_click, multi_state_radio: multi_state_radio, has_chat_messages: has_chat_messages })] })] }), _jsxs(CollabFormFieldContainer, { has_chat_messages: has_chat_messages, is_chat_active: is_chat_active, chat_background_color: chat_background_color, is_data_ok_default: is_data_ok_default, container_class_name: cn(!disable_border && 'border border-input rounded-md p-4', container_class_name), hazo_chat_is_open: chat_is_open, hazo_chat_receiver_user_id: hazo_chat_receiver_user_id, recipient_user_id: recipient_user_id, hazo_chat_reference_id: hazo_chat_reference_id, hazo_chat_reference_type: hazo_chat_reference_type, hazo_chat_api_base_url: hazo_chat_api_base_url, hazo_chat_timezone: hazo_chat_timezone, hazo_chat_title: hazo_chat_title, hazo_chat_subtitle: hazo_chat_subtitle, hazo_chat_realtime_mode: hazo_chat_realtime_mode, hazo_chat_polling_interval: hazo_chat_polling_interval, hazo_chat_messages_per_page: hazo_chat_messages_per_page, hazo_chat_class_name: hazo_chat_class_name, hazo_chat_on_close: hazo_chat_on_close, hazo_chat_on_open_change: hazo_chat_on_open_change, hazo_chat_show_sidebar_toggle: hazo_chat_show_sidebar_toggle, hazo_chat_show_delete_button: hazo_chat_show_delete_button, hazo_chat_bubble_radius: hazo_chat_bubble_radius, field_data_id: field_data_id, field_name: field_name, label: label, files: current_files, children: [_jsx("div", { className: cn('cls_collab_group_wrapper space-y-2', group_wrapper_class_name), children: cloned_children }), _jsx(CollabFormFieldError, { field_id_final: field_id_final, error: error, error_class_name: error_class_name }), _jsx(CollabFormFileUploadSection, { field_id_final: field_id_final, accept_files: accept_files, files_dir: files_dir, max_size: max_size, min_files: min_files, max_files: max_files, file_accept: file_accept, file_processor: file_processor, files: current_files, on_files_change: (new_files) => {
|
|
142
|
+
if (controlled_files === undefined) {
|
|
143
|
+
set_internal_files(new_files);
|
|
144
|
+
}
|
|
145
|
+
if (on_files_change) {
|
|
146
|
+
on_files_change(new_files);
|
|
147
|
+
}
|
|
148
|
+
}, component_ref: component_ref })] })] }));
|
|
149
|
+
});
|
|
150
|
+
HazoCollabFormGroup.displayName = 'HazoCollabFormGroup';
|
|
151
|
+
//# sourceMappingURL=hazo_collab_form_group.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hazo_collab_form_group.js","sourceRoot":"","sources":["../../src/components/hazo_collab_form_group.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,YAAY,CAAC;;AAEb,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,wBAAwB,EACxB,2BAA2B,GAG5B,MAAM,4BAA4B,CAAC;AAuBpC;;GAEG;AACH,MAAM,2BAA2B,GAAG;IAClC,wBAAwB;IACxB,wBAAwB;IACxB,wBAAwB;IACxB,qBAAqB;IACrB,qBAAqB;CACtB,CAAC;AAEF;;GAEG;AACH,SAAS,wBAAwB,CAAC,OAA2B;IAC3D,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC5C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAElC,uCAAuC;IACvC,MAAM,kBAAkB,GAAG,CAAC,aAAkB,EAAW,EAAE;QACzD,IAAI,CAAC,aAAa;YAAE,OAAO,KAAK,CAAC;QAEjC,6BAA6B;QAC7B,IAAI,aAAa,CAAC,WAAW,EAAE,CAAC;YAC9B,IAAI,2BAA2B,CAAC,QAAQ,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC;gBACpE,OAAO,IAAI,CAAC;YACd,CAAC;YACD,8DAA8D;YAC9D,IAAI,aAAa,CAAC,WAAW,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAC3D,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,qDAAqD;QACrD,IAAI,aAAa,CAAC,MAAM,IAAI,aAAa,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAC7D,IAAI,2BAA2B,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC3E,OAAO,IAAI,CAAC;YACd,CAAC;YACD,8DAA8D;YAC9D,IAAI,aAAa,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAClE,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IAEF,qEAAqE;IACrE,IAAI,YAAY,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;QAC9E,IAAI,kBAAkB,CAAC,YAAY,CAAC,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,6CAA6C;IAC7C,IAAI,YAAY,IAAI,OAAO,YAAY,KAAK,UAAU,EAAE,CAAC;QACvD,IAAI,kBAAkB,CAAC,YAAY,CAAC,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,qEAAqE;IACrE,+FAA+F;IAC/F,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,SAAS,GAAG,OAAO,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC;QAE1D,iDAAiD;QACjD,MAAM,gBAAgB,GACpB,OAAO,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS;YACjC,OAAO,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS;YACnC,OAAO,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC;QAEtC,MAAM,oBAAoB,GACxB,OAAO,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC;QAEvC,0CAA0C;QAC1C,MAAM,gBAAgB,GACpB,OAAO,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS;YACpC,OAAO,CAAC,KAAK,CAAC,aAAa,KAAK,SAAS;YACzC,OAAO,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS;YACtC,OAAO,CAAC,KAAK,CAAC,eAAe,KAAK,SAAS;YAC3C,OAAO,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS,CAAC;QAE3C,wFAAwF;QACxF,oFAAoF;QACpF,IAAI,SAAS,IAAI,CAAC,gBAAgB,IAAI,oBAAoB,IAAI,gBAAgB,IAAI,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1G,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAaD;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,CAAC,UAAU,CAGjD,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACf,mEAAmE;IACnE,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAiB,IAAI,CAAC,CAAC;IACzD,MAAM,CAAC,cAAc,EAAE,kBAAkB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAa,EAAE,CAAC,CAAC;IAE5E,iEAAiE;IACjE,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC;IAE/E,6DAA6D;IAC7D,KAAK,CAAC,mBAAmB,CACvB,GAAG,EACH,GAAG,EAAE;QACH,OAAO;YACL,GAAI,aAAa,CAAC,OAA0B;YAC5C,aAAa,EAAE,GAAG,EAAE,CAAC,aAAa;SACQ,CAAC;IAC/C,CAAC,EACD,CAAC,aAAa,CAAC,CAChB,CAAC;IAEF,MAAM,EACJ,KAAK,EACL,KAAK,EACL,QAAQ,EACR,aAAa,EACb,UAAU,EACV,QAAQ,EACR,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,qBAAqB,GAAG,UAAU,EAClC,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,wBAAwB,EACxB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,GAAG,KAAK,EACtB,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,SAAS,EACT,SAAS,EACT,WAAW,EACX,cAAc,EACd,KAAK,EAAE,gBAAgB,EACvB,eAAe,EACf,EAAE;IACF,iBAAiB;IACjB,0BAA0B,EAC1B,iBAAiB,EACjB,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,EACtB,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,uBAAuB,EACvB,0BAA0B,EAC1B,2BAA2B,EAC3B,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,wBAAwB,EACxB,6BAA6B,EAC7B,4BAA4B,EAC5B,uBAAuB,GACxB,GAAG,KAAK,CAAC;IAEV,MAAM,EAAE,cAAc,EAAE,sBAAsB,EAAE,YAAY,EAAE,GAAG,qBAAqB,CAAC;QACrF,KAAK;QACL,QAAQ;QACR,EAAE;QACF,aAAa;QACb,UAAU;QACV,aAAa;QACb,0BAA0B;QAC1B,iBAAiB;QACjB,wBAAwB;QACxB,iBAAiB;KAClB,CAAC,CAAC;IAEH;;OAEG;IACH,MAAM,eAAe,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;QAC7D,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,iDAAiD;QACjD,IAAI,wBAAwB,CAAC,KAAK,CAAC,EAAE,CAAC;YACpC,0CAA0C;YAC1C,wEAAwE;YACxE,OAAO,KAAK,CAAC,YAAY,CAAC,KAAgC,EAAE;gBAC1D,GAAG,KAAK,CAAC,KAAK;gBACd,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,IAAI;aACnB,CAAC,CAAC;QACL,CAAC;QAED,+CAA+C;QAC/C,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;IAEH,OAAO,CACL,eAAK,SAAS,EAAC,iCAAiC,EAAC,GAAG,EAAE,aAAa,aAEjE,eAAK,SAAS,EAAC,oEAAoE,aACjF,KAAC,oBAAoB,IACnB,cAAc,EAAE,cAAc,EAC9B,KAAK,EAAE,KAAK,EACZ,gBAAgB,EAAE,gBAAgB,GAClC,EAGF,eAAK,SAAS,EAAC,gEAAgE,EAAC,wBAAwB,mBAEtG,KAAC,wBAAwB,IACvB,KAAK,EAAE,KAAK,EACZ,eAAe,EAAE,eAAe,EAChC,iBAAiB,EAAE,iBAAiB,EACpC,QAAQ,EAAE,gBAAgB,GAC1B,EAGF,KAAC,kBAAkB,IACjB,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,sBAAsB,EAChC,iBAAiB,EAAE,iBAAiB,EACpC,iBAAiB,EAAE,iBAAiB,GACpC,IACE,IACF,EAEN,MAAC,wBAAwB,IACvB,iBAAiB,EAAE,iBAAiB,EACpC,cAAc,EAAE,cAAc,EAC9B,qBAAqB,EAAE,qBAAqB,EAC5C,kBAAkB,EAAE,kBAAkB,EACtC,oBAAoB,EAAE,EAAE,CACtB,CAAC,cAAc,IAAI,oCAAoC,EACvD,oBAAoB,CACrB,EACD,iBAAiB,EAAE,YAAY,EAC/B,0BAA0B,EAAE,0BAA0B,EACtD,iBAAiB,EAAE,iBAAiB,EACpC,sBAAsB,EAAE,sBAAsB,EAC9C,wBAAwB,EAAE,wBAAwB,EAClD,sBAAsB,EAAE,sBAAsB,EAC9C,kBAAkB,EAAE,kBAAkB,EACtC,eAAe,EAAE,eAAe,EAChC,kBAAkB,EAAE,kBAAkB,EACtC,uBAAuB,EAAE,uBAAuB,EAChD,0BAA0B,EAAE,0BAA0B,EACtD,2BAA2B,EAAE,2BAA2B,EACxD,oBAAoB,EAAE,oBAAoB,EAC1C,kBAAkB,EAAE,kBAAkB,EACtC,wBAAwB,EAAE,wBAAwB,EAClD,6BAA6B,EAAE,6BAA6B,EAC5D,4BAA4B,EAAE,4BAA4B,EAC1D,uBAAuB,EAAE,uBAAuB,EAChD,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,aAAa,aAGpB,cAAK,SAAS,EAAE,EAAE,CAAC,oCAAoC,EAAE,wBAAwB,CAAC,YAE/E,eAAe,GACZ,EAGN,KAAC,oBAAoB,IACnB,cAAc,EAAE,cAAc,EAC9B,KAAK,EAAE,KAAK,EACZ,gBAAgB,EAAE,gBAAgB,GAClC,EAGF,KAAC,2BAA2B,IAC1B,cAAc,EAAE,cAAc,EAC9B,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,EAChC,KAAK,EAAE,aAAa,EACpB,eAAe,EAAE,CAAC,SAAS,EAAE,EAAE;4BAC7B,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;gCACnC,kBAAkB,CAAC,SAAS,CAAC,CAAC;4BAChC,CAAC;4BACD,IAAI,eAAe,EAAE,CAAC;gCACpB,eAAe,CAAC,SAAS,CAAC,CAAC;4BAC7B,CAAC;wBACH,CAAC,EACD,aAAa,EAAE,aAAa,GAC1B,IACuB,IACvB,CACP,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,mBAAmB,CAAC,WAAW,GAAG,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Collaboration form input box component
|
|
3
|
+
* Provides a reusable input field with label, error message, and chat icon functionality
|
|
4
|
+
*/
|
|
5
|
+
import React from 'react';
|
|
6
|
+
import { type HazoUiFlexInputProps } from 'hazo_ui';
|
|
7
|
+
import { type CollabFormFieldBaseProps, type FileData } from './hazo_collab_form_base.js';
|
|
8
|
+
/**
|
|
9
|
+
* Props for the HazoCollabFormInputbox component
|
|
10
|
+
*/
|
|
11
|
+
export interface HazoCollabFormInputboxProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'value' | 'onChange' | 'type'>, CollabFormFieldBaseProps, Pick<HazoUiFlexInputProps, 'input_type' | 'text_len_min' | 'text_len_max' | 'num_min' | 'num_max' | 'regex' | 'num_decimals' | 'format_guide' | 'format_guide_info'> {
|
|
12
|
+
/**
|
|
13
|
+
* Current value of the input
|
|
14
|
+
*/
|
|
15
|
+
value: string;
|
|
16
|
+
/**
|
|
17
|
+
* Callback when input value changes
|
|
18
|
+
*/
|
|
19
|
+
onChange: (value: string) => void;
|
|
20
|
+
/**
|
|
21
|
+
* Additional context data for chat functionality
|
|
22
|
+
*/
|
|
23
|
+
additional_context?: Record<string, unknown>;
|
|
24
|
+
/**
|
|
25
|
+
* Custom className for the input wrapper
|
|
26
|
+
*/
|
|
27
|
+
input_wrapper_class_name?: string;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Exposed methods for HazoCollabFormInputbox
|
|
31
|
+
*/
|
|
32
|
+
export interface HazoCollabFormInputboxRef {
|
|
33
|
+
/**
|
|
34
|
+
* Get the current files data
|
|
35
|
+
* Returns array of FileData objects
|
|
36
|
+
*/
|
|
37
|
+
get_file_data: () => FileData[];
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Collaboration form input box component
|
|
41
|
+
* Displays a labeled input field with error message and chat icon
|
|
42
|
+
*/
|
|
43
|
+
export declare const HazoCollabFormInputbox: React.ForwardRefExoticComponent<HazoCollabFormInputboxProps & React.RefAttributes<HTMLInputElement & HazoCollabFormInputboxRef>>;
|
|
44
|
+
//# sourceMappingURL=hazo_collab_form_inputbox.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hazo_collab_form_inputbox.d.ts","sourceRoot":"","sources":["../../src/components/hazo_collab_form_inputbox.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAmB,KAAK,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAErE,OAAO,EAQL,KAAK,wBAAwB,EAC7B,KAAK,QAAQ,EACd,MAAM,4BAA4B,CAAC;AAEpC;;GAEG;AACH,MAAM,WAAW,2BACf,SAAQ,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,MAAM,CAAC,EACtF,wBAAwB,EACxB,IAAI,CAAC,oBAAoB,EAAE,YAAY,GAAG,cAAc,GAAG,cAAc,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,cAAc,GAAG,cAAc,GAAG,mBAAmB,CAAC;IACtK;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAElC;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE7C;;OAEG;IACH,wBAAwB,CAAC,EAAE,MAAM,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC;;;OAGG;IACH,aAAa,EAAE,MAAM,QAAQ,EAAE,CAAC;CACjC;AAED;;;GAGG;AACH,eAAO,MAAM,sBAAsB,kIAgPjC,CAAC"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Collaboration form input box component
|
|
3
|
+
* Provides a reusable input field with label, error message, and chat icon functionality
|
|
4
|
+
*/
|
|
5
|
+
'use client';
|
|
6
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
7
|
+
import React from 'react';
|
|
8
|
+
import { HazoUiFlexInput } from 'hazo_ui';
|
|
9
|
+
import { cn } from '../utils/cn.js';
|
|
10
|
+
import { use_collab_form_field, CollabFormFieldContainer, CollabFormFieldLabel, CollabFormChatIcon, CollabFormFieldError, CollabFormDataOkCheckbox, CollabFormFileUploadSection, } from './hazo_collab_form_base.js';
|
|
11
|
+
/**
|
|
12
|
+
* Collaboration form input box component
|
|
13
|
+
* Displays a labeled input field with error message and chat icon
|
|
14
|
+
*/
|
|
15
|
+
export const HazoCollabFormInputbox = React.forwardRef((props, ref) => {
|
|
16
|
+
// Create internal ref for component reference (for file_processor)
|
|
17
|
+
const component_ref = React.useRef(null);
|
|
18
|
+
const [internal_files, set_internal_files] = React.useState([]);
|
|
19
|
+
// Use controlled files if provided, otherwise use internal state
|
|
20
|
+
const current_files = props.files !== undefined ? props.files : internal_files;
|
|
21
|
+
// Expose get_file_data method and forward ref to input element
|
|
22
|
+
React.useImperativeHandle(ref, () => {
|
|
23
|
+
return {
|
|
24
|
+
...component_ref.current,
|
|
25
|
+
get_file_data: () => current_files,
|
|
26
|
+
};
|
|
27
|
+
}, [current_files]);
|
|
28
|
+
const { label, error, field_id, field_data_id, field_name, value, onChange, additional_context, on_chat_click, has_chat_messages, is_chat_active, chat_background_color = 'bg-muted', is_data_ok_default, container_class_name, label_class_name, input_wrapper_class_name, error_class_name, field_width_class_name, required, multi_state_radio, data_ok_checked, on_data_ok_change, data_ok_editable, disable_data_ok, disable_chat, accept_files, files_dir, max_size, min_files, max_files, file_accept, file_processor, files: controlled_files_prop, on_files_change, className, id,
|
|
29
|
+
// HazoChat props
|
|
30
|
+
hazo_chat_receiver_user_id, recipient_user_id, hazo_chat_reference_id, hazo_chat_reference_type, hazo_chat_api_base_url, hazo_chat_timezone, hazo_chat_title, hazo_chat_subtitle, hazo_chat_realtime_mode, hazo_chat_polling_interval, hazo_chat_messages_per_page, hazo_chat_class_name, hazo_chat_on_close, hazo_chat_is_open, hazo_chat_on_open_change, hazo_chat_show_sidebar_toggle, hazo_chat_show_delete_button, hazo_chat_bubble_radius,
|
|
31
|
+
// HazoUiFlexInput validation props
|
|
32
|
+
input_type, text_len_min, text_len_max, num_min, num_max, regex, num_decimals, format_guide, format_guide_info, ...input_props } = props;
|
|
33
|
+
const { field_id_final, handle_chat_icon_click, chat_is_open, is_chat_disabled } = use_collab_form_field({
|
|
34
|
+
label,
|
|
35
|
+
field_id,
|
|
36
|
+
id,
|
|
37
|
+
field_data_id,
|
|
38
|
+
field_name,
|
|
39
|
+
on_chat_click,
|
|
40
|
+
hazo_chat_receiver_user_id,
|
|
41
|
+
recipient_user_id,
|
|
42
|
+
hazo_chat_on_open_change,
|
|
43
|
+
hazo_chat_is_open,
|
|
44
|
+
});
|
|
45
|
+
// Determine if field should be disabled when chat is active
|
|
46
|
+
// Use is_chat_active if provided, otherwise use chat_is_open
|
|
47
|
+
const is_field_disabled = is_chat_active !== undefined ? is_chat_active : chat_is_open;
|
|
48
|
+
/**
|
|
49
|
+
* Handle input change event
|
|
50
|
+
*/
|
|
51
|
+
const handle_change = (e) => {
|
|
52
|
+
onChange(e.target.value);
|
|
53
|
+
};
|
|
54
|
+
return (_jsxs(CollabFormFieldContainer, { has_chat_messages: has_chat_messages, is_chat_active: is_chat_active, chat_background_color: chat_background_color, is_data_ok_default: is_data_ok_default, container_class_name: container_class_name, hazo_chat_is_open: chat_is_open, hazo_chat_receiver_user_id: hazo_chat_receiver_user_id, recipient_user_id: recipient_user_id, hazo_chat_reference_id: hazo_chat_reference_id, hazo_chat_reference_type: hazo_chat_reference_type, hazo_chat_api_base_url: hazo_chat_api_base_url, hazo_chat_timezone: hazo_chat_timezone, hazo_chat_title: hazo_chat_title, hazo_chat_subtitle: hazo_chat_subtitle, hazo_chat_realtime_mode: hazo_chat_realtime_mode, hazo_chat_polling_interval: hazo_chat_polling_interval, hazo_chat_messages_per_page: hazo_chat_messages_per_page, hazo_chat_class_name: hazo_chat_class_name, hazo_chat_on_close: hazo_chat_on_close, hazo_chat_on_open_change: hazo_chat_on_open_change, hazo_chat_show_sidebar_toggle: hazo_chat_show_sidebar_toggle, hazo_chat_show_delete_button: hazo_chat_show_delete_button, hazo_chat_bubble_radius: hazo_chat_bubble_radius, field_data_id: field_data_id, field_name: field_name, label: label, files: current_files, children: [_jsx(CollabFormFieldLabel, { field_id_final: field_id_final, label: label, label_class_name: label_class_name, required: required }), _jsxs("div", { className: cn('cls_collab_input_wrapper flex items-center gap-2', input_wrapper_class_name), suppressHydrationWarning: true, children: [_jsx("div", { className: cn(field_width_class_name || 'flex-1', field_width_class_name && 'flex-shrink-0'), children: _jsx(HazoUiFlexInput, { ref: component_ref, id: field_id_final, value: value, onChange: handle_change, disabled: is_field_disabled, className: cn('cls_collab_input w-full h-9 rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-sm transition-colors placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm', error && 'border-destructive focus-visible:ring-destructive', className), "aria-invalid": error ? 'true' : 'false', "aria-describedby": error ? `${field_id_final}-error` : undefined, input_type: input_type, text_len_min: text_len_min, text_len_max: text_len_max, num_min: num_min, num_max: num_max, regex: regex, num_decimals: num_decimals, format_guide: format_guide, format_guide_info: format_guide_info, ...input_props }) }), !disable_data_ok && (_jsx(CollabFormDataOkCheckbox, { label: label, data_ok_checked: data_ok_checked, on_data_ok_change: on_data_ok_change, editable: data_ok_editable })), !disable_chat && (_jsx(CollabFormChatIcon, { label: label, error: error, on_click: handle_chat_icon_click, multi_state_radio: multi_state_radio, has_chat_messages: has_chat_messages, disabled: disable_chat, button_disabled: is_chat_disabled }))] }), _jsx(CollabFormFieldError, { field_id_final: field_id_final, error: error, error_class_name: error_class_name }), _jsx(CollabFormFileUploadSection, { field_id_final: field_id_final, accept_files: accept_files, files_dir: files_dir, max_size: max_size, min_files: min_files, max_files: max_files, file_accept: file_accept, file_processor: file_processor, files: current_files, on_files_change: (new_files) => {
|
|
55
|
+
if (controlled_files_prop === undefined) {
|
|
56
|
+
set_internal_files(new_files);
|
|
57
|
+
}
|
|
58
|
+
if (on_files_change) {
|
|
59
|
+
on_files_change(new_files);
|
|
60
|
+
}
|
|
61
|
+
}, component_ref: component_ref })] }));
|
|
62
|
+
});
|
|
63
|
+
HazoCollabFormInputbox.displayName = 'HazoCollabFormInputbox';
|
|
64
|
+
//# sourceMappingURL=hazo_collab_form_inputbox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hazo_collab_form_inputbox.js","sourceRoot":"","sources":["../../src/components/hazo_collab_form_inputbox.tsx"],"names":[],"mappings":"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"}
|