react-native-srschat 0.1.61 → 0.1.63

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.
Files changed (34) hide show
  1. package/lib/commonjs/components/input.js +3 -2
  2. package/lib/commonjs/components/input.js.map +1 -1
  3. package/lib/commonjs/components/productCard.js +1 -1
  4. package/lib/commonjs/components/productCard.js.map +1 -1
  5. package/lib/commonjs/components/voice.js +3 -2
  6. package/lib/commonjs/components/voice.js.map +1 -1
  7. package/lib/commonjs/components/welcomeInput.js +3 -2
  8. package/lib/commonjs/components/welcomeInput.js.map +1 -1
  9. package/lib/commonjs/contexts/AppContext.js +4 -1
  10. package/lib/commonjs/contexts/AppContext.js.map +1 -1
  11. package/lib/commonjs/utils/audioRecorder.js +168 -164
  12. package/lib/commonjs/utils/audioRecorder.js.map +1 -1
  13. package/lib/module/components/input.js +3 -2
  14. package/lib/module/components/input.js.map +1 -1
  15. package/lib/module/components/productCard.js +1 -1
  16. package/lib/module/components/productCard.js.map +1 -1
  17. package/lib/module/components/voice.js +3 -2
  18. package/lib/module/components/voice.js.map +1 -1
  19. package/lib/module/components/welcomeInput.js +3 -2
  20. package/lib/module/components/welcomeInput.js.map +1 -1
  21. package/lib/module/contexts/AppContext.js +4 -1
  22. package/lib/module/contexts/AppContext.js.map +1 -1
  23. package/lib/module/utils/audioRecorder.js +168 -164
  24. package/lib/module/utils/audioRecorder.js.map +1 -1
  25. package/lib/typescript/components/voice.d.ts.map +1 -1
  26. package/lib/typescript/contexts/AppContext.d.ts.map +1 -1
  27. package/lib/typescript/utils/audioRecorder.d.ts.map +1 -1
  28. package/package.json +1 -1
  29. package/src/components/input.js +2 -2
  30. package/src/components/productCard.js +1 -1
  31. package/src/components/voice.js +1 -2
  32. package/src/components/welcomeInput.js +2 -2
  33. package/src/contexts/AppContext.js +2 -1
  34. package/src/utils/audioRecorder.js +184 -167
@@ -20,15 +20,9 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
20
20
  let resultCallback = null;
21
21
  let partialResultCallback = null;
22
22
  let silenceTimer = null;
23
+ let isCurrentlyRecording = false;
23
24
  let finalResult = '';
24
- const SILENCE_DURATION = 1500;
25
- const State = {
26
- IDLE: 'IDLE',
27
- LISTENING: 'LISTENING',
28
- FINALIZING: 'FINALIZING'
29
- };
30
- let state = State.IDLE;
31
- let listenersBound = false;
25
+ const SILENCE_DURATION = 1500; // 1.5 seconds of silence before stopping
32
26
 
33
27
  // Add this constant for AsyncStorage key
34
28
  const PERMISSION_STORAGE_KEY = '@voice_permission_status';
