react-native-voice-ts 1.0.0 → 1.0.1
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/README.md +914 -83
- package/dist/components/MicIcon.d.ts +23 -0
- package/dist/components/MicIcon.d.ts.map +1 -0
- package/dist/components/MicIcon.js +28 -0
- package/dist/components/MicIcon.js.map +1 -0
- package/dist/components/VoiceMicrophone.d.ts +81 -0
- package/dist/components/VoiceMicrophone.d.ts.map +1 -0
- package/dist/components/VoiceMicrophone.js +151 -0
- package/dist/components/VoiceMicrophone.js.map +1 -0
- package/dist/components/index.d.ts +5 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +3 -0
- package/dist/components/index.js.map +1 -0
- package/dist/hooks/index.d.ts +3 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +2 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/useVoiceRecognition.d.ts +77 -0
- package/dist/hooks/useVoiceRecognition.d.ts.map +1 -0
- package/dist/hooks/useVoiceRecognition.js +129 -0
- package/dist/hooks/useVoiceRecognition.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/ios/Voice.xcodeproj/project.xcworkspace/xcuserdata/olumayowadaniel.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- package/ios/Voice.xcodeproj/project.xcworkspace/xcuserdata/rudie_shahinian.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- package/package.json +24 -6
- package/plugin/src/withVoice.ts +74 -0
- package/plugin/tsconfig.json +10 -0
- package/src/components/MicIcon.tsx +72 -0
- package/src/components/VoiceMicrophone.tsx +238 -0
- package/src/components/index.ts +4 -0
- package/src/hooks/index.ts +5 -0
- package/src/hooks/useVoiceRecognition.ts +217 -0
- package/src/images/mic.svg +16 -0
- package/src/index.ts +15 -0
- package/.nvmrc +0 -1
- package/.prettierrc +0 -5
- package/.releaserc +0 -15
- package/MIGRATION_SUMMARY.md +0 -510
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
Binary file
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-voice-ts",
|
|
3
|
-
"description": "React Native
|
|
4
|
-
"version": "1.0.
|
|
3
|
+
"description": "Advanced Speech-to-Text library for React Native with TypeScript support. Features ready-to-use components (VoiceMicrophone), custom hooks (useVoiceRecognition), real-time transcription, multi-language support, and comprehensive voice recognition capabilities for iOS and Android.",
|
|
4
|
+
"version": "1.0.1",
|
|
5
5
|
"author": "Noor Mohammad <noor.jsdivs@gmail.com>",
|
|
6
6
|
"private": false,
|
|
7
7
|
"homepage": "https://github.com/noorjsdivs/react-native-voice-ts",
|
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
"prettier": "^3.7.4",
|
|
22
22
|
"react": "^19.2.1",
|
|
23
23
|
"react-native": "^0.83.0",
|
|
24
|
+
"react-native-svg": "^15.15.1",
|
|
24
25
|
"semantic-release": "^25.0.2",
|
|
25
26
|
"typescript": "5.9.3"
|
|
26
27
|
},
|
|
@@ -43,14 +44,32 @@
|
|
|
43
44
|
"source": "src/index.ts",
|
|
44
45
|
"main": "dist/index.js",
|
|
45
46
|
"types": "dist/index.d.ts",
|
|
47
|
+
"files": [
|
|
48
|
+
"dist",
|
|
49
|
+
"src",
|
|
50
|
+
"android",
|
|
51
|
+
"ios",
|
|
52
|
+
"plugin",
|
|
53
|
+
"app.plugin.js",
|
|
54
|
+
"react-native-voice.podspec",
|
|
55
|
+
"README.md",
|
|
56
|
+
"LICENSE",
|
|
57
|
+
"COMPONENT_USAGE.md",
|
|
58
|
+
"CONTRIBUTING.md",
|
|
59
|
+
"MIGRATION_SUMMARY.md"
|
|
60
|
+
],
|
|
46
61
|
"peerDependencies": {
|
|
47
62
|
"expo": ">=48.0.0",
|
|
48
63
|
"react": ">=18.0.0",
|
|
49
|
-
"react-native": ">=0.71.0"
|
|
64
|
+
"react-native": ">=0.71.0",
|
|
65
|
+
"react-native-svg": ">=13.0.0"
|
|
50
66
|
},
|
|
51
67
|
"peerDependenciesMeta": {
|
|
52
68
|
"expo": {
|
|
53
69
|
"optional": true
|
|
70
|
+
},
|
|
71
|
+
"react-native-svg": {
|
|
72
|
+
"optional": true
|
|
54
73
|
}
|
|
55
74
|
},
|
|
56
75
|
"repository": {
|
|
@@ -60,10 +79,9 @@
|
|
|
60
79
|
"bugs": {
|
|
61
80
|
"url": "https://github.com/noorjsdivs/react-native-voice-ts/issues"
|
|
62
81
|
},
|
|
63
|
-
|
|
64
82
|
"scripts": {
|
|
65
|
-
"lint": "eslint src
|
|
66
|
-
"lint:check": "eslint src
|
|
83
|
+
"lint": "eslint \"src/**/*.{ts,tsx}\" --fix",
|
|
84
|
+
"lint:check": "eslint \"src/**/*.{ts,tsx}\"",
|
|
67
85
|
"format": "prettier --write \"src/**/*.{ts,tsx,js,jsx,json}\"",
|
|
68
86
|
"format:check": "prettier --check \"src/**/*.{ts,tsx,js,jsx,json}\"",
|
|
69
87
|
"semantic-release": "semantic-release",
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import {
|
|
2
|
+
AndroidConfig,
|
|
3
|
+
type ConfigPlugin,
|
|
4
|
+
createRunOncePlugin,
|
|
5
|
+
withInfoPlist,
|
|
6
|
+
} from '@expo/config-plugins';
|
|
7
|
+
|
|
8
|
+
const pkg = require('react-native-voice-ts/package.json');
|
|
9
|
+
|
|
10
|
+
const MICROPHONE = 'Allow $(PRODUCT_NAME) to access the microphone';
|
|
11
|
+
|
|
12
|
+
const SPEECH_RECOGNITION =
|
|
13
|
+
'Allow $(PRODUCT_NAME) to securely recognize user speech';
|
|
14
|
+
|
|
15
|
+
export type Props = {
|
|
16
|
+
/**
|
|
17
|
+
* `NSSpeechRecognitionUsageDescription` message.
|
|
18
|
+
*/
|
|
19
|
+
speechRecognitionPermission?: string | false;
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* `NSMicrophoneUsageDescription` message.
|
|
23
|
+
*/
|
|
24
|
+
microphonePermission?: string | false;
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Adds `NSMicrophoneUsageDescription` and `NSSpeechRecognitionUsageDescription` to the `Info.plist`.
|
|
29
|
+
*
|
|
30
|
+
* @param props.speechRecognitionPermission speech recognition message
|
|
31
|
+
* @param props.microphonePermission microphone permission message
|
|
32
|
+
* @returns
|
|
33
|
+
*/
|
|
34
|
+
const withIosPermissions: ConfigPlugin<Props> = (
|
|
35
|
+
c,
|
|
36
|
+
{ microphonePermission, speechRecognitionPermission } = {},
|
|
37
|
+
) => {
|
|
38
|
+
return withInfoPlist(c, (config) => {
|
|
39
|
+
if (microphonePermission !== false) {
|
|
40
|
+
config.modResults.NSMicrophoneUsageDescription =
|
|
41
|
+
microphonePermission ||
|
|
42
|
+
config.modResults.NSMicrophoneUsageDescription ||
|
|
43
|
+
MICROPHONE;
|
|
44
|
+
}
|
|
45
|
+
if (speechRecognitionPermission !== false) {
|
|
46
|
+
config.modResults.NSSpeechRecognitionUsageDescription =
|
|
47
|
+
speechRecognitionPermission ||
|
|
48
|
+
config.modResults.NSSpeechRecognitionUsageDescription ||
|
|
49
|
+
SPEECH_RECOGNITION;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
return config;
|
|
53
|
+
});
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Adds the following to the `AndroidManifest.xml`: `<uses-permission android:name="android.permission.RECORD_AUDIO" />`
|
|
58
|
+
*/
|
|
59
|
+
const withAndroidPermissions: ConfigPlugin = (config) => {
|
|
60
|
+
return AndroidConfig.Permissions.withPermissions(config, [
|
|
61
|
+
'android.permission.RECORD_AUDIO',
|
|
62
|
+
]);
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
const withVoice: ConfigPlugin<Props | void> = (config, props = {}) => {
|
|
66
|
+
const _props = props ? props : {};
|
|
67
|
+
config = withIosPermissions(config, _props);
|
|
68
|
+
if (_props.microphonePermission !== false) {
|
|
69
|
+
config = withAndroidPermissions(config);
|
|
70
|
+
}
|
|
71
|
+
return config;
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
export default createRunOncePlugin(withVoice, pkg.name, pkg.version);
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import Svg, { Path, Rect } from 'react-native-svg';
|
|
3
|
+
|
|
4
|
+
export interface MicIconProps {
|
|
5
|
+
size?: number;
|
|
6
|
+
color?: string;
|
|
7
|
+
strokeWidth?: number;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Microphone Icon Component
|
|
12
|
+
* Based on Lucide mic icon
|
|
13
|
+
*/
|
|
14
|
+
export const MicIcon: React.FC<MicIconProps> = ({
|
|
15
|
+
size = 24,
|
|
16
|
+
color = 'currentColor',
|
|
17
|
+
strokeWidth = 2,
|
|
18
|
+
}) => {
|
|
19
|
+
return (
|
|
20
|
+
<Svg
|
|
21
|
+
width={size}
|
|
22
|
+
height={size}
|
|
23
|
+
viewBox="0 0 24 24"
|
|
24
|
+
fill="none"
|
|
25
|
+
stroke={color}
|
|
26
|
+
strokeWidth={strokeWidth}
|
|
27
|
+
strokeLinecap="round"
|
|
28
|
+
strokeLinejoin="round"
|
|
29
|
+
>
|
|
30
|
+
<Path d="M12 19v3" />
|
|
31
|
+
<Path d="M19 10v2a7 7 0 0 1-14 0v-2" />
|
|
32
|
+
<Rect x="9" y="2" width="6" height="13" rx="3" />
|
|
33
|
+
</Svg>
|
|
34
|
+
);
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
export interface MicOffIconProps {
|
|
38
|
+
size?: number;
|
|
39
|
+
color?: string;
|
|
40
|
+
strokeWidth?: number;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Microphone Off Icon Component
|
|
45
|
+
* For recording/stop state
|
|
46
|
+
*/
|
|
47
|
+
export const MicOffIcon: React.FC<MicOffIconProps> = ({
|
|
48
|
+
size = 24,
|
|
49
|
+
color = 'currentColor',
|
|
50
|
+
strokeWidth = 2,
|
|
51
|
+
}) => {
|
|
52
|
+
return (
|
|
53
|
+
<Svg
|
|
54
|
+
width={size}
|
|
55
|
+
height={size}
|
|
56
|
+
viewBox="0 0 24 24"
|
|
57
|
+
fill="none"
|
|
58
|
+
stroke={color}
|
|
59
|
+
strokeWidth={strokeWidth}
|
|
60
|
+
strokeLinecap="round"
|
|
61
|
+
strokeLinejoin="round"
|
|
62
|
+
>
|
|
63
|
+
<Path d="M2 2l20 20" />
|
|
64
|
+
<Path d="M12 12a3 3 0 0 0 3-3V5a3 3 0 1 0-6 0v1" />
|
|
65
|
+
<Path d="M19 10v2a7 7 0 0 1-11.18 5.66" />
|
|
66
|
+
<Path d="M4.27 16.73A7 7 0 0 1 5 12v-2" />
|
|
67
|
+
<Path d="M12 17v5" />
|
|
68
|
+
</Svg>
|
|
69
|
+
);
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
export default MicIcon;
|
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
import React, { useEffect, useState, useCallback } from 'react';
|
|
2
|
+
import Voice from '../index';
|
|
3
|
+
import type { SpeechErrorEvent, SpeechResultsEvent } from '../VoiceModuleTypes';
|
|
4
|
+
|
|
5
|
+
export interface VoiceMicrophoneProps {
|
|
6
|
+
/**
|
|
7
|
+
* Callback fired when speech is recognized and converted to text
|
|
8
|
+
*/
|
|
9
|
+
onSpeechResult?: (text: string) => void;
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Callback fired when partial results are available (real-time)
|
|
13
|
+
*/
|
|
14
|
+
onPartialResult?: (text: string) => void;
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Callback fired when recording starts
|
|
18
|
+
*/
|
|
19
|
+
onStart?: () => void;
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Callback fired when recording stops
|
|
23
|
+
*/
|
|
24
|
+
onStop?: () => void;
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Callback fired when an error occurs
|
|
28
|
+
*/
|
|
29
|
+
onError?: (error: string) => void;
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Language locale for speech recognition
|
|
33
|
+
* @default 'en-US'
|
|
34
|
+
*/
|
|
35
|
+
locale?: string;
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Whether to automatically start recording on mount
|
|
39
|
+
* @default false
|
|
40
|
+
*/
|
|
41
|
+
autoStart?: boolean;
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Whether to enable partial results (real-time transcription)
|
|
45
|
+
* @default true
|
|
46
|
+
*/
|
|
47
|
+
enablePartialResults?: boolean;
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Custom render function for the component
|
|
51
|
+
* Receives isRecording state and control functions
|
|
52
|
+
*/
|
|
53
|
+
children?: (props: {
|
|
54
|
+
isRecording: boolean;
|
|
55
|
+
recognizedText: string;
|
|
56
|
+
partialText: string;
|
|
57
|
+
start: () => Promise<void>;
|
|
58
|
+
stop: () => Promise<void>;
|
|
59
|
+
cancel: () => Promise<void>;
|
|
60
|
+
error: string | null;
|
|
61
|
+
}) => React.ReactNode;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* VoiceMicrophone Component
|
|
66
|
+
*
|
|
67
|
+
* A ready-to-use voice recognition component that handles microphone access,
|
|
68
|
+
* speech recognition, and provides real-time text results.
|
|
69
|
+
*
|
|
70
|
+
* @example
|
|
71
|
+
* ```tsx
|
|
72
|
+
* // Simple usage with callback
|
|
73
|
+
* <VoiceMicrophone
|
|
74
|
+
* onSpeechResult={(text) => setSearchQuery(text)}
|
|
75
|
+
* />
|
|
76
|
+
*
|
|
77
|
+
* // Custom render with full control
|
|
78
|
+
* <VoiceMicrophone locale="en-US">
|
|
79
|
+
* {({ isRecording, recognizedText, start, stop }) => (
|
|
80
|
+
* <View>
|
|
81
|
+
* <Text>{recognizedText}</Text>
|
|
82
|
+
* <Button
|
|
83
|
+
* onPress={isRecording ? stop : start}
|
|
84
|
+
* title={isRecording ? 'Stop' : 'Start'}
|
|
85
|
+
* />
|
|
86
|
+
* </View>
|
|
87
|
+
* )}
|
|
88
|
+
* </VoiceMicrophone>
|
|
89
|
+
* ```
|
|
90
|
+
*/
|
|
91
|
+
const VoiceMicrophone: React.FC<VoiceMicrophoneProps> = ({
|
|
92
|
+
onSpeechResult,
|
|
93
|
+
onPartialResult,
|
|
94
|
+
onStart,
|
|
95
|
+
onStop,
|
|
96
|
+
onError,
|
|
97
|
+
locale = 'en-US',
|
|
98
|
+
autoStart = false,
|
|
99
|
+
enablePartialResults = true,
|
|
100
|
+
children,
|
|
101
|
+
}) => {
|
|
102
|
+
const [isRecording, setIsRecording] = useState(false);
|
|
103
|
+
const [recognizedText, setRecognizedText] = useState('');
|
|
104
|
+
const [partialText, setPartialText] = useState('');
|
|
105
|
+
const [error, setError] = useState<string | null>(null);
|
|
106
|
+
|
|
107
|
+
useEffect(() => {
|
|
108
|
+
// Set up event listeners
|
|
109
|
+
Voice.onSpeechStart = () => {
|
|
110
|
+
setIsRecording(true);
|
|
111
|
+
setError(null);
|
|
112
|
+
onStart?.();
|
|
113
|
+
};
|
|
114
|
+
|
|
115
|
+
Voice.onSpeechEnd = () => {
|
|
116
|
+
setIsRecording(false);
|
|
117
|
+
onStop?.();
|
|
118
|
+
};
|
|
119
|
+
|
|
120
|
+
Voice.onSpeechError = (e: SpeechErrorEvent) => {
|
|
121
|
+
const errorMessage = e.error?.message || 'Unknown error';
|
|
122
|
+
setError(errorMessage);
|
|
123
|
+
setIsRecording(false);
|
|
124
|
+
onError?.(errorMessage);
|
|
125
|
+
};
|
|
126
|
+
|
|
127
|
+
Voice.onSpeechResults = (e: SpeechResultsEvent) => {
|
|
128
|
+
if (e.value && e.value.length > 0) {
|
|
129
|
+
const text = e.value[0];
|
|
130
|
+
setRecognizedText(text);
|
|
131
|
+
onSpeechResult?.(text);
|
|
132
|
+
}
|
|
133
|
+
};
|
|
134
|
+
|
|
135
|
+
if (enablePartialResults) {
|
|
136
|
+
Voice.onSpeechPartialResults = (e: SpeechResultsEvent) => {
|
|
137
|
+
if (e.value && e.value.length > 0) {
|
|
138
|
+
const text = e.value[0];
|
|
139
|
+
setPartialText(text);
|
|
140
|
+
onPartialResult?.(text);
|
|
141
|
+
}
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
// Cleanup
|
|
146
|
+
return () => {
|
|
147
|
+
Voice.destroy().then(Voice.removeAllListeners);
|
|
148
|
+
};
|
|
149
|
+
}, [
|
|
150
|
+
onSpeechResult,
|
|
151
|
+
onPartialResult,
|
|
152
|
+
onStart,
|
|
153
|
+
onStop,
|
|
154
|
+
onError,
|
|
155
|
+
enablePartialResults,
|
|
156
|
+
]);
|
|
157
|
+
|
|
158
|
+
// Auto-start if enabled
|
|
159
|
+
useEffect(() => {
|
|
160
|
+
if (autoStart) {
|
|
161
|
+
start();
|
|
162
|
+
}
|
|
163
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
164
|
+
}, [autoStart]);
|
|
165
|
+
|
|
166
|
+
const start = useCallback(async () => {
|
|
167
|
+
try {
|
|
168
|
+
setError(null);
|
|
169
|
+
setRecognizedText('');
|
|
170
|
+
setPartialText('');
|
|
171
|
+
|
|
172
|
+
// Check permission (Android only)
|
|
173
|
+
const hasPermission = await Voice.checkMicrophonePermission();
|
|
174
|
+
if (!hasPermission) {
|
|
175
|
+
const granted = await Voice.requestMicrophonePermission();
|
|
176
|
+
if (!granted) {
|
|
177
|
+
setError('Microphone permission denied');
|
|
178
|
+
return;
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
await Voice.start(locale, {
|
|
183
|
+
EXTRA_PARTIAL_RESULTS: enablePartialResults,
|
|
184
|
+
});
|
|
185
|
+
} catch (e) {
|
|
186
|
+
const errorMessage =
|
|
187
|
+
e instanceof Error ? e.message : 'Failed to start recording';
|
|
188
|
+
setError(errorMessage);
|
|
189
|
+
onError?.(errorMessage);
|
|
190
|
+
}
|
|
191
|
+
}, [locale, enablePartialResults, onError]);
|
|
192
|
+
|
|
193
|
+
const stop = useCallback(async () => {
|
|
194
|
+
try {
|
|
195
|
+
await Voice.stop();
|
|
196
|
+
} catch (e) {
|
|
197
|
+
const errorMessage =
|
|
198
|
+
e instanceof Error ? e.message : 'Failed to stop recording';
|
|
199
|
+
setError(errorMessage);
|
|
200
|
+
onError?.(errorMessage);
|
|
201
|
+
}
|
|
202
|
+
}, [onError]);
|
|
203
|
+
|
|
204
|
+
const cancel = useCallback(async () => {
|
|
205
|
+
try {
|
|
206
|
+
await Voice.cancel();
|
|
207
|
+
setRecognizedText('');
|
|
208
|
+
setPartialText('');
|
|
209
|
+
} catch (e) {
|
|
210
|
+
const errorMessage =
|
|
211
|
+
e instanceof Error ? e.message : 'Failed to cancel recording';
|
|
212
|
+
setError(errorMessage);
|
|
213
|
+
onError?.(errorMessage);
|
|
214
|
+
}
|
|
215
|
+
}, [onError]);
|
|
216
|
+
|
|
217
|
+
// If children render prop is provided, use it
|
|
218
|
+
if (children) {
|
|
219
|
+
return (
|
|
220
|
+
<>
|
|
221
|
+
{children({
|
|
222
|
+
isRecording,
|
|
223
|
+
recognizedText,
|
|
224
|
+
partialText,
|
|
225
|
+
start,
|
|
226
|
+
stop,
|
|
227
|
+
cancel,
|
|
228
|
+
error,
|
|
229
|
+
})}
|
|
230
|
+
</>
|
|
231
|
+
);
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
// Default: render nothing (headless component)
|
|
235
|
+
return null;
|
|
236
|
+
};
|
|
237
|
+
|
|
238
|
+
export default VoiceMicrophone;
|