@technotoil/image-video-editor 0.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 (99) hide show
  1. package/ImageVideoEditor.podspec +21 -0
  2. package/README.md +136 -0
  3. package/android/build.gradle +76 -0
  4. package/android/gradle.properties +5 -0
  5. package/android/src/main/AndroidManifest.xml +13 -0
  6. package/android/src/main/java/com/technotoil/image_videoeditor/FrameGrabberModule.kt +67 -0
  7. package/android/src/main/java/com/technotoil/image_videoeditor/MediaEditorModule.kt +548 -0
  8. package/android/src/main/java/com/technotoil/image_videoeditor/MediaFileUtils.kt +29 -0
  9. package/android/src/main/java/com/technotoil/image_videoeditor/MediaLibraryModule.kt +305 -0
  10. package/android/src/main/java/com/technotoil/image_videoeditor/MediaPackage.kt +26 -0
  11. package/android/src/main/java/com/technotoil/image_videoeditor/MediaPickerModule.kt +111 -0
  12. package/android/src/main/java/com/technotoil/image_videoeditor/MediaPlayerModule.kt +34 -0
  13. package/android/src/main/java/com/technotoil/image_videoeditor/RNCameraViewManager.kt +761 -0
  14. package/android/src/main/java/com/technotoil/image_videoeditor/RNVideoPreviewManager.kt +317 -0
  15. package/ios/PrivacyInfo.xcprivacy +38 -0
  16. package/ios/RNCameraViewManager.m +420 -0
  17. package/ios/RNFrameGrabber.m +61 -0
  18. package/ios/RNMediaEditor.m +905 -0
  19. package/ios/RNMediaLibrary.m +389 -0
  20. package/ios/RNMediaPicker.m +144 -0
  21. package/ios/RNMediaPlayer.m +73 -0
  22. package/ios/RNVideoPreviewManager.m +263 -0
  23. package/ios/frames/film_vintage.png +0 -0
  24. package/ios/frames/floral_gold.png +0 -0
  25. package/ios/frames/minimal_double.png +0 -0
  26. package/ios/frames/polaroid_white.png +0 -0
  27. package/ios/frames/watercolor_floral.png +0 -0
  28. package/lib/module/assets/frames/film_vintage.png +0 -0
  29. package/lib/module/assets/frames/floral_gold.png +0 -0
  30. package/lib/module/assets/frames/minimal_double.png +0 -0
  31. package/lib/module/assets/frames/polaroid_white.png +0 -0
  32. package/lib/module/assets/frames/watercolor_floral.png +0 -0
  33. package/lib/module/components/VideoEditor.js +156 -0
  34. package/lib/module/components/VideoEditor.js.map +1 -0
  35. package/lib/module/index.js +4 -0
  36. package/lib/module/index.js.map +1 -0
  37. package/lib/module/native/CameraView.js +104 -0
  38. package/lib/module/native/CameraView.js.map +1 -0
  39. package/lib/module/native/FrameGrabber.js +13 -0
  40. package/lib/module/native/FrameGrabber.js.map +1 -0
  41. package/lib/module/native/MediaEditor.js +19 -0
  42. package/lib/module/native/MediaEditor.js.map +1 -0
  43. package/lib/module/native/MediaLibrary.js +37 -0
  44. package/lib/module/native/MediaLibrary.js.map +1 -0
  45. package/lib/module/native/MediaPicker.js +13 -0
  46. package/lib/module/native/MediaPicker.js.map +1 -0
  47. package/lib/module/native/MediaPlayer.js +13 -0
  48. package/lib/module/native/MediaPlayer.js.map +1 -0
  49. package/lib/module/native/VideoPreview.js +12 -0
  50. package/lib/module/native/VideoPreview.js.map +1 -0
  51. package/lib/module/package.json +1 -0
  52. package/lib/module/screens/CropScreen.js +1211 -0
  53. package/lib/module/screens/CropScreen.js.map +1 -0
  54. package/lib/module/screens/EditorScreen.js +5752 -0
  55. package/lib/module/screens/EditorScreen.js.map +1 -0
  56. package/lib/module/screens/ExportScreen.js +289 -0
  57. package/lib/module/screens/ExportScreen.js.map +1 -0
  58. package/lib/module/screens/GalleryScreen.js +505 -0
  59. package/lib/module/screens/GalleryScreen.js.map +1 -0
  60. package/lib/module/screens/PickScreen.js +1195 -0
  61. package/lib/module/screens/PickScreen.js.map +1 -0
  62. package/lib/module/types.js +2 -0
  63. package/lib/module/types.js.map +1 -0
  64. package/lib/typescript/src/components/VideoEditor.d.ts +13 -0
  65. package/lib/typescript/src/index.d.ts +2 -0
  66. package/lib/typescript/src/native/CameraView.d.ts +23 -0
  67. package/lib/typescript/src/native/FrameGrabber.d.ts +2 -0
  68. package/lib/typescript/src/native/MediaEditor.d.ts +3 -0
  69. package/lib/typescript/src/native/MediaLibrary.d.ts +16 -0
  70. package/lib/typescript/src/native/MediaPicker.d.ts +2 -0
  71. package/lib/typescript/src/native/MediaPlayer.d.ts +1 -0
  72. package/lib/typescript/src/native/VideoPreview.d.ts +19 -0
  73. package/lib/typescript/src/screens/CropScreen.d.ts +9 -0
  74. package/lib/typescript/src/screens/EditorScreen.d.ts +10 -0
  75. package/lib/typescript/src/screens/ExportScreen.d.ts +9 -0
  76. package/lib/typescript/src/screens/GalleryScreen.d.ts +8 -0
  77. package/lib/typescript/src/screens/PickScreen.d.ts +13 -0
  78. package/lib/typescript/src/types.d.ts +58 -0
  79. package/package.json +101 -0
  80. package/src/assets/frames/film_vintage.png +0 -0
  81. package/src/assets/frames/floral_gold.png +0 -0
  82. package/src/assets/frames/minimal_double.png +0 -0
  83. package/src/assets/frames/polaroid_white.png +0 -0
  84. package/src/assets/frames/watercolor_floral.png +0 -0
  85. package/src/components/VideoEditor.tsx +182 -0
  86. package/src/index.tsx +2 -0
  87. package/src/native/CameraView.tsx +95 -0
  88. package/src/native/FrameGrabber.ts +21 -0
  89. package/src/native/MediaEditor.ts +33 -0
  90. package/src/native/MediaLibrary.ts +69 -0
  91. package/src/native/MediaPicker.ts +17 -0
  92. package/src/native/MediaPlayer.ts +16 -0
  93. package/src/native/VideoPreview.tsx +20 -0
  94. package/src/screens/CropScreen.tsx +968 -0
  95. package/src/screens/EditorScreen.tsx +4517 -0
  96. package/src/screens/ExportScreen.tsx +282 -0
  97. package/src/screens/GalleryScreen.tsx +412 -0
  98. package/src/screens/PickScreen.tsx +1094 -0
  99. package/src/types.ts +58 -0