@@ -48,7 +42,6 @@ async function initVoice(onResult, onPartialResult = null) {
48
42
  resultCallback = onResult;
49
43
  partialResultCallback = onPartialResult; // Store partial callback
50
44
  finalResult = '';
51
- if (listenersBound) return true;
52
45
 
53
46
  // Check if Voice module is available
54
47
  if (!_voice.default) {
@@ -62,103 +55,86 @@ async function initVoice(onResult, onPartialResult = null) {
62
55
  console.error('Speech recognition is not available on this device');
63
56
  return false;
64
57
  }
58
+
59
+ // Remove any existing listeners
65
60
  _voice.default.removeAllListeners();
66
61
 
67
62
  // Set up all event listeners
68
- _voice.default.onSpeechStart = () => {
69
- console.log('[onSpeechStart] Setting state to LISTENING');
70
- state = State.LISTENING;
63
+ _voice.default.onSpeechStart = e => {
64
+ console.log('onSpeechStart: ', e);
65
+ isCurrentlyRecording = true;
71
66
  finalResult = '';
72
- clearSilenceTimer();
67
+ if (silenceTimer) {
68
+ clearTimeout(silenceTimer);
69
+ silenceTimer = null;
70
+ }
73
71
  };
72
+ _voice.default.onSpeechRecognized = e => {
73
+ console.log('onSpeechRecognized: ', e);
74
+ if (e.isFinal) {
75
+ console.log('Speech recognition final');
76
+ handleFinalResult();
77
+ }
78
+ };
79
+ _voice.default.onSpeechEnd = async e => {
80
+ console.log('onSpeechEnd: ', e);
81
+ if (silenceTimer) {
82
+ clearTimeout(silenceTimer);
83
+ silenceTimer = null;
84
+ }
74
85
 
75
- // Optional: ignore onSpeechRecognized or just log
76
- _voice.default.onSpeechRecognized = () => {};
77
- _voice.default.onSpeechEnd = () => {
78
- console.log('[onSpeechEnd] Speech ended, current state:', state);
79
- clearSilenceTimer();
80
- // Always reset to IDLE when speech ends (sessions should be considered over)
81
- console.log('[onSpeechEnd] Scheduling IDLE reset');
82
- if (_reactNative.Platform.OS === 'android') {
83
- setTimeout(() => {
84
- console.log('[onSpeechEnd] Android timeout - setting state to IDLE');
85
- state = State.IDLE;
86
- }, 800); // Increased delay
87
- } else {
88
- console.log('[onSpeechEnd] iOS - setting state to IDLE immediately');
89
- state = State.IDLE;
86
+ // Only handle final result if we're still recording
87
+ if (isCurrentlyRecording) {
88
+ await handleFinalResult();
90
89
  }
91
90
  };
92
- _voice.default.onSpeechError = e => {
91
+ _voice.default.onSpeechError = async e => {
93
92
  var _e$error, _e$error2;
94
- console.log('[onSpeechError] Error occurred, current state:', state, 'error:', e);
95
- clearSilenceTimer();
93
+ console.log('onSpeechError: ', e);
94
+ if (silenceTimer) {
95
+ clearTimeout(silenceTimer);
96
+ silenceTimer = null;
97
+ }
96
98
  const code = (_e$error = e.error) === null || _e$error === void 0 || (_e$error = _e$error.code) === null || _e$error === void 0 ? void 0 : _e$error.toString();
97
99
  const msg = ((_e$error2 = e.error) === null || _e$error2 === void 0 ? void 0 : _e$error2.message) || '';
98
100
 
99
- // Handle callback first
101
+ // Handle Android-specific errors
100
102
  if (_reactNative.Platform.OS === 'android' && (code === '7' || code === '5')) {
101
- if (finalResult && resultCallback) resultCallback(finalResult, null);else if (resultCallback) resultCallback(null, null);
103
+ if (finalResult && resultCallback) {
104
+ resultCallback(finalResult, null);
105
+ }
102
106
  } else if (!msg.includes('No speech detected') && resultCallback) {
103
107
  resultCallback(null, msg);
104
- } else if (resultCallback) {
105
- resultCallback(null, null);
106
- }
107
-
108
- // Errors end the session immediately, reset to IDLE with delay
109
- console.log('[onSpeechError] Scheduling IDLE reset');
110
- if (_reactNative.Platform.OS === 'android') {
111
- setTimeout(() => {
112
- console.log('[onSpeechError] Android timeout - setting state to IDLE');
113
- state = State.IDLE;
114
- }, 800); // Increased delay to match onSpeechEnd
115
- } else {
116
- console.log('[onSpeechError] iOS - setting state to IDLE immediately');
117
- state = State.IDLE;
118
108
  }
109
+ await cleanupVoiceSession();
119
110
  };
120
111
  _voice.default.onSpeechResults = e => {
121
- console.log('[onSpeechResults] Results received, current state:', state, 'results:', e);
122
- clearSilenceTimer();
112
+ console.log('onSpeechResults: ', e);
123
113
  if (e.value && e.value.length > 0) {
124
114
  finalResult = e.value[0];
125
- }
126
-
127
- // Only call callback if we haven't already (avoid double-calling)
128
- if (state === State.LISTENING && resultCallback) {
129
- console.log('[onSpeechResults] Calling callback with results');
130
- resultCallback(finalResult, null);
131
- } else {
132
- console.log('[onSpeechResults] Not calling callback - state:', state);
133
- }
134
-
135
- // On Android, we must explicitly stop to avoid session corruption
136
- if (_reactNative.Platform.OS === 'android') {
137
- console.log('[onSpeechResults] Android: Explicitly calling stopRecording()');
138
- stopRecording();
139
- }
140
-
141
- // Results end the session, reset to IDLE with delay
142
- console.log('[onSpeechResults] Scheduling IDLE reset');
143
- if (_reactNative.Platform.OS === 'android') {
144
- setTimeout(() => {
145
- console.log('[onSpeechResults] Android timeout - setting state to IDLE');
146
- state = State.IDLE;
147
- }, 800); // Increased delay
148
- } else {
149
- console.log('[onSpeechResults] iOS - setting state to IDLE immediately');
150
- state = State.IDLE;
115
+ handleSilenceDetection();
151
116
  }
152
117
  };
153
118
  _voice.default.onSpeechPartialResults = e => {
119
+ console.log('onSpeechPartialResults: ', e);
120
+ if (silenceTimer) {
121
+ clearTimeout(silenceTimer);
122
+ }
154
123
  if (e.value && e.value.length > 0) {
155
124
  finalResult = e.value[0];
156
- if (partialResultCallback) partialResultCallback(finalResult);
125
+
126
+ // Call partial callback for live transcription
127
+ if (partialResultCallback) {
128
+ partialResultCallback(finalResult);
129
+ }
157
130
  handleSilenceDetection();
158
131
  }
159
132
  };
160
- if (_reactNative.Platform.OS === 'android') _voice.default.onSpeechVolumeChanged = () => {};
161
- listenersBound = true;
133
+ if (_reactNative.Platform.OS === 'android') {
134
+ _voice.default.onSpeechVolumeChanged = e => {
135
+ console.log('onSpeechVolumeChanged: ', e);
136
+ };
137
+ }
162
138
  return true;
163
139
  } catch (error) {
164
140
  console.error('Error initializing Voice:', error);
@@ -170,144 +146,159 @@ const handleSilenceDetection = () => {
170
146
  clearTimeout(silenceTimer);
171
147
  }
172
148
  silenceTimer = setTimeout(async () => {
173
- if (state === State.LISTENING) {
149
+ if (isCurrentlyRecording) {
174
150
  await handleFinalResult();
175
151
  }
176
152
  }, SILENCE_DURATION);
177
153
  };
178
154
  const handleFinalResult = async () => {
179
- console.log('[handleFinalResult] Called, current state:', state);
180
- if (state !== State.LISTENING) {
181
- console.log('[handleFinalResult] State not LISTENING, returning');
182
- return;
183
- }
184
-
185
- // Set to FINALIZING first to prevent double callbacks
186
- console.log('[handleFinalResult] Setting state to FINALIZING');
187
- state = State.FINALIZING;
188
-
189
- // Call the callback with results
155
+ if (!isCurrentlyRecording) return;
156
+ console.log('handleFinalResult called with:', finalResult);
190
157
  if (finalResult && resultCallback) {
191
- console.log('[handleFinalResult] Calling callback with result:', finalResult);
192
158
  resultCallback(finalResult, null);
193
159
  }
194
160
 
195
- // Now stop recording (this will call Voice.stop())
196
- console.log('[handleFinalResult] Calling stopRecording');
161
+ // Stop recording first
197
162
  await stopRecording();
198
163
  };
199
- const cleanupVoiceSession = () => {
200
- console.log('[cleanupVoiceSession] Called, current state:', state);
201
- finalResult = '';
202
- clearSilenceTimer();
203
-
204
- // Add delay before allowing next session on Android
205
- if (_reactNative.Platform.OS === 'android') {
206
- setTimeout(() => {
207
- console.log('[cleanupVoiceSession] Android timeout - setting state to IDLE');
208
- state = State.IDLE;
209
- }, 800);
210
- } else {
211
- console.log('[cleanupVoiceSession] iOS - setting state to IDLE immediately');
212
- state = State.IDLE;
213
- }
214
- };
215
- const clearSilenceTimer = () => {
164
+ const cleanupVoiceSession = async () => {
165
+ console.log('cleanupVoiceSession called');
166
+ isCurrentlyRecording = false;
216
167
  if (silenceTimer) {
217
168
  clearTimeout(silenceTimer);
218
169
  silenceTimer = null;
219
170
  }
220
- };
221
- async function startRecording() {
222
171
  try {
223
- console.log('[startRecording] Called, current state:', state);
172
+ // Check if Voice module is available
173
+ if (!_voice.default) {
174
+ console.log('Voice module not available during cleanup');
175
+ return;
176
+ }
224
177
 
225
- // On Android, destroy any lingering instance before starting
226
- if (_reactNative.Platform.OS === 'android') {
178
+ // Check if still recognizing
179
+ const isRecognizing = await _voice.default.isRecognizing();
180
+ console.log('Voice.isRecognizing() in cleanup:', isRecognizing);
181
+ if (isRecognizing) {
227
182
  try {
228
- console.log('[startRecording] Android: Proactively destroying Voice instance');
229
- await _voice.default.destroy();
230
- await new Promise(r => setTimeout(r, 100)); // Short delay for destroy to complete
183
+ // For iOS, use cancel for immediate termination
184
+ if (_reactNative.Platform.OS === 'ios') {
185
+ await _voice.default.cancel();
186
+ console.log('Voice.cancel() completed for iOS');
187
+ } else {
188
+ await _voice.default.stop();
189
+ console.log('Voice.stop() completed for Android');
190
+ }
191
+ await new Promise(resolve => setTimeout(resolve, 100));
231
192
  } catch (e) {
232
- console.log('[startRecording] Proactive destroy failed, may be okay:', e);
193
+ console.log('Error stopping/canceling in cleanup:', e);
233
194
  }
234
195
  }
235
- if (!_voice.default) {
236
- console.log('[startRecording] Voice not available');
237
- return false;
196
+
197
+ // Destroy the instance
198
+ try {
199
+ await _voice.default.destroy();
200
+ console.log('Voice.destroy() completed');
201
+ await new Promise(resolve => setTimeout(resolve, 200));
202
+ } catch (e) {
203
+ console.log('Error destroying in cleanup:', e);
238
204
  }
239
- if (state !== State.IDLE) {
240
- console.log('[startRecording] State not IDLE, returning false');
205
+ } catch (error) {
206
+ console.error('Error in cleanupVoiceSession:', error);
207
+ }
208
+ finalResult = '';
209
+ };
210
+ async function startRecording() {
211
+ try {
212
+ console.log('startRecording called');
213
+
214
+ // Check if Voice module is available
215
+ if (!_voice.default) {
216
+ console.error('Voice module is not available');
241
217
  return false;
242
218
  }
219
+
220
+ // Ensure cleanup of any existing session
221
+ await cleanupVoiceSession();
222
+
223
+ // Small delay to ensure cleanup is complete
224
+ await new Promise(resolve => setTimeout(resolve, 200));
243
225
  const hasPermission = await requestAudioPermission();
244
226
  if (!hasPermission) {
245
227
  console.error('No permission to record audio');
246
228
  return false;
247
229
  }
248
- const recognizing = await _voice.default.isRecognizing();
249
- console.log('[startRecording] Voice.isRecognizing():', recognizing);
250
- if (recognizing) {
251
- console.log('[startRecording] Already recognizing, canceling first');
252
- await _voice.default.cancel();
253
- // Wait longer for cancel to take effect
254
- await new Promise(r => setTimeout(r, 500));
255
230
 
256
- // Double-check if still recognizing after cancel
257
- const stillRecognizing = await _voice.default.isRecognizing();
258
- console.log('[startRecording] After cancel, still recognizing:', stillRecognizing);
259
- if (stillRecognizing) {
260
- console.log('[startRecording] Still recognizing after cancel, stopping');
261
- try {
262
- await _voice.default.stop();
263
- await new Promise(r => setTimeout(r, 300));
264
- } catch (e) {
265
- console.log('[startRecording] Error stopping:', e);
266
- }
267
- }
268
- }
269
- console.log('[startRecording] Calling Voice.start()');
231
+ // Re-initialize listeners each time for iOS stability
232
+ await initVoice(resultCallback, partialResultCallback);
233
+
234
+ // Start recognition
270
235
  await _voice.default.start('en-US');
271
- console.log('[startRecording] Voice.start() completed, setting state to LISTENING');
272
- state = State.LISTENING;
236
+ console.log('Voice.start() completed');
237
+ isCurrentlyRecording = true;
273
238
  return true;
274
239
  } catch (error) {
275
240
  console.error('Error starting voice recognition:', error);
276
- cleanupVoiceSession();
241
+ await cleanupVoiceSession();
277
242
  return false;
278
243
  }
279
244
  }
280
245
  async function stopRecording() {
281
246
  try {
282
- console.log('[stopRecording] Called, current state:', state);
283
- // Can be called from LISTENING or FINALIZING state
284
- if (state !== State.LISTENING && state !== State.FINALIZING || !_voice.default) {
285
- console.log('[stopRecording] Invalid state or no Voice, returning');
247
+ console.log('stopRecording called');
248
+ if (!isCurrentlyRecording || !_voice.default) {
249
+ console.log('Not recording or Voice not available');
286
250
  return;
287
251
  }
288
252
 
289
- // Only set to FINALIZING if not already there
290
- if (state === State.LISTENING) {
291
- console.log('[stopRecording] Setting state to FINALIZING');
292
- state = State.FINALIZING;
253
+ // Set this first to prevent race conditions
254
+ isCurrentlyRecording = false;
255
+ if (silenceTimer) {
256
+ clearTimeout(silenceTimer);
257
+ silenceTimer = null;
258
+ }
259
+
260
+ // Platform-specific stop
261
+ try {
262
+ if (_reactNative.Platform.OS === 'ios') {
263
+ // iOS: Use cancel for immediate termination
264
+ await _voice.default.cancel();
265
+ console.log('Voice.cancel() completed for iOS');
266
+ } else {
267
+ // Android: Use stop
268
+ await _voice.default.stop();
269
+ console.log('Voice.stop() completed for Android');
270
+ }
271
+
272
+ // Small delay
273
+ await new Promise(resolve => setTimeout(resolve, 100));
274
+ } catch (error) {
275
+ console.log('Error stopping/canceling Voice:', error);
276
+ }
277
+
278
+ // Then destroy
279
+ try {
280
+ await _voice.default.destroy();
281
+ console.log('Voice.destroy() completed');
282
+ await new Promise(resolve => setTimeout(resolve, 200));
283
+ } catch (error) {
284
+ console.log('Error destroying Voice:', error);
293
285
  }
294
- clearSilenceTimer();
295
- console.log('[stopRecording] Calling Voice.stop()');
296
- await _voice.default.stop();
297
- console.log('[stopRecording] Voice.stop() completed');
286
+
287
+ // Final cleanup
288
+ finalResult = '';
298
289
  } catch (error) {
299
290
  console.error('Error in stopRecording:', error);
300
- cleanupVoiceSession();
291
+ await cleanupVoiceSession();
301
292
  }
302
293
  }
303
294
  async function cancelRecording() {
304
295
  try {
305
296
  if (!_voice.default) return;
306
297
  await _voice.default.cancel();
307
- cleanupVoiceSession();
298
+ await cleanupVoiceSession();
308
299
  } catch (error) {
309
300
  console.error('Error canceling voice recognition:', error);
310
- cleanupVoiceSession();
301
+ await cleanupVoiceSession();
311
302
  }
312
303
  }
313
304
  async function requestAudioPermission() {
@@ -390,6 +381,19 @@ function resetStoredPermission() {
390
381
  return false;
391
382
  }
392
383
  function cleanup() {
393
- cleanupVoiceSession();
384
+ if (!_voice.default) {
385
+ console.log('Voice module not available during cleanup');
386
+ return;
387
+ }
388
+ _voice.default.destroy().then(() => {
389
+ _voice.default.removeAllListeners();
390
+ cleanupVoiceSession();
391
+ }).catch(error => {
392
+ console.error('Error in cleanup:', error);
393
+ // Try one more time
394
+ if (_voice.default) {
395
+ _voice.default.destroy().catch(e => console.error('Final cleanup attempt failed:', e));
396
+ }
397
+ });
394
398
  }
395
399
  //# sourceMappingURL=audioRecorder.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_voice","_interopRequireDefault","_reactNativePermissions","e","__esModule","default","resultCallback","partialResultCallback","silenceTimer","finalResult","SILENCE_DURATION","State","IDLE","LISTENING","FINALIZING","state","listenersBound","PERMISSION_STORAGE_KEY","permissionStatusGetter","permissionStatusSetter","setPermissionStatusHandlers","getter","setter","initVoice","onResult","onPartialResult","Voice","console","error","isAvailable","removeAllListeners","onSpeechStart","log","clearSilenceTimer","onSpeechRecognized","onSpeechEnd","Platform","OS","setTimeout","onSpeechError","_e$error","_e$error2","code","toString","msg","message","includes","onSpeechResults","value","length","stopRecording","onSpeechPartialResults","handleSilenceDetection","onSpeechVolumeChanged","clearTimeout","handleFinalResult","cleanupVoiceSession","startRecording","destroy","Promise","r","hasPermission","requestAudioPermission","recognizing","isRecognizing","cancel","stillRecognizing","stop","start","cancelRecording","storedPermission","permissionResult","requestAndroidPermission","requestIOSPermission","micPermission","request","PERMISSIONS","ANDROID","RECORD_AUDIO","RESULTS","GRANTED","services","getSpeechRecognitionServices","IOS","MICROPHONE","speechPermission","SPEECH_RECOGNITION","resetStoredPermission","cleanup"],"sourceRoot":"../../../src","sources":["utils/audioRecorder.js"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_voice","_interopRequireDefault","_reactNativePermissions","e","__esModule","default","resultCallback","partialResultCallback","silenceTimer","isCurrentlyRecording","finalResult","SILENCE_DURATION","PERMISSION_STORAGE_KEY","permissionStatusGetter","permissionStatusSetter","setPermissionStatusHandlers","getter","setter","initVoice","onResult","onPartialResult","Voice","console","error","isAvailable","removeAllListeners","onSpeechStart","log","clearTimeout","onSpeechRecognized","isFinal","handleFinalResult","onSpeechEnd","onSpeechError","_e$error","_e$error2","code","toString","msg","message","Platform","OS","includes","cleanupVoiceSession","onSpeechResults","value","length","handleSilenceDetection","onSpeechPartialResults","onSpeechVolumeChanged","setTimeout","stopRecording","isRecognizing","cancel","stop","Promise","resolve","destroy","startRecording","hasPermission","requestAudioPermission","start","cancelRecording","storedPermission","permissionResult","requestAndroidPermission","requestIOSPermission","micPermission","request","PERMISSIONS","ANDROID","RECORD_AUDIO","RESULTS","GRANTED","services","getSpeechRecognitionServices","IOS","MICROPHONE","speechPermission","SPEECH_RECOGNITION","resetStoredPermission","cleanup","then","catch"],"sourceRoot":"../../../src","sources":["utils/audioRecorder.js"],"mappings":"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","ignoreList":[]}
@@ -13,7 +13,8 @@ export const ChatInput = ({
13
13
  input,
14
14
  setInput,
15
15
  showModal,
16
- data
16
+ data,
17
+ isListening
17
18
  } = useContext(AppContext);
18
19
  const inputRef = useRef(null);
19
20
  const handleKeyPress = ({
@@ -42,7 +43,7 @@ export const ChatInput = ({
42
43
  style: styles.input,
43
44
  value: input,
44
45
  onChangeText: setInput,
45
- placeholder: "Ask a question...",
46
+ placeholder: isListening && !input ? "Listening..." : "Ask a question...",
46
47
  placeholderTextColor: "#999",
47
48
  multiline: false,
48
49
  returnKeyType: "send",
@@ -1 +1 @@
1
- {"version":3,"names":["React","useState","useEffect","useContext","useRef","Text","StyleSheet","View","TextInput","TouchableOpacity","Platform","KeyboardAvoidingView","Keyboard","Header","AppContext","Ionicons","VoiceButton","ChatInput","onProductCardClick","onAddToCartClick","handleSend","input","setInput","showModal","data","inputRef","handleKeyPress","nativeEvent","key","shiftKey","preventDefault","onSubmitEditing","trim","createElement","Fragment","style","styles","textBeta","allowFontScaling","inputWrapper","inputContainer","ref","value","onChangeText","placeholder","placeholderTextColor","multiline","returnKeyType","enablesReturnKeyAutomatically","onKeyPress","selection","undefined","blurOnSubmit","text","current","blur","setTimeout","focus","OS","setSelection","length","sendButton","onPress","name","size","color","create","backgroundColor","paddingHorizontal","paddingVertical","borderTopWidth","borderTopColor","flexDirection","alignItems","borderRadius","margin","shadowColor","shadowOffset","width","height","shadowOpacity","shadowRadius","elevation","flex","fontSize","inputButton","padding","marginLeft","disabledButton","opacity","textAlign","fontWeight","marginTop","marginBottom","textBreakStrategy","lineHeight"],"sourceRoot":"../../../src","sources":["components/input.js"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useState","useEffect","useContext","useRef","Text","StyleSheet","View","TextInput","TouchableOpacity","Platform","KeyboardAvoidingView","Keyboard","Header","AppContext","Ionicons","VoiceButton","ChatInput","onProductCardClick","onAddToCartClick","handleSend","input","setInput","showModal","data","isListening","inputRef","handleKeyPress","nativeEvent","key","shiftKey","preventDefault","onSubmitEditing","trim","createElement","Fragment","style","styles","textBeta","allowFontScaling","inputWrapper","inputContainer","ref","value","onChangeText","placeholder","placeholderTextColor","multiline","returnKeyType","enablesReturnKeyAutomatically","onKeyPress","selection","undefined","blurOnSubmit","text","current","blur","setTimeout","focus","OS","setSelection","length","sendButton","onPress","name","size","color","create","backgroundColor","paddingHorizontal","paddingVertical","borderTopWidth","borderTopColor","flexDirection","alignItems","borderRadius","margin","shadowColor","shadowOffset","width","height","shadowOpacity","shadowRadius","elevation","flex","fontSize","inputButton","padding","marginLeft","disabledButton","opacity","textAlign","fontWeight","marginTop","marginBottom","textBreakStrategy","lineHeight"],"sourceRoot":"../../../src","sources":["components/input.js"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,QAAQ,EAAEC,SAAS,EAAEC,UAAU,EAAEC,MAAM,QAAQ,OAAO;AACtE,SACEC,IAAI,EACJC,UAAU,EACVC,IAAI,EACJC,SAAS,EACTC,gBAAgB,EAChBC,QAAQ,EACRC,oBAAoB,EACpBC,QAAQ,QACH,cAAc;AACrB,SAASC,MAAM,QAAQ,sBAAsB;AAC7C,SAASC,UAAU,QAAQ,wBAAwB;AACnD,OAAOC,QAAQ,MAAM,oCAAoC;AACzD,SAASC,WAAW,QAAQ,SAAS;AAErC,OAAO,MAAMC,SAAS,GAAGA,CAAC;EAAEC,kBAAkB;EAAEC;AAAiB,CAAC,KAAK;EACrE,MAAM;IAAEC,UAAU;IAAEC,KAAK;IAAEC,QAAQ;IAAEC,SAAS;IAAEC,IAAI;IAAEC;EAAY,CAAC,GAAGtB,UAAU,CAACW,UAAU,CAAC;EAC5F,MAAMY,QAAQ,GAAGtB,MAAM,CAAC,IAAI,CAAC;EAE7B,MAAMuB,cAAc,GAAGA,CAAC;IAAEC;EAAY,CAAC,KAAK;IAC1C,IAAIA,WAAW,CAACC,GAAG,KAAK,QAAQ,IAAI,CAACD,WAAW,CAACE,QAAQ,EAAE;MACzDF,WAAW,CAACG,cAAc,IAAIH,WAAW,CAACG,cAAc,CAAC,CAAC;MAC1DX,UAAU,CAACC,KAAK,CAAC;MACjB;IACF;EACF,CAAC;EAED,MAAMW,eAAe,GAAGA,CAAA,KAAM;IAC5B,IAAIX,KAAK,CAACY,IAAI,CAAC,CAAC,EAAE;MAChBb,UAAU,CAACC,KAAK,CAAC;IACnB;EACF,CAAC;EAED,oBACErB,KAAA,CAAAkC,aAAA,CAAAlC,KAAA,CAAAmC,QAAA,qBACAnC,KAAA,CAAAkC,aAAA,CAAC7B,IAAI;IAAC+B,KAAK,EAAEC,MAAM,CAACC,QAAS;IAACC,gBAAgB,EAAE;EAAM,GAAC,+CAAmD,CAAC,eAC3GvC,KAAA,CAAAkC,aAAA,CAAC3B,IAAI;IAAC6B,KAAK,EAAEC,MAAM,CAACG;EAAa,gBAC7BxC,KAAA,CAAAkC,aAAA,CAAC3B,IAAI;IAAC6B,KAAK,EAAEC,MAAM,CAACI;EAAe,gBACnCzC,KAAA,CAAAkC,aAAA,CAAC1B,SAAS;IACNkC,GAAG,EAAEhB,QAAS;IACdU,KAAK,EAAEC,MAAM,CAAChB,KAAM;IACpBsB,KAAK,EAAEtB,KAAM;IACbuB,YAAY,EAAEtB,QAAS;IACvBuB,WAAW,EAAEpB,WAAW,IAAI,CAACJ,KAAK,GAAG,cAAc,GAAG,mBAAoB;IAC1EyB,oBAAoB,EAAC,MAAM;IAC3BC,SAAS,EAAE,KAAM;IACjBC,aAAa,EAAC,MAAM;IACpBC,6BAA6B,EAAE,IAAK;IACpCC,UAAU,EAAEvB,cAAe;IAC3BK,eAAe,EAAEA,eAAgB;IACjCmB,SAAS,EAAEC,SAAU;IACrBC,YAAY,EAAE;EAAM,CACvB,CAAC,eACFrD,KAAA,CAAAkC,aAAA,CAAClB,WAAW;IAACM,QAAQ,EAAGgC,IAAI,IAAK;MAC/BhC,QAAQ,CAACgC,IAAI,CAAC;MACd;MACA,IAAI5B,QAAQ,CAAC6B,OAAO,EAAE;QACpB;QACA7B,QAAQ,CAAC6B,OAAO,CAACC,IAAI,CAAC,CAAC;QACvBC,UAAU,CAAC,MAAM;UACf,IAAI/B,QAAQ,CAAC6B,OAAO,EAAE;YACpB7B,QAAQ,CAAC6B,OAAO,CAACG,KAAK,CAAC,CAAC;YACxB;YACA,IAAIhD,QAAQ,CAACiD,EAAE,KAAK,SAAS,EAAE;cAC7BF,UAAU,CAAC,MAAM;gBACf,IAAI/B,QAAQ,CAAC6B,OAAO,EAAE;kBACpB7B,QAAQ,CAAC6B,OAAO,CAACK,YAAY,CAACN,IAAI,CAACO,MAAM,EAAEP,IAAI,CAACO,MAAM,CAAC;gBACzD;cACF,CAAC,EAAE,EAAE,CAAC;YACR,CAAC,MAAM;cACLnC,QAAQ,CAAC6B,OAAO,CAACK,YAAY,CAACN,IAAI,CAACO,MAAM,EAAEP,IAAI,CAACO,MAAM,CAAC;YACzD;UACF;QACF,CAAC,EAAE,EAAE,CAAC;MACR;IACF;EAAE,CAAC,CAAC,eACJ7D,KAAA,CAAAkC,aAAA,CAACzB,gBAAgB;IAAC2B,KAAK,EAAEC,MAAM,CAACyB,UAAW;IAACC,OAAO,EAAEA,CAAA,KAAM3C,UAAU,CAACC,KAAK;EAAE,gBACzErB,KAAA,CAAAkC,aAAA,CAACnB,QAAQ;IAACiD,IAAI,EAAC,qBAAqB;IAACC,IAAI,EAAE,EAAG;IAACC,KAAK,EAAC;EAAS,CAAE,CAClD,CACZ,CACJ,CACJ,CAAC;AAEP,CAAC;AAED,MAAM7B,MAAM,GAAG/B,UAAU,CAAC6D,MAAM,CAAC;EAC/B3B,YAAY,EAAE;IACZ4B,eAAe,EAAE,SAAS;IAC1BC,iBAAiB,EAAE,CAAC;IACpBC,eAAe,EAAE,CAAC;IAClBC,cAAc,EAAE,CAAC;IACjBC,cAAc,EAAE;EAClB,CAAC;EACD/B,cAAc,EAAE;IACdgC,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBL,iBAAiB,EAAE,CAAC;IACpBC,eAAe,EAAE,CAAC;IAClBF,eAAe,EAAE,SAAS;IAC1BO,YAAY,EAAE,EAAE;IAChBC,MAAM,EAAE,CAAC;IACTC,WAAW,EAAE,MAAM;IACnBC,YAAY,EAAE;MACZC,KAAK,EAAE,CAAC;MACRC,MAAM,EAAE;IACV,CAAC;IACDC,aAAa,EAAE,GAAG;IAClBC,YAAY,EAAE,CAAC;IACfC,SAAS,EAAE;EACb,CAAC;EACD9D,KAAK,EAAE;IACL+D,IAAI,EAAE,CAAC;IACPC,QAAQ,EAAE,EAAE;IACZf,eAAe,EAAE,CAAC;IAClBD,iBAAiB,EAAE,EAAE;IACrBH,KAAK,EAAE;EACT,CAAC;EACDoB,WAAW,EAAE;IACXC,OAAO,EAAE;EACX,CAAC;EACDzB,UAAU,EAAE;IACVyB,OAAO,EAAE,CAAC;IACVC,UAAU,EAAE;EACd,CAAC;EACDC,cAAc,EAAE;IACdC,OAAO,EAAE;EACX,CAAC;EACDpD,QAAQ,EAAE;IACRqD,SAAS,EAAE,QAAQ;IACnBN,QAAQ,EAAE,EAAE;IACZnB,KAAK,EAAE,SAAS;IAChB0B,UAAU,EAAE,KAAK;IACjBC,SAAS,EAAE,CAAC;IACZC,YAAY,EAAE,CAAC;IACfC,iBAAiB,EAAE,QAAQ;IAC3BC,UAAU,EAAE;EACd;AACF,CAAC,CAAC","ignoreList":[]}
@@ -369,7 +369,7 @@ export const ProductCard = ({
369
369
  style: styles.quantityContainer
370
370
  }, /*#__PURE__*/React.createElement(Text, {
371
371
  style: styles.inputLabel
372
- }, "Qty ", currentMinPackQtyForSelectedUom > 1 ? `(steps of ${currentMinPackQtyForSelectedUom})` : ''), /*#__PURE__*/React.createElement(View, {
372
+ }, "Qty ", currentMinPackQtyForSelectedUom > 1 ? `(Sold in multiples of ${currentMinPackQtyForSelectedUom})` : ''), /*#__PURE__*/React.createElement(View, {
373
373
  style: styles.quantityInputContainer
374
374
  }, /*#__PURE__*/React.createElement(TouchableOpacity, {
375
375
  style: styles.quantityButton,