@herca/rn-kit 0.1.101 → 0.1.103

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 (67) hide show
  1. package/lib/module/Icon/Icon.js +13 -1
  2. package/lib/module/Icon/Icon.js.map +1 -1
  3. package/lib/module/Icon/icons/CalendarClockTriangleExclamation.js +27 -0
  4. package/lib/module/Icon/icons/CalendarClockTriangleExclamation.js.map +1 -0
  5. package/lib/module/Icon/icons/Package.js +22 -0
  6. package/lib/module/Icon/icons/Package.js.map +1 -0
  7. package/lib/module/Icon/icons/ScanQr.js +22 -0
  8. package/lib/module/Icon/icons/ScanQr.js.map +1 -0
  9. package/lib/module/Icon/icons/StickyNoteTextSquare.js +22 -0
  10. package/lib/module/Icon/icons/StickyNoteTextSquare.js.map +1 -0
  11. package/lib/module/Icon/icons/TriangleExclamationTime.js +29 -0
  12. package/lib/module/Icon/icons/TriangleExclamationTime.js.map +1 -0
  13. package/lib/module/Icon/icons/UserEditTriangleExclamation.js +28 -0
  14. package/lib/module/Icon/icons/UserEditTriangleExclamation.js.map +1 -0
  15. package/lib/module/Input/InputFile.js +178 -68
  16. package/lib/module/Input/InputFile.js.map +1 -1
  17. package/lib/module/Input/README_INPUT_FILE.md +179 -105
  18. package/lib/module/Input/TextArea.js +2 -0
  19. package/lib/module/Input/TextArea.js.map +1 -1
  20. package/lib/module/Input/helpers/uploadFile.js +60 -0
  21. package/lib/module/Input/helpers/uploadFile.js.map +1 -0
  22. package/lib/module/Input/partials/InputFile/CardTriggerSmall.js +1 -0
  23. package/lib/module/Input/partials/InputFile/CardTriggerSmall.js.map +1 -1
  24. package/lib/module/Input/partials/InputFile/ItemPreview.js +15 -4
  25. package/lib/module/Input/partials/InputFile/ItemPreview.js.map +1 -1
  26. package/lib/typescript/src/Icon/Icon.d.ts.map +1 -1
  27. package/lib/typescript/src/Icon/icons/CalendarClockTriangleExclamation.d.ts +9 -0
  28. package/lib/typescript/src/Icon/icons/CalendarClockTriangleExclamation.d.ts.map +1 -0
  29. package/lib/typescript/src/Icon/icons/Package.d.ts +9 -0
  30. package/lib/typescript/src/Icon/icons/Package.d.ts.map +1 -0
  31. package/lib/typescript/src/Icon/icons/ScanQr.d.ts +9 -0
  32. package/lib/typescript/src/Icon/icons/ScanQr.d.ts.map +1 -0
  33. package/lib/typescript/src/Icon/icons/StickyNoteTextSquare.d.ts +9 -0
  34. package/lib/typescript/src/Icon/icons/StickyNoteTextSquare.d.ts.map +1 -0
  35. package/lib/typescript/src/Icon/icons/TriangleExclamationTime.d.ts +9 -0
  36. package/lib/typescript/src/Icon/icons/TriangleExclamationTime.d.ts.map +1 -0
  37. package/lib/typescript/src/Icon/icons/UserEditTriangleExclamation.d.ts +9 -0
  38. package/lib/typescript/src/Icon/icons/UserEditTriangleExclamation.d.ts.map +1 -0
  39. package/lib/typescript/src/Icon/type.d.ts +1 -1
  40. package/lib/typescript/src/Icon/type.d.ts.map +1 -1
  41. package/lib/typescript/src/Input/InputFile.d.ts +3 -48
  42. package/lib/typescript/src/Input/InputFile.d.ts.map +1 -1
  43. package/lib/typescript/src/Input/TextArea.d.ts +1 -1
  44. package/lib/typescript/src/Input/TextArea.d.ts.map +1 -1
  45. package/lib/typescript/src/Input/helpers/uploadFile.d.ts +3 -0
  46. package/lib/typescript/src/Input/helpers/uploadFile.d.ts.map +1 -0
  47. package/lib/typescript/src/Input/partials/InputFile/CardTriggerSmall.d.ts.map +1 -1
  48. package/lib/typescript/src/Input/partials/InputFile/ItemPreview.d.ts +4 -2
  49. package/lib/typescript/src/Input/partials/InputFile/ItemPreview.d.ts.map +1 -1
  50. package/lib/typescript/src/Input/type.d.ts +91 -0
  51. package/lib/typescript/src/Input/type.d.ts.map +1 -1
  52. package/package.json +1 -1
  53. package/src/Icon/Icon.tsx +12 -0
  54. package/src/Icon/icons/CalendarClockTriangleExclamation.tsx +29 -0
  55. package/src/Icon/icons/Package.tsx +19 -0
  56. package/src/Icon/icons/ScanQr.tsx +19 -0
  57. package/src/Icon/icons/StickyNoteTextSquare.tsx +23 -0
  58. package/src/Icon/icons/TriangleExclamationTime.tsx +31 -0
  59. package/src/Icon/icons/UserEditTriangleExclamation.tsx +31 -0
  60. package/src/Icon/type.tsx +6 -0
  61. package/src/Input/InputFile.tsx +235 -111
  62. package/src/Input/README_INPUT_FILE.md +179 -105
  63. package/src/Input/TextArea.tsx +2 -1
  64. package/src/Input/helpers/uploadFile.ts +77 -0
  65. package/src/Input/partials/InputFile/CardTriggerSmall.tsx +1 -0
  66. package/src/Input/partials/InputFile/ItemPreview.tsx +25 -4
  67. package/src/Input/type.tsx +105 -0
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useState","View","Color","Typography","pick","viewDocument","launchCamera","launchImageLibrary","spacing","Input","CardTrigger","ItemPreview","ModalDelete","ModalPicker","CardTriggerSmall","ReactNativeBlobUtil","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","InputFile","title","description","accept","btnChooseFileText","multiple","value","modalPickFileText","modalDeleteText","useChangeLabel","changeLableProps","variant","hint","hasError","onChange","isOpenBottomSheetTypeFile","setIsOpenBottomSheetTypeFile","isOpenBottomSheetDeleteFile","setIsOpenBottomSheetDeleteFile","files","setFiles","selectedFileIndex","setSelectedFileIndex","handleOnPresChoseFile","handlePickFile","confirmReplaceFile","result","type","pickedFiles","newFiles","error","message","toLowerCase","includes","console","handlePreviewFile","file","fileUri","uri","fileType","startsWith","dirs","fs","dir","CacheDir","ext","name","split","pop","localPath","Date","now","res","config","path","fileCache","fetch","respInfo","headers","mimeType","err","handleOnPressButtonCamera","mediaType","didCancel","assets","handleOnPressButtonGallery","selectionLimit","confirmDeleteFile","index","deleteFile","filter","_","i","handleReplaceFile","replacedFile","length","labelFile","updatedFiles","map","f","style","gap","children","btnSelect","onPress","textButton","onChooseFile","onPreview","onReplace","onDelete","color","danger","label","placeholder","onChangeText","text","gray","isOpen","onClose","camera","icon","gallery","document","descripition","confirm","confirmBtn","onConfirm","cancel","onCnacel"],"sourceRoot":"../../../src","sources":["Input/InputFile.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useEffect","useState","useRef","View","Color","Typography","pick","types","viewDocument","launchCamera","launchImageLibrary","spacing","Input","CardTrigger","ItemPreview","ModalDelete","ModalPicker","CardTriggerSmall","ReactNativeBlobUtil","uploadFile","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","InputFile","title","description","accept","pdf","images","btnChooseFileText","multiple","value","modalPickFileText","modalDeleteText","useChangeLabel","changeLableProps","variant","hint","hasError","onChange","uploadConfig","maxSize","maxSizeErrorMessage","isOpenBottomSheetTypeFile","setIsOpenBottomSheetTypeFile","isOpenBottomSheetDeleteFile","setIsOpenBottomSheetDeleteFile","selectedFileIndex","setSelectedFileIndex","uploadedFiles","setUploadedFiles","internalErrorMessage","setInternalErrorMessage","files","setFiles","filesRef","calculatedMaxSize","uploadAndTrack","newFiles","config","withLoading","map","f","uploading","prev","results","Promise","all","currentFiles","current","updatedFiles","match","find","r","originalName","name","fileName","error","uploadedData","errorMessage","newUploaded","onUploadSuccess","validateMaxSize","assets","oversized","filter","size","fileSize","Infinity","length","handlePreviewFile","file","fileUri","uri","fileType","type","startsWith","dirs","fs","dir","CacheDir","ext","split","pop","localPath","Date","now","res","path","fileCache","fetch","respInfo","headers","mimeType","err","console","handlePickFile","confirmReplaceFile","result","allowMultiSelection","pickedFiles","message","toLowerCase","includes","handleOnPressButtonCamera","mediaType","didCancel","handleOnPressButtonGallery","selectionLimit","confirmDeleteFile","index","deleteFile","_","i","handleReplaceFile","labelFile","pickFile","replacedFile","uploadResult","style","gap","children","btnSelect","onPress","textButton","onChooseFile","onPreview","onReplace","onDelete","color","danger","label","placeholder","onChangeText","text","loading","gray","isOpen","onClose","camera","icon","gallery","document","descripition","confirm","confirmBtn","onConfirm","cancel","onCnacel"],"sourceRoot":"../../../src","sources":["Input/InputFile.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,13 +1,16 @@
1
1
  # 📂 InputFile Component
