UNPKG

@baronha/react-native-multiple-image-picker

Version:

� react-native-multiple-image-picker enables applications to pick images and videos from multiple smart albums in iOS/Android �

112 lines 3.6 kB
import { ColorValue } from 'react-native'; import { Language, MediaType, Presentation } from './config'; import { PickerCropConfig, CropRatio } from './crop'; import { BaseResult } from './result'; export type CameraDevice = 'front' | 'back'; export type PickerCameraConfig = { /** * Type of camera * @typedef {'front' | 'back'} CameraDevice */ cameraDevice?: CameraDevice; /** * Maximum duration of video * @type {number} */ videoMaximumDuration?: number; }; export interface NitroCameraConfig extends PickerCameraConfig { mediaType: MediaType; presentation: Presentation; language: Language; crop?: PickerCropConfig; /** * Save image to system album * @type {boolean} */ isSaveSystemAlbum?: boolean; color?: number; } export interface CameraConfig extends Omit<NitroCameraConfig, 'mediaType' | 'language' | 'presentation' | 'crop' | 'color'> { /** * Type of media to be displayed * @typedef {'video' | 'image' | 'all'} MediaType */ mediaType?: MediaType; /** * Modal presentation style for the picker. * - 'fullScreenModal': Opens picker in full screen * - 'formSheet': Opens picker in a form sheet style * * @platform ios * @default 'fullScreenModal' * @type {Presentation} * @example * ```ts * presentation: 'formSheet' * ``` */ presentation?: Presentation; /** * Language options for the picker. * @description * - 'system': 🌐 System default * - 'zh-Hans': 🇨🇳 Simplified Chinese * - 'zh-Hant': 🇹🇼 Traditional Chinese * - 'ja': 🇯🇵 Japanese * - 'ko': 🇰🇷 Korean * - 'en': 🇬🇧 English * - 'th': 🇹🇭 Thai * - 'id': 🇮🇩 Indonesian * - 'vi': 🇻🇳 Vietnamese (My Country) * - 'ru': 🇷🇺 Russian * - 'de': 🇩🇪 German * - 'fr': 🇫🇷 French * - 'ar': 🇸🇦 Arabic */ language?: Language; crop?: boolean | (Omit<PickerCropConfig, 'ratio'> & { /** * Array of aspect ratios for image cropping. The ratios will be inserted after the default ratios (Original and Square). * Android: Maximum: 4 items * * @platform ios, Android * * @property {Array<CropRatio>} ratio - Array of custom aspect ratios * @property {string} [ratio[].title] - Optional display title for the ratio (e.g., "16:9"). If not provided, will use "width/height" * @property {number} ratio[].width - Width value for aspect ratio * @property {number} ratio[].height - Height value for aspect ratio * * @example * ```ts * ratio: [ * { title: "Instagram", width: 1, height: 1 }, * { title: "Twitter", width: 16, height: 9 }, * { width: 12, height: 11 } * ] * ``` */ ratio?: CropRatio[]; }); /** * Primary color for the picker UI elements. * Accepts various color formats: * - Hex strings: '#RGB', '#RGBA', '#RRGGBB', '#RRGGBBAA' * - RGB/RGBA strings: 'rgb(255, 0, 0)', 'rgba(255, 0, 0, 0.5)' * - Named colors: 'red', 'blue', etc. * - Numbers for RGB values * * @platform ios, android * @type {ColorValue} * @example * ```ts * primaryColor: '#FF0000' * primaryColor: 'rgb(255, 0, 0)' * primaryColor: 'red' * ``` */ color?: ColorValue; } export interface CameraResult extends BaseResult { } //# sourceMappingURL=camera.d.ts.map