idmission-web-sdk 0.0.70 → 0.0.72

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.
@@ -0,0 +1,5 @@
1
+ import { ReactElement } from 'react';
2
+ export type ModelLoadingErrorOverlayProps = {
3
+ error: Error;
4
+ };
5
+ export declare const ModelLoadingErrorOverlay: ({ error, }: ModelLoadingErrorOverlayProps) => ReactElement;
@@ -1,4 +1,8 @@
1
1
  /// <reference types="react" />
2
+ export declare const IdCaptureImagePreview: ({ text, imageUrl, }: {
3
+ text?: string | undefined;
4
+ imageUrl: string;
5
+ }) => JSX.Element;
2
6
  export declare const SelfieProgressPreview: ({ imageUrl }: {
3
7
  imageUrl: string;
4
8
  }) => JSX.Element;
@@ -35,9 +35,10 @@ export type IdCaptureProps = {
35
35
  onExit?: () => void;
36
36
  processingScreen?: React.ReactElement;
37
37
  processingDelay?: number;
38
+ processingText?: string;
38
39
  assets?: IdCaptureAssets;
39
40
  colors?: IdCaptureColors;
40
41
  verbiage?: IdCaptureVerbiage;
41
42
  debugMode?: boolean;
42
43
  };
43
- export declare const IdCapture: ({ requiredDocumentType, autoCaptureEnabled, autoCaptureScoreThreshold, autoCaptureGoodFramesRequired, autoCaptureBarcodeRequired, mrzDetectionScoreThreshold, passportPageDetectionThreshold, pdf417DetectionThreshold, focusScoreThreshold, barcodeScanningEnabled, maxBarcodeScanAttempts, onPrediction, onBarcodeScanned, onCapture, onExit, processingScreen, processingDelay, assets, colors, verbiage, debugMode, }: IdCaptureProps) => React.ReactElement;
44
+ export declare const IdCapture: ({ requiredDocumentType, autoCaptureEnabled, autoCaptureScoreThreshold, autoCaptureGoodFramesRequired, autoCaptureBarcodeRequired, mrzDetectionScoreThreshold, passportPageDetectionThreshold, pdf417DetectionThreshold, focusScoreThreshold, barcodeScanningEnabled, maxBarcodeScanAttempts, onPrediction, onBarcodeScanned, onCapture, onExit, processingScreen, processingDelay, processingText, assets, colors, verbiage, debugMode, }: IdCaptureProps) => React.ReactElement;
@@ -7820,6 +7820,23 @@ function cropToBoundingBox(frame, bbox) {
7820
7820
  return canvas;
7821
7821
  }
7822
7822
 
7823
+ var ModelLoadingErrorOverlay = function ModelLoadingErrorOverlay(_a) {
7824
+ var error = _a.error;
7825
+ return /*#__PURE__*/React__default['default'].createElement(OverlayContainer, null, /*#__PURE__*/React__default['default'].createElement(OverlayInner, {
7826
+ style: {
7827
+ justifyContent: 'center'
7828
+ }
7829
+ }, /*#__PURE__*/React__default['default'].createElement("h3", {
7830
+ style: {
7831
+ marginBottom: 8
7832
+ }
7833
+ }, "We're sorry, an unexpected error has occurred."), /*#__PURE__*/React__default['default'].createElement("p", {
7834
+ style: {
7835
+ marginBottom: 0
7836
+ }
7837
+ }, /*#__PURE__*/React__default['default'].createElement("code", null, error.message))));
7838
+ };
7839
+
7823
7840
  var PREDICTION_POSITIONS = {
7824
7841
  boxes: 0,
7825
7842
  scores: 7,
@@ -7884,6 +7901,9 @@ var IdCaptureModelsProvider = function IdCaptureModelsProvider(_a) {
7884
7901
  var _k = React.useState(0),
7885
7902
  focusPredictionTime = _k[0],
7886
7903
  setFocusPredictionTime = _k[1];
7904
+ var _l = React.useState(null),
7905
+ loadingError = _l[0],
7906
+ setLoadingError = _l[1];
7887
7907
  React.useEffect(function () {
7888
7908
  setReady(false);
7889
7909
  var ddmUrl = documentDetectionModelUrl || defaultDocumentDetectionModelUrl;
@@ -7933,9 +7953,13 @@ var IdCaptureModelsProvider = function IdCaptureModelsProvider(_a) {
7933
7953
  });
7934
7954
  });
7935
7955
  }