@@ -0,0 +1,505 @@
1
+ "use strict";
2
+
3
+ import React, { useEffect, useMemo, useRef, useState } from 'react';
4
+ import { Animated, FlatList, Image, Pressable, StyleSheet, Text, View } from 'react-native';
5
+ import { exportAsset } from "../native/MediaLibrary.js";
6
+ import { VideoPreview } from "../native/VideoPreview.js";
7
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
8
+ export function GalleryScreen({
9
+ items,
10
+ onBack,
11
+ onSelect,
12
+ onNext
13
+ }) {
14
+ const [selectedMedia, setSelectedMedia] = useState(items[0] || null);
15
+ const [previewUri, setPreviewUri] = useState(null);
16
+ const [cropMode, setCropMode] = useState('1:1');
17
+ const [videoPaused, setVideoPaused] = useState(false);
18
+ const scaleAnim = useRef(new Animated.Value(1)).current;
19
+
20
+ // Sync selected media if items list changes
21
+ useEffect(() => {
22
+ if (items.length > 0) {
23
+ const found = selectedMedia ? items.find(i => i.id === selectedMedia.id) : null;
24
+ if (found) {
25
+ setSelectedMedia(found);
26
+ } else {
27
+ setSelectedMedia(items[0]);
28
+ }
29
+ } else {
30
+ setSelectedMedia(null);
31
+ }
32
+ }, [items]);
33
+
34
+ // Resolve ph:// asset URIs to cache paths
35
+ useEffect(() => {
36
+ let cancelled = false;
37
+ (async () => {
38
+ if (!selectedMedia) {
39
+ setPreviewUri(null);
40
+ return;
41
+ }
42
+ if (!selectedMedia.uri.startsWith('ph://') && !selectedMedia.uri.startsWith('content://')) {
43
+ setPreviewUri(selectedMedia.uri);
44
+ return;
45
+ }
46
+ try {
47
+ const fileUri = await exportAsset(selectedMedia.id);
48
+ if (!cancelled) setPreviewUri(fileUri);
49
+ } catch {
50
+ if (!cancelled) setPreviewUri(null);
51
+ }
52
+ })();
53
+ return () => {
54
+ cancelled = true;
55
+ };
56
+ }, [selectedMedia]);
57
+ const playableUri = useMemo(() => {
58
+ if (!selectedMedia) return null;
59
+ if (previewUri && !previewUri.startsWith('ph://') && !previewUri.startsWith('content://')) return previewUri;
60
+ if (selectedMedia.uri && !selectedMedia.uri.startsWith('ph://') && !selectedMedia.uri.startsWith('content://')) return selectedMedia.uri;
61
+ return null;
62
+ }, [previewUri, selectedMedia]);
63
+ const handleSelectItem = item => {
64
+ if (selectedMedia?.id === item.id) {
65
+ // Tap again on active item to edit it directly
66
+ onSelect(item);
67
+ } else {
68
+ setSelectedMedia(item);
69
+ setVideoPaused(false);
70
+ Animated.sequence([Animated.timing(scaleAnim, {
71
+ toValue: 0.97,
72
+ duration: 80,
73
+ useNativeDriver: true
74
+ }), Animated.timing(scaleAnim, {
75
+ toValue: 1,
76
+ duration: 80,
77
+ useNativeDriver: true
78
+ })]).start();
79
+ }
80
+ };
81
+ const getSelectionIndex = id => {
82
+ const idx = items.findIndex(i => i.id === id);
83
+ return idx === -1 ? null : idx + 1;
84
+ };
85
+ const renderThumb = ({
86
+ item
87
+ }) => {
88
+ const thumbUri = item.thumbnailUri ?? item.uri;
89
+ const isActive = selectedMedia?.id === item.id;
90
+ const itemIndex = getSelectionIndex(item.id);
91
+ return /*#__PURE__*/_jsxs(Pressable, {
92
+ style: styles.thumbContainer,
93
+ onPress: () => handleSelectItem(item),
94
+ children: [thumbUri && !thumbUri.startsWith('ph://') ? /*#__PURE__*/_jsx(Image, {
95
+ source: {
96
+ uri: thumbUri
97
+ },
98
+ style: styles.thumb
99
+ }) : /*#__PURE__*/_jsx(View, {
100
+ style: [styles.thumb, styles.thumbFallback]
101
+ }), isActive && /*#__PURE__*/_jsx(View, {
102
+ style: styles.activeOverlay
103
+ }), itemIndex !== null && /*#__PURE__*/_jsx(View, {
104
+ style: styles.multiOverlay,
105
+ children: /*#__PURE__*/_jsx(View, {
106
+ style: [styles.selectionBadge, isActive && styles.selectionBadgeActive],
107
+ children: /*#__PURE__*/_jsx(Text, {
108
+ style: styles.selectionNumber,
109
+ children: itemIndex
110
+ })
111
+ })
112
+ }), item.type === 'video' && /*#__PURE__*/_jsxs(_Fragment, {
113
+ children: [/*#__PURE__*/_jsx(View, {
114
+ style: styles.videoPlayBadge,
115
+ children: /*#__PURE__*/_jsx(Text, {
116
+ style: styles.videoPlayIcon,
117
+ children: "\u25B6"
118
+ })
119
+ }), /*#__PURE__*/_jsx(View, {
120
+ style: styles.videoBadge,
121
+ children: /*#__PURE__*/_jsx(Text, {
122
+ style: styles.videoDuration,
123
+ children: item.durationMs ? `${(item.durationMs / 1000).toFixed(0)}s` : 'video'
124
+ })
125
+ })]
126
+ }), /*#__PURE__*/_jsx(View, {
127
+ style: styles.editLabelContainer,
128
+ children: /*#__PURE__*/_jsx(Text, {
129
+ style: styles.editLabelText,
130
+ children: "EDIT"
131
+ })
132
+ })]
133
+ });
134
+ };
135
+ return /*#__PURE__*/_jsxs(View, {
136
+ style: styles.container,
137
+ children: [/*#__PURE__*/_jsxs(View, {
138
+ style: styles.header,
139
+ children: [/*#__PURE__*/_jsx(Pressable, {
140
+ onPress: onBack,
141
+ style: styles.backButton,
142
+ children: /*#__PURE__*/_jsx(Text, {
143
+ style: styles.headerCancel,
144
+ children: "\u2715"
145
+ })
146
+ }), /*#__PURE__*/_jsx(Text, {
147
+ style: styles.headerTitle,
148
+ children: "All Selected"
149
+ }), /*#__PURE__*/_jsx(Pressable, {
150
+ style: styles.nextBtn,
151
+ onPress: onNext,
152
+ children: /*#__PURE__*/_jsx(Text, {
153
+ style: styles.nextText,
154
+ children: "Next"
155
+ })
156
+ })]
157
+ }), /*#__PURE__*/_jsxs(Animated.View, {
158
+ style: [styles.preview, {
159
+ transform: [{
160
+ scale: scaleAnim
161
+ }]
162
+ }],
163
+ children: [selectedMedia ? selectedMedia.type === 'video' ? /*#__PURE__*/_jsxs(Pressable, {
164
+ style: styles.previewImage,
165
+ onPress: () => setVideoPaused(v => !v),
166
+ children: [playableUri ? /*#__PURE__*/_jsx(VideoPreview, {
167
+ uri: playableUri,
168
+ paused: videoPaused,
169
+ muted: false,
170
+ style: styles.previewImage
171
+ }) : /*#__PURE__*/_jsx(Image, {
172
+ source: {
173
+ uri: selectedMedia.thumbnailUri || selectedMedia.uri
174
+ },
175
+ style: styles.previewImage,
176
+ resizeMode: "cover"
177
+ }), /*#__PURE__*/_jsx(View, {
178
+ style: styles.previewOverlay,
179
+ children: /*#__PURE__*/_jsx(View, {
180
+ style: styles.playPauseCircle,
181
+ children: /*#__PURE__*/_jsx(Text, {
182
+ style: styles.playPauseText,
183
+ children: videoPaused ? '▶' : '❚❚'
184
+ })
185
+ })
186
+ })]
187
+ }) : /*#__PURE__*/_jsx(Pressable, {
188
+ style: styles.previewImage,
189
+ onPress: () => onSelect(selectedMedia),
190
+ children: /*#__PURE__*/_jsx(Image, {
191
+ source: {
192
+ uri: previewUri ?? selectedMedia.uri
193
+ },
194
+ style: [styles.previewImage, cropMode === '1:1' ? styles.squareCrop : styles.originalCrop],
195
+ resizeMode: cropMode === '1:1' ? 'cover' : 'contain'
196
+ })
197
+ }) : /*#__PURE__*/_jsx(View, {
198
+ style: styles.emptyPreview,
199
+ children: /*#__PURE__*/_jsx(Text, {
200
+ style: styles.emptyText,
201
+ children: "No Media Selected"
202
+ })
203
+ }), selectedMedia && /*#__PURE__*/_jsxs(_Fragment, {
204
+ children: [selectedMedia.type === 'image' && /*#__PURE__*/_jsx(View, {
205
+ style: styles.previewControls,
206
+ children: /*#__PURE__*/_jsx(Pressable, {
207
+ style: styles.cropToggle,
208
+ onPress: () => setCropMode(v => v === '1:1' ? 'original' : '1:1'),
209
+ children: /*#__PURE__*/_jsx(Text, {
210
+ style: styles.cropIcon,
211
+ children: cropMode === '1:1' ? '⊡' : '⊞'
212
+ })
213
+ })
214
+ }), /*#__PURE__*/_jsx(Pressable, {
215
+ style: styles.editBadge,
216
+ onPress: () => onSelect(selectedMedia),
217
+ children: /*#__PURE__*/_jsx(Text, {
218
+ style: styles.editBadgeText,
219
+ children: "\uD83C\uDFA8 Edit Media"
220
+ })
221
+ })]
222
+ })]
223
+ }), /*#__PURE__*/_jsxs(View, {
224
+ style: styles.albumRow,
225
+ children: [/*#__PURE__*/_jsx(View, {
226
+ style: styles.albumSelector,
227
+ children: /*#__PURE__*/_jsx(Text, {
228
+ style: styles.albumTitle,
229
+ children: "Selected Items"
230
+ })
231
+ }), selectedMedia && /*#__PURE__*/_jsx(View, {
232
+ style: styles.itemCountBadge,
233
+ children: /*#__PURE__*/_jsxs(Text, {
234
+ style: styles.itemCountText,
235
+ children: [items.indexOf(selectedMedia) + 1, " of ", items.length]
236
+ })
237
+ })]
238
+ }), /*#__PURE__*/_jsx(FlatList, {
239
+ data: items,
240
+ keyExtractor: item => `${item.id}-${item.uri}`,
241
+ numColumns: 4,
242
+ style: styles.libraryList,
243
+ renderItem: renderThumb,
244
+ contentContainerStyle: styles.grid,
245
+ ListEmptyComponent: /*#__PURE__*/_jsx(View, {
246
+ style: styles.empty,
247
+ children: /*#__PURE__*/_jsx(Text, {
248
+ style: styles.emptyText,
249
+ children: "No items picked yet."
250
+ })
251
+ })
252
+ })]
253
+ });
254
+ }
255
+ const styles = StyleSheet.create({
256
+ container: {
257
+ flex: 1,
258
+ backgroundColor: '#0b0f1a'
259
+ },
260
+ header: {
261
+ flexDirection: 'row',
262
+ justifyContent: 'space-between',
263
+ alignItems: 'center',
264
+ paddingHorizontal: 16,
265
+ paddingVertical: 12,
266
+ borderBottomWidth: 0,
267
+ backgroundColor: '#0b0f1a',
268
+ zIndex: 10,
269
+ elevation: 10
270
+ },
271
+ headerTitle: {
272
+ color: '#fff',
273
+ fontWeight: '700',
274
+ fontSize: 18
275
+ },
276
+ headerCancel: {
277
+ fontSize: 20,
278
+ color: '#fff'
279
+ },
280
+ backButton: {
281
+ paddingVertical: 4,
282
+ paddingHorizontal: 8
283
+ },
284
+ nextBtn: {
285
+ backgroundColor: '#2563eb',
286
+ paddingHorizontal: 14,
287
+ paddingVertical: 8,
288
+ borderRadius: 20
289
+ },
290
+ nextText: {
291
+ color: '#fff',
292
+ fontWeight: '700'
293
+ },
294
+ preview: {
295
+ width: '100%',
296
+ height: 420,
297
+ backgroundColor: '#0f172a'
298
+ },
299
+ previewImage: {
300
+ width: '100%',
301
+ height: '100%'
302
+ },
303
+ squareCrop: {
304
+ height: '100%'
305
+ },
306
+ originalCrop: {
307
+ height: '100%'
308
+ },
309
+ previewControls: {
310
+ position: 'absolute',
311
+ left: 16,
312
+ bottom: 16,
313
+ flexDirection: 'row',
314
+ alignItems: 'center'
315
+ },
316
+ cropToggle: {
317
+ backgroundColor: 'rgba(0,0,0,0.65)',
318
+ width: 34,
319
+ height: 34,
320
+ borderRadius: 17,
321
+ alignItems: 'center',
322
+ justifyContent: 'center'
323
+ },
324
+ cropIcon: {
325
+ color: '#fff',
326
+ fontSize: 16
327
+ },
328
+ editBadge: {
329
+ position: 'absolute',
330
+ right: 16,
331
+ bottom: 16,
332
+ backgroundColor: '#2563eb',
333
+ paddingHorizontal: 14,
334
+ paddingVertical: 8,
335
+ borderRadius: 20,
336
+ flexDirection: 'row',
337
+ alignItems: 'center',
338
+ shadowColor: '#000',
339
+ shadowOffset: {
340
+ width: 0,
341
+ height: 2
342
+ },
343
+ shadowOpacity: 0.35,
344
+ shadowRadius: 4,
345
+ elevation: 6
346
+ },
347
+ editBadgeText: {
348
+ color: '#fff',
349
+ fontWeight: '700',
350
+ fontSize: 13
351
+ },
352
+ albumRow: {
353
+ flexDirection: 'row',
354
+ justifyContent: 'space-between',
355
+ alignItems: 'center',
356
+ paddingHorizontal: 16,
357
+ paddingVertical: 12
358
+ },
359
+ albumSelector: {
360
+ flexDirection: 'row',
361
+ alignItems: 'center'
362
+ },
363
+ albumTitle: {
364
+ fontSize: 16,
365
+ fontWeight: '700',
366
+ color: '#fff'
367
+ },
368
+ itemCountBadge: {
369
+ backgroundColor: '#111827',
370
+ paddingHorizontal: 12,
371
+ paddingVertical: 6,
372
+ borderRadius: 12
373
+ },
374
+ itemCountText: {
375
+ color: '#e5e7eb',
376
+ fontSize: 12,
377
+ fontWeight: '700'
378
+ },
379
+ grid: {
380
+ paddingBottom: 40
381
+ },
382
+ libraryList: {
383
+ flex: 1
384
+ },
385
+ thumbContainer: {
386
+ width: '25%',
387
+ aspectRatio: 1,
388
+ padding: 1
389
+ },
390
+ thumb: {
391
+ width: '100%',
392
+ height: '100%',
393
+ borderRadius: 8
394
+ },
395
+ thumbFallback: {
396
+ backgroundColor: '#111'
397
+ },
398
+ activeOverlay: {
399
+ ...StyleSheet.absoluteFillObject,
400
+ borderRadius: 8,
401
+ borderWidth: 2,
402
+ borderColor: '#2563eb',
403
+ backgroundColor: 'rgba(37,99,235,0.12)'
404
+ },
405
+ multiOverlay: {
406
+ position: 'absolute',
407
+ right: 6,
408
+ top: 6
409
+ },
410
+ selectionBadge: {
411
+ width: 20,
412
+ height: 20,
413
+ borderRadius: 10,
414
+ backgroundColor: 'rgba(0,0,0,0.5)',
415
+ alignItems: 'center',
416
+ justifyContent: 'center',
417
+ borderWidth: 1.5,
418
+ borderColor: '#fff'
419
+ },
420
+ selectionBadgeActive: {
421
+ backgroundColor: '#2563eb'
422
+ },
423
+ selectionNumber: {
424
+ color: '#fff',
425
+ fontSize: 10,
426
+ fontWeight: '700'
427
+ },
428
+ videoBadge: {
429
+ position: 'absolute',
430
+ right: 6,
431
+ bottom: 6,
432
+ backgroundColor: 'rgba(0,0,0,0.6)',
433
+ paddingHorizontal: 6,
434
+ paddingVertical: 2,
435
+ borderRadius: 6
436
+ },
437
+ videoDuration: {
438
+ color: '#fff',
439
+ fontSize: 9,
440
+ fontWeight: '600'
441
+ },
442
+ videoPlayBadge: {
443
+ position: 'absolute',
444
+ left: 6,
445
+ top: 6,
446
+ width: 18,
447
+ height: 18,
448
+ borderRadius: 9,
449
+ backgroundColor: 'rgba(0,0,0,0.6)',
450
+ alignItems: 'center',
451
+ justifyContent: 'center'
452
+ },
453
+ videoPlayIcon: {
454
+ color: '#fff',
455
+ fontSize: 9,
456
+ fontWeight: '700'
457
+ },
458
+ previewOverlay: {
459
+ position: 'absolute',
460
+ left: 0,
461
+ right: 0,
462
+ bottom: 14,
463
+ alignItems: 'center'
464
+ },
465
+ playPauseCircle: {
466
+ width: 44,
467
+ height: 44,
468
+ borderRadius: 22,
469
+ backgroundColor: 'rgba(0,0,0,0.55)',
470
+ alignItems: 'center',
471
+ justifyContent: 'center'
472
+ },
473
+ playPauseText: {
474
+ color: '#fff',
475
+ fontSize: 18,
476
+ fontWeight: '700'
477
+ },
478
+ editLabelContainer: {
479
+ position: 'absolute',
480
+ bottom: 6,
481
+ left: 6,
482
+ backgroundColor: 'rgba(0,0,0,0.5)',
483
+ paddingHorizontal: 6,
484
+ paddingVertical: 2,
485
+ borderRadius: 4
486
+ },
487
+ editLabelText: {
488
+ color: '#fff',
489
+ fontSize: 9,
490
+ fontWeight: '700'
491
+ },
492
+ empty: {
493
+ padding: 24,
494
+ alignItems: 'center'
495
+ },
496
+ emptyText: {
497
+ color: '#6b7280'
498
+ },
499
+ emptyPreview: {
500
+ flex: 1,
501
+ alignItems: 'center',
502
+ justifyContent: 'center'
503
+ }
504
+ });
505
+ //# sourceMappingURL=GalleryScreen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useEffect","useMemo","useRef","useState","Animated","FlatList","Image","Pressable","StyleSheet","Text","View","exportAsset","VideoPreview","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","GalleryScreen","items","onBack","onSelect","onNext","selectedMedia","setSelectedMedia","previewUri","setPreviewUri","cropMode","setCropMode","videoPaused","setVideoPaused","scaleAnim","Value","current","length","found","find","i","id","cancelled","uri","startsWith","fileUri","playableUri","handleSelectItem","item","sequence","timing","toValue","duration","useNativeDriver","start","getSelectionIndex","idx","findIndex","renderThumb","thumbUri","thumbnailUri","isActive","itemIndex","style","styles","thumbContainer","onPress","children","source","thumb","thumbFallback","activeOverlay","multiOverlay","selectionBadge","selectionBadgeActive","selectionNumber","type","videoPlayBadge","videoPlayIcon","videoBadge","videoDuration","durationMs","toFixed","editLabelContainer","editLabelText","container","header","backButton","headerCancel","headerTitle","nextBtn","nextText","preview","transform","scale","previewImage","v","paused","muted","resizeMode","previewOverlay","playPauseCircle","playPauseText","squareCrop","originalCrop","emptyPreview","emptyText","previewControls","cropToggle","cropIcon","editBadge","editBadgeText","albumRow","albumSelector","albumTitle","itemCountBadge","itemCountText","indexOf","data","keyExtractor","numColumns","libraryList","renderItem","contentContainerStyle","grid","ListEmptyComponent","empty","create","flex","backgroundColor","flexDirection","justifyContent","alignItems","paddingHorizontal","paddingVertical","borderBottomWidth","zIndex","elevation","color","fontWeight","fontSize","borderRadius","width","height","position","left","bottom","right","shadowColor","shadowOffset","shadowOpacity","shadowRadius","paddingBottom","aspectRatio","padding","absoluteFillObject","borderWidth","borderColor","top"],"sourceRoot":"../../../src","sources":["screens/GalleryScreen.tsx"],"mappings":"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","ignoreList":[]}