@axelor/aos-mobile-core 8.4.22 → 8.4.23
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/components/organisms/ScannerAutocompleteSearch/ScannerAutocompleteSearch.js +8 -5
- package/lib/components/organisms/ScannerAutocompleteSearch/ScannerAutocompleteSearch.js.map +1 -1
- package/lib/features/scannerSlice.d.ts +2 -0
- package/lib/features/scannerSlice.js +8 -2
- package/lib/features/scannerSlice.js.map +1 -1
- package/lib/hooks/use-mass-scanner.js +6 -4
- package/lib/hooks/use-mass-scanner.js.map +1 -1
- package/lib/hooks/use-scan-activator.d.ts +1 -1
- package/lib/hooks/use-scan-activator.js +4 -4
- package/lib/hooks/use-scan-activator.js.map +1 -1
- package/package.json +3 -3
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* You should have received a copy of the GNU Affero General Public License
|
|
16
16
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
17
|
*/
|
|
18
|
-
import React, { useState, useEffect, useCallback } from 'react';
|
|
18
|
+
import React, { useState, useEffect, useCallback, useMemo } from 'react';
|
|
19
19
|
import { AutoCompleteSearch, useThemeColor } from '@axelor/aos-mobile-ui';
|
|
20
20
|
import { clearScan, useScannedValueByKey, useScannerSelector, } from '../../../features/scannerSlice';
|
|
21
21
|
import { clearBarcode, useCameraScannerValueByKey, } from '../../../features/cameraScannerSlice';
|
|
@@ -28,7 +28,7 @@ const ScannerAutocompleteSearch = ({ title, objectList, value, required = false,
|
|
|
28
28
|
const isFocused = useIsFocused();
|
|
29
29
|
const dispatch = useDispatch();
|
|
30
30
|
const [searchValue, setSearchValue] = useState(value);
|
|
31
|
-
const { isEnabled, scanKey } = useScannerSelector();
|
|
31
|
+
const { isEnabled, scanKey, isMassScan } = useScannerSelector();
|
|
32
32
|
const scannedValue = useScannedValueByKey(scanKeySearch);
|
|
33
33
|
const scanData = useCameraScannerValueByKey(scanKeySearch);
|
|
34
34
|
const { enable: onScanPress } = useScanActivator(scanKeySearch);
|
|
@@ -44,15 +44,18 @@ const ScannerAutocompleteSearch = ({ title, objectList, value, required = false,
|
|
|
44
44
|
}
|
|
45
45
|
}, [dispatch, scanData, scannedValue]);
|
|
46
46
|
const Colors = useThemeColor();
|
|
47
|
+
const massScannerHoldsAnotherKey = useMemo(() => isEnabled && isMassScan && scanKey !== scanKeySearch, [isEnabled, isMassScan, scanKey, scanKeySearch]);
|
|
47
48
|
useEffect(() => {
|
|
48
|
-
|
|
49
|
+
// Auto-activate the search scanner on focus, but never steal the scan key
|
|
50
|
+
// from an active mass scanner. Stealing from another search bar is kept.
|
|
51
|
+
if (isFocus && isFocused && !massScannerHoldsAnotherKey) {
|
|
49
52
|
enableScanner();
|
|
50
53
|
}
|
|
51
|
-
}, [enableScanner, isFocus, isFocused]);
|
|
54
|
+
}, [enableScanner, isFocus, isFocused, massScannerHoldsAnotherKey]);
|
|
52
55
|
useEffect(() => {
|
|
53
56
|
setSearchValue(value);
|
|
54
57
|
}, [value]);
|
|
55
|
-
const handleChangeValue = useCallback(_value => {
|
|
58
|
+
const handleChangeValue = useCallback((_value) => {
|
|
56
59
|
setSearchValue(_value);
|
|
57
60
|
onChangeValue?.(_value);
|
|
58
61
|
}, [onChangeValue]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScannerAutocompleteSearch.js","sourceRoot":"","sources":["../../../../src/components/organisms/ScannerAutocompleteSearch/ScannerAutocompleteSearch.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAC,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"ScannerAutocompleteSearch.js","sourceRoot":"","sources":["../../../../src/components/organisms/ScannerAutocompleteSearch/ScannerAutocompleteSearch.tsx"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ interface ScannerSliceState {
|
|
|
2
2
|
isEnabled: boolean;
|
|
3
3
|
scanKey: string | null;
|
|
4
4
|
scannedValue: string | null;
|
|
5
|
+
isMassScan: boolean;
|
|
5
6
|
}
|
|
6
7
|
export declare const enableScan: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "scanner/enableScan">, scanValue: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "scanner/scanValue">, disableScan: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"scanner/disableScan">, clearScan: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"scanner/clearScan">;
|
|
7
8
|
export declare const useScannerSelector: () => ScannerSliceState;
|
|
@@ -10,5 +11,6 @@ declare const _default: import("redux").Reducer<{
|
|
|
10
11
|
isEnabled: boolean;
|
|
11
12
|
scanKey: any;
|
|
12
13
|
scannedValue: any;
|
|
14
|
+
isMassScan: boolean;
|
|
13
15
|
}>;
|
|
14
16
|
export default _default;
|
|
@@ -24,12 +24,17 @@ const scannerSlice = createSlice({
|
|
|
24
24
|
isEnabled: false,
|
|
25
25
|
scanKey: null,
|
|
26
26
|
scannedValue: null,
|
|
27
|
+
isMassScan: false,
|
|
27
28
|
},
|
|
28
29
|
reducers: {
|
|
29
30
|
enableScan(state, action) {
|
|
31
|
+
const { scanKey, isMassScan } = typeof action.payload === 'string'
|
|
32
|
+
? { scanKey: action.payload, isMassScan: false }
|
|
33
|
+
: action.payload;
|
|
30
34
|
state.isEnabled = true;
|
|
31
|
-
state.scanKey =
|
|
35
|
+
state.scanKey = scanKey;
|
|
32
36
|
state.scannedValue = null;
|
|
37
|
+
state.isMassScan = isMassScan ?? false;
|
|
33
38
|
},
|
|
34
39
|
scanValue(state, action) {
|
|
35
40
|
state.scannedValue = action.payload;
|
|
@@ -38,6 +43,7 @@ const scannerSlice = createSlice({
|
|
|
38
43
|
state.isEnabled = false;
|
|
39
44
|
state.scanKey = null;
|
|
40
45
|
state.scannedValue = null;
|
|
46
|
+
state.isMassScan = false;
|
|
41
47
|
},
|
|
42
48
|
clearScan(state) {
|
|
43
49
|
state.scannedValue = null;
|
|
@@ -45,7 +51,7 @@ const scannerSlice = createSlice({
|
|
|
45
51
|
},
|
|
46
52
|
});
|
|
47
53
|
export const { enableScan, scanValue, disableScan, clearScan } = scannerSlice.actions;
|
|
48
|
-
const selectScanner = state => state.scanner;
|
|
54
|
+
const selectScanner = (state) => state.scanner;
|
|
49
55
|
export const useScannerSelector = () => useSelector(selectScanner);
|
|
50
56
|
export const useScannedValueByKey = key => {
|
|
51
57
|
const { scanKey, scannedValue } = useScannerSelector();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scannerSlice.js","sourceRoot":"","sources":["../../src/features/scannerSlice.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAC,OAAO,EAAC,MAAM,OAAO,CAAC;AAC9B,OAAO,EAAC,WAAW,EAAC,MAAM,aAAa,CAAC;AACxC,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"scannerSlice.js","sourceRoot":"","sources":["../../src/features/scannerSlice.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAC,OAAO,EAAC,MAAM,OAAO,CAAC;AAC9B,OAAO,EAAC,WAAW,EAAC,MAAM,aAAa,CAAC;AACxC,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAS7C,MAAM,YAAY,GAAG,WAAW,CAAC;IAC/B,IAAI,EAAE,SAAS;IACf,YAAY,EAAE;QACZ,SAAS,EAAE,KAAK;QAChB,OAAO,EAAE,IAAI;QACb,YAAY,EAAE,IAAI;QAClB,UAAU,EAAE,KAAK;KAClB;IACD,QAAQ,EAAE;QACR,UAAU,CAAC,KAAK,EAAE,MAAM;YACtB,MAAM,EAAC,OAAO,EAAE,UAAU,EAAC,GACzB,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ;gBAChC,CAAC,CAAC,EAAC,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAC;gBAC9C,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;YAErB,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;YACvB,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;YACxB,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;YAC1B,KAAK,CAAC,UAAU,GAAG,UAAU,IAAI,KAAK,CAAC;QACzC,CAAC;QACD,SAAS,CAAC,KAAK,EAAE,MAAM;YACrB,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC;QACtC,CAAC;QACD,WAAW,CAAC,KAAK;YACf,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC;YACxB,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;YACrB,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;YAC1B,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC;QAC3B,CAAC;QACD,SAAS,CAAC,KAAK;YACb,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;QAC5B,CAAC;KACF;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,EAAC,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAC,GAC1D,YAAY,CAAC,OAAO,CAAC;AAEvB,MAAM,aAAa,GAAG,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;AAEpD,MAAM,CAAC,MAAM,kBAAkB,GAA4B,GAAG,EAAE,CAC9D,WAAW,CAAC,aAAa,CAAC,CAAC;AAE7B,MAAM,CAAC,MAAM,oBAAoB,GAAmC,GAAG,CAAC,EAAE;IACxE,MAAM,EAAC,OAAO,EAAE,YAAY,EAAC,GAAG,kBAAkB,EAAE,CAAC;IACrD,OAAO,OAAO,CACZ,GAAG,EAAE,CAAC,CAAC,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,EAC7C,CAAC,OAAO,EAAE,GAAG,EAAE,YAAY,CAAC,CAC7B,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC,OAAO,CAAC"}
|
|
@@ -20,10 +20,12 @@ import { useDispatch } from '../redux/hooks';
|
|
|
20
20
|
import { useCameraScannerValueByKey, clearBarcode, } from '../features/cameraScannerSlice';
|
|
21
21
|
import { clearScan, useScannedValueByKey, useScannerSelector, } from '../features/scannerSlice';
|
|
22
22
|
import { useScanActivator } from './use-scan-activator';
|
|
23
|
+
import { useIsFocused } from './use-navigation';
|
|
23
24
|
export const useMassScanner = ({ scanKey, backgroundAction, fallbackAction, scanInterval = 1000, disableOnError = true, }) => {
|
|
24
25
|
const isProcessingRef = useRef(false);
|
|
25
26
|
const timerRef = useRef(null);
|
|
26
27
|
const dispatch = useDispatch();
|
|
28
|
+
const isFocused = useIsFocused();
|
|
27
29
|
const { isEnabled: isScanEnabled, scanKey: activeScanKey } = useScannerSelector();
|
|
28
30
|
const { enable: enableScan, disable: disableScan, isZebraDevice, } = useScanActivator(scanKey, true);
|
|
29
31
|
const scannedBarcode = useCameraScannerValueByKey(scanKey);
|
|
@@ -58,15 +60,15 @@ export const useMassScanner = ({ scanKey, backgroundAction, fallbackAction, scan
|
|
|
58
60
|
const processScanRef = useRef(processScan);
|
|
59
61
|
processScanRef.current = processScan;
|
|
60
62
|
useEffect(() => {
|
|
61
|
-
if (scannedValue) {
|
|
63
|
+
if (isFocused && scannedValue) {
|
|
62
64
|
processScanRef.current(scannedValue, () => dispatch(clearScan()));
|
|
63
65
|
}
|
|
64
|
-
}, [dispatch, scannedValue]);
|
|
66
|
+
}, [dispatch, isFocused, scannedValue]);
|
|
65
67
|
useEffect(() => {
|
|
66
|
-
if (scannedBarcode?.value) {
|
|
68
|
+
if (isFocused && scannedBarcode?.value) {
|
|
67
69
|
processScanRef.current(scannedBarcode.value, () => dispatch(clearBarcode()));
|
|
68
70
|
}
|
|
69
|
-
}, [dispatch, scannedBarcode?.value]);
|
|
71
|
+
}, [dispatch, isFocused, scannedBarcode?.value]);
|
|
70
72
|
return useMemo(() => ({ disableScan, enableScan, isEnabled }), [disableScan, enableScan, isEnabled]);
|
|
71
73
|
};
|
|
72
74
|
//# sourceMappingURL=use-mass-scanner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-mass-scanner.js","sourceRoot":"","sources":["../../src/hooks/use-mass-scanner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAC,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAC,MAAM,OAAO,CAAC;AAC9D,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EACL,0BAA0B,EAC1B,YAAY,GACb,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,SAAS,EACT,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAC,gBAAgB,EAAC,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"use-mass-scanner.js","sourceRoot":"","sources":["../../src/hooks/use-mass-scanner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAC,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAC,MAAM,OAAO,CAAC;AAC9D,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EACL,0BAA0B,EAC1B,YAAY,GACb,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,SAAS,EACT,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAC,gBAAgB,EAAC,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAa9C,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAC7B,OAAO,EACP,gBAAgB,EAChB,cAAc,EACd,YAAY,GAAG,IAAI,EACnB,cAAc,GAAG,IAAI,GACA,EAAE,EAAE;IACzB,MAAM,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,MAAM,CAAuC,IAAI,CAAC,CAAC;IACpE,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IAEjC,MAAM,EAAC,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,EAAC,GACtD,kBAAkB,EAAE,CAAC;IACvB,MAAM,EACJ,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,WAAW,EACpB,aAAa,GACd,GAAG,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACpC,MAAM,cAAc,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;IAC3D,MAAM,YAAY,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAEnD,MAAM,SAAS,GAAG,OAAO,CACvB,GAAG,EAAE,CAAC,aAAa,IAAI,aAAa,KAAK,OAAO,EAChD,CAAC,aAAa,EAAE,aAAa,EAAE,OAAO,CAAC,CACxC,CAAC;IAEF,MAAM,WAAW,GAAG,WAAW,CAC7B,KAAK,EAAE,KAAa,EAAE,WAAuB,EAAE,EAAE;QAC/C,IAAI,eAAe,CAAC,OAAO;YAAE,OAAO;QAEpC,IAAI;YACF,eAAe,CAAC,OAAO,GAAG,IAAI,CAAC;YAC/B,MAAM,gBAAgB,CAAC,KAAK,EAAE,EAAC,WAAW,EAAC,CAAC,CAAC;SAC9C;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,cAAc;gBAAE,WAAW,EAAE,CAAC;YAClC,UAAU,CAAC,GAAG,EAAE,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;SAC/C;gBAAS;YACR,QAAQ,CAAC,OAAO,GAAG,UAAU,CAC3B,GAAG,EAAE;gBACH,eAAe,CAAC,OAAO,GAAG,KAAK,CAAC;gBAChC,WAAW,EAAE,CAAC;YAChB,CAAC,EACD,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CACjC,CAAC;SACH;IACH,CAAC,EACD;QACE,gBAAgB;QAChB,cAAc;QACd,WAAW;QACX,cAAc;QACd,aAAa;QACb,YAAY;KACb,CACF,CAAC;IAEF,MAAM,cAAc,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;IAC3C,cAAc,CAAC,OAAO,GAAG,WAAW,CAAC;IAErC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,SAAS,IAAI,YAAY,EAAE;YAC7B,cAAc,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;SACnE;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC;IAExC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,SAAS,IAAI,cAAc,EAAE,KAAK,EAAE;YACtC,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,CAChD,QAAQ,CAAC,YAAY,EAAE,CAAC,CACzB,CAAC;SACH;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC;IAEjD,OAAO,OAAO,CACZ,GAAG,EAAE,CAAC,CAAC,EAAC,WAAW,EAAE,UAAU,EAAE,SAAS,EAAC,CAAC,EAC5C,CAAC,WAAW,EAAE,UAAU,EAAE,SAAS,CAAC,CACrC,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -3,7 +3,7 @@ export declare const useScanActivator: (scanKeySearch: string, isMassScan?: bool
|
|
|
3
3
|
enable: () => void;
|
|
4
4
|
isZebraDevice: boolean;
|
|
5
5
|
};
|
|
6
|
-
export declare const useScannerDeviceActivator: (scanKeySearch: string) => {
|
|
6
|
+
export declare const useScannerDeviceActivator: (scanKeySearch: string, isMassScan?: boolean) => {
|
|
7
7
|
enable: () => void;
|
|
8
8
|
disable: () => void;
|
|
9
9
|
};
|
|
@@ -21,7 +21,7 @@ import { disableCameraScanner, enableCameraScanner, enableMassCameraScanner, } f
|
|
|
21
21
|
import { enableScan, disableScan } from '../features/scannerSlice';
|
|
22
22
|
import { useDispatch } from '../redux/hooks';
|
|
23
23
|
export const useScanActivator = (scanKeySearch, isMassScan = false) => {
|
|
24
|
-
const { enable: enableScanner, disable: disableScanner } = useScannerDeviceActivator(scanKeySearch);
|
|
24
|
+
const { enable: enableScanner, disable: disableScanner } = useScannerDeviceActivator(scanKeySearch, isMassScan);
|
|
25
25
|
const { enable: enableCamera, enableMassCamera, disable: disableCamera, } = useCameraScannerActivator(scanKeySearch);
|
|
26
26
|
const [isZebraDevice, setIsZebraDevice] = useState(false);
|
|
27
27
|
useEffect(() => {
|
|
@@ -54,11 +54,11 @@ export const useScanActivator = (scanKeySearch, isMassScan = false) => {
|
|
|
54
54
|
}, [isZebraDevice, disableScanner, disableCamera]);
|
|
55
55
|
return useMemo(() => ({ disable, enable, isZebraDevice }), [disable, enable, isZebraDevice]);
|
|
56
56
|
};
|
|
57
|
-
export const useScannerDeviceActivator = (scanKeySearch) => {
|
|
57
|
+
export const useScannerDeviceActivator = (scanKeySearch, isMassScan = false) => {
|
|
58
58
|
const dispatch = useDispatch();
|
|
59
59
|
const enable = useCallback(() => {
|
|
60
|
-
dispatch(enableScan(scanKeySearch));
|
|
61
|
-
}, [dispatch, scanKeySearch]);
|
|
60
|
+
dispatch(enableScan({ scanKey: scanKeySearch, isMassScan }));
|
|
61
|
+
}, [dispatch, scanKeySearch, isMassScan]);
|
|
62
62
|
const disable = useCallback(() => {
|
|
63
63
|
dispatch(disableScan());
|
|
64
64
|
}, [dispatch]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-scan-activator.js","sourceRoot":"","sources":["../../src/hooks/use-scan-activator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAC,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AAChE,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAClD,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAC,UAAU,EAAE,WAAW,EAAC,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAE3C,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,aAAqB,EACrB,aAAsB,KAAK,EAC3B,EAAE;IACF,MAAM,EAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,cAAc,EAAC,GACpD,yBAAyB,CAAC,aAAa,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"use-scan-activator.js","sourceRoot":"","sources":["../../src/hooks/use-scan-activator.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@axelor/aos-mobile-core",
|
|
3
|
-
"version": "8.4.
|
|
3
|
+
"version": "8.4.23",
|
|
4
4
|
"author": "Axelor",
|
|
5
5
|
"license": "AGPL-3.0-only",
|
|
6
6
|
"publishConfig": {
|
|
@@ -24,8 +24,8 @@
|
|
|
24
24
|
"license:add": "npx add-copyright-header --generate --dir 'src'"
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@axelor/aos-mobile-error": "8.4.
|
|
28
|
-
"@axelor/aos-mobile-ui": "8.4.
|
|
27
|
+
"@axelor/aos-mobile-error": "8.4.23",
|
|
28
|
+
"@axelor/aos-mobile-ui": "8.4.23",
|
|
29
29
|
"@react-navigation/drawer": "7.3.9",
|
|
30
30
|
"@react-navigation/native": "7.1.6",
|
|
31
31
|
"@react-navigation/native-stack": "7.3.10",
|