2
2
 
3
- Komponen `InputFile` digunakan untuk mengunggah, menampilkan, mengganti, menghapus, serta memberi label pada dokumen atau gambar di aplikasi React Native.
4
- Mendukung **camera**, **gallery**, dan **document picker** dengan tampilan preview dan konfirmasi aksi.
3
+ Komponen `InputFile` digunakan untuk mengunggah, menampilkan, mengganti, dan menghapus dokumen atau gambar di aplikasi React Native. Mendukung **camera**, **gallery**, dan **document picker** dengan fitur upload otomatis ke server, validasi ukuran file, loading state, dan konfirmasi aksi.
5
4
 
6
5
  ---
7
6
 
8
7
  ## ✨ Fitur
9
8
 
10
9
  - Upload file dari **kamera**, **galeri**, atau **dokumen perangkat**.
10
+ - **Auto-upload ke server** setiap kali file dipilih via `uploadConfig`.
11
+ - **Validasi ukuran file** per file sebelum diproses.
12
+ - **Loading state** (`uploading: true`) selama proses upload berlangsung.
13
+ - **Error state** otomatis jika upload gagal (HTTP error / network error).
11
14
  - Preview file (gambar atau dokumen).
12
15
  - Mendukung **multiple file upload**.
13
16
  - Ganti file (replace) atau hapus file dengan konfirmasi.
@@ -20,17 +23,18 @@ Mendukung **camera**, **gallery**, dan **document picker** dengan tampilan previ
20
23
 
21
24
  ## 📦 Dependencies
22
25
 
