hazo_collab_forms 1.4.5 → 1.4.7

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 (37) hide show
  1. package/dist/components/collab_form_file_upload.d.ts +24 -1
  2. package/dist/components/collab_form_file_upload.d.ts.map +1 -1
  3. package/dist/components/collab_form_file_upload.js +232 -28
  4. package/dist/components/collab_form_file_upload.js.map +1 -1
  5. package/dist/components/hazo_collab_form_base.d.ts +42 -2
  6. package/dist/components/hazo_collab_form_base.d.ts.map +1 -1
  7. package/dist/components/hazo_collab_form_base.js +15 -5
  8. package/dist/components/hazo_collab_form_base.js.map +1 -1
  9. package/dist/components/hazo_collab_form_checkbox.d.ts.map +1 -1
  10. package/dist/components/hazo_collab_form_checkbox.js +2 -2
  11. package/dist/components/hazo_collab_form_checkbox.js.map +1 -1
  12. package/dist/components/hazo_collab_form_combo.d.ts.map +1 -1
  13. package/dist/components/hazo_collab_form_combo.js +4 -4
  14. package/dist/components/hazo_collab_form_combo.js.map +1 -1
  15. package/dist/components/hazo_collab_form_data_table.d.ts.map +1 -1
  16. package/dist/components/hazo_collab_form_data_table.js +3 -3
  17. package/dist/components/hazo_collab_form_data_table.js.map +1 -1
  18. package/dist/components/hazo_collab_form_date.d.ts.map +1 -1
  19. package/dist/components/hazo_collab_form_date.js +2 -2
  20. package/dist/components/hazo_collab_form_date.js.map +1 -1
  21. package/dist/components/hazo_collab_form_group.d.ts.map +1 -1
  22. package/dist/components/hazo_collab_form_group.js +2 -2
  23. package/dist/components/hazo_collab_form_group.js.map +1 -1
  24. package/dist/components/hazo_collab_form_inputbox.d.ts.map +1 -1
  25. package/dist/components/hazo_collab_form_inputbox.js +2 -2
  26. package/dist/components/hazo_collab_form_inputbox.js.map +1 -1
  27. package/dist/components/hazo_collab_form_radio.d.ts.map +1 -1
  28. package/dist/components/hazo_collab_form_radio.js +2 -2
  29. package/dist/components/hazo_collab_form_radio.js.map +1 -1
  30. package/dist/components/hazo_collab_form_set.d.ts +29 -0
  31. package/dist/components/hazo_collab_form_set.d.ts.map +1 -1
  32. package/dist/components/hazo_collab_form_set.js +9 -2
  33. package/dist/components/hazo_collab_form_set.js.map +1 -1
  34. package/dist/components/hazo_collab_form_textarea.d.ts.map +1 -1
  35. package/dist/components/hazo_collab_form_textarea.js +2 -2
  36. package/dist/components/hazo_collab_form_textarea.js.map +1 -1
  37. package/package.json +1 -1
@@ -64,9 +64,32 @@ export interface CollabFormFileUploadProps {
64
64
  * Default: '/api/collab-forms/upload-file'
65
65
  */
66
66
  upload_endpoint?: string;
67
+ /**
68
+ * Enable private/public file visibility controls
69
+ * When true and private_files_permission is set, displays two file sections
70
+ */
71
+ enable_file_visibility?: boolean;
72
+ /**
73
+ * Permission string required to view/upload private files
74
+ * Uses hazo_auth permission checking
75
+ */
76
+ private_files_permission?: string;
77
+ /**
78
+ * Controlled private files state
79
+ */
80
+ private_files?: FileData[];
81
+ /**
82
+ * Callback when private files change
83
+ */
84
+ on_private_files_change?: (files: FileData[]) => void;
85
+ /**
86
+ * Whether user has permission to access private files
87
+ * Can be provided by parent component to override internal permission check
88
+ */
89
+ can_access_private_files?: boolean;
67
90
  }
68
91
  /**
69
92
  * Collaboration form file upload component
70
93
  */
71
- export declare function CollabFormFileUpload({ field_id_final, accept_files, files_dir, max_size, min_files, max_files, file_accept, file_processor, file_validator, files: controlled_files, on_files_change, component_ref, upload_endpoint, }: CollabFormFileUploadProps): import("react/jsx-runtime").JSX.Element;
94
+ export declare function CollabFormFileUpload({ field_id_final, accept_files, files_dir, max_size, min_files, max_files, file_accept, file_processor, file_validator, files: controlled_files, on_files_change, component_ref, upload_endpoint, enable_file_visibility, private_files_permission, private_files: controlled_private_files, on_private_files_change, can_access_private_files: can_access_private_files_prop, }: CollabFormFileUploadProps): import("react/jsx-runtime").JSX.Element;
72
95
  //# sourceMappingURL=collab_form_file_upload.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"collab_form_file_upload.d.ts","sourceRoot":"","sources":["../../src/components/collab_form_file_upload.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAwC,MAAM,OAAO,CAAC;AAG7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAI3D;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,YAAY,EAAE,OAAO,CAAC;IAEtB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAEpG;;;;;OAKG;IACH,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,MAAM,GAAG,IAAI,CAAC;IAE/C;;OAEG;IACH,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;IAEnB;;OAEG;IACH,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,IAAI,CAAC;IAE9C;;OAEG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAErC;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AA2CD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,cAAc,EACd,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,SAAS,EACT,SAAc,EACd,WAAW,EACX,cAAc,EACd,cAAc,EACd,KAAK,EAAE,gBAAgB,EACvB,eAAe,EACf,aAAa,EACb,eAAiD,GAClD,EAAE,yBAAyB,2CAqT3B"}
