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.
Files changed (82) hide show
  1. package/README.md +114 -0
  2. package/dist/components/collab_form_file_upload.d.ts +65 -0
  3. package/dist/components/collab_form_file_upload.d.ts.map +1 -0
  4. package/dist/components/collab_form_file_upload.js +339 -0
  5. package/dist/components/collab_form_file_upload.js.map +1 -0
  6. package/dist/components/data_ok_checkbox.d.ts +36 -0
  7. package/dist/components/data_ok_checkbox.d.ts.map +1 -0
  8. package/dist/components/data_ok_checkbox.js +26 -0
  9. package/dist/components/data_ok_checkbox.js.map +1 -0
  10. package/dist/components/hazo_collab_form_base.d.ts +398 -0
  11. package/dist/components/hazo_collab_form_base.d.ts.map +1 -0
  12. package/dist/components/hazo_collab_form_base.js +206 -0
  13. package/dist/components/hazo_collab_form_base.js.map +1 -0
  14. package/dist/components/hazo_collab_form_checkbox.d.ts +52 -0
  15. package/dist/components/hazo_collab_form_checkbox.d.ts.map +1 -0
  16. package/dist/components/hazo_collab_form_checkbox.js +65 -0
  17. package/dist/components/hazo_collab_form_checkbox.js.map +1 -0
  18. package/dist/components/hazo_collab_form_combo.d.ts +91 -0
  19. package/dist/components/hazo_collab_form_combo.d.ts.map +1 -0
  20. package/dist/components/hazo_collab_form_combo.js +192 -0
  21. package/dist/components/hazo_collab_form_combo.js.map +1 -0
  22. package/dist/components/hazo_collab_form_date.d.ts +71 -0
  23. package/dist/components/hazo_collab_form_date.d.ts.map +1 -0
  24. package/dist/components/hazo_collab_form_date.js +251 -0
  25. package/dist/components/hazo_collab_form_date.js.map +1 -0
  26. package/dist/components/hazo_collab_form_group.d.ts +40 -0
  27. package/dist/components/hazo_collab_form_group.d.ts.map +1 -0
  28. package/dist/components/hazo_collab_form_group.js +151 -0
  29. package/dist/components/hazo_collab_form_group.js.map +1 -0
  30. package/dist/components/hazo_collab_form_inputbox.d.ts +44 -0
  31. package/dist/components/hazo_collab_form_inputbox.d.ts.map +1 -0
  32. package/dist/components/hazo_collab_form_inputbox.js +64 -0
  33. package/dist/components/hazo_collab_form_inputbox.js.map +1 -0
  34. package/dist/components/hazo_collab_form_radio.d.ts +73 -0
  35. package/dist/components/hazo_collab_form_radio.d.ts.map +1 -0
  36. package/dist/components/hazo_collab_form_radio.js +65 -0
  37. package/dist/components/hazo_collab_form_radio.js.map +1 -0
  38. package/dist/components/hazo_collab_form_set.d.ts +181 -0
  39. package/dist/components/hazo_collab_form_set.d.ts.map +1 -0
  40. package/dist/components/hazo_collab_form_set.js +425 -0
  41. package/dist/components/hazo_collab_form_set.js.map +1 -0
  42. package/dist/components/hazo_collab_form_textarea.d.ts +43 -0
  43. package/dist/components/hazo_collab_form_textarea.d.ts.map +1 -0
  44. package/dist/components/hazo_collab_form_textarea.js +61 -0
  45. package/dist/components/hazo_collab_form_textarea.js.map +1 -0
  46. package/dist/components/index.d.ts +23 -0
  47. package/dist/components/index.d.ts.map +1 -0
  48. package/dist/components/index.js +14 -0
  49. package/dist/components/index.js.map +1 -0
  50. package/dist/index.client.d.ts +7 -0
  51. package/dist/index.client.d.ts.map +1 -0
  52. package/dist/index.client.js +7 -0
  53. package/dist/index.client.js.map +1 -0
  54. package/dist/index.d.ts +8 -0
  55. package/dist/index.d.ts.map +1 -0
  56. package/dist/index.js +8 -0
  57. package/dist/index.js.map +1 -0
  58. package/dist/lib/config.d.ts +15 -0
  59. package/dist/lib/config.d.ts.map +1 -0
  60. package/dist/lib/config.js +62 -0
  61. package/dist/lib/config.js.map +1 -0
  62. package/dist/lib/index.d.ts +5 -0
  63. package/dist/lib/index.d.ts.map +1 -0
  64. package/dist/lib/index.js +5 -0
  65. package/dist/lib/index.js.map +1 -0
  66. package/dist/utils/cn.d.ts +12 -0
  67. package/dist/utils/cn.d.ts.map +1 -0
  68. package/dist/utils/cn.js +15 -0
  69. package/dist/utils/cn.js.map +1 -0
  70. package/dist/utils/index.d.ts +9 -0
  71. package/dist/utils/index.d.ts.map +1 -0
  72. package/dist/utils/index.js +7 -0
  73. package/dist/utils/index.js.map +1 -0
  74. package/dist/utils/use_chat_messages_check.d.ts +40 -0
  75. package/dist/utils/use_chat_messages_check.d.ts.map +1 -0
  76. package/dist/utils/use_chat_messages_check.js +80 -0
  77. package/dist/utils/use_chat_messages_check.js.map +1 -0
  78. package/dist/utils/use_collab_chat.d.ts +21 -0
  79. package/dist/utils/use_collab_chat.d.ts.map +1 -0
  80. package/dist/utils/use_collab_chat.js +49 -0
  81. package/dist/utils/use_collab_chat.js.map +1 -0
  82. package/package.json +78 -0
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Collaboration form checkbox component
3
+ * Provides a reusable checkbox field with label, error message, and chat icon functionality
4
+ */
5
+ import React from 'react';
6
+ import { type CollabFormFieldBaseProps, type FileData } from './hazo_collab_form_base.js';
7
+ /**
8
+ * Props for the HazoCollabFormCheckbox component
9
+ */
10
+ export interface HazoCollabFormCheckboxProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'value' | 'onChange' | 'type'>, CollabFormFieldBaseProps {
11
+ /**
12
+ * Current checked state of the checkbox
13
+ */
14
+ checked: boolean;
15
+ /**
16
+ * Callback when checkbox state changes
17
+ */
18
+ onChange: (checked: boolean) => void;
19
+ /**
20
+ * Label text that appears next to the checkbox
21
+ * If not provided, falls back to the base label prop
22
+ */
23
+ checkbox_label?: string;
24
+ /**
25
+ * Additional context data for chat functionality
26
+ */
27
+ additional_context?: Record<string, unknown>;
28
+ /**
29
+ * Custom className for the checkbox wrapper
30
+ */
31
+ checkbox_wrapper_class_name?: string;
32
+ /**
33
+ * Custom className for the checkbox-specific label (next to checkbox)
34
+ */
35
+ checkbox_label_class_name?: string;
36
+ }
37
+ /**
38
+ * Exposed methods for HazoCollabFormCheckbox
39
+ */
40
+ export interface HazoCollabFormCheckboxRef {
41
+ /**
42
+ * Get the current files data
43
+ * Returns array of FileData objects
44
+ */
45
+ get_file_data: () => FileData[];
46
+ }
47
+ /**
48
+ * Collaboration form checkbox component
49
+ * Displays a labeled checkbox field with error message and chat icon
50
+ */
51
+ export declare const HazoCollabFormCheckbox: React.ForwardRefExoticComponent<HazoCollabFormCheckboxProps & React.RefAttributes<HTMLInputElement & HazoCollabFormCheckboxRef>>;
52
+ //# sourceMappingURL=hazo_collab_form_checkbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hazo_collab_form_checkbox.d.ts","sourceRoot":"","sources":["../../src/components/hazo_collab_form_checkbox.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,2BACf,SAAQ,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,MAAM,CAAC,EACtF,wBAAwB;IAC1B;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAErC;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE7C;;OAEG;IACH,2BAA2B,CAAC,EAAE,MAAM,CAAC;IAErC;;OAEG;IACH,yBAAyB,CAAC,EAAE,MAAM,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC;;;OAGG;IACH,aAAa,EAAE,MAAM,QAAQ,EAAE,CAAC;CACjC;AAED;;;GAGG;AACH,eAAO,MAAM,sBAAsB,kIA6OjC,CAAC"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Collaboration form checkbox component
3
+ * Provides a reusable checkbox 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
+ * Collaboration form checkbox component
12
+ * Displays a labeled checkbox field with error message and chat icon
13
+ */
14
+ export const HazoCollabFormCheckbox = React.forwardRef((props, ref) => {
15
+ // Create internal ref for component reference (for file_processor)
16
+ const component_ref = React.useRef(null);
17
+ const [internal_files, set_internal_files] = React.useState([]);
18
+ // Use controlled files if provided, otherwise use internal state
19
+ const current_files = props.files !== undefined ? props.files : internal_files;
20
+ // Expose get_file_data method and forward ref to checkbox element
21
+ React.useImperativeHandle(ref, () => {
22
+ return {
23
+ ...component_ref.current,
24
+ get_file_data: () => current_files,
25
+ };
26
+ }, [current_files]);
27
+ const { label, error, field_id, field_data_id, field_name, checked, onChange, checkbox_label, 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, checkbox_wrapper_class_name, checkbox_label_class_name, error_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, on_files_change, className, id,
28
+ // HazoChat props
29
+ 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, ...checkbox_props } = props;
30
+ const { field_id_final, handle_chat_icon_click, chat_is_open, is_chat_disabled } = use_collab_form_field({
31
+ label,
32
+ field_id,
33
+ id,
34
+ field_data_id,
35
+ field_name,
36
+ on_chat_click,
37
+ hazo_chat_receiver_user_id,
38
+ recipient_user_id,
39
+ hazo_chat_on_open_change,
40
+ hazo_chat_is_open,
41
+ });
42
+ // Determine if field should be disabled when chat is active
43
+ // Use is_chat_active if provided, otherwise use chat_is_open
44
+ const is_chat_active_disabled = is_chat_active !== undefined ? is_chat_active : chat_is_open;
45
+ // Combine with existing disabled prop from checkbox_props if it exists
46
+ const is_field_disabled = (checkbox_props?.disabled) || is_chat_active_disabled;
47
+ /**
48
+ * Handle checkbox change event
49
+ */
50
+ const handle_change = (e) => {
51
+ onChange(e.target.checked);
52
+ };
53
+ // Use checkbox_label if provided, otherwise fall back to label
54
+ const checkbox_label_text = checkbox_label ?? label;
55
+ 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_checkbox_wrapper flex items-center gap-2', checkbox_wrapper_class_name), suppressHydrationWarning: true, children: [_jsx("input", { ref: component_ref, id: field_id_final, type: "checkbox", checked: checked, onChange: handle_change, disabled: is_field_disabled, className: cn('cls_collab_checkbox h-4 w-4 rounded border border-input bg-transparent text-primary shadow-sm transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50', error && 'border-destructive focus-visible:ring-destructive', className), "aria-invalid": error ? 'true' : 'false', "aria-describedby": error ? `${field_id_final}-error` : undefined, ...checkbox_props }), _jsx("label", { htmlFor: field_id_final, className: cn('cls_collab_checkbox_label text-sm font-medium leading-none cursor-pointer peer-disabled:cursor-not-allowed peer-disabled:opacity-70 flex-1', checkbox_label_class_name), children: checkbox_label_text }), _jsxs("div", { className: "cls_collab_checkbox_actions flex items-center gap-2 flex-shrink-0", children: [!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) => {
56
+ if (controlled_files === undefined) {
57
+ set_internal_files(new_files);
58
+ }
59
+ if (on_files_change) {
60
+ on_files_change(new_files);
61
+ }
62
+ }, component_ref: component_ref })] }));
63
+ });
64
+ HazoCollabFormCheckbox.displayName = 'HazoCollabFormCheckbox';
65
+ //# sourceMappingURL=hazo_collab_form_checkbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hazo_collab_form_checkbox.js","sourceRoot":"","sources":["../../src/components/hazo_collab_form_checkbox.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,91 @@
1
+ /**
2
+ * Collaboration form combobox component
3
+ * Provides a reusable combobox field with label, error message, and chat icon functionality
4
+ *
5
+ * NOTE: This component requires shadcn/ui Popover and Command components to be installed
6
+ * in the consuming application. Install them with:
7
+ * npx shadcn@latest add popover command
8
+ *
9
+ * Also requires lucide-react for icons (Check, ChevronsUpDown)
10
+ */
11
+ import React from 'react';
12
+ import { type CollabFormFieldBaseProps, type FileData } from './hazo_collab_form_base.js';
13
+ /**
14
+ * Option type for combobox
15
+ */
16
+ export interface ComboboxOption {
17
+ /**
18
+ * Value of the option
19
+ */
20
+ value: string;
21
+ /**
22
+ * Label to display for the option
23
+ */
24
+ label: string;
25
+ }
26
+ /**
27
+ * Props for the HazoCollabFormCombo component
28
+ */
29
+ export interface HazoCollabFormComboProps extends CollabFormFieldBaseProps {
30
+ /**
31
+ * Array of options to display in the combobox
32
+ */
33
+ options: ComboboxOption[];
34
+ /**
35
+ * Current selected value
36
+ */
37
+ value: string;
38
+ /**
39
+ * Callback when selection changes
40
+ */
41
+ onChange: (value: string) => void;
42
+ /**
43
+ * Placeholder text when no option is selected
44
+ */
45
+ placeholder?: string;
46
+ /**
47
+ * Placeholder text for the search input
48
+ */
49
+ search_placeholder?: string;
50
+ /**
51
+ * Message to show when no options are found
52
+ */
53
+ empty_message?: string;
54
+ /**
55
+ * Whether to enable the search input bar
56
+ * Default: false (search bar hidden)
57
+ */
58
+ enable_search?: boolean;
59
+ /**
60
+ * Additional context data for chat functionality
61
+ */
62
+ additional_context?: Record<string, unknown>;
63
+ /**
64
+ * Custom className for the combobox wrapper
65
+ */
66
+ combo_wrapper_class_name?: string;
67
+ /**
68
+ * Custom className for the button trigger
69
+ */
70
+ button_class_name?: string;
71
+ /**
72
+ * Whether the combobox is disabled
73
+ */
74
+ disabled?: boolean;
75
+ }
76
+ /**
77
+ * Exposed methods for HazoCollabFormCombo
78
+ */
79
+ export interface HazoCollabFormComboRef {
80
+ /**
81
+ * Get the current files data
82
+ * Returns array of FileData objects
83
+ */
84
+ get_file_data: () => FileData[];
85
+ }
86
+ /**
87
+ * Collaboration form combobox component
88
+ * Displays a labeled combobox field with error message and chat icon
89
+ */
90
+ export declare const HazoCollabFormCombo: React.ForwardRefExoticComponent<HazoCollabFormComboProps & React.RefAttributes<HTMLButtonElement & HazoCollabFormComboRef>>;
91
+ //# sourceMappingURL=hazo_collab_form_combo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hazo_collab_form_combo.d.ts","sourceRoot":"","sources":["../../src/components/hazo_collab_form_combo.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,KAA8B,MAAM,OAAO,CAAC;AAEnD,OAAO,EAQL,KAAK,wBAAwB,EAC7B,KAAK,QAAQ,EACd,MAAM,4BAA4B,CAAC;AAEpC;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,wBAAwB;IACxE;;OAEG;IACH,OAAO,EAAE,cAAc,EAAE,CAAC;IAE1B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAElC;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE7C;;OAEG;IACH,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAElC;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,aAAa,EAAE,MAAM,QAAQ,EAAE,CAAC;CACjC;AAED;;;GAGG;AACH,eAAO,MAAM,mBAAmB,6HAwhB9B,CAAC"}
@@ -0,0 +1,192 @@
1
+ /**
2
+ * Collaboration form combobox component
3
+ * Provides a reusable combobox field with label, error message, and chat icon functionality
4
+ *
5
+ * NOTE: This component requires shadcn/ui Popover and Command components to be installed
6
+ * in the consuming application. Install them with:
7
+ * npx shadcn@latest add popover command
8
+ *
9
+ * Also requires lucide-react for icons (Check, ChevronsUpDown)
10
+ */
11
+ 'use client';
12
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
+ import React, { useState, useEffect } from 'react';
14
+ import { cn } from '../utils/cn.js';
15
+ import { use_collab_form_field, CollabFormFieldContainer, CollabFormFieldLabel, CollabFormChatIcon, CollabFormFieldError, CollabFormDataOkCheckbox, CollabFormFileUploadSection, } from './hazo_collab_form_base.js';
16
+ /**
17
+ * Collaboration form combobox component
18
+ * Displays a labeled combobox field with error message and chat icon
19
+ */
20
+ export const HazoCollabFormCombo = React.forwardRef((props, ref) => {
21
+ // Create internal ref for component reference (for file_processor)
22
+ const component_ref = React.useRef(null);
23
+ const [internal_files, set_internal_files] = React.useState([]);
24
+ // Use controlled files if provided, otherwise use internal state
25
+ const current_files = props.files !== undefined ? props.files : internal_files;
26
+ // Expose get_file_data method and forward ref to button element
27
+ React.useImperativeHandle(ref, () => {
28
+ return {
29
+ ...component_ref.current,
30
+ get_file_data: () => current_files,
31
+ };
32
+ }, [current_files]);
33
+ const { label, error, field_id, field_data_id, field_name, options, value, onChange, placeholder = 'Select an option...', search_placeholder = 'Search...', empty_message = 'No option found.', enable_search = false, 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, combo_wrapper_class_name, button_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, on_files_change, disabled, id,
34
+ // HazoChat props
35
+ 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;
36
+ const [open, set_open] = useState(false);
37
+ const { field_id_final, handle_chat_icon_click, chat_is_open, is_chat_disabled } = use_collab_form_field({
38
+ label,
39
+ field_id,
40
+ id,
41
+ field_data_id,
42
+ field_name,
43
+ on_chat_click,
44
+ hazo_chat_receiver_user_id,
45
+ recipient_user_id,
46
+ hazo_chat_on_open_change,
47
+ hazo_chat_is_open,
48
+ });
49
+ // Determine if field should be disabled when chat is active
50
+ // Use is_chat_active if provided, otherwise use chat_is_open
51
+ const is_chat_active_disabled = is_chat_active !== undefined ? is_chat_active : chat_is_open;
52
+ // Combine with existing disabled prop
53
+ const is_field_disabled = disabled || is_chat_active_disabled;
54
+ // Helper object for chat props to pass to CollabFormFieldContainer
55
+ const chat_container_props = {
56
+ hazo_chat_is_open: chat_is_open,
57
+ hazo_chat_receiver_user_id,
58
+ recipient_user_id,
59
+ hazo_chat_reference_id,
60
+ hazo_chat_reference_type,
61
+ hazo_chat_api_base_url,
62
+ hazo_chat_timezone,
63
+ hazo_chat_title,
64
+ hazo_chat_subtitle,
65
+ hazo_chat_realtime_mode,
66
+ hazo_chat_polling_interval,
67
+ hazo_chat_messages_per_page,
68
+ hazo_chat_class_name,
69
+ hazo_chat_on_close,
70
+ hazo_chat_on_open_change,
71
+ hazo_chat_show_sidebar_toggle,
72
+ hazo_chat_show_delete_button,
73
+ hazo_chat_bubble_radius,
74
+ field_data_id,
75
+ field_name,
76
+ label,
77
+ files: current_files,
78
+ };
79
+ /**
80
+ * Get the label for the selected value
81
+ */
82
+ const selected_label = value
83
+ ? options.find((option) => option.value === value)?.label || placeholder
84
+ : placeholder;
85
+ // Dynamic imports for shadcn components
86
+ // These will be resolved by the consuming application's bundler
87
+ const [Components, setComponents] = React.useState(null);
88
+ const [is_loading, set_is_loading] = React.useState(true);
89
+ useEffect(() => {
90
+ const loadComponents = async () => {
91
+ try {
92
+ set_is_loading(true);
93
+ // Try to import from consuming app's components directory
94
+ // This path will be resolved by Next.js/webpack in the consuming app
95
+ // @ts-expect-error - These modules are provided by the consuming application
96
+ const popoverModule = await import('@/components/ui/popover').catch(() => null);
97
+ // @ts-expect-error - These modules are provided by the consuming application
98
+ const commandModule = await import('@/components/ui/command').catch(() => null);
99
+ const lucideModule = await import('lucide-react').catch(() => null);
100
+ if (popoverModule && commandModule && lucideModule) {
101
+ setComponents({
102
+ Popover: popoverModule.Popover,
103
+ PopoverTrigger: popoverModule.PopoverTrigger,
104
+ PopoverContent: popoverModule.PopoverContent,
105
+ Command: commandModule.Command,
106
+ CommandInput: commandModule.CommandInput,
107
+ CommandList: commandModule.CommandList,
108
+ CommandEmpty: commandModule.CommandEmpty,
109
+ CommandGroup: commandModule.CommandGroup,
110
+ CommandItem: commandModule.CommandItem,
111
+ Check: lucideModule.Check,
112
+ ChevronsUpDown: lucideModule.ChevronsUpDown,
113
+ });
114
+ }
115
+ else {
116
+ console.warn('[HazoCollabFormCombo] shadcn Popover, Command, or lucide-react not found. ' +
117
+ 'Please install them: npx shadcn@latest add popover command && npm install lucide-react');
118
+ }
119
+ }
120
+ catch (error) {
121
+ console.warn('[HazoCollabFormCombo] Error loading components:', error);
122
+ }
123
+ finally {
124
+ set_is_loading(false);
125
+ }
126
+ };
127
+ loadComponents();
128
+ }, []);
129
+ /**
130
+ * Handle option selection by value
131
+ * When an option is selected, call onChange with the option value
132
+ * If the same option is selected again, deselect it (empty value)
133
+ */
134
+ const handle_select_by_value = React.useCallback((selected_value) => {
135
+ const new_value = selected_value === value ? '' : selected_value;
136
+ onChange(new_value);
137
+ set_open(false);
138
+ }, [value, onChange]);
139
+ /**
140
+ * Handle option selection by label (fallback)
141
+ * Used when CommandItem value is set to option.label for search
142
+ */
143
+ const handle_select_by_label = React.useCallback((selected_label) => {
144
+ // Find the option by label (since CommandItem value is set to option.label for better search)
145
+ const matching_option = options.find((opt) => opt.label === selected_label);
146
+ if (matching_option) {
147
+ handle_select_by_value(matching_option.value);
148
+ }
149
+ }, [options, handle_select_by_value]);
150
+ // Show loading state while components are loading (prevents flash of error message)
151
+ if (is_loading) {
152
+ 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, ...chat_container_props, 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_combo_wrapper flex items-center gap-2', combo_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: cn('w-full h-9 rounded-md border border-input bg-transparent px-3 py-2 text-base shadow-sm md:text-sm flex items-center', error && 'border-destructive', button_class_name), children: _jsx("span", { className: cn('truncate text-muted-foreground'), children: placeholder }) }) }), !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) => {
153
+ if (controlled_files === undefined) {
154
+ set_internal_files(new_files);
155
+ }
156
+ if (on_files_change) {
157
+ on_files_change(new_files);
158
+ }
159
+ }, component_ref: component_ref })] }));
160
+ }
161
+ // Fallback UI if components failed to load
162
+ if (!Components) {
163
+ 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, ...chat_container_props, 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_combo_wrapper flex items-center gap-2', combo_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: "w-full h-9 rounded-md border border-destructive bg-transparent px-3 py-2 text-sm text-destructive", children: "shadcn Popover and Command components required. Install with: npx shadcn@latest add popover command" }) }), _jsx(CollabFormDataOkCheckbox, { label: label, data_ok_checked: data_ok_checked, on_data_ok_change: on_data_ok_change }), _jsx(CollabFormChatIcon, { label: label, error: error, on_click: handle_chat_icon_click, multi_state_radio: multi_state_radio, has_chat_messages: has_chat_messages, 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) => {
164
+ if (controlled_files === undefined) {
165
+ set_internal_files(new_files);
166
+ }
167
+ if (on_files_change) {
168
+ on_files_change(new_files);
169
+ }
170
+ }, component_ref: component_ref })] }));
171
+ }
172
+ const { Popover, PopoverTrigger, PopoverContent, Command, CommandInput, CommandList, CommandEmpty, CommandGroup, CommandItem, Check, ChevronsUpDown, } = Components;
173
+ 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, ...chat_container_props, 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_combo_wrapper flex items-center gap-2', combo_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: open, onOpenChange: set_open, children: [_jsx(PopoverTrigger, { asChild: true, children: _jsxs("button", { ref: component_ref, type: "button", role: "combobox", "aria-expanded": open, "aria-controls": `${field_id_final}-combobox`, disabled: is_field_disabled, className: cn('cls_collab_combo_button w-full h-9 justify-between rounded-md border border-input bg-transparent px-3 py-2 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 flex items-center', error && 'border-destructive focus-visible:ring-destructive', button_class_name), "aria-invalid": error ? 'true' : 'false', "aria-describedby": error ? `${field_id_final}-error` : undefined, children: [_jsx("span", { className: cn('truncate', !value && 'text-muted-foreground'), children: selected_label }), _jsx(ChevronsUpDown, { className: "ml-2 h-4 w-4 shrink-0 opacity-50" })] }) }), _jsx(PopoverContent, { className: "w-[var(--radix-popover-trigger-width)] p-0", align: "start", id: `${field_id_final}-combobox`, children: _jsxs(Command, { children: [enable_search && (_jsx(CommandInput, { placeholder: search_placeholder, className: "h-9" })), _jsxs(CommandList, { children: [_jsx(CommandEmpty, { children: empty_message }), _jsx(CommandGroup, { children: options.map((option) => (_jsxs(CommandItem, { value: option.value, keywords: [option.label], onSelect: (currentValue) => {
174
+ console.log('[HazoCollabFormCombo] onSelect called with:', currentValue);
175
+ handle_select_by_value(currentValue);
176
+ }, onClick: (e) => {
177
+ // Fallback click handler
178
+ e.preventDefault();
179
+ e.stopPropagation();
180
+ console.log('[HazoCollabFormCombo] onClick called for:', option.value);
181
+ handle_select_by_value(option.value);
182
+ }, className: "cursor-pointer", style: { pointerEvents: 'auto', cursor: 'pointer' }, children: [_jsx(Check, { className: cn('mr-2 h-4 w-4', value === option.value ? 'opacity-100' : 'opacity-0') }), option.label] }, option.value))) })] })] }) })] }) }), !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) => {
183
+ if (controlled_files === undefined) {
184
+ set_internal_files(new_files);
185
+ }
186
+ if (on_files_change) {
187
+ on_files_change(new_files);
188
+ }
189
+ }, component_ref: component_ref })] }));
190
+ });
191
+ HazoCollabFormCombo.displayName = 'HazoCollabFormCombo';
192
+ //# sourceMappingURL=hazo_collab_form_combo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hazo_collab_form_combo.js","sourceRoot":"","sources":["../../src/components/hazo_collab_form_combo.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Collaboration form date picker component
3
+ * Provides a reusable date picker field with label, error message, and chat icon functionality
4
+ */
5
+ import React from 'react';
6
+ import { type CollabFormFieldBaseProps, type FileData } from './hazo_collab_form_base.js';
7
+ /**
8
+ * Date range value type
9
+ */
10
+ export interface DateRangeValue {
11
+ from: string;
12
+ to: string;
13
+ }
14
+ /**
15
+ * Props for the HazoCollabFormDate component
16
+ */
17
+ export interface HazoCollabFormDateProps extends CollabFormFieldBaseProps {
18
+ /**
19
+ * Current value of the date picker
20
+ * For single date mode: ISO date string (YYYY-MM-DD) or empty string
21
+ * For range mode: DateRangeValue object with from and to ISO date strings
22
+ */
23
+ value: string | DateRangeValue | undefined;
24
+ /**
25
+ * Callback when date value changes
26
+ * For single date mode: receives ISO date string (YYYY-MM-DD) or empty string
27
+ * For range mode: receives DateRangeValue object
28
+ */
29
+ onChange: (value: string | DateRangeValue) => void;
30
+ /**
31
+ * Date picker mode: 'single' for single date selection, 'range' for date range selection
32
+ * Default: 'single'
33
+ */
34
+ date_mode?: 'single' | 'range';
35
+ /**
36
+ * Minimum selectable date (ISO date string YYYY-MM-DD)
37
+ */
38
+ min_date?: string;
39
+ /**
40
+ * Maximum selectable date (ISO date string YYYY-MM-DD)
41
+ */
42
+ max_date?: string;
43
+ /**
44
+ * Array of disabled dates (ISO date strings YYYY-MM-DD)
45
+ */
46
+ disabled_dates?: string[];
47
+ /**
48
+ * Custom className for the date picker wrapper
49
+ */
50
+ date_wrapper_class_name?: string;
51
+ /**
52
+ * Placeholder text for the date picker button
53
+ */
54
+ placeholder?: string;
55
+ }
56
+ /**
57
+ * Exposed methods for HazoCollabFormDate
58
+ */
59
+ export interface HazoCollabFormDateRef {
60
+ /**
61
+ * Get the current files data
62
+ * Returns array of FileData objects
63
+ */
64
+ get_file_data: () => FileData[];
65
+ }
66
+ /**
67
+ * Collaboration form date picker component
68
+ * Displays a labeled date picker field with error message and chat icon
69
+ */
70
+ export declare const HazoCollabFormDate: React.ForwardRefExoticComponent<HazoCollabFormDateProps & React.RefAttributes<HTMLButtonElement & HazoCollabFormDateRef>>;
71
+ //# sourceMappingURL=hazo_collab_form_date.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hazo_collab_form_date.d.ts","sourceRoot":"","sources":["../../src/components/hazo_collab_form_date.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,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,wBAAwB;IACvE;;;;OAIG;IACH,KAAK,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAAC;IAE3C;;;;OAIG;IACH,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,KAAK,IAAI,CAAC;IAEnD;;;OAGG;IACH,SAAS,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAE/B;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B;;OAEG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAEjC;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,aAAa,EAAE,MAAM,QAAQ,EAAE,CAAC;CACjC;AAgCD;;;GAGG;AACH,eAAO,MAAM,kBAAkB,2HA4f7B,CAAC"}