idmission-web-sdk 0.0.43 → 0.0.44
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/dist/lib/camera/Camera.d.ts +2 -0
- package/dist/lib/utils/platform.d.ts +9 -0
- package/dist/sdk2.cjs.development.js +48 -15
- package/dist/sdk2.cjs.development.js.map +1 -1
- package/dist/sdk2.cjs.production.js +1 -1
- package/dist/sdk2.cjs.production.js.map +1 -1
- package/dist/sdk2.esm.js +48 -15
- package/dist/sdk2.esm.js.map +1 -1
- package/dist/sdk2.umd.development.js +48 -15
- package/dist/sdk2.umd.development.js.map +1 -1
- package/dist/sdk2.umd.production.js +1 -1
- package/dist/sdk2.umd.production.js.map +1 -1
- package/dist/stories/CameraEnumerationTool.stories.d.ts +22 -0
- package/package.json +1 -1
|
@@ -20,6 +20,8 @@ type Resolution = {
|
|
|
20
20
|
ratio: string;
|
|
21
21
|
};
|
|
22
22
|
export declare const quickScan: Resolution[];
|
|
23
|
+
export type FacingMode = 'user' | 'environment' | 'left' | 'right';
|
|
24
|
+
export declare function listAvailableCameras(facingMode?: FacingMode): Promise<MediaDeviceInfo[]>;
|
|
23
25
|
declare function releaseCameraAccess(): void;
|
|
24
26
|
export declare const useHighestResCaptureDevice: ({ preferFrontFacingCamera, preferContinuityCamera, requestMicrophoneAccess, }?: {
|
|
25
27
|
preferFrontFacingCamera: boolean;
|
|
@@ -299,6 +299,10 @@ var GeolocationAccessDeniedOverlay = function GeolocationAccessDeniedOverlay(_a)
|
|
|
299
299
|
}, t('Retry'))))));
|
|
300
300
|
};
|
|
301
301
|
|
|
302
|
+
function getPlatform() {
|
|
303
|
+
return window.platform;
|
|
304
|
+
}
|
|
305
|
+
|
|
302
306
|
var SubmissionProvider = function SubmissionProvider(_a) {
|
|
303
307
|
var action = _a.action,
|
|
304
308
|
children = _a.children,
|
|
@@ -505,7 +509,7 @@ var SubmissionProvider = function SubmissionProvider(_a) {
|
|
|
505
509
|
sdkVersion: 'WebSDK_9.5.13.2.0',
|
|
506
510
|
Resolution: "".concat(window.innerWidth, " x ").concat(window.innerHeight)
|
|
507
511
|
};
|
|
508
|
-
platform =
|
|
512
|
+
platform = getPlatform();
|
|
509
513
|
if (platform) {
|
|
510
514
|
metadata.os = platform.os.family;
|
|
511
515
|
metadata.osVersion = platform.os.version;
|
|
@@ -10738,21 +10742,30 @@ function smallerSideIos() {
|
|
|
10738
10742
|
return window.screen.width < window.screen.height ? window.screen.width : window.screen.height;
|
|
10739
10743
|
}
|
|
10740
10744
|
|
|
10741
|
-
function listAvailableCameras() {
|
|
10745
|
+
function listAvailableCameras(facingMode) {
|
|
10742
10746
|
return tslib.__awaiter(this, void 0, void 0, function () {
|
|
10743
10747
|
var cameraEnumerationStream, videoDevices;
|
|
10744
10748
|
return tslib.__generator(this, function (_a) {
|
|
10745
10749
|
switch (_a.label) {
|
|
10746
10750
|
case 0:
|
|
10747
|
-
|
|
10751
|
+
_a.trys.push([0, 2,, 3]);
|
|
10748
10752
|
return [4, navigator.mediaDevices.getUserMedia({
|
|
10749
|
-
video:
|
|
10753
|
+
video: {
|
|
10754
|
+
facingMode: {
|
|
10755
|
+
exact: facingMode
|
|
10756
|
+
}
|
|
10757
|
+
},
|
|
10750
10758
|
audio: false
|
|
10751
10759
|
})];
|
|
10752
10760
|
case 1:
|
|
10753
10761
|
cameraEnumerationStream = _a.sent();
|
|
10754
|
-
return [
|
|
10762
|
+
return [3, 3];
|
|
10755
10763
|
case 2:
|
|
10764
|
+
_a.sent();
|
|
10765
|
+
return [2, []];
|
|
10766
|
+
case 3:
|
|
10767
|
+
return [4, navigator.mediaDevices.enumerateDevices()];
|
|
10768
|
+
case 4:
|
|
10756
10769
|
videoDevices = _a.sent().filter(function (_a) {
|
|
10757
10770
|
var kind = _a.kind;
|
|
10758
10771
|
return kind === 'videoinput';
|
|
@@ -10767,6 +10780,22 @@ function listAvailableCameras() {
|
|
|
10767
10780
|
});
|
|
10768
10781
|
});
|
|
10769
10782
|
}
|
|
10783
|
+
var frontLabels = ['front', 'avant', 'anteriore', 'cameraaanvoorzijde', 'kamerapåframsidan', 'forsidekamera', 'kamerapåforsiden', 'aparatprzedni', 'etukamera', 'kameradepan', 'ÖnKamera', 'cameramặttrước', 'camerăfață', 'prednákamera', 'prednjakamera', 'előlapikamera', 'přednífotoaparát', 'μπροστινήκάμερα', 'переднякамера', 'передняякамера', 'преднакамера', 'алдыңғыкамера', 'מצלמה קדמית', 'الكاميرا الأمامية', 'फ़्रंटकैमरा', '前置相机', '前置鏡頭', '前面カメラ', '전면카메라', 'กล้องด้านหน้า'].map(function (s) {
|
|
10784
|
+
return s.toLocaleLowerCase().split(' ').join('');
|
|
10785
|
+
});
|
|
10786
|
+
var rearLabels = ['back', 'rear', 'posterior', 'trasera', 'traseira', 'arrière', 'rückkamera', 'fotocamera(posteriore)', 'cameraaanachterzijde', 'kamerapåbaksidan', 'kamerapåbaksiden', 'bagsidekamera', 'aparattylny', 'takakamera', 'arkakamera', 'kamerabelakang', 'cameramặtsau', 'camerăspate', 'stražnjakamera', 'zadnákamera', 'hátoldalikamera', 'zadnífotoaparát', 'πίσωκάμερα', 'заднякамера', 'Задняякамера', 'заднакамера', 'артқыкамера', 'מצלמה אחורית', 'الكاميرا الخلفية', 'बैककैमरा', '后置相机', '後置鏡頭', '背面カメラ', '후면카메라', 'กล้องด้านหลัง'].map(function (s) {
|
|
10787
|
+
return s.toLocaleLowerCase().split(' ').join('');
|
|
10788
|
+
});
|
|
10789
|
+
var backUltraWideLabels = ['backultrawidecamera', 'ultraampliaposterior', 'ultra-angulartraseira', 'ultragrandeangulartraseira', 'ultragrandangle', 'ultragranangular', 'ultra-weitwinkelkamera', 'ultra-grandangolo', 'ultrabredecameraaanachterzijde', 'ultravidvinkelkamerapåbaksidan', 'ultravidvinkelkameraetpåbagsiden', 'ultravidvinkelkamerabak', 'ultragenişkameraarkayüzü', 'ultralaajakulmainentakakamera', 'tylnyaparatultraszerokokątny', 'cameracựcrộngmặtsau', 'camerăcuobiectivultra‑superangularspate', 'ultraszéleslátószögűkamera', 'kameraultralebarbelakang', 'stražnjaultraširokakamera', 'zadníultraširokoúhlýfotoaparát', 'ultraširokouhlá', 'πίσωυπερευρείακάμερα', 'заднянадширококутнакамера', 'Задняясверхширокоугольнаякамера', 'Задна свръх широкоъгълна камера', 'артқыультракеңбұрыштыкамера', 'מצלמה אולטרה רחבה אחורית', 'كاميرا خلفية عريضة جدًا', 'बैकअल्ट्रावाइडकैमरा', '后置超广角相机', '後置超廣角鏡頭相機', '背面超広角カメラ', '후면울트라와이드카메라', 'กล้องด้านหลังอัลตร้าไวด์'].map(function (s) {
|
|
10790
|
+
return s.toLocaleLowerCase().split(' ').join('');
|
|
10791
|
+
});
|
|
10792
|
+
var labelMatches = function labelMatches(labelOrDevice, labelSetOrLabel) {
|
|
10793
|
+
var label = labelOrDevice instanceof MediaDeviceInfo ? getDeviceLabel(labelOrDevice) : labelOrDevice;
|
|
10794
|
+
var labelSet = typeof labelSetOrLabel === 'string' ? [labelSetOrLabel] : labelSetOrLabel;
|
|
10795
|
+
return labelSet.some(function (l) {
|
|
10796
|
+
return label.includes(l);
|
|
10797
|
+
});
|
|
10798
|
+
};
|
|
10770
10799
|
var getDeviceLabel = function getDeviceLabel(deviceInfo) {
|
|
10771
10800
|
return deviceInfo.label.toLocaleLowerCase().split(' ').join('');
|
|
10772
10801
|
};
|
|
@@ -10778,7 +10807,7 @@ function obtainCameraAccess(stream, deviceLabel, video) {
|
|
|
10778
10807
|
width = _a.width,
|
|
10779
10808
|
height = _a.height;
|
|
10780
10809
|
var label = deviceLabel.toLocaleLowerCase().split(' ').join('');
|
|
10781
|
-
var isRearFacing = label.
|
|
10810
|
+
var isRearFacing = labelMatches(label, tslib.__spreadArray(tslib.__spreadArray(tslib.__spreadArray([], rearLabels, true), backUltraWideLabels, true), ['iphone'], false));
|
|
10782
10811
|
var release = function release() {
|
|
10783
10812
|
stream.getTracks().forEach(function (track) {
|
|
10784
10813
|
track.enabled = false;
|
|
@@ -10856,9 +10885,10 @@ var useHighestResCaptureDevice = function useHighestResCaptureDevice(_a) {
|
|
|
10856
10885
|
if (cameraAccessDenied) return;
|
|
10857
10886
|
listAvailableCameras().then(function (availableCameras) {
|
|
10858
10887
|
var selectedCamera;
|
|
10859
|
-
|
|
10888
|
+
var platform = getPlatform();
|
|
10889
|
+
if (!iphoneContinuityCameraDenied && (!platform || platform.os.family === 'OS X')) {
|
|
10860
10890
|
var iphoneContinuityCamera = availableCameras.find(function (deviceInfo) {
|
|
10861
|
-
return
|
|
10891
|
+
return labelMatches(deviceInfo, 'iphone');
|
|
10862
10892
|
});
|
|
10863
10893
|
setIphoneContinuityCameraAvailable(!!iphoneContinuityCamera);
|
|
10864
10894
|
if (iphoneContinuityCamera && iphoneContinuityCameraAllowed) {
|
|
@@ -10867,21 +10897,24 @@ var useHighestResCaptureDevice = function useHighestResCaptureDevice(_a) {
|
|
|
10867
10897
|
}
|
|
10868
10898
|
if (preferFrontFacingCamera) {
|
|
10869
10899
|
selectedCamera || (selectedCamera = availableCameras.find(function (deviceInfo) {
|
|
10870
|
-
return
|
|
10900
|
+
return labelMatches(deviceInfo, frontLabels);
|
|
10871
10901
|
}));
|
|
10872
10902
|
}
|
|
10873
10903
|
if (wideAngleIsBetter()) {
|
|
10874
10904
|
selectedCamera || (selectedCamera = availableCameras.find(function (deviceInfo) {
|
|
10875
|
-
return
|
|
10905
|
+
return labelMatches(deviceInfo, backUltraWideLabels);
|
|
10876
10906
|
}));
|
|
10877
10907
|
} else {
|
|
10878
10908
|
selectedCamera || (selectedCamera = availableCameras.find(function (deviceInfo) {
|
|
10879
|
-
return
|
|
10909
|
+
return labelMatches(deviceInfo, rearLabels) && !labelMatches(deviceInfo, backUltraWideLabels);
|
|
10880
10910
|
}));
|
|
10881
10911
|
}
|
|
10882
10912
|
selectedCamera || (selectedCamera = availableCameras.find(function (deviceInfo) {
|
|
10883
|
-
return
|
|
10913
|
+
return labelMatches(deviceInfo, rearLabels);
|
|
10884
10914
|
}));
|
|
10915
|
+
if (!preferFrontFacingCamera && (platform === null || platform === void 0 ? void 0 : platform.os.family) === 'iOS' && availableCameras.length > 0) {
|
|
10916
|
+
selectedCamera || (selectedCamera = availableCameras[1]);
|
|
10917
|
+
}
|
|
10885
10918
|
selectedCamera || (selectedCamera = availableCameras[0]);
|
|
10886
10919
|
setVideoDevice(selectedCamera);
|
|
10887
10920
|
})["catch"](function (e) {
|
|
@@ -10902,7 +10935,7 @@ var useHighestResCaptureDevice = function useHighestResCaptureDevice(_a) {
|
|
|
10902
10935
|
if (!((_a = navigator.mediaDevices) === null || _a === void 0 ? void 0 : _a.getUserMedia)) return cleanup;
|
|
10903
10936
|
(function () {
|
|
10904
10937
|
return tslib.__awaiter(void 0, void 0, void 0, function () {
|
|
10905
|
-
var stream,
|
|
10938
|
+
var stream, e_2;
|
|
10906
10939
|
return tslib.__generator(this, function (_a) {
|
|
10907
10940
|
switch (_a.label) {
|
|
10908
10941
|
case 0:
|
|
@@ -10926,8 +10959,8 @@ var useHighestResCaptureDevice = function useHighestResCaptureDevice(_a) {
|
|
|
10926
10959
|
stream = _a.sent();
|
|
10927
10960
|
return [3, 4];
|
|
10928
10961
|
case 3:
|
|
10929
|
-
|
|
10930
|
-
if (
|
|
10962
|
+
e_2 = _a.sent();
|
|
10963
|
+
if (e_2.name === 'NotAllowedError') {
|
|
10931
10964
|
if (iphoneContinuityCameraAllowed) {
|
|
10932
10965
|
setIphoneContinuityCameraAvailable(false);
|
|
10933
10966
|
setIphoneContinuityCameraDenied(true);
|