@transfergratis/react-native-sdk 0.1.3 → 0.1.4
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.
- package/android/.idea/caches/deviceStreaming.xml +860 -0
- package/android/build/.transforms/{7ec900c0f64f5f1a7c88998dd44001b8 → 01c28d00c798aa4846f16ce72123ebf9}/transformed/classes/classes_dex/classes.dex +0 -0
- package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml +1 -0
- package/android/build/intermediates/aar_main_jar/debug/syncDebugLibJars/classes.jar +0 -0
- package/android/build/intermediates/annotations_typedef_file/debug/extractDebugAnnotations/typedefs.txt +0 -0
- package/android/build/intermediates/compile_library_classes_jar/debug/bundleLibCompileToJarDebug/classes.jar +0 -0
- package/android/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +2 -2
- package/android/build/intermediates/incremental/debug-mergeJavaRes/merge-state +0 -0
- package/android/build/intermediates/manifest_merge_blame_file/debug/processDebugManifest/manifest-merger-blame-debug-report.txt +51 -48
- package/android/build/intermediates/merged_java_res/debug/mergeDebugJavaResource/feature-transfergratis-react-native-sdk.jar +0 -0
- package/android/build/intermediates/merged_manifest/debug/processDebugManifest/AndroidManifest.xml +1 -0
- package/android/build/intermediates/runtime_library_classes_jar/debug/bundleLibRuntimeToJarDebug/classes.jar +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/counters.tab +1 -1
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/last-build.bin +0 -0
- package/android/build/kotlin/compileDebugKotlin/classpath-snapshot/shrunk-classpath-snapshot.bin +0 -0
- package/android/build/kotlin/compileDebugKotlin/local-state/build-history.bin +0 -0
- package/android/build/outputs/aar/transfergratis-react-native-sdk-debug.aar +0 -0
- package/android/build/outputs/logs/manifest-merger-debug-report.txt +27 -23
- package/android/build/tmp/kotlin-classes/debug/kyc/transfergratis/com/TransfergratisSdkModule.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/kyc/transfergratis/com/TransfergratisSdkView.class +0 -0
- package/android/build.gradle +1 -5
- package/android/src/main/AndroidManifest.xml +1 -0
- package/build/components/EnhancedCameraView.js +1 -1
- package/build/components/EnhancedCameraView.js.map +1 -1
- package/build/components/VisionCameraView.js +1 -1
- package/build/components/VisionCameraView.js.map +1 -1
- package/build/components/ui/Button.js +1 -1
- package/build/components/ui/Button.js.map +1 -1
- package/build/modules/camera/VisionCameraModule.d.ts +1 -1
- package/build/modules/camera/VisionCameraModule.d.ts.map +1 -1
- package/build/modules/camera/VisionCameraModule.js +8 -2
- package/build/modules/camera/VisionCameraModule.js.map +1 -1
- package/package.json +1 -1
- package/src/components/EnhancedCameraView.tsx +1 -1
- package/src/components/VisionCameraView.tsx +1 -1
- package/src/components/ui/Button.tsx +1 -1
- package/src/modules/camera/VisionCameraModule.ts +16 -7
- package/android/build/.transforms/d6df0e53bfc3165a876965af720f910a/results.bin +0 -1
- package/android/build/.transforms/d6df0e53bfc3165a876965af720f910a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/kyc/transfergratis/com/BuildConfig.dex +0 -0
- package/android/build/.transforms/d6df0e53bfc3165a876965af720f910a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/kyc/transfergratis/com/TransfergratisSdkModule$definition$1$5$1.dex +0 -0
- package/android/build/.transforms/d6df0e53bfc3165a876965af720f910a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/kyc/transfergratis/com/TransfergratisSdkModule$definition$1$5$2.dex +0 -0
- package/android/build/.transforms/d6df0e53bfc3165a876965af720f910a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$$inlined$AsyncFunction$1.dex +0 -0
- package/android/build/.transforms/d6df0e53bfc3165a876965af720f910a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$$inlined$AsyncFunction$2.dex +0 -0
- package/android/build/.transforms/d6df0e53bfc3165a876965af720f910a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$$inlined$AsyncFunction$3.dex +0 -0
- package/android/build/.transforms/d6df0e53bfc3165a876965af720f910a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$$inlined$AsyncFunction$4.dex +0 -0
- package/android/build/.transforms/d6df0e53bfc3165a876965af720f910a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$$inlined$AsyncFunction$5.dex +0 -0
- package/android/build/.transforms/d6df0e53bfc3165a876965af720f910a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$$inlined$AsyncFunction$6.dex +0 -0
- package/android/build/.transforms/d6df0e53bfc3165a876965af720f910a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$$inlined$AsyncFunctionWithPromise$1.dex +0 -0
- package/android/build/.transforms/d6df0e53bfc3165a876965af720f910a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$$inlined$AsyncFunctionWithPromise$2.dex +0 -0
- package/android/build/.transforms/d6df0e53bfc3165a876965af720f910a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$$inlined$AsyncFunctionWithPromise$3.dex +0 -0
- package/android/build/.transforms/d6df0e53bfc3165a876965af720f910a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$$inlined$AsyncFunctionWithPromise$4.dex +0 -0
- package/android/build/.transforms/d6df0e53bfc3165a876965af720f910a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$$inlined$View$1.dex +0 -0
- package/android/build/.transforms/d6df0e53bfc3165a876965af720f910a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$lambda$4$$inlined$Prop$1.dex +0 -0
- package/android/build/.transforms/d6df0e53bfc3165a876965af720f910a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$lambda$4$$inlined$Prop$2.dex +0 -0
- package/android/build/.transforms/d6df0e53bfc3165a876965af720f910a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/kyc/transfergratis/com/TransfergratisSdkModule.dex +0 -0
- package/android/build/.transforms/d6df0e53bfc3165a876965af720f910a/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/kyc/transfergratis/com/TransfergratisSdkView.dex +0 -0
- package/android/build/.transforms/d6df0e53bfc3165a876965af720f910a/transformed/bundleLibRuntimeToDirDebug/desugar_graph.bin +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/kyc/transfergratis/com/BuildConfig.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/kyc/transfergratis/com/TransfergratisSdkModule$definition$1$5$1.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/kyc/transfergratis/com/TransfergratisSdkModule$definition$1$5$2.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$$inlined$AsyncFunction$1.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$$inlined$AsyncFunction$2.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$$inlined$AsyncFunction$3.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$$inlined$AsyncFunction$4.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$$inlined$AsyncFunction$5.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$$inlined$AsyncFunction$6.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$$inlined$AsyncFunctionWithPromise$1.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$$inlined$AsyncFunctionWithPromise$2.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$$inlined$AsyncFunctionWithPromise$3.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$$inlined$AsyncFunctionWithPromise$4.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$$inlined$View$1.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$lambda$4$$inlined$Prop$1.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/kyc/transfergratis/com/TransfergratisSdkModule$definition$lambda$5$lambda$4$$inlined$Prop$2.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/kyc/transfergratis/com/TransfergratisSdkModule.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/kyc/transfergratis/com/TransfergratisSdkView.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/META-INF/transfergratis-sdk_debug.kotlin_module +0 -0
- /package/android/build/.transforms/{7ec900c0f64f5f1a7c88998dd44001b8 → 01c28d00c798aa4846f16ce72123ebf9}/results.bin +0 -0
- /package/android/build/intermediates/java_res/debug/processDebugJavaRes/out/META-INF/{transfergratis-sdk_debug.kotlin_module → transfergratis-react-native-sdk_debug.kotlin_module} +0 -0
- /package/android/build/{intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/META-INF/transfergratis-sdk_debug.kotlin_module → tmp/kotlin-classes/debug/META-INF/transfergratis-react-native-sdk_debug.kotlin_module} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.js","sourceRoot":"","sources":["../../../src/components/ui/Button.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\nimport { TouchableOpacity, Text, StyleSheet, ViewStyle, TextStyle, ActivityIndicator } from 'react-native';\n\n// Types pour les props du bouton\ninterface ButtonProps {\n // Contenu\n title: string;\n onPress: () => void;\n \n // Variantes\n variant?: 'primary' | 'secondary' | 'outline' | 'ghost' | 'danger' | 'success' | 'warning' | 'info' | \"neutral\";\n size?: 'small' | 'medium' | 'large';\n \n // Icône\n icon?: React.ReactNode;\n iconPosition?: 'left' | 'right';\n \n // État\n disabled?: boolean;\n loading?: boolean;\n \n // Style personnalisé\n style?: ViewStyle;\n textStyle?: TextStyle;\n \n // Autres props\n fullWidth?: boolean;\n rounded?: boolean;\n}\n\n// Configuration des variantes\nconst buttonVariants = {\n primary: {\n backgroundColor: '#2DBD60',\n borderColor: '#2DBD60',\n textColor: '#FFFFFF',\n disabledBackground: '#E5E5E5',\n disabledText: '#999999',\n },\n secondary: {\n backgroundColor: '#F8F9FA',\n borderColor: '#E9ECEF',\n textColor: '#495057',\n disabledBackground: '#F8F9FA',\n disabledText: '#ADB5BD',\n },\n outline: {\n backgroundColor: 'transparent',\n borderColor: '#2DBD60',\n textColor: '#2DBD60',\n disabledBackground: 'transparent',\n disabledText: '#ADB5BD',\n },\n ghost: {\n backgroundColor: 'transparent',\n borderColor: 'transparent',\n textColor: '#2DBD60',\n disabledBackground: 'transparent',\n disabledText: '#ADB5BD',\n },\n danger: {\n backgroundColor: '#DC3545',\n borderColor: '#DC3545',\n textColor: '#FFFFFF',\n disabledBackground: '#E5E5E5',\n disabledText: '#999999',\n },\n success: {\n backgroundColor: '#28A745',\n borderColor: '#28A745',\n textColor: '#FFFFFF',\n disabledBackground: '#E5E5E5',\n disabledText: '#999999',\n },\n info: {\n backgroundColor: '#17A2B8',\n borderColor: '#17A2B8',\n textColor: '#FFFFFF',\n disabledBackground: '#E5E5E5',\n disabledText: '#999999',\n },\n warning: {\n backgroundColor: '#FFC107',\n borderColor: '#FFC107',\n textColor: '#212529',\n disabledBackground: '#E5E5E5',\n disabledText: '#999999',\n },\n neutral: {\n backgroundColor: '#6c757d',\n borderColor: '#6c757d',\n textColor: '#FFFFFF',\n disabledBackground: '#E5E5E5',\n disabledText: '#999999',\n },\n};\n\n// Configuration des tailles\nconst buttonSizes = {\n small: {\n paddingVertical: 8,\n paddingHorizontal: 16,\n fontSize: 14,\n borderRadius: 6,\n iconSize: 16,\n },\n medium: {\n paddingVertical: 12,\n paddingHorizontal: 24,\n fontSize: 16,\n borderRadius: 8,\n iconSize: 20,\n },\n large: {\n paddingVertical: 16,\n paddingHorizontal: 32,\n fontSize: 18,\n borderRadius: 12,\n iconSize: 24,\n },\n};\n\nexport const Button: React.FC<ButtonProps> = ({\n title,\n onPress,\n variant = 'primary',\n size = 'medium',\n icon,\n iconPosition = 'left',\n disabled = false,\n loading = false,\n style,\n textStyle,\n fullWidth = false,\n rounded = false,\n}) => {\n // Obtenir la configuration de la variante\n const variantConfig = buttonVariants[variant];\n const sizeConfig = buttonSizes[size];\n \n // Déterminer les styles dynamiques\n const dynamicStyles: ViewStyle = {\n backgroundColor: disabled ? variantConfig.disabledBackground : variantConfig.backgroundColor,\n borderColor: variantConfig.borderColor,\n paddingVertical: sizeConfig.paddingVertical,\n paddingHorizontal: sizeConfig.paddingHorizontal,\n borderRadius: rounded ? 50 : sizeConfig.borderRadius,\n width: fullWidth ? '100%' : 'auto',\n borderWidth: variant === 'outline' ? 2 : 0,\n };\n\n const dynamicTextStyles: TextStyle = {\n color: disabled ? variantConfig.disabledText : variantConfig.textColor,\n fontSize: sizeConfig.fontSize,\n fontWeight: '600',\n };\n\n // Rendu de l'icône\n const renderIcon = () => {\n if (!icon || loading) return null;\n \n return (\n <Text style={[styles.icon, { fontSize: sizeConfig.iconSize }]}>\n {icon}\n </Text>\n );\n };\n\n // Rendu du contenu\n const renderContent = () => {\n if (loading) {\n return (\n <>\n <ActivityIndicator \n size=\"small\" \n color={variantConfig.textColor} \n style={styles.loadingSpinner}\n />\n <Text style={[styles.text, dynamicTextStyles, textStyle]}>\n Chargement...\n </Text>\n </>\n );\n }\n\n if (iconPosition === 'right') {\n return (\n <>\n <Text style={[styles.text, dynamicTextStyles, textStyle]}>\n {title}\n </Text>\n {renderIcon()}\n </>\n );\n }\n\n return (\n <>\n {renderIcon()}\n <Text style={[styles.text, dynamicTextStyles, textStyle]}>\n {title}\n </Text>\n </>\n );\n };\n\n return (\n <TouchableOpacity\n style={[styles.button, dynamicStyles, style]}\n onPress={onPress}\n disabled={disabled || loading}\n activeOpacity={0.8}\n >\n {renderContent()}\n </TouchableOpacity>\n );\n};\n\nconst styles = StyleSheet.create({\n button: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'center',\n minHeight: 44,\n shadowColor: '#000',\n shadowOffset: {\n width: 0,\n height: 2,\n },\n shadowOpacity: 0.1,\n shadowRadius: 3.84,\n elevation: 5,\n },\n text: {\n fontWeight: '600',\n textAlign: 'center',\n },\n icon: {\n marginHorizontal: 8,\n },\n loadingSpinner: {\n marginRight: 8,\n },\n});\n\n// Composants prédéfinis pour des cas d'usage courants\nexport const PrimaryButton: React.FC<Omit<ButtonProps, 'variant'>> = (props) => (\n <Button variant=\"primary\" {...props} />\n);\n\nexport const SecondaryButton: React.FC<Omit<ButtonProps, 'variant'>> = (props) => (\n <Button variant=\"secondary\" {...props} />\n);\n\nexport const OutlineButton: React.FC<Omit<ButtonProps, 'variant'>> = (props) => (\n <Button variant=\"outline\" {...props} />\n);\n\nexport const GhostButton: React.FC<Omit<ButtonProps, 'variant'>> = (props) => (\n <Button variant=\"ghost\" {...props} />\n);\n\nexport const DangerButton: React.FC<Omit<ButtonProps, 'variant'>> = (props) => (\n <Button variant=\"danger\" {...props} />\n);\n\nexport const SuccessButton: React.FC<Omit<ButtonProps, 'variant'>> = (props) => (\n <Button variant=\"success\" {...props} />\n);\n\nexport const WarningButton: React.FC<Omit<ButtonProps, 'variant'>> = (props) => (\n <Button variant=\"warning\" {...props} />\n);\n\n// Composants de taille prédéfinie\nexport const SmallButton: React.FC<Omit<ButtonProps, 'size'>> = (props) => (\n <Button size=\"small\" {...props} />\n);\n\nexport const LargeButton: React.FC<Omit<ButtonProps, 'size'>> = (props) => (\n <Button size=\"large\" {...props} />\n);\n\n// Composants avec icônes prédéfinies\nexport const IconButton: React.FC<ButtonProps & { iconName: string }> = ({ iconName, ...props }) => (\n <Button icon={iconName} {...props} />\n);\n\nexport const BackButton: React.FC<Omit<ButtonProps, 'icon' | 'iconPosition' | 'onPress'> & { onBack: () => void }> = ({ onBack, ...props }) => (\n <Button \n icon=\"←\" \n iconPosition=\"left\" \n onPress={onBack} \n variant=\"ghost\"\n size=\"medium\"\n {...props} \n />\n);\n\nexport const NextButton: React.FC<Omit<ButtonProps, 'icon' | 'iconPosition'>> = (props) => (\n <Button \n icon=\"→\" \n iconPosition=\"right\" \n variant=\"primary\"\n size=\"medium\"\n {...props} \n />\n);\n\nexport const SubmitButton: React.FC<Omit<ButtonProps, 'variant' | 'icon' | 'iconPosition'>> = (props) => (\n <Button \n variant=\"primary\"\n size=\"large\"\n fullWidth\n {...props} \n />\n);\n\nexport const CancelButton: React.FC<Omit<ButtonProps, 'variant' | 'icon' | 'iconPosition'>> = (props) => (\n <Button \n variant=\"secondary\"\n size=\"medium\"\n {...props} \n />\n);\n\n// Export des icônes depuis ButtonStyles\nexport { buttonIcons } from './ButtonStyles'; "]}
|
|
1
|
+
{"version":3,"file":"Button.js","sourceRoot":"","sources":["../../../src/components/ui/Button.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\nimport { TouchableOpacity, Text, StyleSheet, ViewStyle, TextStyle, ActivityIndicator } from 'react-native';\n\n// Types pour les props du bouton\ninterface ButtonProps {\n // Contenu\n title: string;\n onPress: () => void;\n \n // Variantes\n variant?: 'primary' | 'secondary' | 'outline' | 'ghost' | 'danger' | 'success' | 'warning' | 'info' | \"neutral\";\n size?: 'small' | 'medium' | 'large';\n \n // Icône\n icon?: React.ReactNode;\n iconPosition?: 'left' | 'right';\n \n // État\n disabled?: boolean;\n loading?: boolean;\n \n // Style personnalisé\n style?: ViewStyle;\n textStyle?: TextStyle;\n \n // Autres props\n fullWidth?: boolean;\n rounded?: boolean;\n}\n\n// Configuration des variantes\nconst buttonVariants = {\n primary: {\n backgroundColor: '#2DBD60',\n borderColor: '#2DBD60',\n textColor: '#FFFFFF',\n disabledBackground: '#E5E5E5',\n disabledText: '#999999',\n },\n secondary: {\n backgroundColor: '#F8F9FA',\n borderColor: '#E9ECEF',\n textColor: '#495057',\n disabledBackground: '#F8F9FA',\n disabledText: '#ADB5BD',\n },\n outline: {\n backgroundColor: '#F8F9FA',\n borderColor: '#2DBD60',\n textColor: '#2DBD60',\n disabledBackground: 'transparent',\n disabledText: '#ADB5BD',\n },\n ghost: {\n backgroundColor: 'transparent',\n borderColor: 'transparent',\n textColor: '#2DBD60',\n disabledBackground: 'transparent',\n disabledText: '#ADB5BD',\n },\n danger: {\n backgroundColor: '#DC3545',\n borderColor: '#DC3545',\n textColor: '#FFFFFF',\n disabledBackground: '#E5E5E5',\n disabledText: '#999999',\n },\n success: {\n backgroundColor: '#28A745',\n borderColor: '#28A745',\n textColor: '#FFFFFF',\n disabledBackground: '#E5E5E5',\n disabledText: '#999999',\n },\n info: {\n backgroundColor: '#17A2B8',\n borderColor: '#17A2B8',\n textColor: '#FFFFFF',\n disabledBackground: '#E5E5E5',\n disabledText: '#999999',\n },\n warning: {\n backgroundColor: '#FFC107',\n borderColor: '#FFC107',\n textColor: '#212529',\n disabledBackground: '#E5E5E5',\n disabledText: '#999999',\n },\n neutral: {\n backgroundColor: '#6c757d',\n borderColor: '#6c757d',\n textColor: '#FFFFFF',\n disabledBackground: '#E5E5E5',\n disabledText: '#999999',\n },\n};\n\n// Configuration des tailles\nconst buttonSizes = {\n small: {\n paddingVertical: 8,\n paddingHorizontal: 16,\n fontSize: 14,\n borderRadius: 6,\n iconSize: 16,\n },\n medium: {\n paddingVertical: 12,\n paddingHorizontal: 24,\n fontSize: 16,\n borderRadius: 8,\n iconSize: 20,\n },\n large: {\n paddingVertical: 16,\n paddingHorizontal: 32,\n fontSize: 18,\n borderRadius: 12,\n iconSize: 24,\n },\n};\n\nexport const Button: React.FC<ButtonProps> = ({\n title,\n onPress,\n variant = 'primary',\n size = 'medium',\n icon,\n iconPosition = 'left',\n disabled = false,\n loading = false,\n style,\n textStyle,\n fullWidth = false,\n rounded = false,\n}) => {\n // Obtenir la configuration de la variante\n const variantConfig = buttonVariants[variant];\n const sizeConfig = buttonSizes[size];\n \n // Déterminer les styles dynamiques\n const dynamicStyles: ViewStyle = {\n backgroundColor: disabled ? variantConfig.disabledBackground : variantConfig.backgroundColor,\n borderColor: variantConfig.borderColor,\n paddingVertical: sizeConfig.paddingVertical,\n paddingHorizontal: sizeConfig.paddingHorizontal,\n borderRadius: rounded ? 50 : sizeConfig.borderRadius,\n width: fullWidth ? '100%' : 'auto',\n borderWidth: variant === 'outline' ? 2 : 0,\n };\n\n const dynamicTextStyles: TextStyle = {\n color: disabled ? variantConfig.disabledText : variantConfig.textColor,\n fontSize: sizeConfig.fontSize,\n fontWeight: '600',\n };\n\n // Rendu de l'icône\n const renderIcon = () => {\n if (!icon || loading) return null;\n \n return (\n <Text style={[styles.icon, { fontSize: sizeConfig.iconSize }]}>\n {icon}\n </Text>\n );\n };\n\n // Rendu du contenu\n const renderContent = () => {\n if (loading) {\n return (\n <>\n <ActivityIndicator \n size=\"small\" \n color={variantConfig.textColor} \n style={styles.loadingSpinner}\n />\n <Text style={[styles.text, dynamicTextStyles, textStyle]}>\n Chargement...\n </Text>\n </>\n );\n }\n\n if (iconPosition === 'right') {\n return (\n <>\n <Text style={[styles.text, dynamicTextStyles, textStyle]}>\n {title}\n </Text>\n {renderIcon()}\n </>\n );\n }\n\n return (\n <>\n {renderIcon()}\n <Text style={[styles.text, dynamicTextStyles, textStyle]}>\n {title}\n </Text>\n </>\n );\n };\n\n return (\n <TouchableOpacity\n style={[styles.button, dynamicStyles, style]}\n onPress={onPress}\n disabled={disabled || loading}\n activeOpacity={0.8}\n >\n {renderContent()}\n </TouchableOpacity>\n );\n};\n\nconst styles = StyleSheet.create({\n button: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'center',\n minHeight: 44,\n shadowColor: '#000',\n shadowOffset: {\n width: 0,\n height: 2,\n },\n shadowOpacity: 0.1,\n shadowRadius: 3.84,\n elevation: 5,\n },\n text: {\n fontWeight: '600',\n textAlign: 'center',\n },\n icon: {\n marginHorizontal: 8,\n },\n loadingSpinner: {\n marginRight: 8,\n },\n});\n\n// Composants prédéfinis pour des cas d'usage courants\nexport const PrimaryButton: React.FC<Omit<ButtonProps, 'variant'>> = (props) => (\n <Button variant=\"primary\" {...props} />\n);\n\nexport const SecondaryButton: React.FC<Omit<ButtonProps, 'variant'>> = (props) => (\n <Button variant=\"secondary\" {...props} />\n);\n\nexport const OutlineButton: React.FC<Omit<ButtonProps, 'variant'>> = (props) => (\n <Button variant=\"outline\" {...props} />\n);\n\nexport const GhostButton: React.FC<Omit<ButtonProps, 'variant'>> = (props) => (\n <Button variant=\"ghost\" {...props} />\n);\n\nexport const DangerButton: React.FC<Omit<ButtonProps, 'variant'>> = (props) => (\n <Button variant=\"danger\" {...props} />\n);\n\nexport const SuccessButton: React.FC<Omit<ButtonProps, 'variant'>> = (props) => (\n <Button variant=\"success\" {...props} />\n);\n\nexport const WarningButton: React.FC<Omit<ButtonProps, 'variant'>> = (props) => (\n <Button variant=\"warning\" {...props} />\n);\n\n// Composants de taille prédéfinie\nexport const SmallButton: React.FC<Omit<ButtonProps, 'size'>> = (props) => (\n <Button size=\"small\" {...props} />\n);\n\nexport const LargeButton: React.FC<Omit<ButtonProps, 'size'>> = (props) => (\n <Button size=\"large\" {...props} />\n);\n\n// Composants avec icônes prédéfinies\nexport const IconButton: React.FC<ButtonProps & { iconName: string }> = ({ iconName, ...props }) => (\n <Button icon={iconName} {...props} />\n);\n\nexport const BackButton: React.FC<Omit<ButtonProps, 'icon' | 'iconPosition' | 'onPress'> & { onBack: () => void }> = ({ onBack, ...props }) => (\n <Button \n icon=\"←\" \n iconPosition=\"left\" \n onPress={onBack} \n variant=\"ghost\"\n size=\"medium\"\n {...props} \n />\n);\n\nexport const NextButton: React.FC<Omit<ButtonProps, 'icon' | 'iconPosition'>> = (props) => (\n <Button \n icon=\"→\" \n iconPosition=\"right\" \n variant=\"primary\"\n size=\"medium\"\n {...props} \n />\n);\n\nexport const SubmitButton: React.FC<Omit<ButtonProps, 'variant' | 'icon' | 'iconPosition'>> = (props) => (\n <Button \n variant=\"primary\"\n size=\"large\"\n fullWidth\n {...props} \n />\n);\n\nexport const CancelButton: React.FC<Omit<ButtonProps, 'variant' | 'icon' | 'iconPosition'>> = (props) => (\n <Button \n variant=\"secondary\"\n size=\"medium\"\n {...props} \n />\n);\n\n// Export des icônes depuis ButtonStyles\nexport { buttonIcons } from './ButtonStyles'; "]}
|
|
@@ -50,7 +50,7 @@ export declare class VisionCameraModule {
|
|
|
50
50
|
/**
|
|
51
51
|
* Process photo capture result
|
|
52
52
|
*/
|
|
53
|
-
processPhotoResult(photo: PhotoFile): CameraCaptureResult
|
|
53
|
+
processPhotoResult(photo: PhotoFile): Promise<CameraCaptureResult>;
|
|
54
54
|
/**
|
|
55
55
|
* Legacy method for backward compatibility
|
|
56
56
|
* @deprecated Use VisionCameraView component instead
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VisionCameraModule.d.ts","sourceRoot":"","sources":["../../../src/modules/camera/VisionCameraModule.ts"],"names":[],"mappings":"AACA,OAAO,EAAU,YAAY,EAAE,sBAAsB,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"VisionCameraModule.d.ts","sourceRoot":"","sources":["../../../src/modules/camera/VisionCameraModule.ts"],"names":[],"mappings":"AACA,OAAO,EAAU,YAAY,EAAE,sBAAsB,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAGrG,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,sBAAsB,CAAC;IAC/B,UAAU,EAAE,sBAAsB,CAAC;CACpC;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAqB;WAE9B,WAAW,IAAI,kBAAkB;IAO/C;;OAEG;IACG,gBAAgB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAUjD;;OAEG;IACG,oBAAoB,IAAI,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAW1D;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAWzD;;OAEG;IACG,uBAAuB,IAAI,OAAO,CAAC,OAAO,CAAC;IAUjD;;OAEG;IACG,2BAA2B,IAAI,OAAO,CAAC,OAAO,CAAC;IAUrD;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAkBvD;;OAEG;IACG,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC;IAU3C;;OAEG;IACG,qBAAqB,IAAI,OAAO,CAAC,OAAO,CAAC;IAc/C;;OAEG;IACG,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC;IAc3C;;OAEG;IACG,kBAAkB,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAuBxE;;;OAGG;IACG,0BAA0B,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;CAiCrF;;AAED,wBAAgD"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Platform } from 'react-native';
|
|
2
2
|
import { Camera } from 'react-native-vision-camera';
|
|
3
|
+
import * as FileSystem from "expo-file-system";
|
|
3
4
|
export class VisionCameraModule {
|
|
4
5
|
static instance;
|
|
5
6
|
static getInstance() {
|
|
@@ -143,11 +144,16 @@ export class VisionCameraModule {
|
|
|
143
144
|
/**
|
|
144
145
|
* Process photo capture result
|
|
145
146
|
*/
|
|
146
|
-
processPhotoResult(photo) {
|
|
147
|
+
async processPhotoResult(photo) {
|
|
148
|
+
const newPath = FileSystem.documentDirectory + `photo_${Date.now()}.jpg`;
|
|
149
|
+
await FileSystem.copyAsync({
|
|
150
|
+
from: `file://${photo.path}`,
|
|
151
|
+
to: newPath,
|
|
152
|
+
});
|
|
147
153
|
try {
|
|
148
154
|
return {
|
|
149
155
|
success: true,
|
|
150
|
-
path:
|
|
156
|
+
path: newPath,
|
|
151
157
|
};
|
|
152
158
|
}
|
|
153
159
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VisionCameraModule.js","sourceRoot":"","sources":["../../../src/modules/camera/VisionCameraModule.ts"],"names":[],"mappings":"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","sourcesContent":["import { Platform } from 'react-native';\nimport { Camera, CameraDevice, CameraPermissionStatus, PhotoFile } from 'react-native-vision-camera';\n\nexport interface CameraCaptureResult {\n success: boolean;\n path?: string;\n error?: string;\n}\n\nexport interface CameraPermissions {\n camera: CameraPermissionStatus;\n microphone: CameraPermissionStatus;\n}\n\nexport class VisionCameraModule {\n private static instance: VisionCameraModule;\n \n public static getInstance(): VisionCameraModule {\n if (!VisionCameraModule.instance) {\n VisionCameraModule.instance = new VisionCameraModule();\n }\n return VisionCameraModule.instance;\n }\n\n /**\n * Get available camera devices\n */\n async getCameraDevices(): Promise<CameraDevice[]> {\n try {\n const devices = Camera.getAvailableCameraDevices();\n return devices;\n } catch (error) {\n console.error('Error getting camera devices:', error);\n return [];\n }\n }\n\n /**\n * Get the best available device for selfies (front camera)\n */\n async getFrontCameraDevice(): Promise<CameraDevice | null> {\n try {\n const devices = await this.getCameraDevices();\n const frontCamera = devices.find(device => device.position === 'front');\n return frontCamera || null;\n } catch (error) {\n console.error('Error getting front camera:', error);\n return null;\n }\n }\n\n /**\n * Get the best available device for document capture (back camera)\n */\n async getBackCameraDevice(): Promise<CameraDevice | null> {\n try {\n const devices = await this.getCameraDevices();\n const backCamera = devices.find(device => device.position === 'back');\n return backCamera || null;\n } catch (error) {\n console.error('Error getting back camera:', error);\n return null;\n }\n }\n\n /**\n * Request camera permissions\n */\n async requestCameraPermission(): Promise<boolean> {\n try {\n const permission = await Camera.requestCameraPermission();\n return permission === 'granted';\n } catch (error) {\n console.error('Error requesting camera permission:', error);\n return false;\n }\n }\n\n /**\n * Request microphone permissions\n */\n async requestMicrophonePermission(): Promise<boolean> {\n try {\n const permission = await Camera.requestMicrophonePermission();\n return permission === 'granted';\n } catch (error) {\n console.error('Error requesting microphone permission:', error);\n return false;\n }\n }\n\n /**\n * Get current permission status\n */\n async getPermissionStatus(): Promise<CameraPermissions> {\n try {\n const cameraStatus = await Camera.getCameraPermissionStatus();\n const microphoneStatus = await Camera.getMicrophonePermissionStatus();\n \n return {\n camera: cameraStatus,\n microphone: microphoneStatus,\n };\n } catch (error) {\n console.error('Error getting permission status:', error);\n return {\n camera: 'denied',\n microphone: 'denied',\n };\n }\n }\n\n /**\n * Check if all required permissions are granted\n */\n async hasAllPermissions(): Promise<boolean> {\n try {\n const status = await this.getPermissionStatus();\n return status.camera === 'granted' && status.microphone === 'granted';\n } catch (error) {\n console.error('Error checking permissions:', error);\n return false;\n }\n }\n\n /**\n * Request all required permissions\n */\n async requestAllPermissions(): Promise<boolean> {\n try {\n const [cameraGranted, microphoneGranted] = await Promise.all([\n this.requestCameraPermission(),\n this.requestMicrophonePermission(),\n ]);\n \n return cameraGranted && microphoneGranted;\n } catch (error) {\n console.error('Error requesting permissions:', error);\n return false;\n }\n }\n\n /**\n * Check if camera is available\n */\n async isCameraAvailable(): Promise<boolean> {\n try {\n if (Platform.OS === 'web') {\n return false; // Vision Camera doesn't support web\n }\n \n const devices = await this.getCameraDevices();\n return devices.length > 0;\n } catch (error) {\n console.error('Error checking camera availability:', error);\n return false;\n }\n }\n\n /**\n * Process photo capture result\n */\n processPhotoResult(photo: PhotoFile): CameraCaptureResult {\n try {\n return {\n success: true,\n path: photo.path,\n };\n } catch (error) {\n console.error('Error processing photo result:', error);\n return {\n success: false,\n error: error instanceof Error ? error.message : 'Unknown error processing photo',\n };\n }\n }\n\n /**\n * Legacy method for backward compatibility\n * @deprecated Use VisionCameraView component instead\n */\n async openCameraWithInstructions(instructions: string): Promise<CameraCaptureResult> {\n console.warn('openCameraWithInstructions is deprecated. Use VisionCameraView component instead.');\n \n try {\n const hasPermissions = await this.requestAllPermissions();\n if (!hasPermissions) {\n return {\n success: false,\n error: 'Camera permissions not granted',\n };\n }\n\n const isAvailable = await this.isCameraAvailable();\n if (!isAvailable) {\n return {\n success: false,\n error: 'Camera not available',\n };\n }\n\n // Return a placeholder result since this should be handled by the component\n return {\n success: true,\n path: `mock_photo_${Date.now()}.jpg`,\n };\n } catch (error) {\n console.error('Error in openCameraWithInstructions:', error);\n return {\n success: false,\n error: error instanceof Error ? error.message : 'Unknown error',\n };\n }\n }\n}\n\nexport default VisionCameraModule.getInstance();"]}
|
|
1
|
+
{"version":3,"file":"VisionCameraModule.js","sourceRoot":"","sources":["../../../src/modules/camera/VisionCameraModule.ts"],"names":[],"mappings":"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","sourcesContent":["import { Platform } from 'react-native';\nimport { Camera, CameraDevice, CameraPermissionStatus, PhotoFile } from 'react-native-vision-camera';\nimport * as FileSystem from \"expo-file-system\";\n\nexport interface CameraCaptureResult {\n success: boolean;\n path?: string;\n error?: string;\n}\n\nexport interface CameraPermissions {\n camera: CameraPermissionStatus;\n microphone: CameraPermissionStatus;\n}\n\nexport class VisionCameraModule {\n private static instance: VisionCameraModule;\n\n public static getInstance(): VisionCameraModule {\n if (!VisionCameraModule.instance) {\n VisionCameraModule.instance = new VisionCameraModule();\n }\n return VisionCameraModule.instance;\n }\n\n /**\n * Get available camera devices\n */\n async getCameraDevices(): Promise<CameraDevice[]> {\n try {\n const devices = Camera.getAvailableCameraDevices();\n return devices;\n } catch (error) {\n console.error('Error getting camera devices:', error);\n return [];\n }\n }\n\n /**\n * Get the best available device for selfies (front camera)\n */\n async getFrontCameraDevice(): Promise<CameraDevice | null> {\n try {\n const devices = await this.getCameraDevices();\n const frontCamera = devices.find(device => device.position === 'front');\n return frontCamera || null;\n } catch (error) {\n console.error('Error getting front camera:', error);\n return null;\n }\n }\n\n /**\n * Get the best available device for document capture (back camera)\n */\n async getBackCameraDevice(): Promise<CameraDevice | null> {\n try {\n const devices = await this.getCameraDevices();\n const backCamera = devices.find(device => device.position === 'back');\n return backCamera || null;\n } catch (error) {\n console.error('Error getting back camera:', error);\n return null;\n }\n }\n\n /**\n * Request camera permissions\n */\n async requestCameraPermission(): Promise<boolean> {\n try {\n const permission = await Camera.requestCameraPermission();\n return permission === 'granted';\n } catch (error) {\n console.error('Error requesting camera permission:', error);\n return false;\n }\n }\n\n /**\n * Request microphone permissions\n */\n async requestMicrophonePermission(): Promise<boolean> {\n try {\n const permission = await Camera.requestMicrophonePermission();\n return permission === 'granted';\n } catch (error) {\n console.error('Error requesting microphone permission:', error);\n return false;\n }\n }\n\n /**\n * Get current permission status\n */\n async getPermissionStatus(): Promise<CameraPermissions> {\n try {\n const cameraStatus = await Camera.getCameraPermissionStatus();\n const microphoneStatus = await Camera.getMicrophonePermissionStatus();\n\n return {\n camera: cameraStatus,\n microphone: microphoneStatus,\n };\n } catch (error) {\n console.error('Error getting permission status:', error);\n return {\n camera: 'denied',\n microphone: 'denied',\n };\n }\n }\n\n /**\n * Check if all required permissions are granted\n */\n async hasAllPermissions(): Promise<boolean> {\n try {\n const status = await this.getPermissionStatus();\n return status.camera === 'granted' && status.microphone === 'granted';\n } catch (error) {\n console.error('Error checking permissions:', error);\n return false;\n }\n }\n\n /**\n * Request all required permissions\n */\n async requestAllPermissions(): Promise<boolean> {\n try {\n const [cameraGranted, microphoneGranted] = await Promise.all([\n this.requestCameraPermission(),\n this.requestMicrophonePermission(),\n ]);\n\n return cameraGranted && microphoneGranted;\n } catch (error) {\n console.error('Error requesting permissions:', error);\n return false;\n }\n }\n\n /**\n * Check if camera is available\n */\n async isCameraAvailable(): Promise<boolean> {\n try {\n if (Platform.OS === 'web') {\n return false; // Vision Camera doesn't support web\n }\n\n const devices = await this.getCameraDevices();\n return devices.length > 0;\n } catch (error) {\n console.error('Error checking camera availability:', error);\n return false;\n }\n }\n\n /**\n * Process photo capture result\n */\n async processPhotoResult(photo: PhotoFile): Promise<CameraCaptureResult> {\n\n const newPath = FileSystem.documentDirectory + `photo_${Date.now()}.jpg`;\n\n await FileSystem.copyAsync({\n from: `file://${photo.path}`,\n to: newPath,\n });\n\n try {\n return {\n success: true,\n path: newPath,\n };\n } catch (error) {\n console.error('Error processing photo result:', error);\n return {\n success: false,\n error: error instanceof Error ? error.message : 'Unknown error processing photo',\n };\n }\n }\n\n /**\n * Legacy method for backward compatibility\n * @deprecated Use VisionCameraView component instead\n */\n async openCameraWithInstructions(instructions: string): Promise<CameraCaptureResult> {\n console.warn('openCameraWithInstructions is deprecated. Use VisionCameraView component instead.');\n\n try {\n const hasPermissions = await this.requestAllPermissions();\n if (!hasPermissions) {\n return {\n success: false,\n error: 'Camera permissions not granted',\n };\n }\n\n const isAvailable = await this.isCameraAvailable();\n if (!isAvailable) {\n return {\n success: false,\n error: 'Camera not available',\n };\n }\n\n // Return a placeholder result since this should be handled by the component\n return {\n success: true,\n path: `mock_photo_${Date.now()}.jpg`,\n };\n } catch (error) {\n console.error('Error in openCameraWithInstructions:', error);\n return {\n success: false,\n error: error instanceof Error ? error.message : 'Unknown error',\n };\n }\n }\n}\n\nexport default VisionCameraModule.getInstance();"]}
|
package/package.json
CHANGED
|
@@ -111,7 +111,7 @@ export const EnhancedCameraView: React.FC<EnhancedCameraViewProps> = ({
|
|
|
111
111
|
flash: enableFlash ? flash : 'off',
|
|
112
112
|
});
|
|
113
113
|
|
|
114
|
-
const result = VisionCameraModule.processPhotoResult(photo);
|
|
114
|
+
const result = await VisionCameraModule.processPhotoResult(photo);
|
|
115
115
|
onCapture?.(result);
|
|
116
116
|
} catch (error) {
|
|
117
117
|
console.error('Error taking photo:', error);
|
|
@@ -77,7 +77,7 @@ export const VisionCameraView: React.FC<VisionCameraViewProps> = ({
|
|
|
77
77
|
enableShutterSound: true,
|
|
78
78
|
});
|
|
79
79
|
|
|
80
|
-
const result = VisionCameraModule.processPhotoResult(photo);
|
|
80
|
+
const result = await VisionCameraModule.processPhotoResult(photo);
|
|
81
81
|
onCapture?.(result);
|
|
82
82
|
} catch (error) {
|
|
83
83
|
console.error('Error taking photo:', error);
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Platform } from 'react-native';
|
|
2
2
|
import { Camera, CameraDevice, CameraPermissionStatus, PhotoFile } from 'react-native-vision-camera';
|
|
3
|
+
import * as FileSystem from "expo-file-system";
|
|
3
4
|
|
|
4
5
|
export interface CameraCaptureResult {
|
|
5
6
|
success: boolean;
|
|
@@ -14,7 +15,7 @@ export interface CameraPermissions {
|
|
|
14
15
|
|
|
15
16
|
export class VisionCameraModule {
|
|
16
17
|
private static instance: VisionCameraModule;
|
|
17
|
-
|
|
18
|
+
|
|
18
19
|
public static getInstance(): VisionCameraModule {
|
|
19
20
|
if (!VisionCameraModule.instance) {
|
|
20
21
|
VisionCameraModule.instance = new VisionCameraModule();
|
|
@@ -96,7 +97,7 @@ export class VisionCameraModule {
|
|
|
96
97
|
try {
|
|
97
98
|
const cameraStatus = await Camera.getCameraPermissionStatus();
|
|
98
99
|
const microphoneStatus = await Camera.getMicrophonePermissionStatus();
|
|
99
|
-
|
|
100
|
+
|
|
100
101
|
return {
|
|
101
102
|
camera: cameraStatus,
|
|
102
103
|
microphone: microphoneStatus,
|
|
@@ -132,7 +133,7 @@ export class VisionCameraModule {
|
|
|
132
133
|
this.requestCameraPermission(),
|
|
133
134
|
this.requestMicrophonePermission(),
|
|
134
135
|
]);
|
|
135
|
-
|
|
136
|
+
|
|
136
137
|
return cameraGranted && microphoneGranted;
|
|
137
138
|
} catch (error) {
|
|
138
139
|
console.error('Error requesting permissions:', error);
|
|
@@ -148,7 +149,7 @@ export class VisionCameraModule {
|
|
|
148
149
|
if (Platform.OS === 'web') {
|
|
149
150
|
return false; // Vision Camera doesn't support web
|
|
150
151
|
}
|
|
151
|
-
|
|
152
|
+
|
|
152
153
|
const devices = await this.getCameraDevices();
|
|
153
154
|
return devices.length > 0;
|
|
154
155
|
} catch (error) {
|
|
@@ -160,11 +161,19 @@ export class VisionCameraModule {
|
|
|
160
161
|
/**
|
|
161
162
|
* Process photo capture result
|
|
162
163
|
*/
|
|
163
|
-
processPhotoResult(photo: PhotoFile): CameraCaptureResult {
|
|
164
|
+
async processPhotoResult(photo: PhotoFile): Promise<CameraCaptureResult> {
|
|
165
|
+
|
|
166
|
+
const newPath = FileSystem.documentDirectory + `photo_${Date.now()}.jpg`;
|
|
167
|
+
|
|
168
|
+
await FileSystem.copyAsync({
|
|
169
|
+
from: `file://${photo.path}`,
|
|
170
|
+
to: newPath,
|
|
171
|
+
});
|
|
172
|
+
|
|
164
173
|
try {
|
|
165
174
|
return {
|
|
166
175
|
success: true,
|
|
167
|
-
path:
|
|
176
|
+
path: newPath,
|
|
168
177
|
};
|
|
169
178
|
} catch (error) {
|
|
170
179
|
console.error('Error processing photo result:', error);
|
|
@@ -181,7 +190,7 @@ export class VisionCameraModule {
|
|
|
181
190
|
*/
|
|
182
191
|
async openCameraWithInstructions(instructions: string): Promise<CameraCaptureResult> {
|
|
183
192
|
console.warn('openCameraWithInstructions is deprecated. Use VisionCameraView component instead.');
|
|
184
|
-
|
|
193
|
+
|
|
185
194
|
try {
|
|
186
195
|
const hasPermissions = await this.requestAllPermissions();
|
|
187
196
|
if (!hasPermissions) {
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
o/bundleLibRuntimeToDirDebug
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/android/build/tmp/kotlin-classes/debug/META-INF/transfergratis-sdk_debug.kotlin_module
DELETED
|
Binary file
|
|
File without changes
|
|
File without changes
|