@unif/react-native-camera 2.6.0 → 2.7.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.
- package/README.md +14 -0
- package/lib/module/camera/Camera.js +96 -27
- package/lib/module/camera/Camera.js.map +1 -1
- package/lib/module/camera/CaptureFlash.js +38 -0
- package/lib/module/camera/CaptureFlash.js.map +1 -0
- package/lib/module/camera/CaptureFlash.test.js +19 -0
- package/lib/module/camera/CaptureFlash.test.js.map +1 -0
- package/lib/module/camera/Container.js +166 -64
- package/lib/module/camera/Container.js.map +1 -1
- package/lib/module/camera/FocusIndicator.js +99 -23
- package/lib/module/camera/FocusIndicator.js.map +1 -1
- package/lib/module/camera/FocusIndicator.test.js +27 -0
- package/lib/module/camera/FocusIndicator.test.js.map +1 -0
- package/lib/module/camera/colors/dark.js +22 -0
- package/lib/module/camera/colors/dark.js.map +1 -0
- package/lib/module/camera/colors/dark.test.js +10 -0
- package/lib/module/camera/colors/dark.test.js.map +1 -0
- package/lib/module/camera/footer/ActionRow.js +65 -0
- package/lib/module/camera/footer/ActionRow.js.map +1 -0
- package/lib/module/camera/footer/ActionRow.test.js +53 -0
- package/lib/module/camera/footer/ActionRow.test.js.map +1 -0
- package/lib/module/camera/footer/FlipButton.js +31 -0
- package/lib/module/camera/footer/FlipButton.js.map +1 -0
- package/lib/module/camera/footer/FlipButton.test.js +16 -0
- package/lib/module/camera/footer/FlipButton.test.js.map +1 -0
- package/lib/module/camera/footer/ModeSwitcherPill.js +89 -0
- package/lib/module/camera/footer/ModeSwitcherPill.js.map +1 -0
- package/lib/module/camera/footer/ModeSwitcherPill.test.js +43 -0
- package/lib/module/camera/footer/ModeSwitcherPill.test.js.map +1 -0
- package/lib/module/camera/footer/RecordingTimer.js +66 -0
- package/lib/module/camera/footer/RecordingTimer.js.map +1 -0
- package/lib/module/camera/footer/RecordingTimer.test.js +20 -0
- package/lib/module/camera/footer/RecordingTimer.test.js.map +1 -0
- package/lib/module/camera/footer/Shutter.js +70 -0
- package/lib/module/camera/footer/Shutter.js.map +1 -0
- package/lib/module/camera/footer/Shutter.test.js +42 -0
- package/lib/module/camera/footer/Shutter.test.js.map +1 -0
- package/lib/module/camera/footer/ThumbnailStack.js +71 -0
- package/lib/module/camera/footer/ThumbnailStack.js.map +1 -0
- package/lib/module/camera/footer/ThumbnailStack.test.js +30 -0
- package/lib/module/camera/footer/ThumbnailStack.test.js.map +1 -0
- package/lib/module/camera/footer/ZoomChips.js +57 -0
- package/lib/module/camera/footer/ZoomChips.js.map +1 -0
- package/lib/module/camera/footer/ZoomChips.test.js +17 -0
- package/lib/module/camera/footer/ZoomChips.test.js.map +1 -0
- package/lib/module/camera/footer/index.js +7 -1
- package/lib/module/camera/footer/index.js.map +1 -1
- package/lib/module/camera/icons/VolumeIcon.js +44 -0
- package/lib/module/camera/icons/VolumeIcon.js.map +1 -0
- package/lib/module/camera/icons/VolumeIcon.test.js +18 -0
- package/lib/module/camera/icons/VolumeIcon.test.js.map +1 -0
- package/lib/module/camera/index.js +3 -1
- package/lib/module/camera/index.js.map +1 -1
- package/lib/module/camera/preview/PreviewBottomBar.js +69 -0
- package/lib/module/camera/preview/PreviewBottomBar.js.map +1 -0
- package/lib/module/camera/preview/PreviewBottomBar.test.js +46 -0
- package/lib/module/camera/preview/PreviewBottomBar.test.js.map +1 -0
- package/lib/module/camera/preview/PreviewOverlay.js +89 -0
- package/lib/module/camera/preview/PreviewOverlay.js.map +1 -0
- package/lib/module/camera/preview/PreviewOverlay.test.js +45 -0
- package/lib/module/camera/preview/PreviewOverlay.test.js.map +1 -0
- package/lib/module/camera/preview/PreviewTopBar.js +96 -0
- package/lib/module/camera/preview/PreviewTopBar.js.map +1 -0
- package/lib/module/camera/preview/PreviewTopBar.test.js +44 -0
- package/lib/module/camera/preview/PreviewTopBar.test.js.map +1 -0
- package/lib/module/camera/preview/groupTypes.js +11 -0
- package/lib/module/camera/preview/groupTypes.js.map +1 -0
- package/lib/module/camera/preview/groupTypes.test.js +25 -0
- package/lib/module/camera/preview/groupTypes.test.js.map +1 -0
- package/lib/module/camera/preview/index.js +3 -4
- package/lib/module/camera/preview/index.js.map +1 -1
- package/lib/module/camera/setup/SideRail.js +138 -0
- package/lib/module/camera/setup/SideRail.js.map +1 -0
- package/lib/module/camera/setup/SideRail.test.js +49 -0
- package/lib/module/camera/setup/SideRail.test.js.map +1 -0
- package/lib/module/camera/setup/index.js +1 -1
- package/lib/module/camera/setup/index.js.map +1 -1
- package/lib/module/components/Carousel/SlideItem.js +5 -3
- package/lib/module/components/Carousel/SlideItem.js.map +1 -1
- package/lib/module/components/Carousel/SlideItem.test.js +39 -0
- package/lib/module/components/Carousel/SlideItem.test.js.map +1 -0
- package/lib/module/components/VideoPlayer.js +34 -0
- package/lib/module/components/VideoPlayer.js.map +1 -0
- package/lib/module/components/VideoPlayer.test.js +15 -0
- package/lib/module/components/VideoPlayer.test.js.map +1 -0
- package/lib/module/components/index.js +0 -1
- package/lib/module/components/index.js.map +1 -1
- package/lib/module/hooks/index.js +0 -1
- package/lib/module/hooks/index.js.map +1 -1
- package/lib/typescript/src/camera/Camera.d.ts +3 -0
- package/lib/typescript/src/camera/Camera.d.ts.map +1 -1
- package/lib/typescript/src/camera/CaptureFlash.d.ts +6 -0
- package/lib/typescript/src/camera/CaptureFlash.d.ts.map +1 -0
- package/lib/typescript/src/camera/CaptureFlash.test.d.ts +2 -0
- package/lib/typescript/src/camera/CaptureFlash.test.d.ts.map +1 -0
- package/lib/typescript/src/camera/Container.d.ts.map +1 -1
- package/lib/typescript/src/camera/FocusIndicator.d.ts.map +1 -1
- package/lib/typescript/src/camera/FocusIndicator.test.d.ts +2 -0
- package/lib/typescript/src/camera/FocusIndicator.test.d.ts.map +1 -0
- package/lib/typescript/src/camera/colors/dark.d.ts +18 -0
- package/lib/typescript/src/camera/colors/dark.d.ts.map +1 -0
- package/lib/typescript/src/camera/colors/dark.test.d.ts +2 -0
- package/lib/typescript/src/camera/colors/dark.test.d.ts.map +1 -0
- package/lib/typescript/src/camera/footer/ActionRow.d.ts +14 -0
- package/lib/typescript/src/camera/footer/ActionRow.d.ts.map +1 -0
- package/lib/typescript/src/camera/footer/ActionRow.test.d.ts +2 -0
- package/lib/typescript/src/camera/footer/ActionRow.test.d.ts.map +1 -0
- package/lib/typescript/src/camera/footer/FlipButton.d.ts +4 -0
- package/lib/typescript/src/camera/footer/FlipButton.d.ts.map +1 -0
- package/lib/typescript/src/camera/footer/FlipButton.test.d.ts +2 -0
- package/lib/typescript/src/camera/footer/FlipButton.test.d.ts.map +1 -0
- package/lib/typescript/src/camera/footer/ModeSwitcherPill.d.ts +10 -0
- package/lib/typescript/src/camera/footer/ModeSwitcherPill.d.ts.map +1 -0
- package/lib/typescript/src/camera/footer/ModeSwitcherPill.test.d.ts +2 -0
- package/lib/typescript/src/camera/footer/ModeSwitcherPill.test.d.ts.map +1 -0
- package/lib/typescript/src/camera/footer/RecordingTimer.d.ts +5 -0
- package/lib/typescript/src/camera/footer/RecordingTimer.d.ts.map +1 -0
- package/lib/typescript/src/camera/footer/RecordingTimer.test.d.ts +2 -0
- package/lib/typescript/src/camera/footer/RecordingTimer.test.d.ts.map +1 -0
- package/lib/typescript/src/camera/footer/Shutter.d.ts +9 -0
- package/lib/typescript/src/camera/footer/Shutter.d.ts.map +1 -0
- package/lib/typescript/src/camera/footer/Shutter.test.d.ts +2 -0
- package/lib/typescript/src/camera/footer/Shutter.test.d.ts.map +1 -0
- package/lib/typescript/src/camera/footer/ThumbnailStack.d.ts +8 -0
- package/lib/typescript/src/camera/footer/ThumbnailStack.d.ts.map +1 -0
- package/lib/typescript/src/camera/footer/ThumbnailStack.test.d.ts +2 -0
- package/lib/typescript/src/camera/footer/ThumbnailStack.test.d.ts.map +1 -0
- package/lib/typescript/src/camera/footer/ZoomChips.d.ts +5 -0
- package/lib/typescript/src/camera/footer/ZoomChips.d.ts.map +1 -0
- package/lib/typescript/src/camera/footer/ZoomChips.test.d.ts +2 -0
- package/lib/typescript/src/camera/footer/ZoomChips.test.d.ts.map +1 -0
- package/lib/typescript/src/camera/footer/index.d.ts +7 -1
- package/lib/typescript/src/camera/footer/index.d.ts.map +1 -1
- package/lib/typescript/src/camera/icons/VolumeIcon.d.ts +8 -0
- package/lib/typescript/src/camera/icons/VolumeIcon.d.ts.map +1 -0
- package/lib/typescript/src/camera/icons/VolumeIcon.test.d.ts +2 -0
- package/lib/typescript/src/camera/icons/VolumeIcon.test.d.ts.map +1 -0
- package/lib/typescript/src/camera/index.d.ts +3 -1
- package/lib/typescript/src/camera/index.d.ts.map +1 -1
- package/lib/typescript/src/camera/preview/PreviewBottomBar.d.ts +12 -0
- package/lib/typescript/src/camera/preview/PreviewBottomBar.d.ts.map +1 -0
- package/lib/typescript/src/camera/preview/PreviewBottomBar.test.d.ts +2 -0
- package/lib/typescript/src/camera/preview/PreviewBottomBar.test.d.ts.map +1 -0
- package/lib/typescript/src/camera/preview/PreviewOverlay.d.ts +12 -0
- package/lib/typescript/src/camera/preview/PreviewOverlay.d.ts.map +1 -0
- package/lib/typescript/src/camera/preview/PreviewOverlay.test.d.ts +2 -0
- package/lib/typescript/src/camera/preview/PreviewOverlay.test.d.ts.map +1 -0
- package/lib/typescript/src/camera/preview/PreviewTopBar.d.ts +10 -0
- package/lib/typescript/src/camera/preview/PreviewTopBar.d.ts.map +1 -0
- package/lib/typescript/src/camera/preview/PreviewTopBar.test.d.ts +2 -0
- package/lib/typescript/src/camera/preview/PreviewTopBar.test.d.ts.map +1 -0
- package/lib/typescript/src/camera/preview/groupTypes.d.ts +4 -0
- package/lib/typescript/src/camera/preview/groupTypes.d.ts.map +1 -0
- package/lib/typescript/src/camera/preview/groupTypes.test.d.ts +2 -0
- package/lib/typescript/src/camera/preview/groupTypes.test.d.ts.map +1 -0
- package/lib/typescript/src/camera/preview/index.d.ts +3 -4
- package/lib/typescript/src/camera/preview/index.d.ts.map +1 -1
- package/lib/typescript/src/camera/setup/SideRail.d.ts +15 -0
- package/lib/typescript/src/camera/setup/SideRail.d.ts.map +1 -0
- package/lib/typescript/src/camera/setup/SideRail.test.d.ts +2 -0
- package/lib/typescript/src/camera/setup/SideRail.test.d.ts.map +1 -0
- package/lib/typescript/src/camera/setup/index.d.ts +2 -1
- package/lib/typescript/src/camera/setup/index.d.ts.map +1 -1
- package/lib/typescript/src/components/Carousel/SlideItem.d.ts.map +1 -1
- package/lib/typescript/src/components/Carousel/SlideItem.test.d.ts +2 -0
- package/lib/typescript/src/components/Carousel/SlideItem.test.d.ts.map +1 -0
- package/lib/typescript/src/components/VideoPlayer.d.ts +4 -0
- package/lib/typescript/src/components/VideoPlayer.d.ts.map +1 -0
- package/lib/typescript/src/components/VideoPlayer.test.d.ts +2 -0
- package/lib/typescript/src/components/VideoPlayer.test.d.ts.map +1 -0
- package/lib/typescript/src/components/index.d.ts +0 -1
- package/lib/typescript/src/components/index.d.ts.map +1 -1
- package/lib/typescript/src/hooks/index.d.ts +0 -1
- package/lib/typescript/src/hooks/index.d.ts.map +1 -1
- package/package.json +7 -3
- package/src/camera/Camera.tsx +117 -26
- package/src/camera/CaptureFlash.test.tsx +11 -0
- package/src/camera/CaptureFlash.tsx +42 -0
- package/src/camera/Container.tsx +158 -64
- package/src/camera/FocusIndicator.test.tsx +17 -0
- package/src/camera/FocusIndicator.tsx +111 -27
- package/src/camera/colors/dark.test.ts +8 -0
- package/src/camera/colors/dark.ts +19 -0
- package/src/camera/footer/ActionRow.test.tsx +44 -0
- package/src/camera/footer/ActionRow.tsx +80 -0
- package/src/camera/footer/FlipButton.test.tsx +9 -0
- package/src/camera/footer/FlipButton.tsx +22 -0
- package/src/camera/footer/ModeSwitcherPill.test.tsx +29 -0
- package/src/camera/footer/ModeSwitcherPill.tsx +97 -0
- package/src/camera/footer/RecordingTimer.test.tsx +14 -0
- package/src/camera/footer/RecordingTimer.tsx +58 -0
- package/src/camera/footer/Shutter.test.tsx +26 -0
- package/src/camera/footer/Shutter.tsx +71 -0
- package/src/camera/footer/ThumbnailStack.test.tsx +19 -0
- package/src/camera/footer/ThumbnailStack.tsx +58 -0
- package/src/camera/footer/ZoomChips.test.tsx +9 -0
- package/src/camera/footer/ZoomChips.tsx +53 -0
- package/src/camera/footer/index.tsx +7 -1
- package/src/camera/icons/VolumeIcon.test.tsx +9 -0
- package/src/camera/icons/VolumeIcon.tsx +39 -0
- package/src/camera/index.tsx +11 -1
- package/src/camera/preview/PreviewBottomBar.test.tsx +43 -0
- package/src/camera/preview/PreviewBottomBar.tsx +79 -0
- package/src/camera/preview/PreviewOverlay.test.tsx +45 -0
- package/src/camera/preview/PreviewOverlay.tsx +99 -0
- package/src/camera/preview/PreviewTopBar.test.tsx +46 -0
- package/src/camera/preview/PreviewTopBar.tsx +91 -0
- package/src/camera/preview/groupTypes.test.ts +34 -0
- package/src/camera/preview/groupTypes.ts +15 -0
- package/src/camera/preview/index.tsx +3 -4
- package/src/camera/setup/SideRail.test.tsx +37 -0
- package/src/camera/setup/SideRail.tsx +161 -0
- package/src/camera/setup/index.tsx +2 -1
- package/src/components/Carousel/SlideItem.test.tsx +27 -0
- package/src/components/Carousel/SlideItem.tsx +11 -7
- package/src/components/VideoPlayer.test.tsx +8 -0
- package/src/components/VideoPlayer.tsx +30 -0
- package/src/components/index.tsx +0 -1
- package/src/hooks/index.ts +0 -1
- package/lib/module/camera/footer/Footer.js +0 -94
- package/lib/module/camera/footer/Footer.js.map +0 -1
- package/lib/module/camera/preview/PreView.js +0 -43
- package/lib/module/camera/preview/PreView.js.map +0 -1
- package/lib/module/camera/preview/PreViewContainer.js +0 -33
- package/lib/module/camera/preview/PreViewContainer.js.map +0 -1
- package/lib/module/camera/preview/PreviewFooter.js +0 -36
- package/lib/module/camera/preview/PreviewFooter.js.map +0 -1
- package/lib/module/camera/preview/SinglePre.js +0 -32
- package/lib/module/camera/preview/SinglePre.js.map +0 -1
- package/lib/module/camera/setup/SetUp.js +0 -74
- package/lib/module/camera/setup/SetUp.js.map +0 -1
- package/lib/module/components/PreviewThumbnail.js +0 -39
- package/lib/module/components/PreviewThumbnail.js.map +0 -1
- package/lib/module/hooks/useConfirm.js +0 -16
- package/lib/module/hooks/useConfirm.js.map +0 -1
- package/lib/typescript/src/camera/footer/Footer.d.ts +0 -14
- package/lib/typescript/src/camera/footer/Footer.d.ts.map +0 -1
- package/lib/typescript/src/camera/preview/PreView.d.ts +0 -7
- package/lib/typescript/src/camera/preview/PreView.d.ts.map +0 -1
- package/lib/typescript/src/camera/preview/PreViewContainer.d.ts +0 -9
- package/lib/typescript/src/camera/preview/PreViewContainer.d.ts.map +0 -1
- package/lib/typescript/src/camera/preview/PreviewFooter.d.ts +0 -7
- package/lib/typescript/src/camera/preview/PreviewFooter.d.ts.map +0 -1
- package/lib/typescript/src/camera/preview/SinglePre.d.ts +0 -7
- package/lib/typescript/src/camera/preview/SinglePre.d.ts.map +0 -1
- package/lib/typescript/src/camera/setup/SetUp.d.ts +0 -13
- package/lib/typescript/src/camera/setup/SetUp.d.ts.map +0 -1
- package/lib/typescript/src/components/PreviewThumbnail.d.ts +0 -9
- package/lib/typescript/src/components/PreviewThumbnail.d.ts.map +0 -1
- package/lib/typescript/src/hooks/useConfirm.d.ts +0 -2
- package/lib/typescript/src/hooks/useConfirm.d.ts.map +0 -1
- package/src/camera/footer/Footer.tsx +0 -113
- package/src/camera/preview/PreView.tsx +0 -32
- package/src/camera/preview/PreViewContainer.tsx +0 -30
- package/src/camera/preview/PreviewFooter.tsx +0 -38
- package/src/camera/preview/SinglePre.tsx +0 -30
- package/src/camera/setup/SetUp.tsx +0 -93
- package/src/components/PreviewThumbnail.tsx +0 -45
- package/src/hooks/useConfirm.tsx +0 -11
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useEffect","useRef","useState","Linking","StyleSheet","View","useCameraDevice","useCameraPermission","useSharedValue","NoCamera","NoPermission","Loading","Camera","PreViewContainer","Footer","SetUp","jsx","_jsx","jsxs","_jsxs","NEUTRAL_ZOOM","Container","config","onSettle","settledRef","settle","r","current","code","data","message","hasPermission","requestPermission","state","setState","cancelled","then","ok","catch","initialPosition","cameraMode","type","device","physicalDevices","cameraRef","photos","setPhotos","previewing","setPreviewing","recording","setRecording","modeIndex","setModeIndex","currentMode","flash","setFlash","aspectRatio","setAspectRatio","zoomShared","lensLabel","setLensLabel","toFixed","onShutter","mode","startVideo","f","stopVideo","capture","prev","onCancel","onOpenSettings","openSettings","style","styles","root","testID","children","files","onRetake","onConfirm","onToggleLens","startsWith","minZoom","value","ref","onChangeFlash","onChangeAspectRatio","modes","currentIndex","onSelectMode","i","dataRetainedMode","onFinishBurst","undefined","burstCount","length","create","flex","backgroundColor","justifyContent","alignItems"],"sourceRoot":"../../../src","sources":["camera/Container.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useCallback","useEffect","useRef","useState","Linking","StyleSheet","View","useCameraDevice","useCameraPermission","useSharedValue","useSafeAreaInsets","r","NoCamera","NoPermission","Loading","Camera","PreviewOverlay","CaptureFlash","SideRail","ZoomChips","ModeSwitcherPill","ActionRow","RecordingTimer","DARK","jsx","_jsx","jsxs","_jsxs","Container","config","onSettle","settledRef","settle","result","current","code","data","message","hasPermission","requestPermission","state","setState","cancelled","then","ok","catch","insets","initialPosition","cameraMode","type","position","setPosition","flipNonce","setFlipNonce","device","physicalDevices","cameraRef","photos","setPhotos","previewing","setPreviewing","previewVariant","setPreviewVariant","recording","setRecording","modeIndex","setModeIndex","currentMode","flash","setFlash","flashMode","sound","setSound","grid","setGrid","aspectRatio","setAspectRatio","flashNonce","setFlashNonce","recSeconds","setRecSeconds","zoom","setZoom","zoomShared","id","setInterval","s","clearInterval","onShutter","mode","startVideo","f","stopVideo","prev","capture","n","dataRetainedMode","onFlip","p","onSelectMode","i","onCancel","onOpenSettings","openSettings","style","styles","root","testID","children","files","variant","onRetake","onSave","onBack","onDelete","next","filter","x","length","modeItems","map","m","key","label","ref","sideRail","bottom","onChangeFlash","onChangeAspectRatio","onToggleSound","v","onToggleGrid","zoomChips","onSelect","z","clamped","Math","min","max","minZoom","maxZoom","value","paddingBottom","center","seconds","items","currentIndex","latestUri","at","uri","count","onOpenPreview","trigger","create","flex","backgroundColor","black","justifyContent","alignItems","left","zIndex","right","paddingTop","gap"],"sourceRoot":"../../../src","sources":["camera/Container.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -2,49 +2,125 @@
|
|
|
2
2
|
|
|
3
3
|
import { useEffect, useRef } from 'react';
|
|
4
4
|
import { Animated, StyleSheet } from 'react-native';
|
|
5
|
+
import Svg, { Circle, Line, Path } from 'react-native-svg';
|
|
5
6
|
import { r } from '@unif/react-native-design';
|
|
6
|
-
import {
|
|
7
|
-
|
|
7
|
+
import { DARK } from "./colors/dark.js";
|
|
8
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
|
+
// 聚焦指示器(取景态固定深色,品牌橙):四角括号 + 中心点 + 右侧曝光小太阳。
|
|
10
|
+
// 设计稿 viewBox 390×844 视口下盒子 110×88,transformOrigin 居中(44,44)。
|
|
11
|
+
// 多段动画:淡入放大 1.35 → 回弹 0.94 → 1 → 定格(opacity 0.72),约 1.3s 后 onAnimationEnd()。
|
|
12
|
+
const VB_W = 110;
|
|
13
|
+
const VB_H = 88;
|
|
14
|
+
const W = r(VB_W);
|
|
15
|
+
const H = r(VB_H);
|
|
16
|
+
|
|
17
|
+
// 曝光小太阳中心(右侧)与半径,8 道短射线绕一圈。
|
|
18
|
+
const SUN_CX = 97;
|
|
19
|
+
const SUN_CY = 44;
|
|
20
|
+
const SUN_R = 4.5;
|
|
21
|
+
const RAY_INNER = SUN_R + 2.5;
|
|
22
|
+
const RAY_OUTER = SUN_R + 6;
|
|
23
|
+
const RAY_ANGLES = [0, 45, 90, 135, 180, 225, 270, 315];
|
|
24
|
+
const AnimatedSvg = Animated.createAnimatedComponent(Svg);
|
|
8
25
|
export function FocusIndicator({
|
|
9
26
|
point,
|
|
10
27
|
onAnimationEnd
|
|
11
28
|
}) {
|
|
12
|
-
const scale = useRef(new Animated.Value(1.
|
|
13
|
-
const opacity = useRef(new Animated.Value(
|
|
29
|
+
const scale = useRef(new Animated.Value(1.35)).current;
|
|
30
|
+
const opacity = useRef(new Animated.Value(0)).current;
|
|
14
31
|
useEffect(() => {
|
|
15
|
-
Animated.parallel([Animated.timing(
|
|
32
|
+
const anim = Animated.sequence([Animated.parallel([Animated.timing(opacity, {
|
|
33
|
+
toValue: 1,
|
|
34
|
+
duration: 120,
|
|
35
|
+
useNativeDriver: true
|
|
36
|
+
}), Animated.spring(scale, {
|
|
37
|
+
toValue: 0.94,
|
|
38
|
+
useNativeDriver: true
|
|
39
|
+
})]), Animated.spring(scale, {
|
|
16
40
|
toValue: 1,
|
|
17
|
-
duration: 200,
|
|
18
41
|
useNativeDriver: true
|
|
19
|
-
}), Animated.
|
|
20
|
-
toValue: 0,
|
|
21
|
-
duration:
|
|
42
|
+
}), Animated.delay(800), Animated.timing(opacity, {
|
|
43
|
+
toValue: 0.72,
|
|
44
|
+
duration: 180,
|
|
22
45
|
useNativeDriver: true
|
|
23
|
-
})])
|
|
46
|
+
})]);
|
|
47
|
+
anim.start(() => onAnimationEnd());
|
|
48
|
+
return () => anim.stop();
|
|
24
49
|
}, [scale, opacity, onAnimationEnd]);
|
|
25
50
|
return /*#__PURE__*/_jsx(Animated.View, {
|
|
51
|
+
pointerEvents: "none",
|
|
52
|
+
testID: "focus-indicator",
|
|
26
53
|
style: [styles.box, {
|
|
27
|
-
left: point.x -
|
|
28
|
-
top: point.y -
|
|
54
|
+
left: point.x - W / 2,
|
|
55
|
+
top: point.y - H / 2,
|
|
56
|
+
opacity,
|
|
29
57
|
transform: [{
|
|
30
58
|
scale
|
|
31
|
-
}]
|
|
32
|
-
opacity
|
|
59
|
+
}]
|
|
33
60
|
}],
|
|
34
|
-
|
|
35
|
-
|
|
61
|
+
children: /*#__PURE__*/_jsxs(AnimatedSvg, {
|
|
62
|
+
width: W,
|
|
63
|
+
height: H,
|
|
64
|
+
viewBox: `0 0 ${VB_W} ${VB_H}`,
|
|
65
|
+
children: [/*#__PURE__*/_jsx(Path, {
|
|
66
|
+
d: "M23 31v-8h8 M79 23h8v8 M87 57v8h-8 M31 65h-8v-8",
|
|
67
|
+
stroke: DARK.orange,
|
|
68
|
+
strokeWidth: 2,
|
|
69
|
+
strokeLinecap: "round",
|
|
70
|
+
strokeLinejoin: "round",
|
|
71
|
+
fill: "none"
|
|
72
|
+
}), /*#__PURE__*/_jsx(Circle, {
|
|
73
|
+
cx: 55,
|
|
74
|
+
cy: 44,
|
|
75
|
+
r: 2.4,
|
|
76
|
+
fill: DARK.orange
|
|
77
|
+
}), /*#__PURE__*/_jsx(Circle, {
|
|
78
|
+
cx: SUN_CX,
|
|
79
|
+
cy: SUN_CY,
|
|
80
|
+
r: SUN_R,
|
|
81
|
+
stroke: DARK.orange,
|
|
82
|
+
strokeWidth: 1.6,
|
|
83
|
+
fill: "rgba(235,110,0,0.2)"
|
|
84
|
+
}), RAY_ANGLES.map(deg => {
|
|
85
|
+
const rad = deg * Math.PI / 180;
|
|
86
|
+
const cos = Math.cos(rad);
|
|
87
|
+
const sin = Math.sin(rad);
|
|
88
|
+
return /*#__PURE__*/_jsx(Line, {
|
|
89
|
+
x1: SUN_CX + cos * RAY_INNER,
|
|
90
|
+
y1: SUN_CY + sin * RAY_INNER,
|
|
91
|
+
x2: SUN_CX + cos * RAY_OUTER,
|
|
92
|
+
y2: SUN_CY + sin * RAY_OUTER,
|
|
93
|
+
stroke: DARK.orange,
|
|
94
|
+
strokeWidth: 1.4,
|
|
95
|
+
strokeLinecap: "round"
|
|
96
|
+
}, deg);
|
|
97
|
+
}), /*#__PURE__*/_jsx(Line, {
|
|
98
|
+
x1: SUN_CX,
|
|
99
|
+
y1: 20,
|
|
100
|
+
x2: SUN_CX,
|
|
101
|
+
y2: 34,
|
|
102
|
+
stroke: DARK.orange,
|
|
103
|
+
strokeWidth: 1.6,
|
|
104
|
+
opacity: 0.45,
|
|
105
|
+
strokeLinecap: "round"
|
|
106
|
+
}), /*#__PURE__*/_jsx(Line, {
|
|
107
|
+
x1: SUN_CX,
|
|
108
|
+
y1: 54,
|
|
109
|
+
x2: SUN_CX,
|
|
110
|
+
y2: 68,
|
|
111
|
+
stroke: DARK.orange,
|
|
112
|
+
strokeWidth: 1.6,
|
|
113
|
+
opacity: 0.45,
|
|
114
|
+
strokeLinecap: "round"
|
|
115
|
+
})]
|
|
116
|
+
})
|
|
36
117
|
});
|
|
37
118
|
}
|
|
38
119
|
const styles = StyleSheet.create({
|
|
39
120
|
box: {
|
|
40
121
|
position: 'absolute',
|
|
41
|
-
width:
|
|
42
|
-
height:
|
|
43
|
-
borderWidth: 1.5,
|
|
44
|
-
// 对焦黄框:相机 UX 惯例(iOS / Android 系统相机统一用饱和黄高对比度),
|
|
45
|
-
// 不走主题 token —— 任何主题下都需要在镜头预览(黑底为主)上一眼可见.
|
|
46
|
-
borderColor: 'yellow',
|
|
47
|
-
borderRadius: r(6)
|
|
122
|
+
width: W,
|
|
123
|
+
height: H
|
|
48
124
|
}
|
|
49
125
|
});
|
|
50
126
|
//# sourceMappingURL=FocusIndicator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useEffect","useRef","Animated","StyleSheet","r","jsx","_jsx","
|
|
1
|
+
{"version":3,"names":["useEffect","useRef","Animated","StyleSheet","Svg","Circle","Line","Path","r","DARK","jsx","_jsx","jsxs","_jsxs","VB_W","VB_H","W","H","SUN_CX","SUN_CY","SUN_R","RAY_INNER","RAY_OUTER","RAY_ANGLES","AnimatedSvg","createAnimatedComponent","FocusIndicator","point","onAnimationEnd","scale","Value","current","opacity","anim","sequence","parallel","timing","toValue","duration","useNativeDriver","spring","delay","start","stop","View","pointerEvents","testID","style","styles","box","left","x","top","y","transform","children","width","height","viewBox","d","stroke","orange","strokeWidth","strokeLinecap","strokeLinejoin","fill","cx","cy","map","deg","rad","Math","PI","cos","sin","x1","y1","x2","y2","create","position"],"sourceRoot":"../../../src","sources":["camera/FocusIndicator.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { render } from '@testing-library/react-native';
|
|
4
|
+
import { FocusIndicator } from "./FocusIndicator.js";
|
|
5
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
6
|
+
it('renders focus brackets without crashing', () => {
|
|
7
|
+
expect(() => render(/*#__PURE__*/_jsx(FocusIndicator, {
|
|
8
|
+
point: {
|
|
9
|
+
x: 100,
|
|
10
|
+
y: 200
|
|
11
|
+
},
|
|
12
|
+
onAnimationEnd: () => {}
|
|
13
|
+
}))).not.toThrow();
|
|
14
|
+
});
|
|
15
|
+
it('exposes the focus-indicator testID', () => {
|
|
16
|
+
const {
|
|
17
|
+
getByTestId
|
|
18
|
+
} = render(/*#__PURE__*/_jsx(FocusIndicator, {
|
|
19
|
+
point: {
|
|
20
|
+
x: 100,
|
|
21
|
+
y: 200
|
|
22
|
+
},
|
|
23
|
+
onAnimationEnd: () => {}
|
|
24
|
+
}));
|
|
25
|
+
expect(getByTestId('focus-indicator')).toBeTruthy();
|
|
26
|
+
});
|
|
27
|
+
//# sourceMappingURL=FocusIndicator.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["render","FocusIndicator","jsx","_jsx","it","expect","point","x","y","onAnimationEnd","not","toThrow","getByTestId","toBeTruthy"],"sourceRoot":"../../../src","sources":["camera/FocusIndicator.test.tsx"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,+BAA+B;AACtD,SAASC,cAAc,QAAQ,qBAAkB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAElDC,EAAE,CAAC,yCAAyC,EAAE,MAAM;EAClDC,MAAM,CAAC,MACLL,MAAM,cACJG,IAAA,CAACF,cAAc;IAACK,KAAK,EAAE;MAAEC,CAAC,EAAE,GAAG;MAAEC,CAAC,EAAE;IAAI,CAAE;IAACC,cAAc,EAAEA,CAAA,KAAM,CAAC;EAAE,CAAE,CACxE,CACF,CAAC,CAACC,GAAG,CAACC,OAAO,CAAC,CAAC;AACjB,CAAC,CAAC;AAEFP,EAAE,CAAC,oCAAoC,EAAE,MAAM;EAC7C,MAAM;IAAEQ;EAAY,CAAC,GAAGZ,MAAM,cAC5BG,IAAA,CAACF,cAAc;IAACK,KAAK,EAAE;MAAEC,CAAC,EAAE,GAAG;MAAEC,CAAC,EAAE;IAAI,CAAE;IAACC,cAAc,EAAEA,CAAA,KAAM,CAAC;EAAE,CAAE,CACxE,CAAC;EACDJ,MAAM,CAACO,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAACC,UAAU,CAAC,CAAC;AACrD,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
// 取景态固定深色常量。取景器是相机画面,永远深色,不跟随 light/dark 主题;
|
|
4
|
+
// 只有预览/弹窗/Toast(2b)走 useColors()。品牌橙两主题都不变。
|
|
5
|
+
export const DARK = {
|
|
6
|
+
white: '#fff',
|
|
7
|
+
white95: 'rgba(255,255,255,0.95)',
|
|
8
|
+
white65: 'rgba(255,255,255,0.65)',
|
|
9
|
+
white40: 'rgba(255,255,255,0.4)',
|
|
10
|
+
white25: 'rgba(255,255,255,0.25)',
|
|
11
|
+
white12: 'rgba(255,255,255,0.12)',
|
|
12
|
+
white08: 'rgba(255,255,255,0.08)',
|
|
13
|
+
black: '#000',
|
|
14
|
+
black42: 'rgba(0,0,0,0.42)',
|
|
15
|
+
black45: 'rgba(0,0,0,0.45)',
|
|
16
|
+
orange: '#EB6E00',
|
|
17
|
+
orange16: 'rgba(235,110,0,0.16)',
|
|
18
|
+
orange18: 'rgba(235,110,0,0.18)',
|
|
19
|
+
orange95: 'rgba(235,110,0,0.95)',
|
|
20
|
+
recRed: '#ff3b30'
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=dark.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["DARK","white","white95","white65","white40","white25","white12","white08","black","black42","black45","orange","orange16","orange18","orange95","recRed"],"sourceRoot":"../../../../src","sources":["camera/colors/dark.ts"],"mappings":";;AAAA;AACA;AACA,OAAO,MAAMA,IAAI,GAAG;EAClBC,KAAK,EAAE,MAAM;EACbC,OAAO,EAAE,wBAAwB;EACjCC,OAAO,EAAE,wBAAwB;EACjCC,OAAO,EAAE,uBAAuB;EAChCC,OAAO,EAAE,wBAAwB;EACjCC,OAAO,EAAE,wBAAwB;EACjCC,OAAO,EAAE,wBAAwB;EACjCC,KAAK,EAAE,MAAM;EACbC,OAAO,EAAE,kBAAkB;EAC3BC,OAAO,EAAE,kBAAkB;EAC3BC,MAAM,EAAE,SAAS;EACjBC,QAAQ,EAAE,sBAAsB;EAChCC,QAAQ,EAAE,sBAAsB;EAChCC,QAAQ,EAAE,sBAAsB;EAChCC,MAAM,EAAE;AACV,CAAU","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { DARK } from "./dark.js";
|
|
4
|
+
it('exposes brand orange and core dark tokens', () => {
|
|
5
|
+
expect(DARK.orange).toBe('#EB6E00');
|
|
6
|
+
expect(DARK.white).toBe('#fff');
|
|
7
|
+
expect(DARK.recRed).toBe('#ff3b30');
|
|
8
|
+
expect(DARK.orange16).toBe('rgba(235,110,0,0.16)');
|
|
9
|
+
});
|
|
10
|
+
//# sourceMappingURL=dark.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["DARK","it","expect","orange","toBe","white","recRed","orange16"],"sourceRoot":"../../../../src","sources":["camera/colors/dark.test.ts"],"mappings":";;AAAA,SAASA,IAAI,QAAQ,WAAQ;AAE7BC,EAAE,CAAC,2CAA2C,EAAE,MAAM;EACpDC,MAAM,CAACF,IAAI,CAACG,MAAM,CAAC,CAACC,IAAI,CAAC,SAAS,CAAC;EACnCF,MAAM,CAACF,IAAI,CAACK,KAAK,CAAC,CAACD,IAAI,CAAC,MAAM,CAAC;EAC/BF,MAAM,CAACF,IAAI,CAACM,MAAM,CAAC,CAACF,IAAI,CAAC,SAAS,CAAC;EACnCF,MAAM,CAACF,IAAI,CAACO,QAAQ,CAAC,CAACH,IAAI,CAAC,sBAAsB,CAAC;AACpD,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { StyleSheet, View } from 'react-native';
|
|
4
|
+
import { Button, r } from '@unif/react-native-design';
|
|
5
|
+
import { Shutter } from "./Shutter.js";
|
|
6
|
+
import { ThumbnailStack } from "./ThumbnailStack.js";
|
|
7
|
+
import { FlipButton } from "./FlipButton.js";
|
|
8
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
|
+
export function ActionRow({
|
|
10
|
+
mode,
|
|
11
|
+
recording,
|
|
12
|
+
latestUri,
|
|
13
|
+
count,
|
|
14
|
+
onShutter,
|
|
15
|
+
onBack,
|
|
16
|
+
onSave,
|
|
17
|
+
onFlip,
|
|
18
|
+
onOpenPreview
|
|
19
|
+
}) {
|
|
20
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
21
|
+
style: styles.row,
|
|
22
|
+
children: [!recording ? /*#__PURE__*/_jsx(ThumbnailStack, {
|
|
23
|
+
latestUri: latestUri,
|
|
24
|
+
count: count,
|
|
25
|
+
onPress: onOpenPreview
|
|
26
|
+
}) : /*#__PURE__*/_jsx(View, {
|
|
27
|
+
style: styles.slot
|
|
28
|
+
}), !recording ? /*#__PURE__*/_jsx(Button, {
|
|
29
|
+
variant: "ghost",
|
|
30
|
+
label: "\u8FD4\u56DE",
|
|
31
|
+
onPress: onBack,
|
|
32
|
+
testID: "back-btn"
|
|
33
|
+
}) : /*#__PURE__*/_jsx(View, {
|
|
34
|
+
style: styles.slot
|
|
35
|
+
}), /*#__PURE__*/_jsx(Shutter, {
|
|
36
|
+
mode: mode,
|
|
37
|
+
recording: recording,
|
|
38
|
+
onPress: onShutter
|
|
39
|
+
}), !recording ? /*#__PURE__*/_jsx(Button, {
|
|
40
|
+
variant: "primary",
|
|
41
|
+
label: "\u4FDD\u5B58",
|
|
42
|
+
onPress: onSave,
|
|
43
|
+
testID: "save-btn"
|
|
44
|
+
}) : /*#__PURE__*/_jsx(View, {
|
|
45
|
+
style: styles.slot
|
|
46
|
+
}), !recording ? /*#__PURE__*/_jsx(FlipButton, {
|
|
47
|
+
onFlip: onFlip
|
|
48
|
+
}) : /*#__PURE__*/_jsx(View, {
|
|
49
|
+
style: styles.slot
|
|
50
|
+
})]
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
const styles = StyleSheet.create({
|
|
54
|
+
row: {
|
|
55
|
+
flexDirection: 'row',
|
|
56
|
+
alignItems: 'center',
|
|
57
|
+
justifyContent: 'space-between',
|
|
58
|
+
width: '100%',
|
|
59
|
+
paddingHorizontal: r(20)
|
|
60
|
+
},
|
|
61
|
+
slot: {
|
|
62
|
+
width: r(44)
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
//# sourceMappingURL=ActionRow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["StyleSheet","View","Button","r","Shutter","ThumbnailStack","FlipButton","jsx","_jsx","jsxs","_jsxs","ActionRow","mode","recording","latestUri","count","onShutter","onBack","onSave","onFlip","onOpenPreview","style","styles","row","children","onPress","slot","variant","label","testID","create","flexDirection","alignItems","justifyContent","width","paddingHorizontal"],"sourceRoot":"../../../../src","sources":["camera/footer/ActionRow.tsx"],"mappings":";;AAAA,SAASA,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAC/C,SAASC,MAAM,EAAEC,CAAC,QAAQ,2BAA2B;AACrD,SAASC,OAAO,QAAQ,cAAW;AACnC,SAASC,cAAc,QAAQ,qBAAkB;AACjD,SAASC,UAAU,QAAQ,iBAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAc1C,OAAO,SAASC,SAASA,CAAC;EACxBC,IAAI;EACJC,SAAS;EACTC,SAAS;EACTC,KAAK;EACLC,SAAS;EACTC,MAAM;EACNC,MAAM;EACNC,MAAM;EACNC;AACK,CAAC,EAAE;EACR,oBACEV,KAAA,CAACT,IAAI;IAACoB,KAAK,EAAEC,MAAM,CAACC,GAAI;IAAAC,QAAA,GACrB,CAACX,SAAS,gBACTL,IAAA,CAACH,cAAc;MACbS,SAAS,EAAEA,SAAU;MACrBC,KAAK,EAAEA,KAAM;MACbU,OAAO,EAAEL;IAAc,CACxB,CAAC,gBAEFZ,IAAA,CAACP,IAAI;MAACoB,KAAK,EAAEC,MAAM,CAACI;IAAK,CAAE,CAC5B,EACA,CAACb,SAAS,gBACTL,IAAA,CAACN,MAAM;MACLyB,OAAO,EAAC,OAAO;MACfC,KAAK,EAAC,cAAI;MACVH,OAAO,EAAER,MAAO;MAChBY,MAAM,EAAC;IAAU,CAClB,CAAC,gBAEFrB,IAAA,CAACP,IAAI;MAACoB,KAAK,EAAEC,MAAM,CAACI;IAAK,CAAE,CAC5B,eACDlB,IAAA,CAACJ,OAAO;MAACQ,IAAI,EAAEA,IAAK;MAACC,SAAS,EAAEA,SAAU;MAACY,OAAO,EAAET;IAAU,CAAE,CAAC,EAChE,CAACH,SAAS,gBACTL,IAAA,CAACN,MAAM;MACLyB,OAAO,EAAC,SAAS;MACjBC,KAAK,EAAC,cAAI;MACVH,OAAO,EAAEP,MAAO;MAChBW,MAAM,EAAC;IAAU,CAClB,CAAC,gBAEFrB,IAAA,CAACP,IAAI;MAACoB,KAAK,EAAEC,MAAM,CAACI;IAAK,CAAE,CAC5B,EACA,CAACb,SAAS,gBACTL,IAAA,CAACF,UAAU;MAACa,MAAM,EAAEA;IAAO,CAAE,CAAC,gBAE9BX,IAAA,CAACP,IAAI;MAACoB,KAAK,EAAEC,MAAM,CAACI;IAAK,CAAE,CAC5B;EAAA,CACG,CAAC;AAEX;AAEA,MAAMJ,MAAM,GAAGtB,UAAU,CAAC8B,MAAM,CAAC;EAC/BP,GAAG,EAAE;IACHQ,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE,eAAe;IAC/BC,KAAK,EAAE,MAAM;IACbC,iBAAiB,EAAEhC,CAAC,CAAC,EAAE;EACzB,CAAC;EACDuB,IAAI,EAAE;IAAEQ,KAAK,EAAE/B,CAAC,CAAC,EAAE;EAAE;AACvB,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { render, fireEvent } from '@testing-library/react-native';
|
|
4
|
+
import { ActionRow } from "./ActionRow.js";
|
|
5
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
6
|
+
const base = {
|
|
7
|
+
mode: 'single',
|
|
8
|
+
recording: false,
|
|
9
|
+
latestUri: undefined,
|
|
10
|
+
count: 0,
|
|
11
|
+
onShutter: jest.fn(),
|
|
12
|
+
onBack: jest.fn(),
|
|
13
|
+
onSave: jest.fn(),
|
|
14
|
+
onFlip: jest.fn(),
|
|
15
|
+
onOpenPreview: jest.fn()
|
|
16
|
+
};
|
|
17
|
+
it('wires shutter/back/save/flip', () => {
|
|
18
|
+
const p = {
|
|
19
|
+
...base,
|
|
20
|
+
onShutter: jest.fn(),
|
|
21
|
+
onBack: jest.fn(),
|
|
22
|
+
onSave: jest.fn(),
|
|
23
|
+
onFlip: jest.fn()
|
|
24
|
+
};
|
|
25
|
+
const {
|
|
26
|
+
getByTestId
|
|
27
|
+
} = render(/*#__PURE__*/_jsx(ActionRow, {
|
|
28
|
+
...p
|
|
29
|
+
}));
|
|
30
|
+
fireEvent.press(getByTestId('shutter-btn'));
|
|
31
|
+
expect(p.onShutter).toHaveBeenCalled();
|
|
32
|
+
fireEvent.press(getByTestId('back-btn'));
|
|
33
|
+
expect(p.onBack).toHaveBeenCalled();
|
|
34
|
+
fireEvent.press(getByTestId('save-btn'));
|
|
35
|
+
expect(p.onSave).toHaveBeenCalled();
|
|
36
|
+
fireEvent.press(getByTestId('flip-btn'));
|
|
37
|
+
expect(p.onFlip).toHaveBeenCalled();
|
|
38
|
+
});
|
|
39
|
+
it('recording hides back/save/flip/thumb', () => {
|
|
40
|
+
const {
|
|
41
|
+
queryByTestId,
|
|
42
|
+
getByTestId
|
|
43
|
+
} = render(/*#__PURE__*/_jsx(ActionRow, {
|
|
44
|
+
...base,
|
|
45
|
+
recording: true
|
|
46
|
+
}));
|
|
47
|
+
expect(getByTestId('shutter-btn')).toBeTruthy();
|
|
48
|
+
expect(queryByTestId('back-btn')).toBeNull();
|
|
49
|
+
expect(queryByTestId('save-btn')).toBeNull();
|
|
50
|
+
expect(queryByTestId('flip-btn')).toBeNull();
|
|
51
|
+
expect(queryByTestId('thumbnail-stack')).toBeNull();
|
|
52
|
+
});
|
|
53
|
+
//# sourceMappingURL=ActionRow.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["render","fireEvent","ActionRow","jsx","_jsx","base","mode","recording","latestUri","undefined","count","onShutter","jest","fn","onBack","onSave","onFlip","onOpenPreview","it","p","getByTestId","press","expect","toHaveBeenCalled","queryByTestId","toBeTruthy","toBeNull"],"sourceRoot":"../../../../src","sources":["camera/footer/ActionRow.test.tsx"],"mappings":";;AAAA,SAASA,MAAM,EAAEC,SAAS,QAAQ,+BAA+B;AACjE,SAASC,SAAS,QAAQ,gBAAa;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAExC,MAAMC,IAAI,GAAG;EACXC,IAAI,EAAE,QAAiB;EACvBC,SAAS,EAAE,KAAK;EAChBC,SAAS,EAAEC,SAAS;EACpBC,KAAK,EAAE,CAAC;EACRC,SAAS,EAAEC,IAAI,CAACC,EAAE,CAAC,CAAC;EACpBC,MAAM,EAAEF,IAAI,CAACC,EAAE,CAAC,CAAC;EACjBE,MAAM,EAAEH,IAAI,CAACC,EAAE,CAAC,CAAC;EACjBG,MAAM,EAAEJ,IAAI,CAACC,EAAE,CAAC,CAAC;EACjBI,aAAa,EAAEL,IAAI,CAACC,EAAE,CAAC;AACzB,CAAC;AAEDK,EAAE,CAAC,8BAA8B,EAAE,MAAM;EACvC,MAAMC,CAAC,GAAG;IACR,GAAGd,IAAI;IACPM,SAAS,EAAEC,IAAI,CAACC,EAAE,CAAC,CAAC;IACpBC,MAAM,EAAEF,IAAI,CAACC,EAAE,CAAC,CAAC;IACjBE,MAAM,EAAEH,IAAI,CAACC,EAAE,CAAC,CAAC;IACjBG,MAAM,EAAEJ,IAAI,CAACC,EAAE,CAAC;EAClB,CAAC;EACD,MAAM;IAAEO;EAAY,CAAC,GAAGpB,MAAM,cAACI,IAAA,CAACF,SAAS;IAAA,GAAKiB;EAAC,CAAG,CAAC,CAAC;EACpDlB,SAAS,CAACoB,KAAK,CAACD,WAAW,CAAC,aAAa,CAAC,CAAC;EAC3CE,MAAM,CAACH,CAAC,CAACR,SAAS,CAAC,CAACY,gBAAgB,CAAC,CAAC;EACtCtB,SAAS,CAACoB,KAAK,CAACD,WAAW,CAAC,UAAU,CAAC,CAAC;EACxCE,MAAM,CAACH,CAAC,CAACL,MAAM,CAAC,CAACS,gBAAgB,CAAC,CAAC;EACnCtB,SAAS,CAACoB,KAAK,CAACD,WAAW,CAAC,UAAU,CAAC,CAAC;EACxCE,MAAM,CAACH,CAAC,CAACJ,MAAM,CAAC,CAACQ,gBAAgB,CAAC,CAAC;EACnCtB,SAAS,CAACoB,KAAK,CAACD,WAAW,CAAC,UAAU,CAAC,CAAC;EACxCE,MAAM,CAACH,CAAC,CAACH,MAAM,CAAC,CAACO,gBAAgB,CAAC,CAAC;AACrC,CAAC,CAAC;AAEFL,EAAE,CAAC,sCAAsC,EAAE,MAAM;EAC/C,MAAM;IAAEM,aAAa;IAAEJ;EAAY,CAAC,GAAGpB,MAAM,cAC3CI,IAAA,CAACF,SAAS;IAAA,GAAKG,IAAI;IAAEE,SAAS;EAAA,CAAE,CAClC,CAAC;EACDe,MAAM,CAACF,WAAW,CAAC,aAAa,CAAC,CAAC,CAACK,UAAU,CAAC,CAAC;EAC/CH,MAAM,CAACE,aAAa,CAAC,UAAU,CAAC,CAAC,CAACE,QAAQ,CAAC,CAAC;EAC5CJ,MAAM,CAACE,aAAa,CAAC,UAAU,CAAC,CAAC,CAACE,QAAQ,CAAC,CAAC;EAC5CJ,MAAM,CAACE,aAAa,CAAC,UAAU,CAAC,CAAC,CAACE,QAAQ,CAAC,CAAC;EAC5CJ,MAAM,CAACE,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAACE,QAAQ,CAAC,CAAC;AACrD,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { StyleSheet, TouchableOpacity } from 'react-native';
|
|
4
|
+
import { Icon, r } from '@unif/react-native-design';
|
|
5
|
+
import { DARK } from "../colors/dark.js";
|
|
6
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
|
+
export function FlipButton({
|
|
8
|
+
onFlip
|
|
9
|
+
}) {
|
|
10
|
+
return /*#__PURE__*/_jsx(TouchableOpacity, {
|
|
11
|
+
testID: "flip-btn",
|
|
12
|
+
onPress: onFlip,
|
|
13
|
+
style: styles.btn,
|
|
14
|
+
children: /*#__PURE__*/_jsx(Icon, {
|
|
15
|
+
name: "lens-flip",
|
|
16
|
+
size: r(20),
|
|
17
|
+
color: DARK.white
|
|
18
|
+
})
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
const styles = StyleSheet.create({
|
|
22
|
+
btn: {
|
|
23
|
+
width: r(44),
|
|
24
|
+
height: r(44),
|
|
25
|
+
borderRadius: r(22),
|
|
26
|
+
backgroundColor: DARK.white12,
|
|
27
|
+
alignItems: 'center',
|
|
28
|
+
justifyContent: 'center'
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
//# sourceMappingURL=FlipButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["StyleSheet","TouchableOpacity","Icon","r","DARK","jsx","_jsx","FlipButton","onFlip","testID","onPress","style","styles","btn","children","name","size","color","white","create","width","height","borderRadius","backgroundColor","white12","alignItems","justifyContent"],"sourceRoot":"../../../../src","sources":["camera/footer/FlipButton.tsx"],"mappings":";;AAAA,SAASA,UAAU,EAAEC,gBAAgB,QAAQ,cAAc;AAC3D,SAASC,IAAI,EAAEC,CAAC,QAAQ,2BAA2B;AACnD,SAASC,IAAI,QAAQ,mBAAgB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEtC,OAAO,SAASC,UAAUA,CAAC;EAAEC;AAA+B,CAAC,EAAE;EAC7D,oBACEF,IAAA,CAACL,gBAAgB;IAACQ,MAAM,EAAC,UAAU;IAACC,OAAO,EAAEF,MAAO;IAACG,KAAK,EAAEC,MAAM,CAACC,GAAI;IAAAC,QAAA,eACrER,IAAA,CAACJ,IAAI;MAACa,IAAI,EAAC,WAAW;MAACC,IAAI,EAAEb,CAAC,CAAC,EAAE,CAAE;MAACc,KAAK,EAAEb,IAAI,CAACc;IAAM,CAAE;EAAC,CACzC,CAAC;AAEvB;AAEA,MAAMN,MAAM,GAAGZ,UAAU,CAACmB,MAAM,CAAC;EAC/BN,GAAG,EAAE;IACHO,KAAK,EAAEjB,CAAC,CAAC,EAAE,CAAC;IACZkB,MAAM,EAAElB,CAAC,CAAC,EAAE,CAAC;IACbmB,YAAY,EAAEnB,CAAC,CAAC,EAAE,CAAC;IACnBoB,eAAe,EAAEnB,IAAI,CAACoB,OAAO;IAC7BC,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE;EAClB;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { render, fireEvent } from '@testing-library/react-native';
|
|
4
|
+
import { FlipButton } from "./FlipButton.js";
|
|
5
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
6
|
+
it('fires onFlip', () => {
|
|
7
|
+
const onFlip = jest.fn();
|
|
8
|
+
const {
|
|
9
|
+
getByTestId
|
|
10
|
+
} = render(/*#__PURE__*/_jsx(FlipButton, {
|
|
11
|
+
onFlip: onFlip
|
|
12
|
+
}));
|
|
13
|
+
fireEvent.press(getByTestId('flip-btn'));
|
|
14
|
+
expect(onFlip).toHaveBeenCalled();
|
|
15
|
+
});
|
|
16
|
+
//# sourceMappingURL=FlipButton.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["render","fireEvent","FlipButton","jsx","_jsx","it","onFlip","jest","fn","getByTestId","press","expect","toHaveBeenCalled"],"sourceRoot":"../../../../src","sources":["camera/footer/FlipButton.test.tsx"],"mappings":";;AAAA,SAASA,MAAM,EAAEC,SAAS,QAAQ,+BAA+B;AACjE,SAASC,UAAU,QAAQ,iBAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE1CC,EAAE,CAAC,cAAc,EAAE,MAAM;EACvB,MAAMC,MAAM,GAAGC,IAAI,CAACC,EAAE,CAAC,CAAC;EACxB,MAAM;IAAEC;EAAY,CAAC,GAAGT,MAAM,cAACI,IAAA,CAACF,UAAU;IAACI,MAAM,EAAEA;EAAO,CAAE,CAAC,CAAC;EAC9DL,SAAS,CAACS,KAAK,CAACD,WAAW,CAAC,UAAU,CAAC,CAAC;EACxCE,MAAM,CAACL,MAAM,CAAC,CAACM,gBAAgB,CAAC,CAAC;AACnC,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useEffect, useRef, useState } from 'react';
|
|
4
|
+
import { Animated, StyleSheet, Text, TouchableOpacity, View } from 'react-native';
|
|
5
|
+
import { r } from '@unif/react-native-design';
|
|
6
|
+
import { DARK } from "../colors/dark.js";
|
|
7
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
8
|
+
export function ModeSwitcherPill({
|
|
9
|
+
items,
|
|
10
|
+
currentIndex,
|
|
11
|
+
onSelect
|
|
12
|
+
}) {
|
|
13
|
+
const [w, setW] = useState(0);
|
|
14
|
+
const slide = useRef(new Animated.Value(0)).current;
|
|
15
|
+
const itemW = items.length ? w / items.length : 0;
|
|
16
|
+
useEffect(() => {
|
|
17
|
+
Animated.timing(slide, {
|
|
18
|
+
toValue: currentIndex * itemW,
|
|
19
|
+
duration: 240,
|
|
20
|
+
useNativeDriver: true
|
|
21
|
+
}).start();
|
|
22
|
+
}, [currentIndex, itemW, slide]);
|
|
23
|
+
if (items.length === 1) {
|
|
24
|
+
return /*#__PURE__*/_jsx(Text, {
|
|
25
|
+
style: styles.singleLabel,
|
|
26
|
+
children: items[0].label
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
30
|
+
style: styles.wrap,
|
|
31
|
+
onLayout: e => setW(e.nativeEvent.layout.width),
|
|
32
|
+
children: [itemW > 0 && /*#__PURE__*/_jsx(Animated.View, {
|
|
33
|
+
style: [styles.slider, {
|
|
34
|
+
width: itemW,
|
|
35
|
+
transform: [{
|
|
36
|
+
translateX: slide
|
|
37
|
+
}]
|
|
38
|
+
}]
|
|
39
|
+
}), items.map((it, i) => {
|
|
40
|
+
const sel = i === currentIndex;
|
|
41
|
+
return /*#__PURE__*/_jsx(TouchableOpacity, {
|
|
42
|
+
testID: `mode-pill-${i}`,
|
|
43
|
+
style: styles.item,
|
|
44
|
+
onPress: () => onSelect(i),
|
|
45
|
+
children: /*#__PURE__*/_jsx(Text, {
|
|
46
|
+
style: [styles.txt, sel && styles.txtSel],
|
|
47
|
+
children: it.label
|
|
48
|
+
})
|
|
49
|
+
}, it.key);
|
|
50
|
+
})]
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
const styles = StyleSheet.create({
|
|
54
|
+
wrap: {
|
|
55
|
+
flexDirection: 'row',
|
|
56
|
+
alignSelf: 'center',
|
|
57
|
+
position: 'relative'
|
|
58
|
+
},
|
|
59
|
+
slider: {
|
|
60
|
+
position: 'absolute',
|
|
61
|
+
top: r(4),
|
|
62
|
+
bottom: r(4),
|
|
63
|
+
left: 0,
|
|
64
|
+
borderRadius: r(999),
|
|
65
|
+
backgroundColor: DARK.orange16
|
|
66
|
+
},
|
|
67
|
+
item: {
|
|
68
|
+
paddingVertical: r(8),
|
|
69
|
+
paddingHorizontal: r(22),
|
|
70
|
+
alignItems: 'center'
|
|
71
|
+
},
|
|
72
|
+
txt: {
|
|
73
|
+
color: DARK.white65,
|
|
74
|
+
fontSize: r(15),
|
|
75
|
+
fontWeight: '500',
|
|
76
|
+
letterSpacing: 1
|
|
77
|
+
},
|
|
78
|
+
txtSel: {
|
|
79
|
+
color: DARK.orange,
|
|
80
|
+
fontWeight: '600'
|
|
81
|
+
},
|
|
82
|
+
singleLabel: {
|
|
83
|
+
color: DARK.white65,
|
|
84
|
+
fontSize: r(14),
|
|
85
|
+
letterSpacing: 2,
|
|
86
|
+
alignSelf: 'center'
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
//# sourceMappingURL=ModeSwitcherPill.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useEffect","useRef","useState","Animated","StyleSheet","Text","TouchableOpacity","View","r","DARK","jsx","_jsx","jsxs","_jsxs","ModeSwitcherPill","items","currentIndex","onSelect","w","setW","slide","Value","current","itemW","length","timing","toValue","duration","useNativeDriver","start","style","styles","singleLabel","children","label","wrap","onLayout","e","nativeEvent","layout","width","slider","transform","translateX","map","it","i","sel","testID","item","onPress","txt","txtSel","key","create","flexDirection","alignSelf","position","top","bottom","left","borderRadius","backgroundColor","orange16","paddingVertical","paddingHorizontal","alignItems","color","white65","fontSize","fontWeight","letterSpacing","orange"],"sourceRoot":"../../../../src","sources":["camera/footer/ModeSwitcherPill.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { render, fireEvent } from '@testing-library/react-native';
|
|
4
|
+
import { ModeSwitcherPill } from "./ModeSwitcherPill.js";
|
|
5
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
6
|
+
const items = [{
|
|
7
|
+
key: 'continuous',
|
|
8
|
+
label: '连拍'
|
|
9
|
+
}, {
|
|
10
|
+
key: 'single',
|
|
11
|
+
label: '单拍'
|
|
12
|
+
}, {
|
|
13
|
+
key: 'video',
|
|
14
|
+
label: '视频'
|
|
15
|
+
}];
|
|
16
|
+
it('selects by tap', () => {
|
|
17
|
+
const onSelect = jest.fn();
|
|
18
|
+
const {
|
|
19
|
+
getByTestId
|
|
20
|
+
} = render(/*#__PURE__*/_jsx(ModeSwitcherPill, {
|
|
21
|
+
items: items,
|
|
22
|
+
currentIndex: 1,
|
|
23
|
+
onSelect: onSelect
|
|
24
|
+
}));
|
|
25
|
+
fireEvent.press(getByTestId('mode-pill-2'));
|
|
26
|
+
expect(onSelect).toHaveBeenCalledWith(2);
|
|
27
|
+
});
|
|
28
|
+
it('single item shows label only (no pill)', () => {
|
|
29
|
+
const {
|
|
30
|
+
queryByTestId,
|
|
31
|
+
getByText
|
|
32
|
+
} = render(/*#__PURE__*/_jsx(ModeSwitcherPill, {
|
|
33
|
+
items: [{
|
|
34
|
+
key: 'single',
|
|
35
|
+
label: '单拍'
|
|
36
|
+
}],
|
|
37
|
+
currentIndex: 0,
|
|
38
|
+
onSelect: () => {}
|
|
39
|
+
}));
|
|
40
|
+
expect(queryByTestId('mode-pill-0')).toBeNull();
|
|
41
|
+
expect(getByText('单拍')).toBeTruthy();
|
|
42
|
+
});
|
|
43
|
+
//# sourceMappingURL=ModeSwitcherPill.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["render","fireEvent","ModeSwitcherPill","jsx","_jsx","items","key","label","it","onSelect","jest","fn","getByTestId","currentIndex","press","expect","toHaveBeenCalledWith","queryByTestId","getByText","toBeNull","toBeTruthy"],"sourceRoot":"../../../../src","sources":["camera/footer/ModeSwitcherPill.test.tsx"],"mappings":";;AAAA,SAASA,MAAM,EAAEC,SAAS,QAAQ,+BAA+B;AACjE,SAASC,gBAAgB,QAAQ,uBAAoB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEtD,MAAMC,KAAK,GAAG,CACZ;EAAEC,GAAG,EAAE,YAAY;EAAEC,KAAK,EAAE;AAAK,CAAC,EAClC;EAAED,GAAG,EAAE,QAAQ;EAAEC,KAAK,EAAE;AAAK,CAAC,EAC9B;EAAED,GAAG,EAAE,OAAO;EAAEC,KAAK,EAAE;AAAK,CAAC,CAC9B;AAEDC,EAAE,CAAC,gBAAgB,EAAE,MAAM;EACzB,MAAMC,QAAQ,GAAGC,IAAI,CAACC,EAAE,CAAC,CAAC;EAC1B,MAAM;IAAEC;EAAY,CAAC,GAAGZ,MAAM,cAC5BI,IAAA,CAACF,gBAAgB;IAACG,KAAK,EAAEA,KAAM;IAACQ,YAAY,EAAE,CAAE;IAACJ,QAAQ,EAAEA;EAAS,CAAE,CACxE,CAAC;EACDR,SAAS,CAACa,KAAK,CAACF,WAAW,CAAC,aAAa,CAAC,CAAC;EAC3CG,MAAM,CAACN,QAAQ,CAAC,CAACO,oBAAoB,CAAC,CAAC,CAAC;AAC1C,CAAC,CAAC;AAEFR,EAAE,CAAC,wCAAwC,EAAE,MAAM;EACjD,MAAM;IAAES,aAAa;IAAEC;EAAU,CAAC,GAAGlB,MAAM,cACzCI,IAAA,CAACF,gBAAgB;IACfG,KAAK,EAAE,CAAC;MAAEC,GAAG,EAAE,QAAQ;MAAEC,KAAK,EAAE;IAAK,CAAC,CAAE;IACxCM,YAAY,EAAE,CAAE;IAChBJ,QAAQ,EAAEA,CAAA,KAAM,CAAC;EAAE,CACpB,CACH,CAAC;EACDM,MAAM,CAACE,aAAa,CAAC,aAAa,CAAC,CAAC,CAACE,QAAQ,CAAC,CAAC;EAC/CJ,MAAM,CAACG,SAAS,CAAC,IAAI,CAAC,CAAC,CAACE,UAAU,CAAC,CAAC;AACtC,CAAC,CAAC","ignoreList":[]}
|