react-native-camera-kit
Version:
A high performance, fully featured, rock solid camera library for React Native applications
61 lines (60 loc) • 1.81 kB
TypeScript
import { type ViewProps } from 'react-native';
import { CameraType, type FlashMode, type FocusMode, type ZoomMode, type TorchMode, type ResizeMode, type CodeFormat } from './types';
import { Orientation } from './index';
export type OnReadCodeData = {
nativeEvent: {
codeStringValue: string;
codeFormat: CodeFormat;
};
};
export type OnOrientationChangeData = {
nativeEvent: {
orientation: typeof Orientation[keyof typeof Orientation];
};
};
export type OnZoom = {
nativeEvent: {
zoom: number;
};
};
export interface CameraProps extends ViewProps {
flashMode?: FlashMode;
focusMode?: FocusMode;
zoomMode?: ZoomMode;
zoom?: number;
maxZoom?: number;
torchMode?: TorchMode;
cameraType?: CameraType;
onOrientationChange?: (event: OnOrientationChangeData) => void;
onZoom?: (event: OnZoom) => void;
onError?: (event: {
nativeEvent: {
errorMessage: string;
};
}) => void;
scanBarcode?: boolean;
showFrame?: boolean;
laserColor?: number | string;
frameColor?: number | string;
barcodeFrameSize?: {
width: number;
height: number;
};
onReadCode?: (event: OnReadCodeData) => void;
ratioOverlay?: string;
ratioOverlayColor?: number | string;
resetFocusTimeout?: number;
resetFocusWhenMotionDetected?: boolean;
resizeMode?: ResizeMode;
scanThrottleDelay?: number;
maxPhotoQualityPrioritization?: 'balanced' | 'quality' | 'speed';
iOsDeferredStart?: boolean;
shutterPhotoSound?: boolean;
onCaptureButtonPressIn?: ({ nativeEvent: {} }: {
nativeEvent: {};
}) => void;
onCaptureButtonPressOut?: ({ nativeEvent: {} }: {
nativeEvent: {};
}) => void;
allowedBarcodeTypes?: CodeFormat[];
}