7936
- loadModels().then(function () {
7937
- setReady(true);
7938
- });
7956
+ try {
7957
+ loadModels().then(function () {
7958
+ setReady(true);
7959
+ });
7960
+ } catch (e) {
7961
+ setLoadingError(e);
7962
+ }
7939
7963
  var webGLCanvas = getWebGLContext(2).canvas;
7940
7964
  webGLCanvas.addEventListener('webglcontextlost', reloadModels);
7941
7965
  return function () {
@@ -8029,7 +8053,9 @@ var IdCaptureModelsProvider = function IdCaptureModelsProvider(_a) {
8029
8053
  }, [detectionTime, focusPredictionTime, getBestFrame, makePrediction, onPredictionMade, ready, resetBestFrame, setThresholds, thresholds]);
8030
8054
  return /*#__PURE__*/React__default['default'].createElement(IdCaptureModelsContext.Provider, {
8031
8055
  value: value
8032
- }, children, /*#__PURE__*/React__default['default'].createElement(InvisibleCanvas, {
8056
+ }, loadingError ? /*#__PURE__*/React__default['default'].createElement(ModelLoadingErrorOverlay, {
8057
+ error: loadingError
8058
+ }) : children, /*#__PURE__*/React__default['default'].createElement(InvisibleCanvas, {
8033
8059
  ref: lastPredictionCanvas
8034
8060
  }), /*#__PURE__*/React__default['default'].createElement(InvisibleCanvas, {
8035
8061
  ref: bestPredictionCanvas
@@ -8469,6 +8495,63 @@ var templateObject_1$7, templateObject_2$3, templateObject_3$2, templateObject_4
8469
8495
  var ExitCaptureButton = styled__default['default'].button(templateObject_1$6 || (templateObject_1$6 = tslib.__makeTemplateObject(["\n position: absolute;\n top: 12px;\n right: 12px;\n font-size: 20px;\n width: 32px;\n height: 32px;\n font-family: monospace;\n z-index: 1002;\n border: none;\n border-radius: 4px;\n background: #ccc;\n cursor: pointer;\n\n &:hover {\n background: #ddd;\n }\n"], ["\n position: absolute;\n top: 12px;\n right: 12px;\n font-size: 20px;\n width: 32px;\n height: 32px;\n font-family: monospace;\n z-index: 1002;\n border: none;\n border-radius: 4px;\n background: #ccc;\n cursor: pointer;\n\n &:hover {\n background: #ddd;\n }\n"])));
8470
8496
  var templateObject_1$6;
8471
8497
 
8498
+ var Spinner = styled__default['default'].div(templateObject_1$5 || (templateObject_1$5 = tslib.__makeTemplateObject(["\n display: inline-block;\n width: ", "px;\n height: ", "px;\n margin: auto;\n\n &:after {\n content: ' ';\n display: block;\n width: ", "px;\n height: ", "px;\n margin: 8px;\n border-radius: 50%;\n border: ", "px solid\n ", ";\n border-color: ", " transparent\n ", " transparent;\n animation: lds-dual-ring 1.2s linear infinite;\n box-sizing: content-box;\n }\n\n @keyframes lds-dual-ring {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n"], ["\n display: inline-block;\n width: ", "px;\n height: ", "px;\n margin: auto;\n\n &:after {\n content: ' ';\n display: block;\n width: ", "px;\n height: ", "px;\n margin: 8px;\n border-radius: 50%;\n border: ", "px solid\n ", ";\n border-color: ", " transparent\n ", " transparent;\n animation: lds-dual-ring 1.2s linear infinite;\n box-sizing: content-box;\n }\n\n @keyframes lds-dual-ring {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n"])), function (_a) {
8499
+ var $size = _a.$size;
8500
+ return $size !== null && $size !== void 0 ? $size : 80;
8501
+ }, function (_a) {
8502
+ var $size = _a.$size;
8503
+ return $size !== null && $size !== void 0 ? $size : 80;
8504
+ }, function (_a) {
8505
+ var $size = _a.$size;
8506
+ return ($size !== null && $size !== void 0 ? $size : 80) - 16;
8507
+ }, function (_a) {
8508
+ var $size = _a.$size;
8509
+ return ($size !== null && $size !== void 0 ? $size : 80) - 16;
8510
+ }, function (_a) {
8511
+ var $thickness = _a.$thickness;
8512
+ return $thickness !== null && $thickness !== void 0 ? $thickness : 6;
8513
+ }, function (_a) {
8514
+ var $color = _a.$color;
8515
+ return $color !== null && $color !== void 0 ? $color : '#888';
8516
+ }, function (_a) {
8517
+ var $color = _a.$color;
8518
+ return $color !== null && $color !== void 0 ? $color : '#888';
8519
+ }, function (_a) {
8520
+ var $color = _a.$color;
8521
+ return $color !== null && $color !== void 0 ? $color : '#888';
8522
+ });
8523
+ var templateObject_1$5;
8524
+
8525
+ var IdCaptureImagePreview = function IdCaptureImagePreview(_a) {
8526
+ var text = _a.text,
8527
+ imageUrl = _a.imageUrl;
8528
+ return /*#__PURE__*/React__default['default'].createElement(ImagePreviewWrapper, null, text && /*#__PURE__*/React__default['default'].createElement(ImagePreviewText, null, text), /*#__PURE__*/React__default['default'].createElement(ImagePreviewImageWrapper, null, /*#__PURE__*/React__default['default'].createElement("img", {
8529
+ src: imageUrl,
8530
+ alt: ""
8531
+ })));
8532
+ };
8533
+ var SelfieProgressPreview = function SelfieProgressPreview(_a) {
8534
+ var imageUrl = _a.imageUrl;
8535
+ return /*#__PURE__*/React__default['default'].createElement(ImagePreviewWrapper, null, /*#__PURE__*/React__default['default'].createElement(ImagePreviewText, null, /*#__PURE__*/React__default['default'].createElement(Spinner, {
8536
+ "$size": 24,
8537
+ "$color": "white",
8538
+ "$thickness": 3,
8539
+ style: {
8540
+ position: 'relative',
8541
+ top: 4,
8542
+ left: -3,
8543
+ margin: '0 3px 0 -12px'
8544
+ }
8545
+ }), "Processing..."), /*#__PURE__*/React__default['default'].createElement(ImagePreviewImageWrapper, null, /*#__PURE__*/React__default['default'].createElement("img", {
8546
+ src: imageUrl,
8547
+ alt: ""
8548
+ })));
8549
+ };
8550
+ var ImagePreviewWrapper = styled__default['default'].div(templateObject_1$4 || (templateObject_1$4 = tslib.__makeTemplateObject(["\n position: absolute;\n display: flex;\n flex-direction: column;\n height: 33%;\n bottom: 12px;\n right: 12px;\n"], ["\n position: absolute;\n display: flex;\n flex-direction: column;\n height: 33%;\n bottom: 12px;\n right: 12px;\n"])));
8551
+ var ImagePreviewText = styled__default['default'].div(templateObject_2$2 || (templateObject_2$2 = tslib.__makeTemplateObject(["\n display: block;\n position: absolute;\n top: -32px;\n font:\n 14px -apple-system,\n BlinkMacSystemFont,\n 'Segoe UI',\n Roboto,\n Helvetica,\n Arial,\n sans-serif,\n 'Apple Color Emoji',\n 'Segoe UI Emoji',\n 'Segoe UI Symbol';\n color: white;\n text-align: center;\n margin: 0 auto;\n width: 100%;\n"], ["\n display: block;\n position: absolute;\n top: -32px;\n font:\n 14px -apple-system,\n BlinkMacSystemFont,\n 'Segoe UI',\n Roboto,\n Helvetica,\n Arial,\n sans-serif,\n 'Apple Color Emoji',\n 'Segoe UI Emoji',\n 'Segoe UI Symbol';\n color: white;\n text-align: center;\n margin: 0 auto;\n width: 100%;\n"])));
8552
+ var ImagePreviewImageWrapper = styled__default['default'].div(templateObject_3$1 || (templateObject_3$1 = tslib.__makeTemplateObject(["\n position: relative;\n height: calc(100% - 8px);\n padding: 4px;\n border-radius: 4px;\n background: white;\n\n & > img {\n border-radius: 4px;\n width: auto;\n max-height: 100%;\n }\n"], ["\n position: relative;\n height: calc(100% - 8px);\n padding: 4px;\n border-radius: 4px;\n background: white;\n\n & > img {\n border-radius: 4px;\n width: auto;\n max-height: 100%;\n }\n"])));
8553
+ var templateObject_1$4, templateObject_2$2, templateObject_3$1;
8554
+
8472
8555
  var initialState$5 = {
8473
8556
  videoWidth: 0,
8474
8557
  videoHeight: 0,
@@ -8663,6 +8746,7 @@ var IdCapture = function IdCapture(_a) {
8663
8746
  processingScreen = _a.processingScreen,
8664
8747
  _s = _a.processingDelay,
8665
8748
  processingDelay = _s === void 0 ? 0 : _s,
8749
+ processingText = _a.processingText,
8666
8750
  _t = _a.assets,
8667
8751
  assets = _t === void 0 ? {} : _t,
8668
8752
  _u = _a.colors,
@@ -8897,7 +8981,10 @@ var IdCapture = function IdCapture(_a) {
8897
8981
  videoHeight: state.videoHeight
8898
8982
  });
8899
8983
  if (processingFrame) {
8900
- return processingScreen || /*#__PURE__*/React__default['default'].createElement("div", null, "Processing...");
8984
+ return /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, processingScreen, imageURL && /*#__PURE__*/React__default['default'].createElement(IdCaptureImagePreview, {
8985
+ text: processingText,
8986
+ imageUrl: imageURL
8987
+ }));
8901
8988
  }
8902
8989
  if (imageURL !== '') {
8903
8990
  return /*#__PURE__*/React__default['default'].createElement("img", {
@@ -9364,10 +9451,10 @@ var CameraVideoTag = function CameraVideoTag() {
9364
9451
  "$isRearFacing": (_a = cameraRef.current) === null || _a === void 0 ? void 0 : _a.isRearFacing
9365
9452
  });
9366
9453
  };
9367
- var FullscreenVideoTag = styled__default['default'].video(templateObject_1$5 || (templateObject_1$5 = tslib.__makeTemplateObject(["\n transform: ", ";\n min-width: 100%;\n min-height: 100%;\n width: auto;\n height: auto;\n object-fit: cover;\n"], ["\n transform: ", ";\n min-width: 100%;\n min-height: 100%;\n width: auto;\n height: auto;\n object-fit: cover;\n"])), function (props) {
9454
+ var FullscreenVideoTag = styled__default['default'].video(templateObject_1$3 || (templateObject_1$3 = tslib.__makeTemplateObject(["\n transform: ", ";\n min-width: 100%;\n min-height: 100%;\n width: auto;\n height: auto;\n object-fit: cover;\n"], ["\n transform: ", ";\n min-width: 100%;\n min-height: 100%;\n width: auto;\n height: auto;\n object-fit: cover;\n"])), function (props) {
9368
9455
  return props.$isRearFacing ? '' : 'scaleX(-1)';
9369
9456
  });
9370
- var templateObject_1$5;
9457
+ var templateObject_1$3;
9371
9458
 
9372
9459
  function useShowSuccessScreen(skipSuccessScreen, successScreenReady, onDoneCallback) {
9373
9460
  var _this = this;
@@ -9661,6 +9748,7 @@ var IdCaptureWizard = function IdCaptureWizard(_a) {
9661
9748
  colors: colors,
9662
9749
  verbiage: verbiage.idCardFront,
9663
9750
  debugMode: debugMode,
9751
+ processingText: "ID card front captured.",
9664
9752
  processingScreen: /*#__PURE__*/React__default['default'].createElement(FlipIdPrompt, {
9665
9753
  assets: assets.flipIdPrompt,
9666
9754
  verbiage: verbiage.flipIdPrompt
@@ -9849,18 +9937,30 @@ var HighPerformanceSelfieGuidanceModelsProvider = function HighPerformanceSelfie
9849
9937
  var detectorRef = React.useRef(null);
9850
9938
  var rafId = React.useRef(0);
9851
9939
  var loopId = React.useRef(0);
9940
+ var _f = React.useState(null),
9941
+ loadingError = _f[0],
9942
+ setLoadingError = _f[1];
9852
9943
  React.useEffect(function () {
9853
9944
  (function () {
9854
9945
  return tslib.__awaiter(void 0, void 0, void 0, function () {
9855
- var _a;
9946
+ var _a, e_1;
9856
9947
  return tslib.__generator(this, function (_b) {
9857
9948
  switch (_b.label) {
9858
9949
  case 0:
9859
9950
  setReady(false);
9951
+ _b.label = 1;
9952
+ case 1:
9953
+ _b.trys.push([1, 3,, 4]);
9860
9954
  _a = detectorRef;
9861
9955
  return [4, loadHighPerformanceFaceDetector()];
9862
- case 1:
9956
+ case 2:
9863
9957
  _a.current = _b.sent();
9958
+ return [3, 4];
9959
+ case 3:
9960
+ e_1 = _b.sent();
9961
+ setLoadingError(e_1);
9962
+ return [3, 4];
9963
+ case 4:
9864
9964
  setReady(true);
9865
9965
  return [2];
9866
9966
  }
@@ -9996,21 +10096,23 @@ var HighPerformanceSelfieGuidanceModelsProvider = function HighPerformanceSelfie
9996
10096
  }, [onPredictionMade, ready, start, stop]);
9997
10097
  return /*#__PURE__*/React__namespace.createElement(HighPerformanceSelfieGuidanceModelsContext.Provider, {
9998
10098
  value: value
9999
- }, children);
10099
+ }, loadingError ? /*#__PURE__*/React__namespace.createElement(ModelLoadingErrorOverlay, {
10100
+ error: loadingError
10101
+ }) : children);
10000
10102
  };
10001
10103
 
10002
- var GuidanceMessageContainer = styled__default['default'].div(templateObject_1$4 || (templateObject_1$4 = tslib.__makeTemplateObject(["\n position: absolute;\n top: calc(", ");\n font-weight: bold;\n width: 100%;\n display: flex;\n"], ["\n position: absolute;\n top: calc(", ");\n font-weight: bold;\n width: 100%;\n display: flex;\n"])), function (_a) {
10104
+ var GuidanceMessageContainer = styled__default['default'].div(templateObject_1$2 || (templateObject_1$2 = tslib.__makeTemplateObject(["\n position: absolute;\n top: calc(", ");\n font-weight: bold;\n width: 100%;\n display: flex;\n"], ["\n position: absolute;\n top: calc(", ");\n font-weight: bold;\n width: 100%;\n display: flex;\n"])), function (_a) {
10003
10105
  var $top = _a.$top;
10004
10106
  return $top !== null && $top !== void 0 ? $top : '10vh';
10005
10107
  });
10006
- var GuidanceMessage = styled__default['default'].div(templateObject_2$2 || (templateObject_2$2 = tslib.__makeTemplateObject(["\n margin-left: auto;\n margin-right: auto;\n background: ", ";\n color: ", ";\n padding: 10px 12px 8px;\n border-radius: 8px;\n"], ["\n margin-left: auto;\n margin-right: auto;\n background: ", ";\n color: ", ";\n padding: 10px 12px 8px;\n border-radius: 8px;\n"])), function (_a) {
10108
+ var GuidanceMessage = styled__default['default'].div(templateObject_2$1 || (templateObject_2$1 = tslib.__makeTemplateObject(["\n margin-left: auto;\n margin-right: auto;\n background: ", ";\n color: ", ";\n padding: 10px 12px 8px;\n border-radius: 8px;\n"], ["\n margin-left: auto;\n margin-right: auto;\n background: ", ";\n color: ", ";\n padding: 10px 12px 8px;\n border-radius: 8px;\n"])), function (_a) {
10007
10109
  var $background = _a.$background;
10008
10110
  return $background !== null && $background !== void 0 ? $background : '#ccc';
10009
10111
  }, function (_a) {
10010
10112
  var $textColor = _a.$textColor;
10011
10113
  return $textColor !== null && $textColor !== void 0 ? $textColor : 'black';
10012
10114
  });
10013
- var templateObject_1$4, templateObject_2$2;
10115
+ var templateObject_1$2, templateObject_2$1;
10014
10116
 
10015
10117
  var useTimeout = function useTimeout(durationMs, onTimeout, timeoutAverted, shouldWaitLonger) {
10016
10118
  var _a = React.useState(false),
@@ -10287,55 +10389,6 @@ var SelfieCapture = function SelfieCapture(_a) {
10287
10389
  }, "\xD7"));
10288
10390
  };
10289
10391
 
10290
- var Spinner = styled__default['default'].div(templateObject_1$3 || (templateObject_1$3 = tslib.__makeTemplateObject(["\n display: inline-block;\n width: ", "px;\n height: ", "px;\n margin: auto;\n\n &:after {\n content: ' ';\n display: block;\n width: ", "px;\n height: ", "px;\n margin: 8px;\n border-radius: 50%;\n border: ", "px solid\n ", ";\n border-color: ", " transparent\n ", " transparent;\n animation: lds-dual-ring 1.2s linear infinite;\n box-sizing: content-box;\n }\n\n @keyframes lds-dual-ring {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n"], ["\n display: inline-block;\n width: ", "px;\n height: ", "px;\n margin: auto;\n\n &:after {\n content: ' ';\n display: block;\n width: ", "px;\n height: ", "px;\n margin: 8px;\n border-radius: 50%;\n border: ", "px solid\n ", ";\n border-color: ", " transparent\n ", " transparent;\n animation: lds-dual-ring 1.2s linear infinite;\n box-sizing: content-box;\n }\n\n @keyframes lds-dual-ring {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n"])), function (_a) {
10291
- var $size = _a.$size;
10292
- return $size !== null && $size !== void 0 ? $size : 80;
10293
- }, function (_a) {
10294
- var $size = _a.$size;
10295
- return $size !== null && $size !== void 0 ? $size : 80;
10296
- }, function (_a) {
10297
- var $size = _a.$size;
10298
- return ($size !== null && $size !== void 0 ? $size : 80) - 16;
10299
- }, function (_a) {
10300
- var $size = _a.$size;
10301
- return ($size !== null && $size !== void 0 ? $size : 80) - 16;
10302
- }, function (_a) {
10303
- var $thickness = _a.$thickness;
10304
- return $thickness !== null && $thickness !== void 0 ? $thickness : 6;
10305
- }, function (_a) {
10306
- var $color = _a.$color;
10307
- return $color !== null && $color !== void 0 ? $color : '#888';
10308
- }, function (_a) {
10309
- var $color = _a.$color;
10310
- return $color !== null && $color !== void 0 ? $color : '#888';
10311
- }, function (_a) {
10312
- var $color = _a.$color;
10313
- return $color !== null && $color !== void 0 ? $color : '#888';
10314
- });
10315
- var templateObject_1$3;
10316
-
10317
- var SelfieProgressPreview = function SelfieProgressPreview(_a) {
10318
- var imageUrl = _a.imageUrl;
10319
- return /*#__PURE__*/React__default['default'].createElement(SelfieProgressPreviewWrapper, null, /*#__PURE__*/React__default['default'].createElement(SelfieProgressText, null, /*#__PURE__*/React__default['default'].createElement(Spinner, {
10320
- "$size": 24,
10321
- "$color": "white",
10322
- "$thickness": 3,
10323
- style: {
10324
- position: 'relative',
10325
- top: 4,
10326
- left: -3,
10327
- margin: '0 3px 0 -12px'
10328
- }
10329
- }), "Processing..."), /*#__PURE__*/React__default['default'].createElement(SelfiePreviewImageWrapper, null, /*#__PURE__*/React__default['default'].createElement("img", {
10330
- src: imageUrl,
10331
- alt: ""
10332
- })));
10333
- };
10334
- var SelfieProgressPreviewWrapper = styled__default['default'].div(templateObject_1$2 || (templateObject_1$2 = tslib.__makeTemplateObject(["\n position: absolute;\n display: flex;\n flex-direction: column;\n height: 33%;\n bottom: 12px;\n right: 12px;\n"], ["\n position: absolute;\n display: flex;\n flex-direction: column;\n height: 33%;\n bottom: 12px;\n right: 12px;\n"])));
10335
- var SelfieProgressText = styled__default['default'].div(templateObject_2$1 || (templateObject_2$1 = tslib.__makeTemplateObject(["\n display: block;\n position: absolute;\n top: -32px;\n font:\n 14px -apple-system,\n BlinkMacSystemFont,\n 'Segoe UI',\n Roboto,\n Helvetica,\n Arial,\n sans-serif,\n 'Apple Color Emoji',\n 'Segoe UI Emoji',\n 'Segoe UI Symbol';\n color: white;\n text-align: center;\n margin: 0 auto;\n width: 100%;\n"], ["\n display: block;\n position: absolute;\n top: -32px;\n font:\n 14px -apple-system,\n BlinkMacSystemFont,\n 'Segoe UI',\n Roboto,\n Helvetica,\n Arial,\n sans-serif,\n 'Apple Color Emoji',\n 'Segoe UI Emoji',\n 'Segoe UI Symbol';\n color: white;\n text-align: center;\n margin: 0 auto;\n width: 100%;\n"])));
10336
- var SelfiePreviewImageWrapper = styled__default['default'].div(templateObject_3$1 || (templateObject_3$1 = tslib.__makeTemplateObject(["\n position: relative;\n height: calc(100% - 8px);\n padding: 4px;\n border-radius: 4px;\n background: white;\n\n & > img {\n border-radius: 4px;\n width: auto;\n max-height: 100%;\n }\n"], ["\n position: relative;\n height: calc(100% - 8px);\n padding: 4px;\n border-radius: 4px;\n background: white;\n\n & > img {\n border-radius: 4px;\n width: auto;\n max-height: 100%;\n }\n"])));
10337
- var templateObject_1$2, templateObject_2$1, templateObject_3$1;
10338
-
10339
10392
  var initialState$2 = {
10340
10393
  frame: null,
10341
10394
  face: null,