23
- Komponen ini membutuhkan beberapa library:
24
-
25
- - [`@react-native-documents/picker`](https://github.com/react-native-documents/picker)
26
- - [`@react-native-documents/viewer`](https://github.com/react-native-documents/viewer)
27
- - [`react-native-image-picker`](https://github.com/react-native-image-picker/react-native-image-picker)
26
+ | Library | Kegunaan |
27
+ | ----------------------------------------------------------------------------------------------------- | ------------------------------- |
28
+ | [`@react-native-documents/picker`](https://github.com/react-native-documents/picker) | Pick file dari storage |
29
+ | [`@react-native-documents/viewer`](https://github.com/react-native-documents/viewer) | Preview dokumen |
30
+ | [`react-native-image-picker`](https://github.com/react-native-image-picker/react-native-image-picker) | Akses kamera & galeri |
31
+ | [`react-native-blob-util`](https://github.com/RonRadtke/react-native-blob-util) | Upload file multipart ke server |
28
32
 
29
33
  ---
30
34
 
31
35
  ## 🚀 Penggunaan
32
36
 
33
- ### Variant Default (Full Features)
37
+ ### Variant Default (tanpa upload otomatis)
34
38
 
35
39
  ```tsx
36
40
  import InputFile from '@/components/Input/InputFile';
@@ -41,7 +45,6 @@ export default function ExampleScreen() {
41
45
 
42
46
  return (
43
47
  <InputFile
44
- variant="default" // atau bisa dihilangkan (default)
45
48
  title="Upload Dokumen"
46
49
  description="Format file: JPG, PNG, PDF"
47
50
  hint="Maksimal ukuran file 5MB"
@@ -54,25 +57,46 @@ export default function ExampleScreen() {
54
57
  label: 'Nama Dokumen',
55
58
  placeholder: 'Masukkan nama dokumen',
56
59
  }}
57
- modalPickFileText={{
58
- title: 'Pilih Sumber',
59
- description: 'Unggah dokumen atau ambil foto',
60
- camera: { title: 'Kamera', description: 'Ambil foto langsung' },
61
- gallery: { title: 'Galeri', description: 'Pilih gambar dari galeri' },
62
- document: {
63
- title: 'Dokumen',
64
- description: 'Pilih file dari perangkat',
60
+ onChange={(newFiles) => setFiles(newFiles)}
61
+ />
62
+ );
63
+ }
64
+ ```
65
+
66
+ ### Variant Default (dengan auto-upload ke server)
67
+
68
+ ```tsx
69
+ import InputFile from '@/components/Input/InputFile';
70
+ import { useState } from 'react';
71
+
72
+ export default function ExampleScreen() {
73
+ const [files, setFiles] = useState<any[]>([]);
74
+
75
+ return (
76
+ <InputFile
77
+ title="Upload KTP"
78
+ description="Format file: JPG, PNG, PDF. Maksimal 5MB."
79
+ multiple={false}
80
+ value={files}
81
+ uploadConfig={{
82
+ url: 'https://api.example.com/upload',
83
+ method: 'POST',
84
+ fieldName: 'file',
85
+ headers: { Authorization: 'Bearer your-token' },
86
+ maxSize: 5 * 1024 * 1024, // 5MB
87
+ maxSizeErrorMessage: 'File tidak boleh lebih dari 5MB',
88
+ errorMessage: 'Gagal mengupload file, coba lagi',
89
+ onUploadSuccess: (results) => {
90
+ console.log('Upload berhasil:', results);
65
91
  },
66
- }}
67
- modalDeleteText={{
68
- title: 'Hapus File?',
69
- description: 'Apakah kamu yakin ingin menghapus file ini?',
70
- confirmBtn: {
71
- confirm: 'Ya, Hapus',
72
- cancel: 'Batal',
92
+ onError: (file, errorMsg) => {
93
+ console.warn('Upload gagal:', file, errorMsg);
73
94
  },
74
95
  }}
75
- onChange={(newFiles) => setFiles(newFiles)}
96
+ onChange={(updatedFiles) => {
97
+ // updatedFiles berisi FileItem[] dengan uploadedData dari server
98
+ setFiles(updatedFiles);
99
+ }}
76
100
  />
77
101
  );
78
102
  }
@@ -96,7 +120,7 @@ export default function ExampleScreen() {
96
120
  value={files}
97
121
  hasError={false}
98
122
  onChange={(newFiles) => setFiles(newFiles)}
99
- // ❌ description, hint, useChangeLabel, changeLableProps TIDAK BISA dipakai di variant small
123
+ // ❌ description, hint, useChangeLabel, changeLableProps tidak tersedia di variant small
100
124
  />
101
125
  );
102
126
  }
@@ -108,80 +132,99 @@ export default function ExampleScreen() {
108
132
 
109
133
  ### Base Props (Tersedia di Semua Variant)
110
134
 
111
- | Prop | Tipe | Default | Deskripsi |
112
- | ------------------- | --------------------------------- | ------------------------------------------------ | --------------------------------------------------------- |
113
- | `title` | `string` | `"Upload File"` | Judul input file. |
114
- | `accept` | `string[]` | `["application/pdf", "image/jpeg", "image/png"]` | Tipe MIME file yang diizinkan. |
115
- | `multiple` | `boolean` | `false` | Jika `true`, memungkinkan memilih banyak file sekaligus. |
116
- | `value` | `any[]` | `[]` | Daftar file yang sudah dipilih (state dari parent). |
117
- | `onChange` | `(files: any[]) => void` | `undefined` | Callback saat daftar file berubah (add, replace, delete). |
118
- | `btnChooseFileText` | `string` | `"Choose File"` | Label tombol untuk memilih file. |
119
- | `modalPickFileText` | `ModalPickFileText` (lihat bawah) | `undefined` | Teks kustom pada modal pemilihan sumber file. |
120
- | `modalDeleteText` | `ModalOption & confirmBtn` | `undefined` | Teks kustom pada modal konfirmasi hapus file. |
121
- | `hasError` | `boolean` | `false` | Menampilkan state error pada input. |
122
-
123
- ### Variant-Specific Props
124
-
125
- #### Default Variant (`variant?: 'default'`)
126
-
127
- | Prop | Tipe | Default | Deskripsi |
128
- | ------------------ | -------------------------------- | ----------------------------------------- | ------------------------------------------------------------ |
129
- | `variant` | `'default'` | `'default'` | Variant default dengan fitur lengkap. |
130
- | `description` | `string` | `"File harus berformat JPG, PNG dan PDF"` | Deskripsi singkat tentang file yang diterima. |
131
- | `hint` | `string` | `undefined` | Teks hint tambahan di bawah input. |
132
- | `useChangeLabel` | `boolean` | `false` | Jika `true`, menampilkan input untuk memberi nama pada file. |
133
- | `changeLableProps` | `ChangeLabelProps` (lihat bawah) | `undefined` | Teks kustom pada input label di atas preview file. |
134
-
135
- #### Small Variant (`variant: 'small'`)
135
+ | Prop | Tipe | Default | Deskripsi |
136
+ | ------------------- | -------------------------- | ------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------- |
137
+ | `title` | `string` | `"Upload File"` | Judul input file. |
138
+ | `accept` | `string[]` | `["application/pdf", "image/jpeg", "image/png"]` | Tipe MIME file yang diizinkan. |
139
+ | `multiple` | `boolean` | `false` | Jika `true`, memungkinkan memilih banyak file sekaligus. |
140
+ | `value` | `any[]` | `[]` | Daftar file yang sudah dipilih (state dari parent). |
141
+ | `onChange` | `(files: any[]) => void` | `undefined` | Callback saat daftar file berubah (add, replace, delete). Menerima `FileItem[]` (dengan `uploadedData` jika `uploadConfig` diset). |
142
+ | `btnChooseFileText` | `string` | `"Choose File"` | Label tombol untuk memilih file. |
143
+ | `uploadConfig` | `UploadConfig` | `undefined` | Konfigurasi upload otomatis ke server. Jika tidak diset, file hanya disimpan di local state. |
144
+ | `modalPickFileText` | `ModalPickFileText` | `undefined` | Teks kustom pada modal pemilihan sumber file. |
145
+ | `modalDeleteText` | `ModalOption & confirmBtn` | `undefined` | Teks kustom pada modal konfirmasi hapus file. |
146
+ | `hasError` | `boolean` | `false` | Menampilkan state error pada input. |
147
+
148
+ ### Default Variant Props (`variant?: 'default'`)
149
+
150
+ | Prop | Tipe | Default | Deskripsi |
151
+ | ------------------ | ------------------ | ----------------------------------------- | ------------------------------------------------------------ |
152
+ | `variant` | `'default'` | `'default'` | Variant default dengan fitur lengkap. |
153
+ | `description` | `string` | `"File harus berformat JPG, PNG dan PDF"` | Deskripsi singkat tentang file yang diterima. |
154
+ | `hint` | `string` | `undefined` | Teks hint tambahan di bawah input. |
155
+ | `useChangeLabel` | `boolean` | `false` | Jika `true`, menampilkan input untuk memberi nama pada file. |
156
+ | `changeLableProps` | `ChangeLabelProps` | `undefined` | Kustomisasi label dan placeholder input nama dokumen. |
157
+
158
+ ### Small Variant Props (`variant: 'small'`)
136
159
 
137
160
  | Prop | Tipe | Default | Deskripsi |
138
161
  | --------- | --------- | ------- | ------------------------------------- |
139
- | `variant` | `'small'` | - | Variant compact tanpa fitur tambahan. |
162
+ | `variant` | `'small'` | — | Variant compact tanpa fitur tambahan. |
140
163
 
141
- > ⚠️ **Catatan**: Props `description`, `hint`, `useChangeLabel`, dan `changeLableProps` **TIDAK TERSEDIA** di variant `small`. TypeScript akan menampilkan error jika props ini digunakan dengan `variant: 'small'`.
164
+ > ⚠️ Props `description`, `hint`, `useChangeLabel`, dan `changeLableProps` **tidak tersedia** di variant `small`. TypeScript akan error jika props ini digunakan bersama `variant: 'small'`.
142
165
 
143
166
  ---
144
167
 
145
- ## 🔤 Tipe Tambahan
168
+ ## 🔧 UploadConfig
146
169
 
147
- ### `ModalOption`
170
+ Konfigurasi untuk mengaktifkan auto-upload ke server setiap kali file dipilih.
148
171
 
149
172
  ```ts
150
- interface ModalOption {
151
- title?: string;
152
- description?: string;
173
+ interface UploadConfig {
174
+ url: string;
175
+ method?: 'POST' | 'PUT' | 'PATCH'; // default: 'POST'
176
+ fieldName?: string; // default: 'file'
177
+ headers?: Record<string, string>;
178
+ maxSize?: number; // dalam bytes, misal 5MB = 5 * 1024 * 1024
179
+ maxSizeErrorMessage?: string; // pesan error jika file melebihi maxSize
180
+ errorMessage?: string; // pesan error jika upload gagal
181
+ onUploadSuccess?: (results: UploadedFile<unknown>[]) => void;
182
+ onError?: (file: FileItem, error: string) => void;
153
183
  }
154
184
  ```
155
185
 
156
- ### `ModalPickFileText`
186
+ ### Alur Upload
157
187
 
158
- ```ts
159
- interface ModalPickFileText {
160
- title?: string;
161
- description?: string;
162
- camera?: ModalOption;
163
- gallery?: ModalOption;
164
- document?: ModalOption;
165
- }
166
188
  ```
167
-
168
- ### `ModalDeleteText`
169
-
170
- ```ts
171
- type ModalDeleteText = ModalOption & {
172
- confirmBtn?: {
173
- confirm?: string;
174
- cancel?: string;
175
- };
176
- };
189
+ User pick file
190
+ → validasi maxSize
191
+ → gagal: tampilkan internalErrorMessage, stop
192
+ → lolos: set uploading: true di UI
193
+ → upload ke server
194
+ → sukses: set uploadedData, uploading: false
195
+ → gagal (HTTP error / network): set error: true, hint: errorMessage, uploading: false
196
+ → onChange dipanggil dengan FileItem[] terbaru
177
197
  ```
178
198
 
179
- ### `ChangeLabelProps`
199
+ ### Data yang diterima `onChange` saat uploadConfig aktif
200
+
201
+ `onChange` menerima `FileItem[]` dimana setiap item berisi data asli file **plus** `uploadedData` dari server:
180
202
 
181
203
  ```ts
182
- interface ChangeLabelProps {
183
- label?: string;
184
- placeholder?: string;
204
+ // contoh item di dalam array onChange
205
+ {
206
+ // data asli dari picker/camera/gallery
207
+ uri: "file:///...",
208
+ fileName: "foto.jpg",
209
+ fileSize: 105629,
210
+ width: 562,
211
+ height: 1000,
212
+ type: "image/jpg",
213
+
214
+ // ditambahkan oleh komponen
215
+ uploading: false,
216
+ error: false,
217
+ uploadedData: {
218
+ message: "File berhasil diunggah",
219
+ data: {
220
+ url: "https://cdn.example.com/uploads/foto.jpg",
221
+ path: "uploads/foto.jpg",
222
+ name: "foto.jpg",
223
+ extension: "jpg",
224
+ size: 105629,
225
+ mime_type: "image/jpeg"
226
+ }
227
+ }
185
228
  }
186
229
  ```
187
230
 
@@ -208,12 +251,58 @@ export interface ChangeLabelProps {
208
251
  placeholder?: string;
209
252
  }
210
253
 
254
+ export interface PickedFile {
255
+ uri: string;
256
+ name: string;
257
+ type: string;
258
+ size?: number;
259
+ }
260
+
261
+ export interface ImageAsset {
262
+ uri?: string;
263
+ fileName?: string;
264
+ type?: string;
265
+ fileSize?: number;
266
+ width?: number;
267
+ height?: number;
268
+ }
269
+
270
+ export interface UploadedFile<UploadedData> {
271
+ id: string;
272
+ originalName: string;
273
+ customName?: string;
274
+ uploadedData: UploadedData | null;
275
+ }
276
+
277
+ export interface UploadConfig {
278
+ url: string;
279
+ method?: 'POST' | 'PUT' | 'PATCH';
280
+ fieldName?: string;
281
+ headers?: Record<string, string>;
282
+ maxSize?: number;
283
+ maxSizeErrorMessage?: string;
284
+ errorMessage?: string;
285
+ onUploadSuccess?: (results: UploadedFile<unknown>[]) => void;
286
+ onError?: (file: FileItem, error: string) => void;
287
+ }
288
+
289
+ export type FileItemExtras = {
290
+ labelFile?: string;
291
+ hint?: string;
292
+ error?: boolean;
293
+ uploading?: boolean;
294
+ uploadedData?: unknown;
295
+ };
296
+
297
+ export type FileItem = (PickedFile | ImageAsset) & FileItemExtras;
298
+
211
299
  type BaseInputFileProps = {
212
300
  title?: string;
213
301
  accept?: string[];
214
302
  multiple?: boolean;
215
303
  onChange?: (files: any) => void;
216
304
  value?: any[];
305
+ uploadConfig?: UploadConfig;
217
306
  modalPickFileText?: ModalPickFileText;
218
307
  btnChooseFileText?: string;
219
308
  modalDeleteText?: ModalOption & {
@@ -246,29 +335,14 @@ type InputFileProps = DefaultVariantProps | SmallVariantProps;
246
335
 
247
336
  ---
248
337
 
249
- ### Variant Default
250
-
251
- - **Card input awal** → tombol pilih file + icon ilustrasi + description + hint.
252
- - **Preview file** → menampilkan nama, ukuran, icon (atau thumbnail jika image).
253
- - **Input label** (jika `useChangeLabel: true`) → input text untuk memberi nama dokumen.
254
- - **Aksi file**:
255
- - 🔄 Replace
256
- - ❌ Delete
257
- - 👁 Preview (buka dokumen dengan `viewDocument`)
258
-
259
- ### Variant Small
260
-
261
- - **Compact card** → tombol pilih file dengan tampilan lebih ringkas.
262
- - **Preview file** → tampilan minimal tanpa label/hint tambahan.
263
- - **Aksi file**: sama seperti variant default (replace, delete, preview).
264
-
265
- ---
266
-
267
338
  ## 🛠 Catatan
268
339
 
269
- 1. Pastikan permission kamera & storage sudah diatur (Android/iOS).
270
- 2. File hasil picker akan memiliki property standar (`uri`, `type`, `name`, `size`).
271
- 3. Untuk **multiple upload**, `value` berupa array file yang akan dikelola oleh parent.
272
- 4. **Variant `small`** cocok untuk form yang membutuhkan tampilan compact tanpa deskripsi dan hint.
273
- 5. **Variant `default`** cocok untuk form yang membutuhkan instruksi detail dan fitur labeling dokumen.
274
- 6. TypeScript akan memberikan error compile-time jika props yang tidak sesuai variant digunakan.
340
+ 1. Pastikan permission kamera & storage sudah diatur di `Info.plist` (iOS) dan `AndroidManifest.xml` (Android).
341
+ 2. `uploadConfig.maxSize` divalidasi **sebelum** file diupload. File yang melebihi batas tidak akan diproses sama sekali.
342
+ 3. Upload menggunakan `multipart/form-data`. Pastikan server menerima format ini.
343
+ 4. HTTP error (4xx, 5xx) akan di-treat sebagai upload gagal — `uploadedData` akan bernilai `null` dan `error: true` di-set pada file tersebut.
344
+ 5. Saat `uploading: true`, komponen menampilkan loading indicator di preview file. Pastikan `ItemPreview` menangani prop ini.
345
+ 6. `useEffect` yang sync `value` ke internal state tidak akan berjalan selama ada file yang sedang uploading, untuk mencegah state reset di tengah proses upload.
346
+ 7. Untuk **multiple upload**, semua file diupload secara paralel via `Promise.all`.
347
+ 8. **Variant `small`** cocok untuk form compact tanpa deskripsi dan hint tambahan.
348
+ 9. **Variant `default`** cocok untuk form yang membutuhkan instruksi detail dan fitur labeling dokumen.
@@ -12,6 +12,7 @@ export default function TextArea({
12
12
  style,
13
13
  hint,
14
14
  onChangeText,
15
+ required,
15
16
  ...props
16
17
  }) {
17
18
  const handleOnChangeText = value => {
@@ -20,6 +21,7 @@ export default function TextArea({
20
21
  return /*#__PURE__*/_jsxs(View, {
21
22
  style: styles.gap,
22
23
  children: [label ? /*#__PURE__*/_jsx(LabelForm, {
24
+ required: required,
23
25
  title: label
24
26
  }) : null, /*#__PURE__*/_jsx(View, {
25
27
  style: [styles.container, {
@@ -1 +1 @@
1
- {"version":3,"names":["StyleSheet","TextInput","View","LabelForm","Color","Typography","jsx","_jsx","jsxs","_jsxs","TextArea","height","label","hasError","style","hint","onChangeText","props","handleOnChangeText","value","styles","gap","children","title","container","borderColor","danger","gray","editable","multiline","numberOfLines","input","textAlignVertical","placeholderTextColor","color","variant","create","position","borderRadius","borderWidth","backgroundColor","base","white100","fontSize","padding","flex"],"sourceRoot":"../../../src","sources":["Input/TextArea.tsx"],"mappings":";;AAAA,SAASA,UAAU,EAAEC,SAAS,EAAEC,IAAI,QAAQ,cAAc;AAC1D,OAAOC,SAAS,MAAM,2BAAwB;AAC9C,OAAOC,KAAK,MAAM,mBAAgB;AAClC,OAAOC,UAAU,MAAM,6BAA0B;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAGlD,eAAe,SAASC,QAAQA,CAAC;EAC/BC,MAAM,GAAG,GAAG;EACZC,KAAK;EACLC,QAAQ;EACRC,KAAK;EACLC,IAAI;EACJC,YAAY;EACZ,GAAGC;AACU,CAAC,EAAE;EAChB,MAAMC,kBAAkB,GAAIC,KAAa,IAAK;IAC5CH,YAAY,GAAGG,KAAK,CAAC;EACvB,CAAC;EAED,oBACEV,KAAA,CAACP,IAAI;IAACY,KAAK,EAAEM,MAAM,CAACC,GAAI;IAAAC,QAAA,GACrBV,KAAK,gBAAGL,IAAA,CAACJ,SAAS;MAACoB,KAAK,EAAEX;IAAM,CAAE,CAAC,GAAG,IAAI,eAE3CL,IAAA,CAACL,IAAI;MACHY,KAAK,EAAE,CACLM,MAAM,CAACI,SAAS,EAChB;QACEC,WAAW,EAAEZ,QAAQ,GAAGT,KAAK,CAACsB,MAAM,CAAC,GAAG,CAAC,GAAGtB,KAAK,CAACuB,IAAI,CAAC,GAAG,CAAC;QAC3DhB;MACF,CAAC,CACD;MAAAW,QAAA,eAEFf,IAAA,CAACN,SAAS;QACRe,YAAY,EAAEE,kBAAmB;QACjCU,QAAQ;QACRC,SAAS;QACTC,aAAa,EAAE,EAAG;QAClBhB,KAAK,EAAE,CAACM,MAAM,CAACW,KAAK,EAAEjB,KAAK,CAAE;QAC7BkB,iBAAiB,EAAC,KAAK;QACvBC,oBAAoB,EAAE7B,KAAK,CAACuB,IAAI,CAAC,GAAG,CAAE;QAAA,GAClCV;MAAK,CACV;IAAC,CACE,CAAC,EACNF,IAAI,gBACHR,IAAA,CAACF,UAAU;MAAC6B,KAAK,EAAErB,QAAQ,GAAGT,KAAK,CAACsB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAG;MAACS,OAAO,EAAC,IAAI;MAAAb,QAAA,EAC/DP;IAAI,CACK,CAAC,GACX,IAAI;EAAA,CACJ,CAAC;AAEX;AAEA,MAAMK,MAAM,GAAGpB,UAAU,CAACoC,MAAM,CAAC;EAC/Bf,GAAG,EAAE;IACHA,GAAG,EAAE;EACP,CAAC;EACDG,SAAS,EAAE;IACTa,QAAQ,EAAE,UAAU;IACpBC,YAAY,EAAE,CAAC;IACfC,WAAW,EAAE,CAAC;IACdC,eAAe,EAAEpC,KAAK,CAACqC,IAAI,CAACC;EAC9B,CAAC;EACDX,KAAK,EAAE;IACLY,QAAQ,EAAE,EAAE;IACZT,KAAK,EAAE,MAAM;IACbU,OAAO,EAAE,EAAE;IACXZ,iBAAiB,EAAE,KAAK;IACxBa,IAAI,EAAE;EACR;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["StyleSheet","TextInput","View","LabelForm","Color","Typography","jsx","_jsx","jsxs","_jsxs","TextArea","height","label","hasError","style","hint","onChangeText","required","props","handleOnChangeText","value","styles","gap","children","title","container","borderColor","danger","gray","editable","multiline","numberOfLines","input","textAlignVertical","placeholderTextColor","color","variant","create","position","borderRadius","borderWidth","backgroundColor","base","white100","fontSize","padding","flex"],"sourceRoot":"../../../src","sources":["Input/TextArea.tsx"],"mappings":";;AAAA,SAASA,UAAU,EAAEC,SAAS,EAAEC,IAAI,QAAQ,cAAc;AAC1D,OAAOC,SAAS,MAAM,2BAAwB;AAC9C,OAAOC,KAAK,MAAM,mBAAgB;AAClC,OAAOC,UAAU,MAAM,6BAA0B;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAGlD,eAAe,SAASC,QAAQA,CAAC;EAC/BC,MAAM,GAAG,GAAG;EACZC,KAAK;EACLC,QAAQ;EACRC,KAAK;EACLC,IAAI;EACJC,YAAY;EACZC,QAAQ;EACR,GAAGC;AACU,CAAC,EAAE;EAChB,MAAMC,kBAAkB,GAAIC,KAAa,IAAK;IAC5CJ,YAAY,GAAGI,KAAK,CAAC;EACvB,CAAC;EAED,oBACEX,KAAA,CAACP,IAAI;IAACY,KAAK,EAAEO,MAAM,CAACC,GAAI;IAAAC,QAAA,GACrBX,KAAK,gBAAGL,IAAA,CAACJ,SAAS;MAACc,QAAQ,EAAEA,QAAS;MAACO,KAAK,EAAEZ;IAAM,CAAE,CAAC,GAAG,IAAI,eAE/DL,IAAA,CAACL,IAAI;MACHY,KAAK,EAAE,CACLO,MAAM,CAACI,SAAS,EAChB;QACEC,WAAW,EAAEb,QAAQ,GAAGT,KAAK,CAACuB,MAAM,CAAC,GAAG,CAAC,GAAGvB,KAAK,CAACwB,IAAI,CAAC,GAAG,CAAC;QAC3DjB;MACF,CAAC,CACD;MAAAY,QAAA,eAEFhB,IAAA,CAACN,SAAS;QACRe,YAAY,EAAEG,kBAAmB;QACjCU,QAAQ;QACRC,SAAS;QACTC,aAAa,EAAE,EAAG;QAClBjB,KAAK,EAAE,CAACO,MAAM,CAACW,KAAK,EAAElB,KAAK,CAAE;QAC7BmB,iBAAiB,EAAC,KAAK;QACvBC,oBAAoB,EAAE9B,KAAK,CAACwB,IAAI,CAAC,GAAG,CAAE;QAAA,GAClCV;MAAK,CACV;IAAC,CACE,CAAC,EACNH,IAAI,gBACHR,IAAA,CAACF,UAAU;MAAC8B,KAAK,EAAEtB,QAAQ,GAAGT,KAAK,CAACuB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAG;MAACS,OAAO,EAAC,IAAI;MAAAb,QAAA,EAC/DR;IAAI,CACK,CAAC,GACX,IAAI;EAAA,CACJ,CAAC;AAEX;AAEA,MAAMM,MAAM,GAAGrB,UAAU,CAACqC,MAAM,CAAC;EAC/Bf,GAAG,EAAE;IACHA,GAAG,EAAE;EACP,CAAC;EACDG,SAAS,EAAE;IACTa,QAAQ,EAAE,UAAU;IACpBC,YAAY,EAAE,CAAC;IACfC,WAAW,EAAE,CAAC;IACdC,eAAe,EAAErC,KAAK,CAACsC,IAAI,CAACC;EAC9B,CAAC;EACDX,KAAK,EAAE;IACLY,QAAQ,EAAE,EAAE;IACZT,KAAK,EAAE,MAAM;IACbU,OAAO,EAAE,EAAE;IACXZ,iBAAiB,EAAE,KAAK;IACxBa,IAAI,EAAE;EACR;AACF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+
3
+ // utils/uploadFile.ts
4
+ import ReactNativeBlobUtil from 'react-native-blob-util';
5
+ export async function uploadFile(file, config) {
6
+ const {
7
+ url,
8
+ method = 'POST',
9
+ fieldName = 'file',
10
+ headers = {},
11
+ errorMessage = 'Upload failed',
12
+ onError
13
+ } = config;
14
+ const uri = 'uri' in file ? file.uri : file.uri;
15
+ const name = 'name' in file ? file.name : file.fileName ?? 'file';
16
+ const type = 'type' in file ? file.type ?? 'application/octet-stream' : file.type ?? 'image/jpeg';
17
+ if (!uri) throw new Error('File URI is missing');
18
+ const id = `${Date.now()}-${Math.random().toString(36).slice(2)}`;
19
+ try {
20
+ const response = await ReactNativeBlobUtil.fetch(method, url, {
21
+ 'Content-Type': 'multipart/form-data',
22
+ ...headers
23
+ }, [{
24
+ name: fieldName,
25
+ filename: name,
26
+ type,
27
+ data: ReactNativeBlobUtil.wrap(uri.replace('file://', ''))
28
+ }]);
29
+ const statusCode = response.respInfo.status;
30
+ if (statusCode < 200 || statusCode >= 300) {
31
+ const errorBody = response.json();
32
+ const message = errorBody?.message ?? errorMessage;
33
+ onError?.(file, message);
34
+ return {
35
+ id,
36
+ originalName: name ?? '',
37
+ customName: file.labelFile,
38
+ uploadedData: null
39
+ };
40
+ }
41
+ const json = response.json();
42
+ const uploadedData = json;
43
+ return {
44
+ id,
45
+ originalName: String(name ?? 'Attachment'),
46
+ customName: file.labelFile,
47
+ uploadedData
48
+ };
49
+ } catch (err) {
50
+ const message = err?.message ?? errorMessage;
51
+ onError?.(file, message);
52
+ return {
53
+ id,
54
+ originalName: String(name ?? 'Attachment'),
55
+ customName: file.labelFile,
56
+ uploadedData: null
57
+ };
58
+ }
59
+ }
60
+ //# sourceMappingURL=uploadFile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ReactNativeBlobUtil","uploadFile","file","config","url","method","fieldName","headers","errorMessage","onError","uri","name","fileName","type","Error","id","Date","now","Math","random","toString","slice","response","fetch","filename","data","wrap","replace","statusCode","respInfo","status","errorBody","json","message","originalName","customName","labelFile","uploadedData","String","err"],"sourceRoot":"../../../../src","sources":["Input/helpers/uploadFile.ts"],"mappings":";;AAAA;AACA,OAAOA,mBAAmB,MAAM,wBAAwB;AAGxD,OAAO,eAAeC,UAAUA,CAC9BC,IAAc,EACdC,MAAoB,EACM;EAC1B,MAAM;IACJC,GAAG;IACHC,MAAM,GAAG,MAAM;IACfC,SAAS,GAAG,MAAM;IAClBC,OAAO,GAAG,CAAC,CAAC;IACZC,YAAY,GAAG,eAAe;IAC9BC;EACF,CAAC,GAAGN,MAAM;EAEV,MAAMO,GAAG,GAAG,KAAK,IAAIR,IAAI,GAAGA,IAAI,CAACQ,GAAG,GAAGR,IAAI,CAACQ,GAAG;EAC/C,MAAMC,IAAI,GAAG,MAAM,IAAIT,IAAI,GAAGA,IAAI,CAACS,IAAI,GAAIT,IAAI,CAACU,QAAQ,IAAI,MAAO;EAEnE,MAAMC,IAAI,GACR,MAAM,IAAIX,IAAI,GACTA,IAAI,CAACW,IAAI,IAAI,0BAA0B,GACvCX,IAAI,CAACW,IAAI,IAAI,YAAa;EAEjC,IAAI,CAACH,GAAG,EAAE,MAAM,IAAII,KAAK,CAAC,qBAAqB,CAAC;EAEhD,MAAMC,EAAE,GAAG,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC,IAAIC,IAAI,CAACC,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,EAAE,CAAC,CAACC,KAAK,CAAC,CAAC,CAAC,EAAE;EAEjE,IAAI;IACF,MAAMC,QAAQ,GAAG,MAAMtB,mBAAmB,CAACuB,KAAK,CAC9ClB,MAAM,EACND,GAAG,EACH;MAAE,cAAc,EAAE,qBAAqB;MAAE,GAAGG;IAAQ,CAAC,EACrD,CACE;MACEI,IAAI,EAAEL,SAAS;MACfkB,QAAQ,EAAEb,IAAI;MACdE,IAAI;MACJY,IAAI,EAAEzB,mBAAmB,CAAC0B,IAAI,CAAChB,GAAG,CAACiB,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;IAC3D,CAAC,CAEL,CAAC;IAED,MAAMC,UAAU,GAAGN,QAAQ,CAACO,QAAQ,CAACC,MAAM;IAC3C,IAAIF,UAAU,GAAG,GAAG,IAAIA,UAAU,IAAI,GAAG,EAAE;MACzC,MAAMG,SAAS,GAAGT,QAAQ,CAACU,IAAI,CAAC,CAAC;MACjC,MAAMC,OAAO,GAAGF,SAAS,EAAEE,OAAO,IAAIzB,YAAY;MAClDC,OAAO,GAAGP,IAAI,EAAE+B,OAAO,CAAC;MACxB,OAAO;QACLlB,EAAE;QACFmB,YAAY,EAAEvB,IAAI,IAAI,EAAE;QACxBwB,UAAU,EAAEjC,IAAI,CAACkC,SAAS;QAC1BC,YAAY,EAAE;MAChB,CAAC;IACH;IAEA,MAAML,IAAI,GAAGV,QAAQ,CAACU,IAAI,CAAC,CAAC;IAC5B,MAAMK,YAAY,GAAGL,IAAS;IAE9B,OAAO;MACLjB,EAAE;MACFmB,YAAY,EAAEI,MAAM,CAAC3B,IAAI,IAAI,YAAY,CAAC;MAC1CwB,UAAU,EAAEjC,IAAI,CAACkC,SAAS;MAC1BC;IACF,CAAC;EACH,CAAC,CAAC,OAAOE,GAAQ,EAAE;IACjB,MAAMN,OAAO,GAAGM,GAAG,EAAEN,OAAO,IAAIzB,YAAY;IAC5CC,OAAO,GAAGP,IAAI,EAAE+B,OAAO,CAAC;IACxB,OAAO;MACLlB,EAAE;MACFmB,YAAY,EAAEI,MAAM,CAAC3B,IAAI,IAAI,YAAY,CAAC;MAC1CwB,UAAU,EAAEjC,IAAI,CAACkC,SAAS;MAC1BC,YAAY,EAAE;IAChB,CAAC;EACH;AACF","ignoreList":[]}
@@ -54,6 +54,7 @@ export default function CardTriggerSmall({
54
54
  variant: "small",
55
55
  index: index,
56
56
  file: file,
57
+ loading: file.uploading,
57
58
  onPress: () => onPreview?.(file),
58
59
  onDelete: () => onDelete?.(index),
59
60
  onReplace: () => onReplace?.(index)
@@ -1 +1 @@
1
- {"version":3,"names":["Image","ScrollView","StyleSheet","TouchableOpacity","View","Card","Color","Typography","Button","layouting","ItemPreview","spacing","jsx","_jsx","jsxs","_jsxs","CardTriggerSmall","title","textButton","onChooseFile","files","onDelete","onPreview","onReplace","hasError","Component","length","style","flex","row","gap","children","styles","card","grow","backgroundColor","gray","borderColor","danger","undefined","titleWrapper","col","onPress","source","require","image","imageSmall","variant","weight","color","size","contentContainerStyle","align","center","horizontal","map","file","index","create","borderStyle","flexDirection","alignItems","justifyContent","flexShrink","width","height"],"sourceRoot":"../../../../../src","sources":["Input/partials/InputFile/CardTriggerSmall.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Image","ScrollView","StyleSheet","TouchableOpacity","View","Card","Color","Typography","Button","layouting","ItemPreview","spacing","jsx","_jsx","jsxs","_jsxs","CardTriggerSmall","title","textButton","onChooseFile","files","onDelete","onPreview","onReplace","hasError","Component","length","style","flex","row","gap","children","styles","card","grow","backgroundColor","gray","borderColor","danger","undefined","titleWrapper","col","onPress","source","require","image","imageSmall","variant","weight","color","size","contentContainerStyle","align","center","horizontal","map","file","index","loading","uploading","create","borderStyle","flexDirection","alignItems","justifyContent","flexShrink","width","height"],"sourceRoot":"../../../../../src","sources":["Input/partials/InputFile/CardTriggerSmall.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- import { Image, StyleSheet, TouchableOpacity, View } from 'react-native';
3
+ import { ActivityIndicator, Image, StyleSheet, TouchableOpacity, View } from 'react-native';
4
4
  import Card from "../../../Ui/Card.js";
5
5
  import Color from "../../../Color/Color.js";
6
6
  import Typography from "../../../Typography/Typography.js";
@@ -12,7 +12,8 @@ export default function ItemPreview({
12
12
  index,
13
13
  onDelete,
14
14
  onReplace,
15
- variant = 'default'
15
+ variant = 'default',
16
+ loading = false
16
17
  }) {
17
18
  const Wrapper = variant === 'default' ? Card : View;
18
19
  return /*#__PURE__*/_jsx(Wrapper, {
@@ -22,7 +23,12 @@ export default function ItemPreview({
22
23
  activeOpacity: 0.7,
23
24
  children: [/*#__PURE__*/_jsxs(View, {
24
25
  style: styles.containerListItem,
25
- children: [file.type.startsWith('image') && /*#__PURE__*/_jsxs(View, {
26
+ children: [loading && /*#__PURE__*/_jsx(View, {
27
+ style: [styles.previewImage, styles.loading],
28
+ children: /*#__PURE__*/_jsx(ActivityIndicator, {
29
+ color: Color.primary[1000]
30
+ })
31
+ }), !loading && file?.type?.startsWith('image') && /*#__PURE__*/_jsxs(View, {
26
32
  style: (variant === 'small' ? styles.previewImageSmall : {}, variant === 'small' && file.error ? styles.previewImageError : {}),
27
33
  children: [variant === 'small' && /*#__PURE__*/_jsx(BtnIcon, {
28
34
  onPress: () => onDelete(index)
@@ -32,7 +38,7 @@ export default function ItemPreview({
32
38
  },
33
39
  style: [styles.previewImage, variant === 'small' && file.error ? styles.previewImageSmallError : {}]
34
40
  })]
35
- }), !file.type.startsWith('image') && /*#__PURE__*/_jsxs(View, {
41
+ }), !loading && !file?.type?.startsWith('image') && /*#__PURE__*/_jsxs(View, {
36
42
  style: [styles.previewImage, variant === 'small' ? styles.previewImageSmall : {}, variant === 'small' && file.error ? styles.previewImageError : {}],
37
43
  children: [variant === 'small' && /*#__PURE__*/_jsx(BtnIcon, {
38
44
  onPress: () => onDelete(index)
@@ -126,6 +132,11 @@ const styles = StyleSheet.create({
126
132
  gap: 12,
127
133
  flexShrink: 0
128
134
  },
135
+ loading: {
136
+ borderWidth: 1,
137
+ borderColor: Color.gray[200],
138
+ backgroundColor: Color.gray[50]
139
+ },
129
140
  // small
130
141
  previewImageSmall: {
131
142
  borderWidth: 1,