1
+ {"version":3,"file":"collab_form_file_upload.d.ts","sourceRoot":"","sources":["../../src/components/collab_form_file_upload.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAwC,MAAM,OAAO,CAAC;AAG7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAI3D;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,YAAY,EAAE,OAAO,CAAC;IAEtB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAEpG;;;;;OAKG;IACH,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,MAAM,GAAG,IAAI,CAAC;IAE/C;;OAEG;IACH,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;IAEnB;;OAEG;IACH,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,IAAI,CAAC;IAE9C;;OAEG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAErC;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;;OAGG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAEjC;;;OAGG;IACH,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAElC;;OAEG;IACH,aAAa,CAAC,EAAE,QAAQ,EAAE,CAAC;IAE3B;;OAEG;IACH,uBAAuB,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,IAAI,CAAC;IAEtD;;;OAGG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC;AA2CD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,cAAc,EACd,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,SAAS,EACT,SAAc,EACd,WAAW,EACX,cAAc,EACd,cAAc,EACd,KAAK,EAAE,gBAAgB,EACvB,eAAe,EACf,aAAa,EACb,eAAiD,EACjD,sBAA8B,EAC9B,wBAAwB,EACxB,aAAa,EAAE,wBAAwB,EACvC,uBAAuB,EACvB,wBAAwB,EAAE,6BAA6B,GACxD,EAAE,yBAAyB,2CAyhB3B"}
@@ -7,7 +7,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
7
  import React, { useRef, useState, useCallback } from 'react';
8
8
  import { cn } from '../utils/cn.js';
9
9
  import { use_logger } from '../logger/context.js';
10
- import { HiTrash, HiPaperClip, HiPhotograph, HiDocument, HiDocumentText, HiCheckCircle } from 'react-icons/hi';
10
+ import { HiTrash, HiPaperClip, HiPhotograph, HiDocument, HiDocumentText, HiCheckCircle, HiLockClosed, HiLockOpen } from 'react-icons/hi';
11
11
  import { FaSpinner } from 'react-icons/fa';
12
12
  /**
13
13
  * Get file icon based on file type
@@ -46,28 +46,132 @@ function format_file_size(bytes) {
46
46
  /**
47
47
  * Collaboration form file upload component
48
48
  */
49
- export function CollabFormFileUpload({ field_id_final, accept_files, files_dir, max_size, min_files, max_files = 10, file_accept, file_processor, file_validator, files: controlled_files, on_files_change, component_ref, upload_endpoint = '/api/collab-forms/upload-file', }) {
49
+ export function CollabFormFileUpload({ field_id_final, accept_files, files_dir, max_size, min_files, max_files = 10, file_accept, file_processor, file_validator, files: controlled_files, on_files_change, component_ref, upload_endpoint = '/api/collab-forms/upload-file', enable_file_visibility = false, private_files_permission, private_files: controlled_private_files, on_private_files_change, can_access_private_files: can_access_private_files_prop, }) {
50
+ const logger = use_logger();
50
51
  const file_input_ref = useRef(null);
52
+ const private_file_input_ref = useRef(null);
51
53
  const [internal_files, set_internal_files] = useState([]);
54
+ const [internal_private_files, set_internal_private_files] = useState([]);
52
55
  const [is_dragging, set_is_dragging] = useState(false);
56
+ const [is_dragging_private, set_is_dragging_private] = useState(false);
53
57
  const [upload_errors, set_upload_errors] = useState({});
54
58
  const [uploading_files, set_uploading_files] = useState(new Set());
55
59
  const [processing_files, set_processing_files] = useState(new Set());
56
60
  const [processed_files, set_processed_files] = useState(new Set());
61
+ const [has_permission, set_has_permission] = useState(false);
62
+ const [permission_loading, set_permission_loading] = useState(true);
57
63
  // Use controlled files if provided, otherwise use internal state
58
64
  const files = controlled_files !== undefined ? controlled_files : internal_files;
59
65
  const is_controlled = controlled_files !== undefined;
66
+ // Use controlled private files if provided, otherwise use internal state
67
+ const private_files = controlled_private_files !== undefined ? controlled_private_files : internal_private_files;
68
+ const is_private_controlled = controlled_private_files !== undefined;
69
+ // Check permission using hazo_auth when enable_file_visibility is true
70
+ React.useEffect(() => {
71
+ if (!enable_file_visibility || !private_files_permission) {
72
+ set_permission_loading(false);
73
+ set_has_permission(false);
74
+ return;
75
+ }
76
+ // If permission is provided via prop, use that
77
+ if (can_access_private_files_prop !== undefined) {
78
+ set_has_permission(can_access_private_files_prop);
79
+ set_permission_loading(false);
80
+ return;
81
+ }
82
+ // Otherwise, check via hazo_auth API
83
+ const check_permission = async () => {
84
+ try {
85
+ set_permission_loading(true);
86
+ const response = await fetch('/api/hazo_auth/get_auth', {
87
+ credentials: 'include',
88
+ });
89
+ if (response.ok) {
90
+ const auth_data = await response.json();
91
+ if (auth_data.authenticated && auth_data.permissions) {
92
+ const has_perm = auth_data.permissions.includes(private_files_permission);
93
+ set_has_permission(has_perm);
94
+ }
95
+ else {
96
+ set_has_permission(false);
97
+ }
98
+ }
99
+ else {
100
+ set_has_permission(false);
101
+ }
102
+ }
103
+ catch (error) {
104
+ logger.warn('[CollabFormFileUpload] Error checking permission', {
105
+ permission: private_files_permission,
106
+ error: error instanceof Error ? error.message : String(error),
107
+ });
108
+ set_has_permission(false);
109
+ }
110
+ finally {
111
+ set_permission_loading(false);
112
+ }
113
+ };
114
+ check_permission();
115
+ }, [enable_file_visibility, private_files_permission, can_access_private_files_prop]);
116
+ // Determine if private files section should be shown
117
+ const show_private_section = !!(enable_file_visibility && private_files_permission && has_permission && !permission_loading);
60
118
  /**
61
- * Update files state
119
+ * Update files state (public files)
62
120
  */
63
121
  const update_files = useCallback((new_files) => {
122
+ // Ensure all files have visibility set to 'public'
123
+ const files_with_visibility = new_files.map(f => ({
124
+ ...f,
125
+ visibility: f.visibility || 'public',
126
+ }));
64
127
  if (!is_controlled) {
65
- set_internal_files(new_files);
128
+ set_internal_files(files_with_visibility);
66
129
  }
67
130
  if (on_files_change) {
68
- on_files_change(new_files);
131
+ on_files_change(files_with_visibility);
69
132
  }
70
133
  }, [is_controlled, on_files_change]);
134
+ /**
135
+ * Update private files state
136
+ */
137
+ const update_private_files = useCallback((new_files) => {
138
+ // Ensure all files have visibility set to 'private'
139
+ const files_with_visibility = new_files.map(f => ({
140
+ ...f,
141
+ visibility: 'private',
142
+ }));
143
+ if (!is_private_controlled) {
144
+ set_internal_private_files(files_with_visibility);
145
+ }
146
+ if (on_private_files_change) {
147
+ on_private_files_change(files_with_visibility);
148
+ }
149
+ }, [is_private_controlled, on_private_files_change]);
150
+ /**
151
+ * Toggle file visibility (move between public and private)
152
+ */
153
+ const toggle_file_visibility = useCallback((file_id, current_visibility) => {
154
+ if (current_visibility === 'public') {
155
+ // Move from public to private
156
+ const file_to_move = files.find(f => f.file_id === file_id);
157
+ if (file_to_move) {
158
+ const new_public_files = files.filter(f => f.file_id !== file_id);
159
+ const moved_file = { ...file_to_move, visibility: 'private' };
160
+ update_files(new_public_files);
161
+ update_private_files([...private_files, moved_file]);
162
+ }
163
+ }
164
+ else {
165
+ // Move from private to public
166
+ const file_to_move = private_files.find(f => f.file_id === file_id);
167
+ if (file_to_move) {
168
+ const new_private_files = private_files.filter(f => f.file_id !== file_id);
169
+ const moved_file = { ...file_to_move, visibility: 'public' };
170
+ update_private_files(new_private_files);
171
+ update_files([...files, moved_file]);
172
+ }
173
+ }
174
+ }, [files, private_files, update_files, update_private_files]);
71
175
  /**
72
176
  * Validate file before upload
73
177
  */
@@ -116,7 +220,7 @@ export function CollabFormFileUpload({ field_id_final, accept_files, files_dir,
116
220
  /**
117
221
  * Upload file to server
118
222
  */
119
- const upload_file = useCallback(async (file) => {
223
+ const upload_file = useCallback(async (file, visibility = 'public') => {
120
224
  const file_id = `${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;
121
225
  const uploading_id = `${file_id}-${file.name}`;
122
226
  try {
@@ -126,9 +230,16 @@ export function CollabFormFileUpload({ field_id_final, accept_files, files_dir,
126
230
  if (files_dir) {
127
231
  form_data.append('files_dir', files_dir);
128
232
  }
233
+ // Add visibility to the form data
234
+ form_data.append('visibility', visibility);
235
+ // Add required permission for private files (server-side validation)
236
+ if (visibility === 'private' && private_files_permission) {
237
+ form_data.append('required_permission', private_files_permission);
238
+ }
129
239
  const response = await fetch(upload_endpoint, {
130
240
  method: 'POST',
131
241
  body: form_data,
242
+ credentials: 'include',
132
243
  });
133
244
  if (!response.ok) {
134
245
  const error_data = await response.json().catch(() => ({ error: 'Upload failed' }));
@@ -142,6 +253,7 @@ export function CollabFormFileUpload({ field_id_final, accept_files, files_dir,
142
253
  file_type: file.type,
143
254
  file_id,
144
255
  uploaded_at: new Date(),
256
+ visibility,
145
257
  };
146
258
  // Call file processor if provided
147
259
  if (file_processor && component_ref) {
@@ -180,9 +292,9 @@ export function CollabFormFileUpload({ field_id_final, accept_files, files_dir,
180
292
  return next;
181
293
  });
182
294
  }
183
- }, [files_dir, upload_endpoint, file_processor, component_ref]);
295
+ }, [files_dir, upload_endpoint, file_processor, component_ref, private_files_permission]);
184
296
  /**
185
- * Handle file selection
297
+ * Handle file selection (public files)
186
298
  */
187
299
  const handle_files_selected = useCallback(async (selected_files) => {
188
300
  if (!selected_files || selected_files.length === 0)
@@ -203,14 +315,44 @@ export function CollabFormFileUpload({ field_id_final, accept_files, files_dir,
203
315
  if (Object.keys(errors).length > 0) {
204
316
  set_upload_errors((prev) => ({ ...prev, ...errors }));
205
317
  }
206
- // Upload valid files
207
- const upload_promises = files_to_upload.map((file) => upload_file(file));
318
+ // Upload valid files as public
319
+ const upload_promises = files_to_upload.map((file) => upload_file(file, 'public'));
208
320
  const uploaded_files = await Promise.all(upload_promises);
209
321
  const successful_uploads = uploaded_files.filter((f) => f !== null);
210
322
  if (successful_uploads.length > 0) {
211
323
  update_files([...files, ...successful_uploads]);
212
324
  }
213
325
  }, [files, validate_file, upload_file, update_files]);
326
+ /**
327
+ * Handle private file selection
328
+ */
329
+ const handle_private_files_selected = useCallback(async (selected_files) => {
330
+ if (!selected_files || selected_files.length === 0)
331
+ return;
332
+ const files_to_upload = [];
333
+ const errors = {};
334
+ // Validate all files first (use same validation as public)
335
+ Array.from(selected_files).forEach((file) => {
336
+ const error = validate_file(file);
337
+ if (error) {
338
+ errors[file.name] = error;
339
+ }
340
+ else {
341
+ files_to_upload.push(file);
342
+ }
343
+ });
344
+ // Set validation errors
345
+ if (Object.keys(errors).length > 0) {
346
+ set_upload_errors((prev) => ({ ...prev, ...errors }));
347
+ }
348
+ // Upload valid files as private
349
+ const upload_promises = files_to_upload.map((file) => upload_file(file, 'private'));
350
+ const uploaded_files = await Promise.all(upload_promises);
351
+ const successful_uploads = uploaded_files.filter((f) => f !== null);
352
+ if (successful_uploads.length > 0) {
353
+ update_private_files([...private_files, ...successful_uploads]);
354
+ }
355
+ }, [private_files, validate_file, upload_file, update_private_files]);
214
356
  /**
215
357
  * Handle drag and drop
216
358
  */
@@ -234,6 +376,25 @@ export function CollabFormFileUpload({ field_id_final, accept_files, files_dir,
234
376
  set_is_dragging(false);
235
377
  handle_files_selected(e.dataTransfer.files);
236
378
  }, [handle_files_selected]);
379
+ /**
380
+ * Handle private drag and drop
381
+ */
382
+ const handle_private_drag_enter = useCallback((e) => {
383
+ e.preventDefault();
384
+ e.stopPropagation();
385
+ set_is_dragging_private(true);
386
+ }, []);
387
+ const handle_private_drag_leave = useCallback((e) => {
388
+ e.preventDefault();
389
+ e.stopPropagation();
390
+ set_is_dragging_private(false);
391
+ }, []);
392
+ const handle_private_drop = useCallback((e) => {
393
+ e.preventDefault();
394
+ e.stopPropagation();
395
+ set_is_dragging_private(false);
396
+ handle_private_files_selected(e.dataTransfer.files);
397
+ }, [handle_private_files_selected]);
237
398
  /**
238
399
  * Handle file input change
239
400
  */
@@ -245,7 +406,17 @@ export function CollabFormFileUpload({ field_id_final, accept_files, files_dir,
245
406
  }
246
407
  }, [handle_files_selected]);
247
408
  /**
248
- * Handle file delete
409
+ * Handle private file input change
410
+ */
411
+ const handle_private_input_change = useCallback((e) => {
412
+ handle_private_files_selected(e.target.files);
413
+ // Reset input to allow selecting the same file again
414
+ if (private_file_input_ref.current) {
415
+ private_file_input_ref.current.value = '';
416
+ }
417
+ }, [handle_private_files_selected]);
418
+ /**
419
+ * Handle file delete (public files)
249
420
  */
250
421
  const handle_delete_file = useCallback((file_id) => {
251
422
  const new_files = files.filter((f) => f.file_id !== file_id);
@@ -265,24 +436,43 @@ export function CollabFormFileUpload({ field_id_final, accept_files, files_dir,
265
436
  });
266
437
  }, [files, min_files, update_files]);
267
438
  /**
268
- * Get file URL
439
+ * Handle private file delete
269
440
  */
270
- const get_file_url = useCallback((file_path) => {
271
- return file_path.startsWith('/')
272
- ? file_path
273
- : `/api/collab-forms/files/${encodeURIComponent(file_path)}`;
274
- }, []);
275
- const accordion_title = files.length > 0 ? `Files (${files.length})` : 'Files';
441
+ const handle_delete_private_file = useCallback((file_id) => {
442
+ const new_files = private_files.filter((f) => f.file_id !== file_id);
443
+ update_private_files(new_files);
444
+ }, [private_files, update_private_files]);
445
+ /**
446
+ * Get file URL - handles both public and private files
447
+ */
448
+ const get_file_url = useCallback((file_path, visibility) => {
449
+ if (file_path.startsWith('/')) {
450
+ return file_path;
451
+ }
452
+ // For private files, use the private files endpoint with permission query
453
+ if (visibility === 'private' && private_files_permission) {
454
+ return `/api/collab-forms/private-files/${encodeURIComponent(file_path)}?permission=${encodeURIComponent(private_files_permission)}`;
455
+ }
456
+ return `/api/collab-forms/files/${encodeURIComponent(file_path)}`;
457
+ }, [private_files_permission]);
458
+ // Build accordion title based on visibility mode
459
+ const accordion_title = enable_file_visibility && show_private_section
460
+ ? `Files (${files.length} public, ${private_files.length} private)`
461
+ : files.length > 0 ? `Files (${files.length})` : 'Files';
276
462
  // Always render wrapper div to maintain consistent DOM structure
277
463
  // This prevents hydration mismatches when accept_files changes between server and client
278
464
  return (_jsx("div", { className: "cls_collab_file_upload space-y-2", suppressHydrationWarning: true, children: accept_files ? (
279
465
  /* Dynamic import for Accordion - will be loaded by consuming app */
280
- _jsx(FileUploadAccordion, { field_id_final: field_id_final, title: accordion_title, is_dragging: is_dragging, on_drag_enter: handle_drag_enter, on_drag_leave: handle_drag_leave, on_drag_over: handle_drag_over, on_drop: handle_drop, file_input_ref: file_input_ref, file_accept: file_accept, on_input_change: handle_input_change, files: files, uploading_files: uploading_files, processing_files: processing_files, processed_files: processed_files, upload_errors: upload_errors, get_file_url: get_file_url, on_file_delete: handle_delete_file, get_file_icon: get_file_icon, format_file_size: format_file_size, max_files: max_files, min_files: min_files })) : null }));
466
+ _jsx(FileUploadAccordion, { field_id_final: field_id_final, title: accordion_title, is_dragging: is_dragging, on_drag_enter: handle_drag_enter, on_drag_leave: handle_drag_leave, on_drag_over: handle_drag_over, on_drop: handle_drop, file_input_ref: file_input_ref, file_accept: file_accept, on_input_change: handle_input_change, files: files, uploading_files: uploading_files, processing_files: processing_files, processed_files: processed_files, upload_errors: upload_errors, get_file_url: get_file_url, on_file_delete: handle_delete_file, get_file_icon: get_file_icon, format_file_size: format_file_size, max_files: max_files, min_files: min_files,
467
+ // Private files props
468
+ enable_file_visibility: enable_file_visibility, show_private_section: show_private_section, private_files: private_files, private_file_input_ref: private_file_input_ref, is_dragging_private: is_dragging_private, on_private_drag_enter: handle_private_drag_enter, on_private_drag_leave: handle_private_drag_leave, on_private_drop: handle_private_drop, on_private_input_change: handle_private_input_change, on_private_file_delete: handle_delete_private_file, on_toggle_visibility: toggle_file_visibility })) : null }));
281
469
  }
282
470
  /**
283
471
  * File upload accordion component with dynamic imports
284
472
  */
285
- function FileUploadAccordion({ field_id_final, title, is_dragging, on_drag_enter, on_drag_leave, on_drag_over, on_drop, file_input_ref, file_accept, on_input_change, files, uploading_files, processing_files, processed_files, upload_errors, get_file_url, on_file_delete, get_file_icon, format_file_size, max_files, min_files, }) {
473
+ function FileUploadAccordion({ field_id_final, title, is_dragging, on_drag_enter, on_drag_leave, on_drag_over, on_drop, file_input_ref, file_accept, on_input_change, files, uploading_files, processing_files, processed_files, upload_errors, get_file_url, on_file_delete, get_file_icon, format_file_size, max_files, min_files,
474
+ // Private files props
475
+ enable_file_visibility = false, show_private_section = false, private_files = [], private_file_input_ref, is_dragging_private = false, on_private_drag_enter, on_private_drag_leave, on_private_drop, on_private_input_change, on_private_file_delete, on_toggle_visibility, }) {
286
476
  const logger = use_logger();
287
477
  const [AccordionComponents, set_accordion_components] = React.useState(null);
288
478
  const [is_loading, set_is_loading] = React.useState(true);
@@ -339,15 +529,29 @@ function FileUploadAccordion({ field_id_final, title, is_dragging, on_drag_enter
339
529
  const default_value = files.length > 0 ? 'files' : undefined;
340
530
  // Determine if files are required (min_files >= 1)
341
531
  const is_files_required = min_files !== undefined && min_files >= 1;
532
+ /**
533
+ * Render a file item with optional visibility toggle
534
+ */
535
+ const render_file_item = (file_data, visibility, delete_handler) => {
536
+ const is_uploading = Array.from(uploading_files).some((id) => id.startsWith(file_data.file_id));
537
+ const is_processing = processing_files.has(file_data.file_id);
538
+ const is_processed = processed_files.has(file_data.file_id);
539
+ return (_jsxs("div", { className: "cls_collab_file_item flex-shrink-0 w-24 flex flex-col items-center gap-1 p-2 border rounded-md hover:bg-muted transition-colors relative", children: [_jsxs("a", { href: get_file_url(file_data.file_path, visibility), target: "_blank", rel: "noopener noreferrer", className: cn("flex flex-col items-center gap-1 w-full", is_uploading && "pointer-events-none opacity-50"), "aria-disabled": is_uploading, children: [_jsxs("div", { className: "relative", children: [get_file_icon(file_data.file_type, file_data.file_name), is_processing && (_jsx("div", { className: "absolute -bottom-1 -right-1 bg-background rounded-full p-0.5 shadow-sm border border-border", children: _jsx(FaSpinner, { className: "h-3 w-3 animate-spin text-primary" }) }))] }), _jsx("span", { className: "text-xs text-center truncate w-full", title: file_data.file_name, children: file_data.file_name }), _jsx("span", { className: "text-xs text-muted-foreground", children: format_file_size(file_data.file_size) })] }), _jsxs("div", { className: "flex items-center gap-1", children: [show_private_section && on_toggle_visibility && (_jsx("button", { type: "button", onClick: () => on_toggle_visibility(file_data.file_id, visibility), className: cn("p-1 transition-colors", visibility === 'private'
540
+ ? "text-amber-600 hover:text-amber-700"
541
+ : "text-muted-foreground hover:text-foreground"), disabled: is_uploading, "aria-label": visibility === 'private' ? `Make ${file_data.file_name} public` : `Make ${file_data.file_name} private`, title: visibility === 'private' ? 'Make public' : 'Make private', children: visibility === 'private' ? (_jsx(HiLockClosed, { className: "h-4 w-4" })) : (_jsx(HiLockOpen, { className: "h-4 w-4" })) })), _jsx("button", { type: "button", onClick: () => delete_handler(file_data.file_id), className: "text-destructive hover:text-destructive/80 p-1", disabled: is_uploading, "aria-label": `Delete ${file_data.file_name}`, children: _jsx(HiTrash, { className: "h-4 w-4" }) }), is_processed && !is_processing && (_jsx(HiCheckCircle, { className: "h-4 w-4 text-green-500" }))] }), is_uploading && (_jsx("div", { className: "absolute inset-0 bg-background/50 flex items-center justify-center rounded-md", children: _jsx("div", { className: "text-xs text-muted-foreground", children: "Uploading..." }) }))] }, file_data.file_id));
542
+ };
543
+ /**
544
+ * Render file upload section (drop zone + file list)
545
+ */
546
+ const render_file_section = (section_type, section_files, section_is_dragging, section_on_drag_enter, section_on_drag_leave, section_on_drop, section_file_input_ref, section_on_input_change, section_on_delete, input_id_suffix) => (_jsxs("div", { className: "space-y-3", children: [_jsxs("div", { className: cn('cls_collab_file_drop_zone border-2 border-dashed rounded-md p-4 text-center transition-colors', section_is_dragging
547
+ ? 'border-primary bg-primary/5'
548
+ : 'border-input hover:border-primary/50 hover:bg-muted/50', section_files.length >= max_files && 'opacity-50 cursor-not-allowed'), onDragEnter: section_on_drag_enter, onDragLeave: section_on_drag_leave, onDragOver: on_drag_over, onDrop: section_on_drop, children: [_jsx("input", { ref: section_file_input_ref, type: "file", id: `${field_id_final}-${input_id_suffix}`, className: "hidden", accept: file_accept, multiple: true, onChange: section_on_input_change, disabled: section_files.length >= max_files }), _jsxs("label", { htmlFor: `${field_id_final}-${input_id_suffix}`, className: cn('cursor-pointer block', section_files.length >= max_files && 'cursor-not-allowed opacity-50'), children: [_jsx("p", { className: "text-sm text-muted-foreground", children: "Drag and drop files here, or click to select" }), file_accept && (_jsxs("p", { className: "text-xs text-muted-foreground mt-1", children: ["Accepted: ", file_accept] }))] })] }), section_files.length > 0 && (_jsx("div", { className: "cls_collab_file_list", children: _jsx("div", { className: "flex overflow-x-auto gap-2 pb-2", children: section_files.map((file_data) => render_file_item(file_data, section_type, section_on_delete)) }) }))] }));
342
549
  // Wrap Accordion in div with suppressHydrationWarning to prevent React from checking children
343
550
  // The Accordion content may differ between server and client due to dynamic imports
344
- return (_jsx("div", { suppressHydrationWarning: true, children: _jsx(Accordion, { type: "single", collapsible: true, defaultValue: default_value, className: "w-full", children: _jsxs(AccordionItem, { value: "files", children: [_jsxs(AccordionTrigger, { className: "text-sm font-medium", children: [title, is_files_required && _jsx("span", { className: "text-destructive ml-1", children: "*" })] }), _jsx(AccordionContent, { children: _jsxs("div", { className: "space-y-4", children: [_jsxs("div", { className: cn('cls_collab_file_drop_zone border-2 border-dashed rounded-md p-6 text-center transition-colors', is_dragging
345
- ? 'border-primary bg-primary/5'
346
- : 'border-input hover:border-primary/50 hover:bg-muted/50', files.length >= max_files && 'opacity-50 cursor-not-allowed'), onDragEnter: on_drag_enter, onDragLeave: on_drag_leave, onDragOver: on_drag_over, onDrop: on_drop, children: [_jsx("input", { ref: file_input_ref, type: "file", id: `${field_id_final}-file-input`, className: "hidden", accept: file_accept, multiple: true, onChange: on_input_change, disabled: files.length >= max_files }), _jsx("label", { htmlFor: `${field_id_final}-file-input`, className: cn('cursor-pointer block', files.length >= max_files && 'cursor-not-allowed opacity-50'), children: _jsxs("div", { className: "space-y-2", children: [_jsx("p", { className: "text-sm text-muted-foreground", children: "Drag and drop files here, or click to select" }), file_accept && (_jsxs("p", { className: "text-xs text-muted-foreground", children: ["Accepted: ", file_accept] }))] }) })] }), Object.keys(upload_errors).length > 0 && (_jsx("div", { className: "space-y-1", children: Object.entries(upload_errors).map(([key, error]) => (_jsx("p", { className: "text-sm text-destructive", children: error }, key))) })), files.length > 0 && (_jsx("div", { className: "cls_collab_file_list space-y-2", children: _jsx("div", { className: "flex overflow-x-auto gap-2 pb-2", children: files.map((file_data) => {
347
- const is_uploading = Array.from(uploading_files).some((id) => id.startsWith(file_data.file_id));
348
- const is_processing = processing_files.has(file_data.file_id);
349
- const is_processed = processed_files.has(file_data.file_id);
350
- return (_jsxs("div", { className: "cls_collab_file_item flex-shrink-0 w-24 flex flex-col items-center gap-1 p-2 border rounded-md hover:bg-muted transition-colors", children: [_jsxs("a", { href: get_file_url(file_data.file_path), target: "_blank", rel: "noopener noreferrer", className: cn("flex flex-col items-center gap-1 w-full", is_uploading && "pointer-events-none opacity-50"), "aria-disabled": is_uploading, children: [_jsxs("div", { className: "relative", children: [get_file_icon(file_data.file_type, file_data.file_name), is_processing && (_jsx("div", { className: "absolute -bottom-1 -right-1 bg-background rounded-full p-0.5 shadow-sm border border-border", children: _jsx(FaSpinner, { className: "h-3 w-3 animate-spin text-primary" }) }))] }), _jsx("span", { className: "text-xs text-center truncate w-full", title: file_data.file_name, children: file_data.file_name }), _jsx("span", { className: "text-xs text-muted-foreground", children: format_file_size(file_data.file_size) })] }), _jsxs("div", { className: "flex items-center gap-1", children: [_jsx("button", { type: "button", onClick: () => on_file_delete(file_data.file_id), className: "text-destructive hover:text-destructive/80 p-1", disabled: is_uploading, "aria-label": `Delete ${file_data.file_name}`, children: _jsx(HiTrash, { className: "h-4 w-4" }) }), is_processed && !is_processing && (_jsx(HiCheckCircle, { className: "h-4 w-4 text-green-500" }))] }), is_uploading && (_jsx("div", { className: "absolute inset-0 bg-background/50 flex items-center justify-center rounded-md", children: _jsx("div", { className: "text-xs text-muted-foreground", children: "Uploading..." }) }))] }, file_data.file_id));
351
- }) }) }))] }) })] }) }) }));
551
+ return (_jsx("div", { suppressHydrationWarning: true, children: _jsx(Accordion, { type: "single", collapsible: true, defaultValue: default_value, className: "w-full", children: _jsxs(AccordionItem, { value: "files", children: [_jsxs(AccordionTrigger, { className: "text-sm font-medium", children: [title, is_files_required && _jsx("span", { className: "text-destructive ml-1", children: "*" })] }), _jsx(AccordionContent, { children: _jsxs("div", { className: "space-y-4", children: [Object.keys(upload_errors).length > 0 && (_jsx("div", { className: "space-y-1", children: Object.entries(upload_errors).map(([key, error]) => (_jsx("p", { className: "text-sm text-destructive", children: error }, key))) })), enable_file_visibility && show_private_section ? (_jsxs(Accordion, { type: "multiple", defaultValue: ['public-files', 'private-files'], className: "w-full", children: [_jsxs(AccordionItem, { value: "public-files", className: "border-b-0", children: [_jsx(AccordionTrigger, { className: "text-sm font-medium py-2", children: _jsxs("div", { className: "flex items-center gap-2", children: [_jsx(HiLockOpen, { className: "h-4 w-4 text-muted-foreground" }), _jsxs("span", { children: ["Public Files (", files.length, ")"] })] }) }), _jsx(AccordionContent, { className: "pb-4", children: render_file_section('public', files, is_dragging, on_drag_enter, on_drag_leave, on_drop, file_input_ref, on_input_change, on_file_delete, 'public-file-input') })] }), _jsxs(AccordionItem, { value: "private-files", className: "border-b-0", children: [_jsx(AccordionTrigger, { className: "text-sm font-medium py-2", children: _jsxs("div", { className: "flex items-center gap-2", children: [_jsx(HiLockClosed, { className: "h-4 w-4 text-amber-600" }), _jsxs("span", { children: ["Private Files (", private_files.length, ")"] })] }) }), _jsx(AccordionContent, { className: "pb-4", children: private_file_input_ref && on_private_drag_enter && on_private_drag_leave && on_private_drop && on_private_input_change && on_private_file_delete && render_file_section('private', private_files, is_dragging_private, on_private_drag_enter, on_private_drag_leave, on_private_drop, private_file_input_ref, on_private_input_change, on_private_file_delete, 'private-file-input') })] })] })) : (
552
+ /* Single-section UI (original behavior) */
553
+ _jsxs("div", { className: "space-y-4", children: [_jsxs("div", { className: cn('cls_collab_file_drop_zone border-2 border-dashed rounded-md p-6 text-center transition-colors', is_dragging
554
+ ? 'border-primary bg-primary/5'
555
+ : 'border-input hover:border-primary/50 hover:bg-muted/50', files.length >= max_files && 'opacity-50 cursor-not-allowed'), onDragEnter: on_drag_enter, onDragLeave: on_drag_leave, onDragOver: on_drag_over, onDrop: on_drop, children: [_jsx("input", { ref: file_input_ref, type: "file", id: `${field_id_final}-file-input`, className: "hidden", accept: file_accept, multiple: true, onChange: on_input_change, disabled: files.length >= max_files }), _jsx("label", { htmlFor: `${field_id_final}-file-input`, className: cn('cursor-pointer block', files.length >= max_files && 'cursor-not-allowed opacity-50'), children: _jsxs("div", { className: "space-y-2", children: [_jsx("p", { className: "text-sm text-muted-foreground", children: "Drag and drop files here, or click to select" }), file_accept && (_jsxs("p", { className: "text-xs text-muted-foreground", children: ["Accepted: ", file_accept] }))] }) })] }), files.length > 0 && (_jsx("div", { className: "cls_collab_file_list space-y-2", children: _jsx("div", { className: "flex overflow-x-auto gap-2 pb-2", children: files.map((file_data) => render_file_item(file_data, 'public', on_file_delete)) }) }))] }))] }) })] }) }) }));
352
556
  }
353
557
  //# sourceMappingURL=collab_form_file_upload.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"collab_form_file_upload.js","sourceRoot":"","sources":["../../src/components/collab_form_file_upload.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"collab_form_file_upload.js","sourceRoot":"","sources":["../../src/components/collab_form_file_upload.tsx"],"names":[],"mappings":"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"}
@@ -215,6 +215,13 @@ export interface CollabFormFieldBaseProps {
215
215
  * Default: false
216
216
  */
217
217
  data_ok_editable?: boolean;
218
+ /**
219
+ * Default value for the data OK checkbox/multi-state
220
+ * - boolean: For checkbox mode (true = checked, false = unchecked)
221
+ * - 'ok' | 'not_ok' | 'pending': For multi_state mode
222
+ * Default: false for checkbox mode, 'pending' for multi_state mode
223
+ */
224
+ data_ok_default?: boolean | 'ok' | 'not_ok' | 'pending';
218
225
  /**
219
226
  * Custom className for field width
220
227
  * Used to control the width of the field container
@@ -351,6 +358,31 @@ export interface CollabFormFieldBaseProps {
351
358
  * If validation fails, the file will not be uploaded
352
359
  */
353
360
  file_validator?: (file: File) => string | null;
361
+ /**
362
+ * Enable private/public file visibility controls
363
+ * When true and private_files_permission is set, displays two file sections:
364
+ * - Public Files: visible to all users
365
+ * - Private Files: visible only to users with the required permission
366
+ * Default: false (all files are public, existing behavior)
367
+ */
368
+ enable_file_visibility?: boolean;
369
+ /**
370
+ * Permission string required to view/upload private files
371
+ * Uses hazo_auth permission checking
372
+ * If not provided, private file functionality is disabled even if enable_file_visibility is true
373
+ */
374
+ private_files_permission?: string;
375
+ /**
376
+ * Controlled private files state
377
+ * When provided, component is controlled and uses this array for private files
378
+ * Separate from `files` prop which is used for public files
379
+ */
380
+ private_files?: FileData[];
381
+ /**
382
+ * Callback when private files change
383
+ * Called with the updated private files array
384
+ */
385
+ on_private_files_change?: (files: FileData[]) => void;
354
386
  /**
355
387
  * Custom field value validator callback
356
388
  * Called on value change to validate the field value
@@ -444,6 +476,13 @@ export interface FileData {
444
476
  * Upload timestamp
445
477
  */
446
478
  uploaded_at: Date;
479
+ /**
480
+ * File visibility level
481
+ * - 'public': Visible to all users (default)
482
+ * - 'private': Visible only to users with the required permission
483
+ * If not specified, defaults to 'public' for backward compatibility
484
+ */
485
+ visibility?: 'public' | 'private';
447
486
  }
448
487
  /**
449
488
  * Single note entry structure for field notes
@@ -523,13 +562,14 @@ export declare function CollabFormFieldReferenceTag({ reference_value, reference
523
562
  * Provides consistent data OK functionality across all form fields
524
563
  * Supports both binary checkbox mode and multi-state mode
525
564
  */
526
- export declare function CollabFormDataOkCheckbox({ label, data_ok_checked: controlled_data_ok_checked, on_data_ok_change, data_ok_mode, data_ok_value: controlled_data_ok_value, on_data_ok_value_change, disabled, editable, }: {
565
+ export declare function CollabFormDataOkCheckbox({ label, data_ok_checked: controlled_data_ok_checked, on_data_ok_change, data_ok_mode, data_ok_value: controlled_data_ok_value, on_data_ok_value_change, data_ok_default, disabled, editable, }: {
527
566
  label: string;
528
567
  data_ok_checked?: boolean;
529
568
  on_data_ok_change?: (checked: boolean) => void;
530
569
  data_ok_mode?: 'checkbox' | 'multi_state';
531
570
  data_ok_value?: DataOkState;
532
571
  on_data_ok_value_change?: (value: DataOkState) => void;
572
+ data_ok_default?: boolean | 'ok' | 'not_ok' | 'pending';
533
573
  disabled?: boolean;
534
574
  editable?: boolean;
535
575
  }): import("react/jsx-runtime").JSX.Element | null;
@@ -537,7 +577,7 @@ export declare function CollabFormDataOkCheckbox({ label, data_ok_checked: contr
537
577
  * Render the file upload component
538
578
  * Provides file upload functionality for collaboration form fields
539
579
  */
540
- export declare function CollabFormFileUploadSection({ field_id_final, accept_files, files_dir, max_size, min_files, max_files, file_accept, file_processor, file_validator, files, on_files_change, component_ref, }: Pick<CollabFormFieldBaseProps, 'accept_files' | 'files_dir' | 'max_size' | 'min_files' | 'max_files' | 'file_accept' | 'file_processor' | 'file_validator' | 'files' | 'on_files_change'> & {
580
+ export declare function CollabFormFileUploadSection({ field_id_final, accept_files, files_dir, max_size, min_files, max_files, file_accept, file_processor, file_validator, files, on_files_change, component_ref, enable_file_visibility, private_files_permission, private_files, on_private_files_change, }: Pick<CollabFormFieldBaseProps, 'accept_files' | 'files_dir' | 'max_size' | 'min_files' | 'max_files' | 'file_accept' | 'file_processor' | 'file_validator' | 'files' | 'on_files_change' | 'enable_file_visibility' | 'private_files_permission' | 'private_files' | 'on_private_files_change'> & {
541
581
  field_id_final: string;
542
582
  component_ref?: React.RefObject<any>;
543
583
  }): import("react/jsx-runtime").JSX.Element;