diff --git a/packages/react-liveness/src/components/FaceLivenessDetector/LivenessCheck/LivenessCameraModule.tsx b/packages/react-liveness/src/components/FaceLivenessDetector/LivenessCheck/LivenessCameraModule.tsx
index 36faeb1cefe..535b5751976 100644
--- a/packages/react-liveness/src/components/FaceLivenessDetector/LivenessCheck/LivenessCameraModule.tsx
+++ b/packages/react-liveness/src/components/FaceLivenessDetector/LivenessCheck/LivenessCameraModule.tsx
@@ -310,6 +310,64 @@ export const LivenessCameraModule = (
>
{!isCameraReady && centeredLoader}
+
+ {isRecording && (
+
+ )}
+
+ {!isStartView && !isWaitingForCamera && !isCheckSucceeded && (
+
+ )}
+
+
+
+
+
+ {errorState && (
+ {
+ send({ type: 'CANCEL' });
+ }}
+ displayText={errorDisplayText}
+ >
+ {renderErrorModal({
+ errorState,
+ overrideErrorDisplayText: errorDisplayText,
+ })}
+
+ )}
+
+ {/*
+ We only want to show the MatchIndicator when we're recording
+ and when the face is in either the too far state, or the
+ initial face identified state. Using the a memoized MatchIndicator here
+ so that even when this component re-renders the indicator is only
+ re-rendered if the percentage prop changes.
+ */}
+ {isRecording &&
+ !isFlashingFreshness &&
+ showMatchIndicatorStates.includes(faceMatchState!) ? (
+
+ ) : null}
+
+
- {isRecording && (
-
- )}
-
- {!isStartView && !isWaitingForCamera && !isCheckSucceeded && (
-
- )}
-
-
-
-
- {errorState && (
- {
- send({ type: 'CANCEL' });
- }}
- displayText={errorDisplayText}
- >
- {renderErrorModal({
- errorState,
- overrideErrorDisplayText: errorDisplayText,
- })}
-
- )}
-
- {/*
- We only want to show the MatchIndicator when we're recording
- and when the face is in either the too far state, or the
- initial face identified state. Using the a memoized MatchIndicator here
- so that even when this component re-renders the indicator is only
- re-rendered if the percentage prop changes.
- */}
- {isRecording &&
- !isFlashingFreshness &&
- showMatchIndicatorStates.includes(faceMatchState!) ? (
-
- ) : null}
-
-
{isStartView &&
!isMobileScreen &&
selectableDevices &&
diff --git a/packages/ui/src/theme/css/component/liveness.scss b/packages/ui/src/theme/css/component/liveness.scss
index cb351861653..1fba1dc8a46 100644
--- a/packages/ui/src/theme/css/component/liveness.scss
+++ b/packages/ui/src/theme/css/component/liveness.scss
@@ -42,6 +42,7 @@
left: 0;
height: 100%;
width: 100%;
+ z-index: 2;
}
.amplify-liveness-video {
@@ -110,7 +111,7 @@
}
.amplify-liveness-instruction-overlay {
- z-index: 1;
+ z-index: 2;
}
.amplify-liveness-countdown-container {
@@ -131,6 +132,7 @@
padding: var(--amplify-space-small);
max-width: 100%;
}
+
.amplify-liveness-toast__message {
color: var(--amplify-colors-font-primary);
text-align: center;
@@ -336,6 +338,10 @@
font-weight: var(--amplify-font-weights-bold);
}
+.amplify-liveness-hint--mobile {
+ margin-top: var(--amplify-space-xxxl);
+}
+
.amplify-liveness-hint__text {
align-items: center;
gap: var(--amplify-space-xs);
@@ -415,5 +421,6 @@
flex-direction: column;
align-items: center;
justify-content: center;
+ text-align: center;
height: 480px;
}