Component props
The rendered RecordingIndicator component, or null if not recording
The RecordingIndicator component provides a clear visual indication that
a recording is in progress. It features a pulsing red dot animation and
optional duration display. The component returns null when not recording.
Key Features:
Visibility:
The component automatically hides when isRecording is false, returning
null from the render. This makes conditional rendering unnecessary.
Basic recording indicator:
import { RecordingIndicator } from '@hiyve/react-capture';
function RecordingStatus({ isRecording, duration }) {
return (
<RecordingIndicator
isRecording={isRecording}
duration={duration}
/>
);
}
Small indicator for video overlay:
import { RecordingIndicator } from '@hiyve/react-capture';
function VideoOverlay({ isRecording, duration }) {
return (
<Box sx={{ position: 'absolute', top: 8, left: 8 }}>
<RecordingIndicator
isRecording={isRecording}
duration={duration}
size="small"
/>
</Box>
);
}
Custom styling for dark theme:
import { RecordingIndicator } from '@hiyve/react-capture';
function DarkThemeIndicator({ isRecording, duration }) {
return (
<RecordingIndicator
isRecording={isRecording}
duration={duration}
label="LIVE"
colors={{
background: 'rgba(255, 255, 255, 0.1)',
indicator: '#FF4444',
text: '#FFFFFF',
}}
/>
);
}
With custom animation and format:
import { RecordingIndicator } from '@hiyve/react-capture';
function CustomIndicator({ isRecording, duration }) {
return (
<RecordingIndicator
isRecording={isRecording}
duration={duration}
showPulse
styles={{
animationDuration: '0.8s', // Faster pulse
borderRadius: 4, // More rounded
fontWeight: 800, // Bolder text
formatDuration: (seconds) => {
const mins = Math.floor(seconds / 60);
const secs = seconds % 60;
return `${mins}m ${secs}s`;
},
}}
/>
);
}
RecordingIndicator displays a visual badge when recording is active.