@unif/react-native-camera 2.6.1 → 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 +7 -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 +4 -2
- 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
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useEffect, useRef } from 'react';
|
|
4
|
+
import { Animated, StyleSheet, Text, 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 formatDuration(totalSec) {
|
|
9
|
+
const s = Math.max(0, Math.floor(totalSec));
|
|
10
|
+
const mm = String(Math.floor(s / 60)).padStart(2, '0');
|
|
11
|
+
const ss = String(s % 60).padStart(2, '0');
|
|
12
|
+
return `${mm}:${ss}`;
|
|
13
|
+
}
|
|
14
|
+
export function RecordingTimer({
|
|
15
|
+
seconds
|
|
16
|
+
}) {
|
|
17
|
+
const blink = useRef(new Animated.Value(1)).current;
|
|
18
|
+
useEffect(() => {
|
|
19
|
+
const loop = Animated.loop(Animated.sequence([Animated.timing(blink, {
|
|
20
|
+
toValue: 0,
|
|
21
|
+
duration: 500,
|
|
22
|
+
useNativeDriver: true
|
|
23
|
+
}), Animated.timing(blink, {
|
|
24
|
+
toValue: 1,
|
|
25
|
+
duration: 500,
|
|
26
|
+
useNativeDriver: true
|
|
27
|
+
})]));
|
|
28
|
+
loop.start();
|
|
29
|
+
return () => loop.stop();
|
|
30
|
+
}, [blink]);
|
|
31
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
32
|
+
style: styles.pill,
|
|
33
|
+
testID: "recording-timer",
|
|
34
|
+
children: [/*#__PURE__*/_jsx(Animated.View, {
|
|
35
|
+
style: [styles.dot, {
|
|
36
|
+
opacity: blink
|
|
37
|
+
}]
|
|
38
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
39
|
+
style: styles.text,
|
|
40
|
+
children: formatDuration(seconds)
|
|
41
|
+
})]
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
const styles = StyleSheet.create({
|
|
45
|
+
pill: {
|
|
46
|
+
flexDirection: 'row',
|
|
47
|
+
alignItems: 'center',
|
|
48
|
+
gap: r(8),
|
|
49
|
+
paddingVertical: r(6),
|
|
50
|
+
paddingHorizontal: r(14),
|
|
51
|
+
borderRadius: r(999),
|
|
52
|
+
backgroundColor: 'rgba(255,59,48,0.18)'
|
|
53
|
+
},
|
|
54
|
+
dot: {
|
|
55
|
+
width: r(8),
|
|
56
|
+
height: r(8),
|
|
57
|
+
borderRadius: r(4),
|
|
58
|
+
backgroundColor: DARK.recRed
|
|
59
|
+
},
|
|
60
|
+
text: {
|
|
61
|
+
color: DARK.white,
|
|
62
|
+
fontSize: r(13),
|
|
63
|
+
fontVariant: ['tabular-nums']
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
//# sourceMappingURL=RecordingTimer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useEffect","useRef","Animated","StyleSheet","Text","View","r","DARK","jsx","_jsx","jsxs","_jsxs","formatDuration","totalSec","s","Math","max","floor","mm","String","padStart","ss","RecordingTimer","seconds","blink","Value","current","loop","sequence","timing","toValue","duration","useNativeDriver","start","stop","style","styles","pill","testID","children","dot","opacity","text","create","flexDirection","alignItems","gap","paddingVertical","paddingHorizontal","borderRadius","backgroundColor","width","height","recRed","color","white","fontSize","fontVariant"],"sourceRoot":"../../../../src","sources":["camera/footer/RecordingTimer.tsx"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,MAAM,QAAQ,OAAO;AACzC,SAASC,QAAQ,EAAEC,UAAU,EAAEC,IAAI,EAAEC,IAAI,QAAQ,cAAc;AAC/D,SAASC,CAAC,QAAQ,2BAA2B;AAC7C,SAASC,IAAI,QAAQ,mBAAgB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAEtC,OAAO,SAASC,cAAcA,CAACC,QAAgB,EAAU;EACvD,MAAMC,CAAC,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAED,IAAI,CAACE,KAAK,CAACJ,QAAQ,CAAC,CAAC;EAC3C,MAAMK,EAAE,GAAGC,MAAM,CAACJ,IAAI,CAACE,KAAK,CAACH,CAAC,GAAG,EAAE,CAAC,CAAC,CAACM,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;EACtD,MAAMC,EAAE,GAAGF,MAAM,CAACL,CAAC,GAAG,EAAE,CAAC,CAACM,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;EAC1C,OAAO,GAAGF,EAAE,IAAIG,EAAE,EAAE;AACtB;AAEA,OAAO,SAASC,cAAcA,CAAC;EAAEC;AAA6B,CAAC,EAAE;EAC/D,MAAMC,KAAK,GAAGvB,MAAM,CAAC,IAAIC,QAAQ,CAACuB,KAAK,CAAC,CAAC,CAAC,CAAC,CAACC,OAAO;EACnD1B,SAAS,CAAC,MAAM;IACd,MAAM2B,IAAI,GAAGzB,QAAQ,CAACyB,IAAI,CACxBzB,QAAQ,CAAC0B,QAAQ,CAAC,CAChB1B,QAAQ,CAAC2B,MAAM,CAACL,KAAK,EAAE;MACrBM,OAAO,EAAE,CAAC;MACVC,QAAQ,EAAE,GAAG;MACbC,eAAe,EAAE;IACnB,CAAC,CAAC,EACF9B,QAAQ,CAAC2B,MAAM,CAACL,KAAK,EAAE;MACrBM,OAAO,EAAE,CAAC;MACVC,QAAQ,EAAE,GAAG;MACbC,eAAe,EAAE;IACnB,CAAC,CAAC,CACH,CACH,CAAC;IACDL,IAAI,CAACM,KAAK,CAAC,CAAC;IACZ,OAAO,MAAMN,IAAI,CAACO,IAAI,CAAC,CAAC;EAC1B,CAAC,EAAE,CAACV,KAAK,CAAC,CAAC;EACX,oBACEb,KAAA,CAACN,IAAI;IAAC8B,KAAK,EAAEC,MAAM,CAACC,IAAK;IAACC,MAAM,EAAC,iBAAiB;IAAAC,QAAA,gBAChD9B,IAAA,CAACP,QAAQ,CAACG,IAAI;MAAC8B,KAAK,EAAE,CAACC,MAAM,CAACI,GAAG,EAAE;QAAEC,OAAO,EAAEjB;MAAM,CAAC;IAAE,CAAE,CAAC,eAC1Df,IAAA,CAACL,IAAI;MAAC+B,KAAK,EAAEC,MAAM,CAACM,IAAK;MAAAH,QAAA,EAAE3B,cAAc,CAACW,OAAO;IAAC,CAAO,CAAC;EAAA,CACtD,CAAC;AAEX;AAEA,MAAMa,MAAM,GAAGjC,UAAU,CAACwC,MAAM,CAAC;EAC/BN,IAAI,EAAE;IACJO,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBC,GAAG,EAAExC,CAAC,CAAC,CAAC,CAAC;IACTyC,eAAe,EAAEzC,CAAC,CAAC,CAAC,CAAC;IACrB0C,iBAAiB,EAAE1C,CAAC,CAAC,EAAE,CAAC;IACxB2C,YAAY,EAAE3C,CAAC,CAAC,GAAG,CAAC;IACpB4C,eAAe,EAAE;EACnB,CAAC;EACDV,GAAG,EAAE;IACHW,KAAK,EAAE7C,CAAC,CAAC,CAAC,CAAC;IACX8C,MAAM,EAAE9C,CAAC,CAAC,CAAC,CAAC;IACZ2C,YAAY,EAAE3C,CAAC,CAAC,CAAC,CAAC;IAClB4C,eAAe,EAAE3C,IAAI,CAAC8C;EACxB,CAAC;EACDX,IAAI,EAAE;IAAEY,KAAK,EAAE/C,IAAI,CAACgD,KAAK;IAAEC,QAAQ,EAAElD,CAAC,CAAC,EAAE,CAAC;IAAEmD,WAAW,EAAE,CAAC,cAAc;EAAE;AAC5E,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { render } from '@testing-library/react-native';
|
|
4
|
+
import { RecordingTimer, formatDuration } from "./RecordingTimer.js";
|
|
5
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
6
|
+
it('formatDuration → MM:SS', () => {
|
|
7
|
+
expect(formatDuration(0)).toBe('00:00');
|
|
8
|
+
expect(formatDuration(65)).toBe('01:05');
|
|
9
|
+
expect(formatDuration(3661)).toBe('61:01');
|
|
10
|
+
expect(formatDuration(-5)).toBe('00:00');
|
|
11
|
+
});
|
|
12
|
+
it('renders timer pill', () => {
|
|
13
|
+
const {
|
|
14
|
+
getByTestId
|
|
15
|
+
} = render(/*#__PURE__*/_jsx(RecordingTimer, {
|
|
16
|
+
seconds: 5
|
|
17
|
+
}));
|
|
18
|
+
expect(getByTestId('recording-timer')).toBeTruthy();
|
|
19
|
+
});
|
|
20
|
+
//# sourceMappingURL=RecordingTimer.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["render","RecordingTimer","formatDuration","jsx","_jsx","it","expect","toBe","getByTestId","seconds","toBeTruthy"],"sourceRoot":"../../../../src","sources":["camera/footer/RecordingTimer.test.tsx"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,+BAA+B;AACtD,SAASC,cAAc,EAAEC,cAAc,QAAQ,qBAAkB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAElEC,EAAE,CAAC,wBAAwB,EAAE,MAAM;EACjCC,MAAM,CAACJ,cAAc,CAAC,CAAC,CAAC,CAAC,CAACK,IAAI,CAAC,OAAO,CAAC;EACvCD,MAAM,CAACJ,cAAc,CAAC,EAAE,CAAC,CAAC,CAACK,IAAI,CAAC,OAAO,CAAC;EACxCD,MAAM,CAACJ,cAAc,CAAC,IAAI,CAAC,CAAC,CAACK,IAAI,CAAC,OAAO,CAAC;EAC1CD,MAAM,CAACJ,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAACK,IAAI,CAAC,OAAO,CAAC;AAC1C,CAAC,CAAC;AAEFF,EAAE,CAAC,oBAAoB,EAAE,MAAM;EAC7B,MAAM;IAAEG;EAAY,CAAC,GAAGR,MAAM,cAACI,IAAA,CAACH,cAAc;IAACQ,OAAO,EAAE;EAAE,CAAE,CAAC,CAAC;EAC9DH,MAAM,CAACE,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAACE,UAAU,CAAC,CAAC;AACrD,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useRef } from 'react';
|
|
4
|
+
import { Animated, Pressable, StyleSheet } from 'react-native';
|
|
5
|
+
import { r } from '@unif/react-native-design';
|
|
6
|
+
import { DARK } from "../colors/dark.js";
|
|
7
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
|
+
export function Shutter({
|
|
9
|
+
mode,
|
|
10
|
+
recording,
|
|
11
|
+
disabled,
|
|
12
|
+
onPress
|
|
13
|
+
}) {
|
|
14
|
+
const scale = useRef(new Animated.Value(1)).current;
|
|
15
|
+
const to = v => Animated.timing(scale, {
|
|
16
|
+
toValue: v,
|
|
17
|
+
duration: 100,
|
|
18
|
+
useNativeDriver: true
|
|
19
|
+
}).start();
|
|
20
|
+
const isVideo = mode === 'video';
|
|
21
|
+
const inner = recording ? styles.innerRecording : isVideo ? styles.innerVideo : styles.innerPhoto;
|
|
22
|
+
return /*#__PURE__*/_jsx(Pressable, {
|
|
23
|
+
testID: "shutter-btn",
|
|
24
|
+
disabled: disabled,
|
|
25
|
+
onPress: onPress,
|
|
26
|
+
onPressIn: () => to(0.94),
|
|
27
|
+
onPressOut: () => to(1),
|
|
28
|
+
children: /*#__PURE__*/_jsx(Animated.View, {
|
|
29
|
+
style: [styles.ring, {
|
|
30
|
+
transform: [{
|
|
31
|
+
scale
|
|
32
|
+
}]
|
|
33
|
+
}],
|
|
34
|
+
children: /*#__PURE__*/_jsx(Animated.View, {
|
|
35
|
+
style: [styles.innerBase, inner]
|
|
36
|
+
})
|
|
37
|
+
})
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
const styles = StyleSheet.create({
|
|
41
|
+
ring: {
|
|
42
|
+
width: r(72),
|
|
43
|
+
height: r(72),
|
|
44
|
+
borderRadius: r(36),
|
|
45
|
+
borderWidth: r(3),
|
|
46
|
+
borderColor: DARK.white95,
|
|
47
|
+
alignItems: 'center',
|
|
48
|
+
justifyContent: 'center'
|
|
49
|
+
},
|
|
50
|
+
innerBase: {},
|
|
51
|
+
innerPhoto: {
|
|
52
|
+
width: r(58),
|
|
53
|
+
height: r(58),
|
|
54
|
+
borderRadius: r(29),
|
|
55
|
+
backgroundColor: DARK.white
|
|
56
|
+
},
|
|
57
|
+
innerVideo: {
|
|
58
|
+
width: r(58),
|
|
59
|
+
height: r(58),
|
|
60
|
+
borderRadius: r(29),
|
|
61
|
+
backgroundColor: DARK.recRed
|
|
62
|
+
},
|
|
63
|
+
innerRecording: {
|
|
64
|
+
width: r(24),
|
|
65
|
+
height: r(24),
|
|
66
|
+
borderRadius: r(4),
|
|
67
|
+
backgroundColor: DARK.recRed
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
//# sourceMappingURL=Shutter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useRef","Animated","Pressable","StyleSheet","r","DARK","jsx","_jsx","Shutter","mode","recording","disabled","onPress","scale","Value","current","to","v","timing","toValue","duration","useNativeDriver","start","isVideo","inner","styles","innerRecording","innerVideo","innerPhoto","testID","onPressIn","onPressOut","children","View","style","ring","transform","innerBase","create","width","height","borderRadius","borderWidth","borderColor","white95","alignItems","justifyContent","backgroundColor","white","recRed"],"sourceRoot":"../../../../src","sources":["camera/footer/Shutter.tsx"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,OAAO;AAC9B,SAASC,QAAQ,EAAEC,SAAS,EAAEC,UAAU,QAAQ,cAAc;AAC9D,SAASC,CAAC,QAAQ,2BAA2B;AAC7C,SAASC,IAAI,QAAQ,mBAAgB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAStC,OAAO,SAASC,OAAOA,CAAC;EAAEC,IAAI;EAAEC,SAAS;EAAEC,QAAQ;EAAEC;AAAe,CAAC,EAAE;EACrE,MAAMC,KAAK,GAAGb,MAAM,CAAC,IAAIC,QAAQ,CAACa,KAAK,CAAC,CAAC,CAAC,CAAC,CAACC,OAAO;EACnD,MAAMC,EAAE,GAAIC,CAAS,IACnBhB,QAAQ,CAACiB,MAAM,CAACL,KAAK,EAAE;IACrBM,OAAO,EAAEF,CAAC;IACVG,QAAQ,EAAE,GAAG;IACbC,eAAe,EAAE;EACnB,CAAC,CAAC,CAACC,KAAK,CAAC,CAAC;EACZ,MAAMC,OAAO,GAAGd,IAAI,KAAK,OAAO;EAChC,MAAMe,KAAK,GAAGd,SAAS,GACnBe,MAAM,CAACC,cAAc,GACrBH,OAAO,GACLE,MAAM,CAACE,UAAU,GACjBF,MAAM,CAACG,UAAU;EACvB,oBACErB,IAAA,CAACL,SAAS;IACR2B,MAAM,EAAC,aAAa;IACpBlB,QAAQ,EAAEA,QAAS;IACnBC,OAAO,EAAEA,OAAQ;IACjBkB,SAAS,EAAEA,CAAA,KAAMd,EAAE,CAAC,IAAI,CAAE;IAC1Be,UAAU,EAAEA,CAAA,KAAMf,EAAE,CAAC,CAAC,CAAE;IAAAgB,QAAA,eAExBzB,IAAA,CAACN,QAAQ,CAACgC,IAAI;MAACC,KAAK,EAAE,CAACT,MAAM,CAACU,IAAI,EAAE;QAAEC,SAAS,EAAE,CAAC;UAAEvB;QAAM,CAAC;MAAE,CAAC,CAAE;MAAAmB,QAAA,eAC9DzB,IAAA,CAACN,QAAQ,CAACgC,IAAI;QAACC,KAAK,EAAE,CAACT,MAAM,CAACY,SAAS,EAAEb,KAAK;MAAE,CAAE;IAAC,CACtC;EAAC,CACP,CAAC;AAEhB;AAEA,MAAMC,MAAM,GAAGtB,UAAU,CAACmC,MAAM,CAAC;EAC/BH,IAAI,EAAE;IACJI,KAAK,EAAEnC,CAAC,CAAC,EAAE,CAAC;IACZoC,MAAM,EAAEpC,CAAC,CAAC,EAAE,CAAC;IACbqC,YAAY,EAAErC,CAAC,CAAC,EAAE,CAAC;IACnBsC,WAAW,EAAEtC,CAAC,CAAC,CAAC,CAAC;IACjBuC,WAAW,EAAEtC,IAAI,CAACuC,OAAO;IACzBC,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE;EAClB,CAAC;EACDT,SAAS,EAAE,CAAC,CAAC;EACbT,UAAU,EAAE;IACVW,KAAK,EAAEnC,CAAC,CAAC,EAAE,CAAC;IACZoC,MAAM,EAAEpC,CAAC,CAAC,EAAE,CAAC;IACbqC,YAAY,EAAErC,CAAC,CAAC,EAAE,CAAC;IACnB2C,eAAe,EAAE1C,IAAI,CAAC2C;EACxB,CAAC;EACDrB,UAAU,EAAE;IACVY,KAAK,EAAEnC,CAAC,CAAC,EAAE,CAAC;IACZoC,MAAM,EAAEpC,CAAC,CAAC,EAAE,CAAC;IACbqC,YAAY,EAAErC,CAAC,CAAC,EAAE,CAAC;IACnB2C,eAAe,EAAE1C,IAAI,CAAC4C;EACxB,CAAC;EACDvB,cAAc,EAAE;IACda,KAAK,EAAEnC,CAAC,CAAC,EAAE,CAAC;IACZoC,MAAM,EAAEpC,CAAC,CAAC,EAAE,CAAC;IACbqC,YAAY,EAAErC,CAAC,CAAC,CAAC,CAAC;IAClB2C,eAAe,EAAE1C,IAAI,CAAC4C;EACxB;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { render, fireEvent } from '@testing-library/react-native';
|
|
4
|
+
import { Shutter } from "./Shutter.js";
|
|
5
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
6
|
+
it('fires onPress and renders for each mode', () => {
|
|
7
|
+
const onPress = jest.fn();
|
|
8
|
+
const {
|
|
9
|
+
getByTestId,
|
|
10
|
+
rerender
|
|
11
|
+
} = render(/*#__PURE__*/_jsx(Shutter, {
|
|
12
|
+
mode: "single",
|
|
13
|
+
recording: false,
|
|
14
|
+
onPress: onPress
|
|
15
|
+
}));
|
|
16
|
+
fireEvent.press(getByTestId('shutter-btn'));
|
|
17
|
+
expect(onPress).toHaveBeenCalledTimes(1);
|
|
18
|
+
expect(() => rerender(/*#__PURE__*/_jsx(Shutter, {
|
|
19
|
+
mode: "video",
|
|
20
|
+
recording: false,
|
|
21
|
+
onPress: onPress
|
|
22
|
+
}))).not.toThrow();
|
|
23
|
+
expect(() => rerender(/*#__PURE__*/_jsx(Shutter, {
|
|
24
|
+
mode: "video",
|
|
25
|
+
recording: true,
|
|
26
|
+
onPress: onPress
|
|
27
|
+
}))).not.toThrow();
|
|
28
|
+
});
|
|
29
|
+
it('disabled blocks press', () => {
|
|
30
|
+
const onPress = jest.fn();
|
|
31
|
+
const {
|
|
32
|
+
getByTestId
|
|
33
|
+
} = render(/*#__PURE__*/_jsx(Shutter, {
|
|
34
|
+
mode: "single",
|
|
35
|
+
recording: false,
|
|
36
|
+
disabled: true,
|
|
37
|
+
onPress: onPress
|
|
38
|
+
}));
|
|
39
|
+
fireEvent.press(getByTestId('shutter-btn'));
|
|
40
|
+
expect(onPress).not.toHaveBeenCalled();
|
|
41
|
+
});
|
|
42
|
+
//# sourceMappingURL=Shutter.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["render","fireEvent","Shutter","jsx","_jsx","it","onPress","jest","fn","getByTestId","rerender","mode","recording","press","expect","toHaveBeenCalledTimes","not","toThrow","disabled","toHaveBeenCalled"],"sourceRoot":"../../../../src","sources":["camera/footer/Shutter.test.tsx"],"mappings":";;AAAA,SAASA,MAAM,EAAEC,SAAS,QAAQ,+BAA+B;AACjE,SAASC,OAAO,QAAQ,cAAW;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEpCC,EAAE,CAAC,yCAAyC,EAAE,MAAM;EAClD,MAAMC,OAAO,GAAGC,IAAI,CAACC,EAAE,CAAC,CAAC;EACzB,MAAM;IAAEC,WAAW;IAAEC;EAAS,CAAC,GAAGV,MAAM,cACtCI,IAAA,CAACF,OAAO;IAACS,IAAI,EAAC,QAAQ;IAACC,SAAS,EAAE,KAAM;IAACN,OAAO,EAAEA;EAAQ,CAAE,CAC9D,CAAC;EACDL,SAAS,CAACY,KAAK,CAACJ,WAAW,CAAC,aAAa,CAAC,CAAC;EAC3CK,MAAM,CAACR,OAAO,CAAC,CAACS,qBAAqB,CAAC,CAAC,CAAC;EACxCD,MAAM,CAAC,MACLJ,QAAQ,cAACN,IAAA,CAACF,OAAO;IAACS,IAAI,EAAC,OAAO;IAACC,SAAS,EAAE,KAAM;IAACN,OAAO,EAAEA;EAAQ,CAAE,CAAC,CACvE,CAAC,CAACU,GAAG,CAACC,OAAO,CAAC,CAAC;EACfH,MAAM,CAAC,MACLJ,QAAQ,cAACN,IAAA,CAACF,OAAO;IAACS,IAAI,EAAC,OAAO;IAACC,SAAS,EAAE,IAAK;IAACN,OAAO,EAAEA;EAAQ,CAAE,CAAC,CACtE,CAAC,CAACU,GAAG,CAACC,OAAO,CAAC,CAAC;AACjB,CAAC,CAAC;AAEFZ,EAAE,CAAC,uBAAuB,EAAE,MAAM;EAChC,MAAMC,OAAO,GAAGC,IAAI,CAACC,EAAE,CAAC,CAAC;EACzB,MAAM;IAAEC;EAAY,CAAC,GAAGT,MAAM,cAC5BI,IAAA,CAACF,OAAO;IAACS,IAAI,EAAC,QAAQ;IAACC,SAAS,EAAE,KAAM;IAACM,QAAQ;IAACZ,OAAO,EAAEA;EAAQ,CAAE,CACvE,CAAC;EACDL,SAAS,CAACY,KAAK,CAACJ,WAAW,CAAC,aAAa,CAAC,CAAC;EAC3CK,MAAM,CAACR,OAAO,CAAC,CAACU,GAAG,CAACG,gBAAgB,CAAC,CAAC;AACxC,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { Image, StyleSheet, Text, TouchableOpacity, View } from 'react-native';
|
|
4
|
+
import { r } from '@unif/react-native-design';
|
|
5
|
+
import { DARK } from "../colors/dark.js";
|
|
6
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
7
|
+
export function ThumbnailStack({
|
|
8
|
+
latestUri,
|
|
9
|
+
count,
|
|
10
|
+
onPress
|
|
11
|
+
}) {
|
|
12
|
+
return /*#__PURE__*/_jsxs(TouchableOpacity, {
|
|
13
|
+
testID: "thumbnail-stack",
|
|
14
|
+
onPress: onPress,
|
|
15
|
+
style: styles.wrap,
|
|
16
|
+
children: [latestUri ? /*#__PURE__*/_jsx(Image, {
|
|
17
|
+
source: {
|
|
18
|
+
uri: latestUri
|
|
19
|
+
},
|
|
20
|
+
style: styles.img
|
|
21
|
+
}) : /*#__PURE__*/_jsx(View, {
|
|
22
|
+
style: styles.empty
|
|
23
|
+
}), count > 1 && /*#__PURE__*/_jsx(View, {
|
|
24
|
+
style: styles.badge,
|
|
25
|
+
testID: "thumb-badge",
|
|
26
|
+
children: /*#__PURE__*/_jsx(Text, {
|
|
27
|
+
style: styles.badgeText,
|
|
28
|
+
children: count
|
|
29
|
+
})
|
|
30
|
+
})]
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
const styles = StyleSheet.create({
|
|
34
|
+
wrap: {
|
|
35
|
+
width: r(44),
|
|
36
|
+
height: r(44)
|
|
37
|
+
},
|
|
38
|
+
img: {
|
|
39
|
+
width: r(44),
|
|
40
|
+
height: r(44),
|
|
41
|
+
borderRadius: r(6),
|
|
42
|
+
borderWidth: 2,
|
|
43
|
+
borderColor: DARK.white
|
|
44
|
+
},
|
|
45
|
+
empty: {
|
|
46
|
+
width: r(44),
|
|
47
|
+
height: r(44),
|
|
48
|
+
borderRadius: r(8),
|
|
49
|
+
borderWidth: 1.5,
|
|
50
|
+
borderColor: DARK.white40,
|
|
51
|
+
backgroundColor: DARK.white08
|
|
52
|
+
},
|
|
53
|
+
badge: {
|
|
54
|
+
position: 'absolute',
|
|
55
|
+
top: r(-6),
|
|
56
|
+
right: r(-6),
|
|
57
|
+
minWidth: r(20),
|
|
58
|
+
height: r(20),
|
|
59
|
+
borderRadius: r(999),
|
|
60
|
+
backgroundColor: DARK.orange,
|
|
61
|
+
alignItems: 'center',
|
|
62
|
+
justifyContent: 'center',
|
|
63
|
+
paddingHorizontal: r(4)
|
|
64
|
+
},
|
|
65
|
+
badgeText: {
|
|
66
|
+
color: DARK.white,
|
|
67
|
+
fontSize: r(11),
|
|
68
|
+
fontWeight: '700'
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
//# sourceMappingURL=ThumbnailStack.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Image","StyleSheet","Text","TouchableOpacity","View","r","DARK","jsx","_jsx","jsxs","_jsxs","ThumbnailStack","latestUri","count","onPress","testID","style","styles","wrap","children","source","uri","img","empty","badge","badgeText","create","width","height","borderRadius","borderWidth","borderColor","white","white40","backgroundColor","white08","position","top","right","minWidth","orange","alignItems","justifyContent","paddingHorizontal","color","fontSize","fontWeight"],"sourceRoot":"../../../../src","sources":["camera/footer/ThumbnailStack.tsx"],"mappings":";;AAAA,SAASA,KAAK,EAAEC,UAAU,EAAEC,IAAI,EAAEC,gBAAgB,EAAEC,IAAI,QAAQ,cAAc;AAC9E,SAASC,CAAC,QAAQ,2BAA2B;AAC7C,SAASC,IAAI,QAAQ,mBAAgB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAItC,OAAO,SAASC,cAAcA,CAAC;EAAEC,SAAS;EAAEC,KAAK;EAAEC;AAAe,CAAC,EAAE;EACnE,oBACEJ,KAAA,CAACP,gBAAgB;IACfY,MAAM,EAAC,iBAAiB;IACxBD,OAAO,EAAEA,OAAQ;IACjBE,KAAK,EAAEC,MAAM,CAACC,IAAK;IAAAC,QAAA,GAElBP,SAAS,gBACRJ,IAAA,CAACR,KAAK;MAACoB,MAAM,EAAE;QAAEC,GAAG,EAAET;MAAU,CAAE;MAACI,KAAK,EAAEC,MAAM,CAACK;IAAI,CAAE,CAAC,gBAExDd,IAAA,CAACJ,IAAI;MAACY,KAAK,EAAEC,MAAM,CAACM;IAAM,CAAE,CAC7B,EACAV,KAAK,GAAG,CAAC,iBACRL,IAAA,CAACJ,IAAI;MAACY,KAAK,EAAEC,MAAM,CAACO,KAAM;MAACT,MAAM,EAAC,aAAa;MAAAI,QAAA,eAC7CX,IAAA,CAACN,IAAI;QAACc,KAAK,EAAEC,MAAM,CAACQ,SAAU;QAAAN,QAAA,EAAEN;MAAK,CAAO;IAAC,CACzC,CACP;EAAA,CACe,CAAC;AAEvB;AAEA,MAAMI,MAAM,GAAGhB,UAAU,CAACyB,MAAM,CAAC;EAC/BR,IAAI,EAAE;IAAES,KAAK,EAAEtB,CAAC,CAAC,EAAE,CAAC;IAAEuB,MAAM,EAAEvB,CAAC,CAAC,EAAE;EAAE,CAAC;EACrCiB,GAAG,EAAE;IACHK,KAAK,EAAEtB,CAAC,CAAC,EAAE,CAAC;IACZuB,MAAM,EAAEvB,CAAC,CAAC,EAAE,CAAC;IACbwB,YAAY,EAAExB,CAAC,CAAC,CAAC,CAAC;IAClByB,WAAW,EAAE,CAAC;IACdC,WAAW,EAAEzB,IAAI,CAAC0B;EACpB,CAAC;EACDT,KAAK,EAAE;IACLI,KAAK,EAAEtB,CAAC,CAAC,EAAE,CAAC;IACZuB,MAAM,EAAEvB,CAAC,CAAC,EAAE,CAAC;IACbwB,YAAY,EAAExB,CAAC,CAAC,CAAC,CAAC;IAClByB,WAAW,EAAE,GAAG;IAChBC,WAAW,EAAEzB,IAAI,CAAC2B,OAAO;IACzBC,eAAe,EAAE5B,IAAI,CAAC6B;EACxB,CAAC;EACDX,KAAK,EAAE;IACLY,QAAQ,EAAE,UAAU;IACpBC,GAAG,EAAEhC,CAAC,CAAC,CAAC,CAAC,CAAC;IACViC,KAAK,EAAEjC,CAAC,CAAC,CAAC,CAAC,CAAC;IACZkC,QAAQ,EAAElC,CAAC,CAAC,EAAE,CAAC;IACfuB,MAAM,EAAEvB,CAAC,CAAC,EAAE,CAAC;IACbwB,YAAY,EAAExB,CAAC,CAAC,GAAG,CAAC;IACpB6B,eAAe,EAAE5B,IAAI,CAACkC,MAAM;IAC5BC,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE,QAAQ;IACxBC,iBAAiB,EAAEtC,CAAC,CAAC,CAAC;EACxB,CAAC;EACDoB,SAAS,EAAE;IAAEmB,KAAK,EAAEtC,IAAI,CAAC0B,KAAK;IAAEa,QAAQ,EAAExC,CAAC,CAAC,EAAE,CAAC;IAAEyC,UAAU,EAAE;EAAM;AACrE,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { render, fireEvent } from '@testing-library/react-native';
|
|
4
|
+
import { ThumbnailStack } from "./ThumbnailStack.js";
|
|
5
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
6
|
+
it('empty state, no badge, tappable', () => {
|
|
7
|
+
const onPress = jest.fn();
|
|
8
|
+
const {
|
|
9
|
+
getByTestId,
|
|
10
|
+
queryByTestId
|
|
11
|
+
} = render(/*#__PURE__*/_jsx(ThumbnailStack, {
|
|
12
|
+
latestUri: undefined,
|
|
13
|
+
count: 0,
|
|
14
|
+
onPress: onPress
|
|
15
|
+
}));
|
|
16
|
+
fireEvent.press(getByTestId('thumbnail-stack'));
|
|
17
|
+
expect(onPress).toHaveBeenCalled();
|
|
18
|
+
expect(queryByTestId('thumb-badge')).toBeNull();
|
|
19
|
+
});
|
|
20
|
+
it('shows badge when count > 1', () => {
|
|
21
|
+
const {
|
|
22
|
+
getByTestId
|
|
23
|
+
} = render(/*#__PURE__*/_jsx(ThumbnailStack, {
|
|
24
|
+
latestUri: "file:///a.jpg",
|
|
25
|
+
count: 3,
|
|
26
|
+
onPress: () => {}
|
|
27
|
+
}));
|
|
28
|
+
expect(getByTestId('thumb-badge')).toBeTruthy();
|
|
29
|
+
});
|
|
30
|
+
//# sourceMappingURL=ThumbnailStack.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["render","fireEvent","ThumbnailStack","jsx","_jsx","it","onPress","jest","fn","getByTestId","queryByTestId","latestUri","undefined","count","press","expect","toHaveBeenCalled","toBeNull","toBeTruthy"],"sourceRoot":"../../../../src","sources":["camera/footer/ThumbnailStack.test.tsx"],"mappings":";;AAAA,SAASA,MAAM,EAAEC,SAAS,QAAQ,+BAA+B;AACjE,SAASC,cAAc,QAAQ,qBAAkB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAElDC,EAAE,CAAC,iCAAiC,EAAE,MAAM;EAC1C,MAAMC,OAAO,GAAGC,IAAI,CAACC,EAAE,CAAC,CAAC;EACzB,MAAM;IAAEC,WAAW;IAAEC;EAAc,CAAC,GAAGV,MAAM,cAC3CI,IAAA,CAACF,cAAc;IAACS,SAAS,EAAEC,SAAU;IAACC,KAAK,EAAE,CAAE;IAACP,OAAO,EAAEA;EAAQ,CAAE,CACrE,CAAC;EACDL,SAAS,CAACa,KAAK,CAACL,WAAW,CAAC,iBAAiB,CAAC,CAAC;EAC/CM,MAAM,CAACT,OAAO,CAAC,CAACU,gBAAgB,CAAC,CAAC;EAClCD,MAAM,CAACL,aAAa,CAAC,aAAa,CAAC,CAAC,CAACO,QAAQ,CAAC,CAAC;AACjD,CAAC,CAAC;AAEFZ,EAAE,CAAC,4BAA4B,EAAE,MAAM;EACrC,MAAM;IAAEI;EAAY,CAAC,GAAGT,MAAM,cAC5BI,IAAA,CAACF,cAAc;IAACS,SAAS,EAAC,eAAe;IAACE,KAAK,EAAE,CAAE;IAACP,OAAO,EAAEA,CAAA,KAAM,CAAC;EAAE,CAAE,CAC1E,CAAC;EACDS,MAAM,CAACN,WAAW,CAAC,aAAa,CAAC,CAAC,CAACS,UAAU,CAAC,CAAC;AACjD,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { StyleSheet, Text, TouchableOpacity, View } from 'react-native';
|
|
4
|
+
import { r } from '@unif/react-native-design';
|
|
5
|
+
import { DARK } from "../colors/dark.js";
|
|
6
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
|
+
const STOPS = [0.5, 1, 2];
|
|
8
|
+
export function ZoomChips({
|
|
9
|
+
zoom,
|
|
10
|
+
onSelect
|
|
11
|
+
}) {
|
|
12
|
+
return /*#__PURE__*/_jsx(View, {
|
|
13
|
+
style: styles.row,
|
|
14
|
+
children: STOPS.map(z => {
|
|
15
|
+
const active = Math.abs(zoom - z) < 0.05;
|
|
16
|
+
return /*#__PURE__*/_jsx(TouchableOpacity, {
|
|
17
|
+
testID: `zoom-chip-${z}`,
|
|
18
|
+
onPress: () => onSelect(z),
|
|
19
|
+
style: [styles.chip, active && styles.chipActive],
|
|
20
|
+
children: /*#__PURE__*/_jsx(Text, {
|
|
21
|
+
style: [styles.txt, active && styles.txtActive],
|
|
22
|
+
children: active ? `${z}x` : `${z}`
|
|
23
|
+
})
|
|
24
|
+
}, z);
|
|
25
|
+
})
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
const styles = StyleSheet.create({
|
|
29
|
+
row: {
|
|
30
|
+
flexDirection: 'row',
|
|
31
|
+
gap: r(8),
|
|
32
|
+
padding: r(4),
|
|
33
|
+
borderRadius: r(999),
|
|
34
|
+
backgroundColor: DARK.black45
|
|
35
|
+
},
|
|
36
|
+
chip: {
|
|
37
|
+
width: r(32),
|
|
38
|
+
height: r(32),
|
|
39
|
+
borderRadius: r(16),
|
|
40
|
+
alignItems: 'center',
|
|
41
|
+
justifyContent: 'center'
|
|
42
|
+
},
|
|
43
|
+
chipActive: {
|
|
44
|
+
backgroundColor: DARK.white95
|
|
45
|
+
},
|
|
46
|
+
txt: {
|
|
47
|
+
color: DARK.white,
|
|
48
|
+
fontSize: r(12),
|
|
49
|
+
fontWeight: '500'
|
|
50
|
+
},
|
|
51
|
+
txtActive: {
|
|
52
|
+
color: DARK.orange,
|
|
53
|
+
fontSize: r(11),
|
|
54
|
+
fontWeight: '700'
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
//# sourceMappingURL=ZoomChips.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["StyleSheet","Text","TouchableOpacity","View","r","DARK","jsx","_jsx","STOPS","ZoomChips","zoom","onSelect","style","styles","row","children","map","z","active","Math","abs","testID","onPress","chip","chipActive","txt","txtActive","create","flexDirection","gap","padding","borderRadius","backgroundColor","black45","width","height","alignItems","justifyContent","white95","color","white","fontSize","fontWeight","orange"],"sourceRoot":"../../../../src","sources":["camera/footer/ZoomChips.tsx"],"mappings":";;AAAA,SAASA,UAAU,EAAEC,IAAI,EAAEC,gBAAgB,EAAEC,IAAI,QAAQ,cAAc;AACvE,SAASC,CAAC,QAAQ,2BAA2B;AAC7C,SAASC,IAAI,QAAQ,mBAAgB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEtC,MAAMC,KAAK,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAU;AAElC,OAAO,SAASC,SAASA,CAAC;EACxBC,IAAI;EACJC;AAIF,CAAC,EAAE;EACD,oBACEJ,IAAA,CAACJ,IAAI;IAACS,KAAK,EAAEC,MAAM,CAACC,GAAI;IAAAC,QAAA,EACrBP,KAAK,CAACQ,GAAG,CAAEC,CAAC,IAAK;MAChB,MAAMC,MAAM,GAAGC,IAAI,CAACC,GAAG,CAACV,IAAI,GAAGO,CAAC,CAAC,GAAG,IAAI;MACxC,oBACEV,IAAA,CAACL,gBAAgB;QAEfmB,MAAM,EAAE,aAAaJ,CAAC,EAAG;QACzBK,OAAO,EAAEA,CAAA,KAAMX,QAAQ,CAACM,CAAC,CAAE;QAC3BL,KAAK,EAAE,CAACC,MAAM,CAACU,IAAI,EAAEL,MAAM,IAAIL,MAAM,CAACW,UAAU,CAAE;QAAAT,QAAA,eAElDR,IAAA,CAACN,IAAI;UAACW,KAAK,EAAE,CAACC,MAAM,CAACY,GAAG,EAAEP,MAAM,IAAIL,MAAM,CAACa,SAAS,CAAE;UAAAX,QAAA,EACnDG,MAAM,GAAG,GAAGD,CAAC,GAAG,GAAG,GAAGA,CAAC;QAAE,CACtB;MAAC,GAPFA,CAQW,CAAC;IAEvB,CAAC;EAAC,CACE,CAAC;AAEX;AAEA,MAAMJ,MAAM,GAAGb,UAAU,CAAC2B,MAAM,CAAC;EAC/Bb,GAAG,EAAE;IACHc,aAAa,EAAE,KAAK;IACpBC,GAAG,EAAEzB,CAAC,CAAC,CAAC,CAAC;IACT0B,OAAO,EAAE1B,CAAC,CAAC,CAAC,CAAC;IACb2B,YAAY,EAAE3B,CAAC,CAAC,GAAG,CAAC;IACpB4B,eAAe,EAAE3B,IAAI,CAAC4B;EACxB,CAAC;EACDV,IAAI,EAAE;IACJW,KAAK,EAAE9B,CAAC,CAAC,EAAE,CAAC;IACZ+B,MAAM,EAAE/B,CAAC,CAAC,EAAE,CAAC;IACb2B,YAAY,EAAE3B,CAAC,CAAC,EAAE,CAAC;IACnBgC,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE;EAClB,CAAC;EACDb,UAAU,EAAE;IAAEQ,eAAe,EAAE3B,IAAI,CAACiC;EAAQ,CAAC;EAC7Cb,GAAG,EAAE;IAAEc,KAAK,EAAElC,IAAI,CAACmC,KAAK;IAAEC,QAAQ,EAAErC,CAAC,CAAC,EAAE,CAAC;IAAEsC,UAAU,EAAE;EAAM,CAAC;EAC9DhB,SAAS,EAAE;IAAEa,KAAK,EAAElC,IAAI,CAACsC,MAAM;IAAEF,QAAQ,EAAErC,CAAC,CAAC,EAAE,CAAC;IAAEsC,UAAU,EAAE;EAAM;AACtE,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { render, fireEvent } from '@testing-library/react-native';
|
|
4
|
+
import { ZoomChips } from "./ZoomChips.js";
|
|
5
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
6
|
+
it('renders 3 chips and selects', () => {
|
|
7
|
+
const onSelect = jest.fn();
|
|
8
|
+
const {
|
|
9
|
+
getByTestId
|
|
10
|
+
} = render(/*#__PURE__*/_jsx(ZoomChips, {
|
|
11
|
+
zoom: 1,
|
|
12
|
+
onSelect: onSelect
|
|
13
|
+
}));
|
|
14
|
+
fireEvent.press(getByTestId('zoom-chip-2'));
|
|
15
|
+
expect(onSelect).toHaveBeenCalledWith(2);
|
|
16
|
+
});
|
|
17
|
+
//# sourceMappingURL=ZoomChips.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["render","fireEvent","ZoomChips","jsx","_jsx","it","onSelect","jest","fn","getByTestId","zoom","press","expect","toHaveBeenCalledWith"],"sourceRoot":"../../../../src","sources":["camera/footer/ZoomChips.test.tsx"],"mappings":";;AAAA,SAASA,MAAM,EAAEC,SAAS,QAAQ,+BAA+B;AACjE,SAASC,SAAS,QAAQ,gBAAa;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAExCC,EAAE,CAAC,6BAA6B,EAAE,MAAM;EACtC,MAAMC,QAAQ,GAAGC,IAAI,CAACC,EAAE,CAAC,CAAC;EAC1B,MAAM;IAAEC;EAAY,CAAC,GAAGT,MAAM,cAACI,IAAA,CAACF,SAAS;IAACQ,IAAI,EAAE,CAAE;IAACJ,QAAQ,EAAEA;EAAS,CAAE,CAAC,CAAC;EAC1EL,SAAS,CAACU,KAAK,CAACF,WAAW,CAAC,aAAa,CAAC,CAAC;EAC3CG,MAAM,CAACN,QAAQ,CAAC,CAACO,oBAAoB,CAAC,CAAC,CAAC;AAC1C,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
export {
|
|
3
|
+
export { ActionRow } from "./ActionRow.js";
|
|
4
|
+
export { ModeSwitcherPill } from "./ModeSwitcherPill.js";
|
|
5
|
+
export { Shutter } from "./Shutter.js";
|
|
6
|
+
export { ZoomChips } from "./ZoomChips.js";
|
|
7
|
+
export { RecordingTimer } from "./RecordingTimer.js";
|
|
8
|
+
export { ThumbnailStack } from "./ThumbnailStack.js";
|
|
9
|
+
export { FlipButton } from "./FlipButton.js";
|
|
4
10
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["ActionRow","ModeSwitcherPill","Shutter","ZoomChips","RecordingTimer","ThumbnailStack","FlipButton"],"sourceRoot":"../../../../src","sources":["camera/footer/index.tsx"],"mappings":";;AAAA,SAASA,SAAS,QAAQ,gBAAa;AACvC,SAASC,gBAAgB,QAAQ,uBAAoB;AACrD,SAASC,OAAO,QAAQ,cAAW;AACnC,SAASC,SAAS,QAAQ,gBAAa;AACvC,SAASC,cAAc,QAAQ,qBAAkB;AACjD,SAASC,cAAc,QAAQ,qBAAkB;AACjD,SAASC,UAAU,QAAQ,iBAAc","ignoreList":[]}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import Svg, { Path, Line } from 'react-native-svg';
|
|
4
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
5
|
+
export function VolumeIcon({
|
|
6
|
+
on,
|
|
7
|
+
size,
|
|
8
|
+
color
|
|
9
|
+
}) {
|
|
10
|
+
return /*#__PURE__*/_jsxs(Svg, {
|
|
11
|
+
width: size,
|
|
12
|
+
height: size,
|
|
13
|
+
viewBox: "0 0 24 24",
|
|
14
|
+
fill: "none",
|
|
15
|
+
children: [/*#__PURE__*/_jsx(Path, {
|
|
16
|
+
d: "M4 9v6h4l5 4V5L8 9H4z",
|
|
17
|
+
fill: color,
|
|
18
|
+
stroke: color,
|
|
19
|
+
strokeWidth: 1.6,
|
|
20
|
+
strokeLinejoin: "round"
|
|
21
|
+
}), on ?
|
|
22
|
+
/*#__PURE__*/
|
|
23
|
+
// 声波两道
|
|
24
|
+
_jsx(Path, {
|
|
25
|
+
d: "M16 8.5a5 5 0 0 1 0 7M18.5 6a8.5 8.5 0 0 1 0 12",
|
|
26
|
+
stroke: color,
|
|
27
|
+
strokeWidth: 1.6,
|
|
28
|
+
strokeLinecap: "round",
|
|
29
|
+
fill: "none"
|
|
30
|
+
}) :
|
|
31
|
+
/*#__PURE__*/
|
|
32
|
+
// 关:斜杠
|
|
33
|
+
_jsx(Line, {
|
|
34
|
+
x1: 16,
|
|
35
|
+
y1: 8,
|
|
36
|
+
x2: 21,
|
|
37
|
+
y2: 16,
|
|
38
|
+
stroke: color,
|
|
39
|
+
strokeWidth: 1.6,
|
|
40
|
+
strokeLinecap: "round"
|
|
41
|
+
})]
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=VolumeIcon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Svg","Path","Line","jsx","_jsx","jsxs","_jsxs","VolumeIcon","on","size","color","width","height","viewBox","fill","children","d","stroke","strokeWidth","strokeLinejoin","strokeLinecap","x1","y1","x2","y2"],"sourceRoot":"../../../../src","sources":["camera/icons/VolumeIcon.tsx"],"mappings":";;AAAA,OAAOA,GAAG,IAAIC,IAAI,EAAEC,IAAI,QAAQ,kBAAkB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAInD,OAAO,SAASC,UAAUA,CAAC;EAAEC,EAAE;EAAEC,IAAI;EAAEC;AAAa,CAAC,EAAE;EACrD,oBACEJ,KAAA,CAACN,GAAG;IAACW,KAAK,EAAEF,IAAK;IAACG,MAAM,EAAEH,IAAK;IAACI,OAAO,EAAC,WAAW;IAACC,IAAI,EAAC,MAAM;IAAAC,QAAA,gBAE7DX,IAAA,CAACH,IAAI;MACHe,CAAC,EAAC,uBAAuB;MACzBF,IAAI,EAAEJ,KAAM;MACZO,MAAM,EAAEP,KAAM;MACdQ,WAAW,EAAE,GAAI;MACjBC,cAAc,EAAC;IAAO,CACvB,CAAC,EACDX,EAAE;IAAA;IACD;IACAJ,IAAA,CAACH,IAAI;MACHe,CAAC,EAAC,iDAAiD;MACnDC,MAAM,EAAEP,KAAM;MACdQ,WAAW,EAAE,GAAI;MACjBE,aAAa,EAAC,OAAO;MACrBN,IAAI,EAAC;IAAM,CACZ,CAAC;IAAA;IAEF;IACAV,IAAA,CAACF,IAAI;MACHmB,EAAE,EAAE,EAAG;MACPC,EAAE,EAAE,CAAE;MACNC,EAAE,EAAE,EAAG;MACPC,EAAE,EAAE,EAAG;MACPP,MAAM,EAAEP,KAAM;MACdQ,WAAW,EAAE,GAAI;MACjBE,aAAa,EAAC;IAAO,CACtB,CACF;EAAA,CACE,CAAC;AAEV","ignoreList":[]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { render } from '@testing-library/react-native';
|
|
4
|
+
import { VolumeIcon } from "./VolumeIcon.js";
|
|
5
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
6
|
+
it('renders without crashing (on/off)', () => {
|
|
7
|
+
expect(() => render(/*#__PURE__*/_jsx(VolumeIcon, {
|
|
8
|
+
on: true,
|
|
9
|
+
size: 20,
|
|
10
|
+
color: "#fff"
|
|
11
|
+
}))).not.toThrow();
|
|
12
|
+
expect(() => render(/*#__PURE__*/_jsx(VolumeIcon, {
|
|
13
|
+
on: false,
|
|
14
|
+
size: 20,
|
|
15
|
+
color: "#fff"
|
|
16
|
+
}))).not.toThrow();
|
|
17
|
+
});
|
|
18
|
+
//# sourceMappingURL=VolumeIcon.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["render","VolumeIcon","jsx","_jsx","it","expect","on","size","color","not","toThrow"],"sourceRoot":"../../../../src","sources":["camera/icons/VolumeIcon.test.tsx"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,+BAA+B;AACtD,SAASC,UAAU,QAAQ,iBAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE1CC,EAAE,CAAC,mCAAmC,EAAE,MAAM;EAC5CC,MAAM,CAAC,MAAML,MAAM,cAACG,IAAA,CAACF,UAAU;IAACK,EAAE;IAACC,IAAI,EAAE,EAAG;IAACC,KAAK,EAAC;EAAM,CAAE,CAAC,CAAC,CAAC,CAACC,GAAG,CAACC,OAAO,CAAC,CAAC;EAC5EL,MAAM,CAAC,MACLL,MAAM,cAACG,IAAA,CAACF,UAAU;IAACK,EAAE,EAAE,KAAM;IAACC,IAAI,EAAE,EAAG;IAACC,KAAK,EAAC;EAAM,CAAE,CAAC,CACzD,CAAC,CAACC,GAAG,CAACC,OAAO,CAAC,CAAC;AACjB,CAAC,CAAC","ignoreList":[]}
|
|
@@ -8,5 +8,7 @@ export { ErrorView } from "./Error.js";
|
|
|
8
8
|
export { Camera } from "./Camera.js";
|
|
9
9
|
export { FocusIndicator } from "./FocusIndicator.js";
|
|
10
10
|
export { capturePhotoToFile } from "./capturePhotoHelper.js";
|
|
11
|
-
export {
|
|
11
|
+
export { ActionRow, ModeSwitcherPill, Shutter, ZoomChips, RecordingTimer, ThumbnailStack, FlipButton } from "./footer/index.js";
|
|
12
|
+
export { CaptureFlash } from "./CaptureFlash.js";
|
|
13
|
+
export { SideRail } from "./setup/index.js";
|
|
12
14
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ModalView","Container","NoPermission","NoCamera","ErrorView","Camera","FocusIndicator","capturePhotoToFile","
|
|
1
|
+
{"version":3,"names":["ModalView","Container","NoPermission","NoCamera","ErrorView","Camera","FocusIndicator","capturePhotoToFile","ActionRow","ModeSwitcherPill","Shutter","ZoomChips","RecordingTimer","ThumbnailStack","FlipButton","CaptureFlash","SideRail"],"sourceRoot":"../../../src","sources":["camera/index.tsx"],"mappings":";;AAAA,SAASA,SAAS,QAAQ,gBAAa;AACvC,SAASC,SAAS,QAAQ,gBAAa;AACvC,SAASC,YAAY,QAAQ,mBAAgB;AAC7C,SAASC,QAAQ,QAAQ,eAAY;AACrC,SAASC,SAAS,QAAQ,YAAS;AACnC,SAASC,MAAM,QAA2B,aAAU;AACpD,SAASC,cAAc,QAAQ,qBAAkB;AACjD,SACEC,kBAAkB,QAEb,yBAAsB;AAC7B,SACEC,SAAS,EACTC,gBAAgB,EAChBC,OAAO,EACPC,SAAS,EACTC,cAAc,EACdC,cAAc,EACdC,UAAU,QACL,mBAAU;AACjB,SAASC,YAAY,QAAQ,mBAAgB;AAC7C,SAASC,QAAQ,QAA0C,kBAAS","ignoreList":[]}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { StyleSheet, Text, View } from 'react-native';
|
|
4
|
+
import { Button, r, useThemedStyles } from '@unif/react-native-design';
|
|
5
|
+
import { jsxs as _jsxs, jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
6
|
+
export function PreviewBottomBar({
|
|
7
|
+
variant,
|
|
8
|
+
index,
|
|
9
|
+
total,
|
|
10
|
+
onRetake,
|
|
11
|
+
onSave,
|
|
12
|
+
onBack,
|
|
13
|
+
onDelete
|
|
14
|
+
}) {
|
|
15
|
+
const styles = useThemedStyles(makeStyles);
|
|
16
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
17
|
+
style: styles.root,
|
|
18
|
+
children: [variant === 'gallery' && /*#__PURE__*/_jsxs(Text, {
|
|
19
|
+
style: styles.counter,
|
|
20
|
+
children: ["\u7B2C ", index + 1, "/", total, " \u5F20"]
|
|
21
|
+
}), /*#__PURE__*/_jsx(View, {
|
|
22
|
+
style: styles.btns,
|
|
23
|
+
children: variant === 'confirm' ? /*#__PURE__*/_jsxs(_Fragment, {
|
|
24
|
+
children: [/*#__PURE__*/_jsx(Button, {
|
|
25
|
+
variant: "ghost",
|
|
26
|
+
label: "\u91CD\u62CD",
|
|
27
|
+
onPress: onRetake,
|
|
28
|
+
testID: "retake-btn"
|
|
29
|
+
}), /*#__PURE__*/_jsx(Button, {
|
|
30
|
+
variant: "primary",
|
|
31
|
+
label: "\u4FDD\u5B58",
|
|
32
|
+
onPress: onSave,
|
|
33
|
+
testID: "save-btn"
|
|
34
|
+
})]
|
|
35
|
+
}) : /*#__PURE__*/_jsxs(_Fragment, {
|
|
36
|
+
children: [/*#__PURE__*/_jsx(Button, {
|
|
37
|
+
variant: "ghost",
|
|
38
|
+
label: "\u8FD4\u56DE",
|
|
39
|
+
onPress: onBack,
|
|
40
|
+
testID: "back-btn"
|
|
41
|
+
}), /*#__PURE__*/_jsx(Button, {
|
|
42
|
+
variant: "danger",
|
|
43
|
+
label: "\u5220\u9664",
|
|
44
|
+
onPress: onDelete,
|
|
45
|
+
testID: "delete-btn"
|
|
46
|
+
})]
|
|
47
|
+
})
|
|
48
|
+
})]
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
const makeStyles = c => StyleSheet.create({
|
|
52
|
+
root: {
|
|
53
|
+
paddingHorizontal: r(16),
|
|
54
|
+
paddingBottom: r(26),
|
|
55
|
+
gap: r(12),
|
|
56
|
+
alignItems: 'center'
|
|
57
|
+
},
|
|
58
|
+
counter: {
|
|
59
|
+
color: c.foreground,
|
|
60
|
+
fontSize: r(15),
|
|
61
|
+
fontWeight: '600'
|
|
62
|
+
},
|
|
63
|
+
btns: {
|
|
64
|
+
flexDirection: 'row',
|
|
65
|
+
gap: r(12),
|
|
66
|
+
justifyContent: 'center'
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
//# sourceMappingURL=PreviewBottomBar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["StyleSheet","Text","View","Button","r","useThemedStyles","jsxs","_jsxs","jsx","_jsx","Fragment","_Fragment","PreviewBottomBar","variant","index","total","onRetake","onSave","onBack","onDelete","styles","makeStyles","style","root","children","counter","btns","label","onPress","testID","c","create","paddingHorizontal","paddingBottom","gap","alignItems","color","foreground","fontSize","fontWeight","flexDirection","justifyContent"],"sourceRoot":"../../../../src","sources":["camera/preview/PreviewBottomBar.tsx"],"mappings":";;AAAA,SAASA,UAAU,EAAEC,IAAI,EAAEC,IAAI,QAAQ,cAAc;AACrD,SAASC,MAAM,EAAEC,CAAC,EAAEC,eAAe,QAAQ,2BAA2B;AAAC,SAAAC,IAAA,IAAAC,KAAA,EAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA;AAavE,OAAO,SAASC,gBAAgBA,CAAC;EAC/BC,OAAO;EACPC,KAAK;EACLC,KAAK;EACLC,QAAQ;EACRC,MAAM;EACNC,MAAM;EACNC;AACK,CAAC,EAAE;EACR,MAAMC,MAAM,GAAGf,eAAe,CAACgB,UAAU,CAAC;EAC1C,oBACEd,KAAA,CAACL,IAAI;IAACoB,KAAK,EAAEF,MAAM,CAACG,IAAK;IAAAC,QAAA,GACtBX,OAAO,KAAK,SAAS,iBACpBN,KAAA,CAACN,IAAI;MAACqB,KAAK,EAAEF,MAAM,CAACK,OAAQ;MAAAD,QAAA,GAAC,SACzB,EAACV,KAAK,GAAG,CAAC,EAAC,GAAC,EAACC,KAAK,EAAC,SACvB;IAAA,CAAM,CACP,eACDN,IAAA,CAACP,IAAI;MAACoB,KAAK,EAAEF,MAAM,CAACM,IAAK;MAAAF,QAAA,EACtBX,OAAO,KAAK,SAAS,gBACpBN,KAAA,CAAAI,SAAA;QAAAa,QAAA,gBACEf,IAAA,CAACN,MAAM;UACLU,OAAO,EAAC,OAAO;UACfc,KAAK,EAAC,cAAI;UACVC,OAAO,EAAEZ,QAAS;UAClBa,MAAM,EAAC;QAAY,CACpB,CAAC,eACFpB,IAAA,CAACN,MAAM;UACLU,OAAO,EAAC,SAAS;UACjBc,KAAK,EAAC,cAAI;UACVC,OAAO,EAAEX,MAAO;UAChBY,MAAM,EAAC;QAAU,CAClB,CAAC;MAAA,CACF,CAAC,gBAEHtB,KAAA,CAAAI,SAAA;QAAAa,QAAA,gBACEf,IAAA,CAACN,MAAM;UACLU,OAAO,EAAC,OAAO;UACfc,KAAK,EAAC,cAAI;UACVC,OAAO,EAAEV,MAAO;UAChBW,MAAM,EAAC;QAAU,CAClB,CAAC,eACFpB,IAAA,CAACN,MAAM;UACLU,OAAO,EAAC,QAAQ;UAChBc,KAAK,EAAC,cAAI;UACVC,OAAO,EAAET,QAAS;UAClBU,MAAM,EAAC;QAAY,CACpB,CAAC;MAAA,CACF;IACH,CACG,CAAC;EAAA,CACH,CAAC;AAEX;AAEA,MAAMR,UAAU,GAAIS,CAAc,IAChC9B,UAAU,CAAC+B,MAAM,CAAC;EAChBR,IAAI,EAAE;IACJS,iBAAiB,EAAE5B,CAAC,CAAC,EAAE,CAAC;IACxB6B,aAAa,EAAE7B,CAAC,CAAC,EAAE,CAAC;IACpB8B,GAAG,EAAE9B,CAAC,CAAC,EAAE,CAAC;IACV+B,UAAU,EAAE;EACd,CAAC;EACDV,OAAO,EAAE;IAAEW,KAAK,EAAEN,CAAC,CAACO,UAAU;IAAEC,QAAQ,EAAElC,CAAC,CAAC,EAAE,CAAC;IAAEmC,UAAU,EAAE;EAAM,CAAC;EACpEb,IAAI,EAAE;IAAEc,aAAa,EAAE,KAAK;IAAEN,GAAG,EAAE9B,CAAC,CAAC,EAAE,CAAC;IAAEqC,cAAc,EAAE;EAAS;AACrE,CAAC,CAAC","ignoreList":[]}
|