UNPKG

react-native-camera-kit

Version:

A high performance, fully featured, rock solid camera library for React Native applications

30 lines 1.45 kB
import React from 'react'; import { findNodeHandle, processColor } from 'react-native'; import { supportedCodeFormats } from './types'; import NativeCamera from './specs/CameraNativeComponent'; import NativeCameraKitModule from './specs/NativeCameraKitModule'; const Camera = React.forwardRef((props, ref) => { const nativeRef = React.useRef(null); props.zoom = props.zoom ?? -1; props.maxZoom = props.maxZoom ?? -1; props.scanThrottleDelay = props.scanThrottleDelay ?? -1; props.allowedBarcodeTypes = props.allowedBarcodeTypes ?? supportedCodeFormats; React.useImperativeHandle(ref, () => ({ capture: async (options = {}) => { return await NativeCameraKitModule.capture(options, findNodeHandle(nativeRef.current) ?? undefined); }, requestDeviceCameraAuthorization: () => { throw new Error('Not implemented'); }, checkDeviceCameraAuthorizationStatus: () => { throw new Error('Not implemented'); }, })); const transformedProps = { ...props }; transformedProps.ratioOverlayColor = processColor(props.ratioOverlayColor); transformedProps.frameColor = processColor(props.frameColor); transformedProps.laserColor = processColor(props.laserColor); return <NativeCamera style={{ minWidth: 100, minHeight: 100 }} ref={nativeRef} {...transformedProps}/>; }); export default Camera; //# sourceMappingURL=Camera.android.js.map