@unif/react-native-hms-scan 2.2.0 → 3.0.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/lib/module/Scanner/DeniedOverlay.js +3 -2
- package/lib/module/Scanner/DeniedOverlay.js.map +1 -1
- package/lib/module/Scanner/ResultFail.js +2 -1
- package/lib/module/Scanner/ResultFail.js.map +1 -1
- package/lib/module/Scanner/ScanErrorOverlay.js +2 -1
- package/lib/module/Scanner/ScanErrorOverlay.js.map +1 -1
- package/lib/module/Scanner/ScanToolbar.js +6 -6
- package/lib/module/Scanner/ScanToolbar.js.map +1 -1
- package/lib/module/Scanner/Viewfinder.js +3 -3
- package/lib/module/Scanner/Viewfinder.js.map +1 -1
- package/lib/typescript/src/Scanner/DeniedOverlay.d.ts.map +1 -1
- package/lib/typescript/src/Scanner/ResultFail.d.ts.map +1 -1
- package/lib/typescript/src/Scanner/ScanErrorOverlay.d.ts.map +1 -1
- package/lib/typescript/src/Scanner/ScanToolbar.d.ts.map +1 -1
- package/lib/typescript/src/Scanner/Viewfinder.d.ts.map +1 -1
- package/package.json +5 -3
- package/src/Scanner/DeniedOverlay.tsx +6 -2
- package/src/Scanner/ResultFail.tsx +2 -1
- package/src/Scanner/ScanErrorOverlay.tsx +5 -2
- package/src/Scanner/ScanToolbar.tsx +17 -8
- package/src/Scanner/Viewfinder.tsx +34 -7
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import { PermissionDeniedOutlined, SettingsOutlined } from '@unif/react-native-icons';
|
|
3
4
|
import { StyleSheet, View } from 'react-native';
|
|
4
5
|
import { Button, Empty, useThemedStyles, r } from '@unif/react-native-design';
|
|
5
6
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
@@ -12,7 +13,7 @@ export function DeniedOverlay({
|
|
|
12
13
|
return /*#__PURE__*/_jsxs(View, {
|
|
13
14
|
style: s.overlay,
|
|
14
15
|
children: [/*#__PURE__*/_jsx(Empty, {
|
|
15
|
-
icon:
|
|
16
|
+
icon: PermissionDeniedOutlined,
|
|
16
17
|
title: "\u9700\u8981\u76F8\u673A\u6743\u9650",
|
|
17
18
|
desc: "\u5F00\u542F\u76F8\u673A\u540E\uFF0C\u624D\u80FD\u626B\u63CF\u6761\u7801\u4E0E\u4E8C\u7EF4\u7801\u3002\u8BF7\u524D\u5F80\u7CFB\u7EDF\u8BBE\u7F6E\u6388\u6743\u3002"
|
|
18
19
|
}), /*#__PURE__*/_jsxs(View, {
|
|
@@ -25,7 +26,7 @@ export function DeniedOverlay({
|
|
|
25
26
|
}), /*#__PURE__*/_jsx(Button, {
|
|
26
27
|
label: "\u53BB\u8BBE\u7F6E\u5F00\u542F",
|
|
27
28
|
variant: "primary",
|
|
28
|
-
leftIcon:
|
|
29
|
+
leftIcon: SettingsOutlined,
|
|
29
30
|
block: true,
|
|
30
31
|
onPress: onSettings
|
|
31
32
|
})]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["StyleSheet","View","Button","Empty","useThemedStyles","r","jsx","_jsx","jsxs","_jsxs","DeniedOverlay","onClose","onSettings","s","makeStyles","style","overlay","children","icon","title","desc","styles","row","label","variant","block","onPress","leftIcon","create","flexDirection","columnGap","marginTop","c","position","top","left","right","bottom","zIndex","backgroundColor","background","alignItems","justifyContent","paddingHorizontal","rowGap"],"sourceRoot":"../../../src","sources":["Scanner/DeniedOverlay.tsx"],"mappings":";;AAAA,
|
|
1
|
+
{"version":3,"names":["PermissionDeniedOutlined","SettingsOutlined","StyleSheet","View","Button","Empty","useThemedStyles","r","jsx","_jsx","jsxs","_jsxs","DeniedOverlay","onClose","onSettings","s","makeStyles","style","overlay","children","icon","title","desc","styles","row","label","variant","block","onPress","leftIcon","create","flexDirection","columnGap","marginTop","c","position","top","left","right","bottom","zIndex","backgroundColor","background","alignItems","justifyContent","paddingHorizontal","rowGap"],"sourceRoot":"../../../src","sources":["Scanner/DeniedOverlay.tsx"],"mappings":";;AAAA,SACEA,wBAAwB,EACxBC,gBAAgB,QACX,0BAA0B;AACjC,SAASC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAC/C,SACEC,MAAM,EACNC,KAAK,EACLC,eAAe,EACfC,CAAC,QAEI,2BAA2B;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAOnC;AACA,OAAO,SAASC,aAAaA,CAAC;EAAEC,OAAO;EAAEC;AAA+B,CAAC,EAAE;EACzE,MAAMC,CAAC,GAAGT,eAAe,CAACU,UAAU,CAAC;EACrC,oBACEL,KAAA,CAACR,IAAI;IAACc,KAAK,EAAEF,CAAC,CAACG,OAAQ;IAAAC,QAAA,gBACrBV,IAAA,CAACJ,KAAK;MACJe,IAAI,EAAEpB,wBAAyB;MAC/BqB,KAAK,EAAC,sCAAQ;MACdC,IAAI,EAAC;IAA6B,CACnC,CAAC,eAGFX,KAAA,CAACR,IAAI;MAACc,KAAK,EAAEM,MAAM,CAACC,GAAI;MAAAL,QAAA,GACrBN,OAAO,iBACNJ,IAAA,CAACL,MAAM;QAACqB,KAAK,EAAC,cAAI;QAACC,OAAO,EAAC,OAAO;QAACC,KAAK;QAACC,OAAO,EAAEf;MAAQ,CAAE,CAC7D,eACDJ,IAAA,CAACL,MAAM;QACLqB,KAAK,EAAC,gCAAO;QACbC,OAAO,EAAC,SAAS;QACjBG,QAAQ,EAAE5B,gBAAiB;QAC3B0B,KAAK;QACLC,OAAO,EAAEd;MAAW,CACrB,CAAC;IAAA,CACE,CAAC;EAAA,CACH,CAAC;AAEX;AAEA,MAAMS,MAAM,GAAGrB,UAAU,CAAC4B,MAAM,CAAC;EAC/BN,GAAG,EAAE;IAAEO,aAAa,EAAE,KAAK;IAAEC,SAAS,EAAEzB,CAAC,CAAC,EAAE,CAAC;IAAE0B,SAAS,EAAE1B,CAAC,CAAC,CAAC;EAAE;AACjE,CAAC,CAAC;AAEF,MAAMS,UAAU,GAAIkB,CAAc,IAChChC,UAAU,CAAC4B,MAAM,CAAC;EAChBZ,OAAO,EAAE;IACPiB,QAAQ,EAAE,UAAU;IACpBC,GAAG,EAAE,CAAC;IACNC,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,CAAC;IACRC,MAAM,EAAE,CAAC;IACTC,MAAM,EAAE,EAAE;IACVC,eAAe,EAAEP,CAAC,CAACQ,UAAU;IAC7BC,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE,QAAQ;IACxBC,iBAAiB,EAAEtC,CAAC,CAAC,EAAE,CAAC;IACxBuC,MAAM,EAAEvC,CAAC,CAAC,CAAC;EACb;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import { ErrorAlertOutlined } from '@unif/react-native-icons';
|
|
3
4
|
import { useEffect, useRef } from 'react';
|
|
4
5
|
import { Animated, StyleSheet, View } from 'react-native';
|
|
5
6
|
import { Button, Empty, GlassLayer, useThemedStyles, r } from '@unif/react-native-design';
|
|
@@ -41,7 +42,7 @@ export function ResultFail({
|
|
|
41
42
|
paddingBottom: bottomInset + r(14)
|
|
42
43
|
}],
|
|
43
44
|
children: [/*#__PURE__*/_jsx(Empty, {
|
|
44
|
-
icon:
|
|
45
|
+
icon: ErrorAlertOutlined,
|
|
45
46
|
title: failed ? '图片识别失败' : '未识别到条码',
|
|
46
47
|
desc: failed ? '无法读取或解码图片,请重试。' : '请将条码完整置于框内、保持平整并对准光线后重试。'
|
|
47
48
|
}), /*#__PURE__*/_jsx(Button, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useEffect","useRef","Animated","StyleSheet","View","Button","Empty","GlassLayer","useThemedStyles","r","jsx","_jsx","jsxs","_jsxs","ResultFail","bottomInset","failed","onRescan","s","makeStyles","anim","Value","current","timing","toValue","duration","useNativeDriver","start","style","sheet","transform","translateY","interpolate","inputRange","outputRange","children","styles","surface","glass","testID","grabber","inner","paddingBottom","icon","title","desc","label","variant","block","onPress","create","borderTopLeftRadius","borderTopRightRadius","paddingTop","overflow","paddingHorizontal","rowGap","c","shadow","position","left","right","bottom","zIndex","floating","width","height","borderRadius","backgroundColor","surfaceContainerHighest","alignSelf"],"sourceRoot":"../../../src","sources":["Scanner/ResultFail.tsx"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,MAAM,QAAQ,OAAO;AACzC,SAASC,QAAQ,EAAEC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AACzD,SACEC,MAAM,EACNC,KAAK,EACLC,UAAU,EACVC,eAAe,EACfC,CAAC,QAGI,2BAA2B;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AASnC;AACA;AACA,OAAO,SAASC,UAAUA,CAAC;EAAEC,WAAW;EAAEC,MAAM;EAAEC;AAA0B,CAAC,EAAE;EAC7E,MAAMC,CAAC,GAAGV,eAAe,CAACW,UAAU,CAAC;EACrC,MAAMC,IAAI,GAAGnB,MAAM,CAAC,IAAIC,QAAQ,CAACmB,KAAK,CAAC,CAAC,CAAC,CAAC,CAACC,OAAO;EAClDtB,SAAS,CAAC,MAAM;IACdE,QAAQ,CAACqB,MAAM,CAACH,IAAI,EAAE;MACpBI,OAAO,EAAE,CAAC;MACVC,QAAQ,EAAE,GAAG;MACbC,eAAe,EAAE;IACnB,CAAC,CAAC,CAACC,KAAK,CAAC,CAAC;EACZ,CAAC,EAAE,CAACP,IAAI,CAAC,CAAC;EAEV,oBACET,IAAA,CAACT,QAAQ,CAACE,IAAI;IACZwB,KAAK,EAAE,CACLV,CAAC,CAACW,KAAK,EACP;MACEC,SAAS,EAAE,CACT;QACEC,UAAU,EAAEX,IAAI,CAACY,WAAW,CAAC;UAC3BC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;UAClBC,WAAW,EAAE,CAACzB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QACzB,CAAC;MACH,CAAC;IAEL,CAAC,CACD;IAAA0B,QAAA,eAEFtB,KAAA,CAACT,IAAI;MAACwB,KAAK,EAAEQ,MAAM,CAACC,OAAQ;MAAAF,QAAA,gBAC1BxB,IAAA,CAACJ,UAAU;QAACqB,KAAK,EAAEQ,MAAM,CAACE,KAAM;QAACC,MAAM,EAAC;MAAoB,CAAE,CAAC,eAC/D5B,IAAA,CAACP,IAAI;QAACwB,KAAK,EAAEV,CAAC,CAACsB;MAAQ,CAAE,CAAC,eAC1B3B,KAAA,CAACT,IAAI;QAACwB,KAAK,EAAE,CAACQ,MAAM,CAACK,KAAK,EAAE;UAAEC,aAAa,EAAE3B,WAAW,GAAGN,CAAC,CAAC,EAAE;QAAE,CAAC,CAAE;QAAA0B,QAAA,gBAClExB,IAAA,CAACL,KAAK;UACJqC,IAAI,
|
|
1
|
+
{"version":3,"names":["ErrorAlertOutlined","useEffect","useRef","Animated","StyleSheet","View","Button","Empty","GlassLayer","useThemedStyles","r","jsx","_jsx","jsxs","_jsxs","ResultFail","bottomInset","failed","onRescan","s","makeStyles","anim","Value","current","timing","toValue","duration","useNativeDriver","start","style","sheet","transform","translateY","interpolate","inputRange","outputRange","children","styles","surface","glass","testID","grabber","inner","paddingBottom","icon","title","desc","label","variant","block","onPress","create","borderTopLeftRadius","borderTopRightRadius","paddingTop","overflow","paddingHorizontal","rowGap","c","shadow","position","left","right","bottom","zIndex","floating","width","height","borderRadius","backgroundColor","surfaceContainerHighest","alignSelf"],"sourceRoot":"../../../src","sources":["Scanner/ResultFail.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import { ErrorAlertOutlined } from '@unif/react-native-icons';
|
|
3
4
|
import { StyleSheet, View } from 'react-native';
|
|
4
5
|
import { Button, Empty, useThemedStyles, r } from '@unif/react-native-design';
|
|
5
6
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
@@ -11,7 +12,7 @@ export function ScanErrorOverlay({
|
|
|
11
12
|
return /*#__PURE__*/_jsxs(View, {
|
|
12
13
|
style: s.overlay,
|
|
13
14
|
children: [/*#__PURE__*/_jsx(Empty, {
|
|
14
|
-
icon:
|
|
15
|
+
icon: ErrorAlertOutlined,
|
|
15
16
|
title: "\u76F8\u673A\u542F\u52A8\u5931\u8D25",
|
|
16
17
|
desc: "\u65E0\u6CD5\u542F\u52A8\u626B\u7801\u76F8\u673A\uFF0C\u8BF7\u786E\u8BA4\u6743\u9650\u4E0E\u8BBE\u5907\u72B6\u6001\u540E\u91CD\u8BD5\u3002"
|
|
17
18
|
}), /*#__PURE__*/_jsxs(View, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["StyleSheet","View","Button","Empty","useThemedStyles","r","jsx","_jsx","jsxs","_jsxs","ScanErrorOverlay","onClose","onRetry","s","makeStyles","style","overlay","children","icon","title","desc","styles","row","label","variant","block","onPress","create","flexDirection","columnGap","marginTop","c","position","top","left","right","bottom","zIndex","backgroundColor","background","alignItems","justifyContent","paddingHorizontal","rowGap"],"sourceRoot":"../../../src","sources":["Scanner/ScanErrorOverlay.tsx"],"mappings":";;AAAA,SAASA,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAC/C,SACEC,MAAM,EACNC,KAAK,EACLC,eAAe,EACfC,CAAC,QAEI,2BAA2B;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAOnC,OAAO,SAASC,gBAAgBA,CAAC;EAAEC,OAAO;EAAEC;AAA+B,CAAC,EAAE;EAC5E,MAAMC,CAAC,GAAGT,eAAe,CAACU,UAAU,CAAC;EACrC,oBACEL,KAAA,CAACR,IAAI;IAACc,KAAK,EAAEF,CAAC,CAACG,OAAQ;IAAAC,QAAA,gBACrBV,IAAA,CAACJ,KAAK;MACJe,IAAI,
|
|
1
|
+
{"version":3,"names":["ErrorAlertOutlined","StyleSheet","View","Button","Empty","useThemedStyles","r","jsx","_jsx","jsxs","_jsxs","ScanErrorOverlay","onClose","onRetry","s","makeStyles","style","overlay","children","icon","title","desc","styles","row","label","variant","block","onPress","create","flexDirection","columnGap","marginTop","c","position","top","left","right","bottom","zIndex","backgroundColor","background","alignItems","justifyContent","paddingHorizontal","rowGap"],"sourceRoot":"../../../src","sources":["Scanner/ScanErrorOverlay.tsx"],"mappings":";;AAAA,SAASA,kBAAkB,QAAQ,0BAA0B;AAC7D,SAASC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAC/C,SACEC,MAAM,EACNC,KAAK,EACLC,eAAe,EACfC,CAAC,QAEI,2BAA2B;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAOnC,OAAO,SAASC,gBAAgBA,CAAC;EAAEC,OAAO;EAAEC;AAA+B,CAAC,EAAE;EAC5E,MAAMC,CAAC,GAAGT,eAAe,CAACU,UAAU,CAAC;EACrC,oBACEL,KAAA,CAACR,IAAI;IAACc,KAAK,EAAEF,CAAC,CAACG,OAAQ;IAAAC,QAAA,gBACrBV,IAAA,CAACJ,KAAK;MACJe,IAAI,EAAEnB,kBAAmB;MACzBoB,KAAK,EAAC,sCAAQ;MACdC,IAAI,EAAC;IAAyB,CAC/B,CAAC,eACFX,KAAA,CAACR,IAAI;MAACc,KAAK,EAAEM,MAAM,CAACC,GAAI;MAAAL,QAAA,GACrBN,OAAO,iBACNJ,IAAA,CAACL,MAAM;QAACqB,KAAK,EAAC,cAAI;QAACC,OAAO,EAAC,OAAO;QAACC,KAAK;QAACC,OAAO,EAAEf;MAAQ,CAAE,CAC7D,eACDJ,IAAA,CAACL,MAAM;QAACqB,KAAK,EAAC,cAAI;QAACC,OAAO,EAAC,SAAS;QAACC,KAAK;QAACC,OAAO,EAAEd;MAAQ,CAAE,CAAC;IAAA,CAC3D,CAAC;EAAA,CACH,CAAC;AAEX;AAEA,MAAMS,MAAM,GAAGrB,UAAU,CAAC2B,MAAM,CAAC;EAC/BL,GAAG,EAAE;IAAEM,aAAa,EAAE,KAAK;IAAEC,SAAS,EAAExB,CAAC,CAAC,EAAE,CAAC;IAAEyB,SAAS,EAAEzB,CAAC,CAAC,CAAC;EAAE;AACjE,CAAC,CAAC;AAEF,MAAMS,UAAU,GAAIiB,CAAc,IAChC/B,UAAU,CAAC2B,MAAM,CAAC;EAChBX,OAAO,EAAE;IACPgB,QAAQ,EAAE,UAAU;IACpBC,GAAG,EAAE,CAAC;IACNC,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,CAAC;IACRC,MAAM,EAAE,CAAC;IACTC,MAAM,EAAE,EAAE;IACVC,eAAe,EAAEP,CAAC,CAACQ,UAAU;IAC7BC,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE,QAAQ;IACxBC,iBAAiB,EAAErC,CAAC,CAAC,EAAE,CAAC;IACxBsC,MAAM,EAAEtC,CAAC,CAAC,CAAC;EACb;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import { FlashOffOutlined, FlashOnOutlined, ImageOutlined, UndoOutlined } from '@unif/react-native-icons';
|
|
3
4
|
import { Pressable, StyleSheet, Text, View } from 'react-native';
|
|
4
|
-
import {
|
|
5
|
+
import { GlassLayer, darkColors, useColors, r, rf, useThemedStyles, fw } from '@unif/react-native-design';
|
|
5
6
|
import { scanChrome } from "./scanChrome.js";
|
|
6
7
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
7
8
|
// 底部工具栏:返回 · 手电筒 · 相册。点亮态用主题主色。
|
|
@@ -19,23 +20,23 @@ export function ScanToolbar({
|
|
|
19
20
|
}],
|
|
20
21
|
pointerEvents: "box-none",
|
|
21
22
|
children: [onClose && /*#__PURE__*/_jsx(ToolbarItem, {
|
|
22
|
-
icon:
|
|
23
|
+
icon: UndoOutlined,
|
|
23
24
|
label: "\u8FD4\u56DE",
|
|
24
25
|
onPress: onClose
|
|
25
26
|
}), onFlash && /*#__PURE__*/_jsx(ToolbarItem, {
|
|
26
|
-
icon: flash ?
|
|
27
|
+
icon: flash ? FlashOnOutlined : FlashOffOutlined,
|
|
27
28
|
label: flash ? '已开灯' : '手电筒',
|
|
28
29
|
activeColor: flash ? c.primary : undefined,
|
|
29
30
|
onPress: onFlash
|
|
30
31
|
}), onAlbum && /*#__PURE__*/_jsx(ToolbarItem, {
|
|
31
|
-
icon:
|
|
32
|
+
icon: ImageOutlined,
|
|
32
33
|
label: "\u76F8\u518C",
|
|
33
34
|
onPress: onAlbum
|
|
34
35
|
})]
|
|
35
36
|
});
|
|
36
37
|
}
|
|
37
38
|
function ToolbarItem({
|
|
38
|
-
icon,
|
|
39
|
+
icon: Icon,
|
|
39
40
|
label,
|
|
40
41
|
activeColor,
|
|
41
42
|
onPress
|
|
@@ -59,7 +60,6 @@ function ToolbarItem({
|
|
|
59
60
|
style: styles.glass,
|
|
60
61
|
testID: "scan-toolbar-glass"
|
|
61
62
|
}), /*#__PURE__*/_jsx(Icon, {
|
|
62
|
-
name: icon,
|
|
63
63
|
size: r(23),
|
|
64
64
|
color: activeColor ? c.onPrimary : scanChrome.white,
|
|
65
65
|
style: pressed && {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Pressable","StyleSheet","Text","View","
|
|
1
|
+
{"version":3,"names":["FlashOffOutlined","FlashOnOutlined","ImageOutlined","UndoOutlined","Pressable","StyleSheet","Text","View","GlassLayer","darkColors","useColors","r","rf","useThemedStyles","fw","scanChrome","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ScanToolbar","flash","bottomInset","onFlash","onAlbum","onClose","c","style","styles","bar","bottom","pointerEvents","children","ToolbarItem","icon","label","onPress","activeColor","primary","undefined","Icon","s","makeTextStyles","item","accessibilityRole","accessibilityLabel","pressed","circle","backgroundColor","colorScheme","glass","testID","size","color","onPrimary","white","opacity","create","position","left","right","zIndex","flexDirection","justifyContent","columnGap","width","alignItems","rowGap","borderRadius","height","borderWidth","hairlineWidth","borderColor","glassBorder","overflow","fontSize","fontWeight","medium","toolbarLabel","textShadowColor","textShadowOffset","textShadowRadius"],"sourceRoot":"../../../src","sources":["Scanner/ScanToolbar.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import { ScanOutlined } from '@unif/react-native-icons';
|
|
3
4
|
import { useEffect, useRef } from 'react';
|
|
4
5
|
import { Animated, Easing, StyleSheet, View } from 'react-native';
|
|
5
|
-
import {
|
|
6
|
+
import { useColors, r } from '@unif/react-native-design';
|
|
6
7
|
import { scanChrome } from "./scanChrome.js";
|
|
7
8
|
import { ScanHint } from "./ScanHint.js";
|
|
8
9
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
@@ -88,8 +89,7 @@ export function Viewfinder({
|
|
|
88
89
|
}]
|
|
89
90
|
}), /*#__PURE__*/_jsx(View, {
|
|
90
91
|
style: styles.crosshair,
|
|
91
|
-
children: /*#__PURE__*/_jsx(
|
|
92
|
-
name: "scan",
|
|
92
|
+
children: /*#__PURE__*/_jsx(ScanOutlined, {
|
|
93
93
|
size: r(30),
|
|
94
94
|
color: scanChrome.crosshair
|
|
95
95
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useEffect","useRef","Animated","Easing","StyleSheet","View","
|
|
1
|
+
{"version":3,"names":["ScanOutlined","useEffect","useRef","Animated","Easing","StyleSheet","View","useColors","r","scanChrome","ScanHint","jsx","_jsx","jsxs","_jsxs","WINDOW_RADIUS","Viewfinder","size","detecting","hintText","c","windowH","Math","round","scale","Value","current","pulse","setValue","ease","inOut","breathe","loop","sequence","timing","toValue","duration","easing","useNativeDriver","reticle","start","stop","style","styles","overlay","pointerEvents","children","spacerTop","window","width","height","transform","boxShadow","offsetX","offsetY","blurRadius","spreadDistance","color","scrim","windowBorder","borderColor","primary","opacity","crosshair","spacerBottom","text","create","position","top","left","right","bottom","zIndex","alignItems","flex","borderRadius","borderWidth","marginTop","marginLeft","justifyContent"],"sourceRoot":"../../../src","sources":["Scanner/Viewfinder.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeniedOverlay.d.ts","sourceRoot":"","sources":["../../../../src/Scanner/DeniedOverlay.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DeniedOverlay.d.ts","sourceRoot":"","sources":["../../../../src/Scanner/DeniedOverlay.tsx"],"names":[],"mappings":"AAaA,UAAU,kBAAkB;IAC1B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB;AAGD,wBAAgB,aAAa,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,kBAAkB,2CAyBxE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResultFail.d.ts","sourceRoot":"","sources":["../../../../src/Scanner/ResultFail.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ResultFail.d.ts","sourceRoot":"","sources":["../../../../src/Scanner/ResultFail.tsx"],"names":[],"mappings":"AAaA,UAAU,eAAe;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,uCAAuC;IACvC,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAID,wBAAgB,UAAU,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,eAAe,2CA6C5E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScanErrorOverlay.d.ts","sourceRoot":"","sources":["../../../../src/Scanner/ScanErrorOverlay.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ScanErrorOverlay.d.ts","sourceRoot":"","sources":["../../../../src/Scanner/ScanErrorOverlay.tsx"],"names":[],"mappings":"AAUA,UAAU,qBAAqB;IAC7B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,wBAAgB,gBAAgB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,qBAAqB,2CAiB3E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScanToolbar.d.ts","sourceRoot":"","sources":["../../../../src/Scanner/ScanToolbar.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ScanToolbar.d.ts","sourceRoot":"","sources":["../../../../src/Scanner/ScanToolbar.tsx"],"names":[],"mappings":"AAoBA,UAAU,gBAAgB;IACxB,KAAK,EAAE,OAAO,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,6CAA6C;IAC7C,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,iCAAiC;IACjC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAGD,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,WAAW,EACX,OAAO,EACP,OAAO,EACP,OAAO,GACR,EAAE,gBAAgB,2CAuBlB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Viewfinder.d.ts","sourceRoot":"","sources":["../../../../src/Scanner/Viewfinder.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Viewfinder.d.ts","sourceRoot":"","sources":["../../../../src/Scanner/Viewfinder.tsx"],"names":[],"mappings":"AAOA,UAAU,eAAe;IACvB,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,8BAA8B;IAC9B,SAAS,EAAE,OAAO,CAAC;IACnB,eAAe;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AASD,wBAAgB,UAAU,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,eAAe,2CA4FxE"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@unif/react-native-hms-scan",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.0",
|
|
4
4
|
"description": "Unif React Native 扫码:实时预览、二维码、条码和本地图片识别",
|
|
5
5
|
"main": "./lib/module/index.js",
|
|
6
6
|
"types": "./lib/typescript/src/index.d.ts",
|
|
@@ -92,7 +92,8 @@
|
|
|
92
92
|
"@types/jest": "^29.5.0",
|
|
93
93
|
"@types/react": "^19.2.0",
|
|
94
94
|
"@types/react-test-renderer": "^19",
|
|
95
|
-
"@unif/react-native-design": ">=0.
|
|
95
|
+
"@unif/react-native-design": ">=1.0.0",
|
|
96
|
+
"@unif/react-native-icons": ">=0.1.0",
|
|
96
97
|
"commitlint": "^20.5.0",
|
|
97
98
|
"del-cli": "^7.0.0",
|
|
98
99
|
"eslint": "^8.57.1",
|
|
@@ -118,7 +119,8 @@
|
|
|
118
119
|
},
|
|
119
120
|
"peerDependencies": {
|
|
120
121
|
"@callstack/liquid-glass": ">=0.8.2 <0.9.0",
|
|
121
|
-
"@unif/react-native-design": ">=0.
|
|
122
|
+
"@unif/react-native-design": ">=1.0.0",
|
|
123
|
+
"@unif/react-native-icons": ">=0.1.0",
|
|
122
124
|
"react": ">=19.2.3 <20.0.0",
|
|
123
125
|
"react-native": ">=0.86.0",
|
|
124
126
|
"react-native-gesture-handler": ">=3.0.0 <4.0.0",
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
import {
|
|
2
|
+
PermissionDeniedOutlined,
|
|
3
|
+
SettingsOutlined,
|
|
4
|
+
} from '@unif/react-native-icons';
|
|
1
5
|
import { StyleSheet, View } from 'react-native';
|
|
2
6
|
import {
|
|
3
7
|
Button,
|
|
@@ -18,7 +22,7 @@ export function DeniedOverlay({ onClose, onSettings }: DeniedOverlayProps) {
|
|
|
18
22
|
return (
|
|
19
23
|
<View style={s.overlay}>
|
|
20
24
|
<Empty
|
|
21
|
-
icon=
|
|
25
|
+
icon={PermissionDeniedOutlined}
|
|
22
26
|
title="需要相机权限"
|
|
23
27
|
desc="开启相机后,才能扫描条码与二维码。请前往系统设置授权。"
|
|
24
28
|
/>
|
|
@@ -31,7 +35,7 @@ export function DeniedOverlay({ onClose, onSettings }: DeniedOverlayProps) {
|
|
|
31
35
|
<Button
|
|
32
36
|
label="去设置开启"
|
|
33
37
|
variant="primary"
|
|
34
|
-
leftIcon=
|
|
38
|
+
leftIcon={SettingsOutlined}
|
|
35
39
|
block
|
|
36
40
|
onPress={onSettings}
|
|
37
41
|
/>
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ErrorAlertOutlined } from '@unif/react-native-icons';
|
|
1
2
|
import { useEffect, useRef } from 'react';
|
|
2
3
|
import { Animated, StyleSheet, View } from 'react-native';
|
|
3
4
|
import {
|
|
@@ -51,7 +52,7 @@ export function ResultFail({ bottomInset, failed, onRescan }: ResultFailProps) {
|
|
|
51
52
|
<View style={s.grabber} />
|
|
52
53
|
<View style={[styles.inner, { paddingBottom: bottomInset + r(14) }]}>
|
|
53
54
|
<Empty
|
|
54
|
-
icon=
|
|
55
|
+
icon={ErrorAlertOutlined}
|
|
55
56
|
title={failed ? '图片识别失败' : '未识别到条码'}
|
|
56
57
|
desc={
|
|
57
58
|
failed
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ErrorAlertOutlined } from '@unif/react-native-icons';
|
|
1
2
|
import { StyleSheet, View } from 'react-native';
|
|
2
3
|
import {
|
|
3
4
|
Button,
|
|
@@ -17,12 +18,14 @@ export function ScanErrorOverlay({ onClose, onRetry }: ScanErrorOverlayProps) {
|
|
|
17
18
|
return (
|
|
18
19
|
<View style={s.overlay}>
|
|
19
20
|
<Empty
|
|
20
|
-
icon=
|
|
21
|
+
icon={ErrorAlertOutlined}
|
|
21
22
|
title="相机启动失败"
|
|
22
23
|
desc="无法启动扫码相机,请确认权限与设备状态后重试。"
|
|
23
24
|
/>
|
|
24
25
|
<View style={styles.row}>
|
|
25
|
-
{onClose &&
|
|
26
|
+
{onClose && (
|
|
27
|
+
<Button label="取消" variant="ghost" block onPress={onClose} />
|
|
28
|
+
)}
|
|
26
29
|
<Button label="重试" variant="primary" block onPress={onRetry} />
|
|
27
30
|
</View>
|
|
28
31
|
</View>
|
|
@@ -1,6 +1,13 @@
|
|
|
1
|
+
import {
|
|
2
|
+
FlashOffOutlined,
|
|
3
|
+
FlashOnOutlined,
|
|
4
|
+
ImageOutlined,
|
|
5
|
+
UndoOutlined,
|
|
6
|
+
} from '@unif/react-native-icons';
|
|
7
|
+
import type { ComponentType } from 'react';
|
|
8
|
+
import type { IconProps } from '@unif/react-native-icons';
|
|
1
9
|
import { Pressable, StyleSheet, Text, View } from 'react-native';
|
|
2
10
|
import {
|
|
3
|
-
Icon,
|
|
4
11
|
GlassLayer,
|
|
5
12
|
darkColors,
|
|
6
13
|
useColors,
|
|
@@ -8,7 +15,6 @@ import {
|
|
|
8
15
|
rf,
|
|
9
16
|
useThemedStyles,
|
|
10
17
|
fw,
|
|
11
|
-
type IconName,
|
|
12
18
|
} from '@unif/react-native-design';
|
|
13
19
|
import { scanChrome } from './scanChrome';
|
|
14
20
|
|
|
@@ -37,27 +43,31 @@ export function ScanToolbar({
|
|
|
37
43
|
style={[styles.bar, { bottom: bottomInset + r(50) }]}
|
|
38
44
|
pointerEvents="box-none"
|
|
39
45
|
>
|
|
40
|
-
{onClose &&
|
|
46
|
+
{onClose && (
|
|
47
|
+
<ToolbarItem icon={UndoOutlined} label="返回" onPress={onClose} />
|
|
48
|
+
)}
|
|
41
49
|
{onFlash && (
|
|
42
50
|
<ToolbarItem
|
|
43
|
-
icon={flash ?
|
|
51
|
+
icon={flash ? FlashOnOutlined : FlashOffOutlined}
|
|
44
52
|
label={flash ? '已开灯' : '手电筒'}
|
|
45
53
|
activeColor={flash ? c.primary : undefined}
|
|
46
54
|
onPress={onFlash}
|
|
47
55
|
/>
|
|
48
56
|
)}
|
|
49
|
-
{onAlbum &&
|
|
57
|
+
{onAlbum && (
|
|
58
|
+
<ToolbarItem icon={ImageOutlined} label="相册" onPress={onAlbum} />
|
|
59
|
+
)}
|
|
50
60
|
</View>
|
|
51
61
|
);
|
|
52
62
|
}
|
|
53
63
|
|
|
54
64
|
function ToolbarItem({
|
|
55
|
-
icon,
|
|
65
|
+
icon: Icon,
|
|
56
66
|
label,
|
|
57
67
|
activeColor,
|
|
58
68
|
onPress,
|
|
59
69
|
}: {
|
|
60
|
-
icon:
|
|
70
|
+
icon: ComponentType<IconProps>;
|
|
61
71
|
label: string;
|
|
62
72
|
activeColor?: string;
|
|
63
73
|
onPress: () => void;
|
|
@@ -87,7 +97,6 @@ function ToolbarItem({
|
|
|
87
97
|
/>
|
|
88
98
|
)}
|
|
89
99
|
<Icon
|
|
90
|
-
name={icon}
|
|
91
100
|
size={r(23)}
|
|
92
101
|
color={activeColor ? c.onPrimary : scanChrome.white}
|
|
93
102
|
style={pressed && { opacity: 0.7 }}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import { ScanOutlined } from '@unif/react-native-icons';
|
|
1
2
|
import { useEffect, useRef } from 'react';
|
|
2
3
|
import { Animated, Easing, StyleSheet, View } from 'react-native';
|
|
3
|
-
import {
|
|
4
|
+
import { useColors, r } from '@unif/react-native-design';
|
|
4
5
|
import { scanChrome } from './scanChrome';
|
|
5
6
|
import { ScanHint } from './ScanHint';
|
|
6
7
|
|
|
@@ -35,14 +36,34 @@ export function Viewfinder({ size, detecting, hintText }: ViewfinderProps) {
|
|
|
35
36
|
const ease = Easing.inOut(Easing.ease);
|
|
36
37
|
const breathe = Animated.loop(
|
|
37
38
|
Animated.sequence([
|
|
38
|
-
Animated.timing(scale, {
|
|
39
|
-
|
|
39
|
+
Animated.timing(scale, {
|
|
40
|
+
toValue: 1.012,
|
|
41
|
+
duration: 1300,
|
|
42
|
+
easing: ease,
|
|
43
|
+
useNativeDriver: true,
|
|
44
|
+
}),
|
|
45
|
+
Animated.timing(scale, {
|
|
46
|
+
toValue: 1,
|
|
47
|
+
duration: 1300,
|
|
48
|
+
easing: ease,
|
|
49
|
+
useNativeDriver: true,
|
|
50
|
+
}),
|
|
40
51
|
])
|
|
41
52
|
);
|
|
42
53
|
const reticle = Animated.loop(
|
|
43
54
|
Animated.sequence([
|
|
44
|
-
Animated.timing(pulse, {
|
|
45
|
-
|
|
55
|
+
Animated.timing(pulse, {
|
|
56
|
+
toValue: 0.55,
|
|
57
|
+
duration: 900,
|
|
58
|
+
easing: ease,
|
|
59
|
+
useNativeDriver: true,
|
|
60
|
+
}),
|
|
61
|
+
Animated.timing(pulse, {
|
|
62
|
+
toValue: 1,
|
|
63
|
+
duration: 900,
|
|
64
|
+
easing: ease,
|
|
65
|
+
useNativeDriver: true,
|
|
66
|
+
}),
|
|
46
67
|
])
|
|
47
68
|
);
|
|
48
69
|
breathe.start();
|
|
@@ -67,7 +88,13 @@ export function Viewfinder({ size, detecting, hintText }: ViewfinderProps) {
|
|
|
67
88
|
transform: [{ scale }],
|
|
68
89
|
// spread 铺满全屏的纯色硬边阴影 = 圆角洞之外的暗化遮罩(blur 0 → 不晕开)。
|
|
69
90
|
boxShadow: [
|
|
70
|
-
{
|
|
91
|
+
{
|
|
92
|
+
offsetX: 0,
|
|
93
|
+
offsetY: 0,
|
|
94
|
+
blurRadius: 0,
|
|
95
|
+
spreadDistance: 9999,
|
|
96
|
+
color: c.scrim,
|
|
97
|
+
},
|
|
71
98
|
],
|
|
72
99
|
},
|
|
73
100
|
]}
|
|
@@ -77,7 +104,7 @@ export function Viewfinder({ size, detecting, hintText }: ViewfinderProps) {
|
|
|
77
104
|
style={[styles.reticle, { borderColor: c.primary, opacity: pulse }]}
|
|
78
105
|
/>
|
|
79
106
|
<View style={styles.crosshair}>
|
|
80
|
-
<
|
|
107
|
+
<ScanOutlined size={r(30)} color={scanChrome.crosshair} />
|
|
81
108
|
</View>
|
|
82
109
|
</Animated.View>
|
|
83
110
|
|