@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,289 @@
1
+ "use strict";
2
+
3
+ import React, { useState, useMemo } from 'react';
4
+ import { View, Text, StyleSheet, FlatList, Image, Pressable, Dimensions } from 'react-native';
5
+ import { VideoPreview } from "../native/VideoPreview.js";
6
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
+ const {
8
+ width: SCREEN_WIDTH
9
+ } = Dimensions.get('window');
10
+
11
+ // Custom Home Icon
12
+ const HomeIcon = () => /*#__PURE__*/_jsxs(View, {
13
+ style: iconStyles.homeContainer,
14
+ children: [/*#__PURE__*/_jsx(View, {
15
+ style: iconStyles.homeRoof
16
+ }), /*#__PURE__*/_jsx(View, {
17
+ style: iconStyles.homeBase
18
+ })]
19
+ });
20
+ const iconStyles = StyleSheet.create({
21
+ homeContainer: {
22
+ width: 24,
23
+ height: 24,
24
+ alignItems: 'center',
25
+ justifyContent: 'center'
26
+ },
27
+ homeRoof: {
28
+ width: 0,
29
+ height: 0,
30
+ borderLeftWidth: 10,
31
+ borderRightWidth: 10,
32
+ borderBottomWidth: 10,
33
+ borderStyle: 'solid',
34
+ backgroundColor: 'transparent',
35
+ borderLeftColor: 'transparent',
36
+ borderRightColor: 'transparent',
37
+ borderBottomColor: '#fff',
38
+ marginBottom: -2
39
+ },
40
+ homeBase: {
41
+ width: 16,
42
+ height: 10,
43
+ backgroundColor: '#fff',
44
+ borderRadius: 1
45
+ }
46
+ });
47
+ export function ExportScreen({
48
+ editedMedia,
49
+ onHome,
50
+ onReEdit
51
+ }) {
52
+ const mediaList = useMemo(() => Object.values(editedMedia), [editedMedia]);
53
+ const [selectedId, setSelectedId] = useState(mediaList[0]?.id || '');
54
+ const selectedItem = useMemo(() => mediaList.find(m => m.id === selectedId) || mediaList[0], [mediaList, selectedId]);
55
+ const renderItem = ({
56
+ item
57
+ }) => {
58
+ const isSelected = item.id === selectedId;
59
+ return /*#__PURE__*/_jsxs(Pressable, {
60
+ style: [styles.thumbContainer, isSelected && styles.activeThumb],
61
+ onPress: () => setSelectedId(item.id),
62
+ children: [/*#__PURE__*/_jsx(Image, {
63
+ source: {
64
+ uri: item.thumbnailUri || item.uri
65
+ },
66
+ style: styles.thumb,
67
+ resizeMode: "cover"
68
+ }), item.type === 'video' && /*#__PURE__*/_jsx(View, {
69
+ style: styles.videoBadge,
70
+ children: /*#__PURE__*/_jsx(Text, {
71
+ style: styles.videoBadgeText,
72
+ children: "\u25B6"
73
+ })
74
+ })]
75
+ });
76
+ };
77
+ return /*#__PURE__*/_jsx(View, {
78
+ style: styles.container,
79
+ children: /*#__PURE__*/_jsxs(View, {
80
+ style: styles.safeArea,
81
+ children: [/*#__PURE__*/_jsxs(View, {
82
+ style: styles.header,
83
+ children: [/*#__PURE__*/_jsx(Pressable, {
84
+ onPress: onHome,
85
+ style: styles.headerBtn,
86
+ children: /*#__PURE__*/_jsx(HomeIcon, {})
87
+ }), /*#__PURE__*/_jsx(Text, {
88
+ style: styles.headerTitle,
89
+ children: "Exported Media"
90
+ }), /*#__PURE__*/_jsx(View, {
91
+ style: {
92
+ width: 44
93
+ }
94
+ })]
95
+ }), /*#__PURE__*/_jsx(View, {
96
+ style: styles.previewSection,
97
+ children: selectedItem ? /*#__PURE__*/_jsx(View, {
98
+ style: styles.mainPreviewWrapper,
99
+ children: selectedItem.type === 'video' ? /*#__PURE__*/_jsx(VideoPreview, {
100
+ uri: selectedItem.uri,
101
+ paused: false,
102
+ muted: false,
103
+ style: styles.mainPreview
104
+ }) : /*#__PURE__*/_jsx(Image, {
105
+ source: {
106
+ uri: selectedItem.uri
107
+ },
108
+ style: styles.mainPreview,
109
+ resizeMode: "contain"
110
+ })
111
+ }) : /*#__PURE__*/_jsx(View, {
112
+ style: styles.emptyView,
113
+ children: /*#__PURE__*/_jsx(Text, {
114
+ style: styles.emptyText,
115
+ children: "No exported media found."
116
+ })
117
+ })
118
+ }), /*#__PURE__*/_jsxs(View, {
119
+ style: styles.listSection,
120
+ children: [/*#__PURE__*/_jsxs(Text, {
121
+ style: styles.listTitle,
122
+ children: ["All Edited Items (", mediaList.length, ")"]
123
+ }), /*#__PURE__*/_jsx(FlatList, {
124
+ data: mediaList,
125
+ renderItem: renderItem,
126
+ keyExtractor: item => item.id,
127
+ horizontal: true,
128
+ showsHorizontalScrollIndicator: false,
129
+ contentContainerStyle: styles.listContent
130
+ })]
131
+ }), /*#__PURE__*/_jsxs(View, {
132
+ style: styles.footer,
133
+ children: [/*#__PURE__*/_jsx(Pressable, {
134
+ style: styles.reEditBtn,
135
+ onPress: () => selectedItem && onReEdit(selectedItem),
136
+ children: /*#__PURE__*/_jsx(Text, {
137
+ style: styles.reEditText,
138
+ children: "Edit Again"
139
+ })
140
+ }), /*#__PURE__*/_jsx(Pressable, {
141
+ style: styles.shareBtn,
142
+ onPress: () => {},
143
+ children: /*#__PURE__*/_jsx(Text, {
144
+ style: styles.shareText,
145
+ children: "Share Final"
146
+ })
147
+ })]
148
+ })]
149
+ })
150
+ });
151
+ }
152
+ const styles = StyleSheet.create({
153
+ container: {
154
+ flex: 1,
155
+ backgroundColor: '#0b0f1a'
156
+ },
157
+ safeArea: {
158
+ flex: 1
159
+ },
160
+ header: {
161
+ flexDirection: 'row',
162
+ alignItems: 'center',
163
+ justifyContent: 'space-between',
164
+ paddingHorizontal: 20,
165
+ height: 60,
166
+ borderBottomWidth: 1,
167
+ borderBottomColor: '#1e293b'
168
+ },
169
+ headerBtn: {
170
+ width: 44,
171
+ height: 44,
172
+ alignItems: 'center',
173
+ justifyContent: 'center'
174
+ },
175
+ headerTitle: {
176
+ color: '#fff',
177
+ fontSize: 18,
178
+ fontWeight: '700'
179
+ },
180
+ previewSection: {
181
+ flex: 1,
182
+ padding: 20,
183
+ justifyContent: 'center'
184
+ },
185
+ mainPreviewWrapper: {
186
+ flex: 1,
187
+ borderRadius: 16,
188
+ overflow: 'hidden',
189
+ backgroundColor: '#000',
190
+ elevation: 10,
191
+ shadowColor: '#000',
192
+ shadowOffset: {
193
+ width: 0,
194
+ height: 5
195
+ },
196
+ shadowOpacity: 0.3,
197
+ shadowRadius: 10
198
+ },
199
+ mainPreview: {
200
+ flex: 1
201
+ },
202
+ listSection: {
203
+ paddingVertical: 20
204
+ },
205
+ listTitle: {
206
+ color: '#94a3b8',
207
+ fontSize: 13,
208
+ fontWeight: '600',
209
+ paddingHorizontal: 20,
210
+ marginBottom: 12,
211
+ textTransform: 'uppercase'
212
+ },
213
+ listContent: {
214
+ paddingHorizontal: 16
215
+ },
216
+ thumbContainer: {
217
+ width: 80,
218
+ height: 80,
219
+ borderRadius: 12,
220
+ marginHorizontal: 4,
221
+ borderWidth: 2,
222
+ borderColor: 'transparent',
223
+ overflow: 'hidden',
224
+ backgroundColor: '#1e293b'
225
+ },
226
+ activeThumb: {
227
+ borderColor: '#3b82f6'
228
+ },
229
+ thumb: {
230
+ width: '100%',
231
+ height: '100%'
232
+ },
233
+ videoBadge: {
234
+ position: 'absolute',
235
+ top: 4,
236
+ right: 4,
237
+ backgroundColor: 'rgba(0,0,0,0.5)',
238
+ width: 16,
239
+ height: 16,
240
+ borderRadius: 8,
241
+ alignItems: 'center',
242
+ justifyContent: 'center'
243
+ },
244
+ videoBadgeText: {
245
+ color: '#fff',
246
+ fontSize: 8
247
+ },
248
+ footer: {
249
+ flexDirection: 'row',
250
+ padding: 20,
251
+ gap: 12
252
+ },
253
+ reEditBtn: {
254
+ flex: 1,
255
+ backgroundColor: '#1e293b',
256
+ paddingVertical: 16,
257
+ borderRadius: 14,
258
+ alignItems: 'center',
259
+ borderWidth: 1,
260
+ borderColor: '#334155'
261
+ },
262
+ reEditText: {
263
+ color: '#fff',
264
+ fontSize: 16,
265
+ fontWeight: '600'
266
+ },
267
+ shareBtn: {
268
+ flex: 1,
269
+ backgroundColor: '#3b82f6',
270
+ paddingVertical: 16,
271
+ borderRadius: 14,
272
+ alignItems: 'center'
273
+ },
274
+ shareText: {
275
+ color: '#fff',
276
+ fontSize: 16,
277
+ fontWeight: '700'
278
+ },
279
+ emptyView: {
280
+ flex: 1,
281
+ alignItems: 'center',
282
+ justifyContent: 'center'
283
+ },
284
+ emptyText: {
285
+ color: '#64748b',
286
+ fontSize: 16
287
+ }
288
+ });
289
+ //# sourceMappingURL=ExportScreen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useState","useMemo","View","Text","StyleSheet","FlatList","Image","Pressable","Dimensions","VideoPreview","jsx","_jsx","jsxs","_jsxs","width","SCREEN_WIDTH","get","HomeIcon","style","iconStyles","homeContainer","children","homeRoof","homeBase","create","height","alignItems","justifyContent","borderLeftWidth","borderRightWidth","borderBottomWidth","borderStyle","backgroundColor","borderLeftColor","borderRightColor","borderBottomColor","marginBottom","borderRadius","ExportScreen","editedMedia","onHome","onReEdit","mediaList","Object","values","selectedId","setSelectedId","id","selectedItem","find","m","renderItem","item","isSelected","styles","thumbContainer","activeThumb","onPress","source","uri","thumbnailUri","thumb","resizeMode","type","videoBadge","videoBadgeText","container","safeArea","header","headerBtn","headerTitle","previewSection","mainPreviewWrapper","paused","muted","mainPreview","emptyView","emptyText","listSection","listTitle","length","data","keyExtractor","horizontal","showsHorizontalScrollIndicator","contentContainerStyle","listContent","footer","reEditBtn","reEditText","shareBtn","shareText","flex","flexDirection","paddingHorizontal","color","fontSize","fontWeight","padding","overflow","elevation","shadowColor","shadowOffset","shadowOpacity","shadowRadius","paddingVertical","textTransform","marginHorizontal","borderWidth","borderColor","position","top","right","gap"],"sourceRoot":"../../../src","sources":["screens/ExportScreen.tsx"],"mappings":"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","ignoreList":[]}