@revrag-ai/embed-react-native 1.0.15 → 1.0.17

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 (76) hide show
  1. package/dist/commonjs/api/api.js +6 -5
  2. package/dist/commonjs/api/api.js.map +1 -1
  3. package/dist/commonjs/components/Embed/EmbedButton.js +140 -318
  4. package/dist/commonjs/components/Embed/EmbedButton.js.map +1 -1
  5. package/dist/commonjs/components/Embed/EmbedVoice.js +16 -4
  6. package/dist/commonjs/components/Embed/EmbedVoice.js.map +1 -1
  7. package/dist/commonjs/context/EmbedProvider.js +638 -0
  8. package/dist/commonjs/context/EmbedProvider.js.map +1 -0
  9. package/dist/commonjs/events/embed.event.js +141 -7
  10. package/dist/commonjs/events/embed.event.js.map +1 -1
  11. package/dist/commonjs/hooks/EmbedButton.animations.js +181 -0
  12. package/dist/commonjs/hooks/EmbedButton.animations.js.map +1 -0
  13. package/dist/commonjs/hooks/EmbedButton.helpers.js +90 -0
  14. package/dist/commonjs/hooks/EmbedButton.helpers.js.map +1 -0
  15. package/dist/commonjs/hooks/EmbedButton.hooks.js +165 -0
  16. package/dist/commonjs/hooks/EmbedButton.hooks.js.map +1 -0
  17. package/dist/commonjs/hooks/initialize.js +65 -25
  18. package/dist/commonjs/hooks/initialize.js.map +1 -1
  19. package/dist/commonjs/index.js +14 -0
  20. package/dist/commonjs/index.js.map +1 -1
  21. package/dist/commonjs/utils/constant.js +88 -0
  22. package/dist/commonjs/utils/constant.js.map +1 -0
  23. package/dist/commonjs/utils/reanimated.helper.js +2 -3
  24. package/dist/commonjs/utils/reanimated.helper.js.map +1 -1
  25. package/dist/module/api/api.js +6 -6
  26. package/dist/module/api/api.js.map +1 -1
  27. package/dist/module/components/Embed/EmbedButton.js +141 -320
  28. package/dist/module/components/Embed/EmbedButton.js.map +1 -1
  29. package/dist/module/components/Embed/EmbedVoice.js +16 -4
  30. package/dist/module/components/Embed/EmbedVoice.js.map +1 -1
  31. package/dist/module/context/EmbedProvider.js +626 -0
  32. package/dist/module/context/EmbedProvider.js.map +1 -0
  33. package/dist/module/events/embed.event.js +144 -5
  34. package/dist/module/events/embed.event.js.map +1 -1
  35. package/dist/module/hooks/EmbedButton.animations.js +172 -0
  36. package/dist/module/hooks/EmbedButton.animations.js.map +1 -0
  37. package/dist/module/hooks/EmbedButton.helpers.js +80 -0
  38. package/dist/module/hooks/EmbedButton.helpers.js.map +1 -0
  39. package/dist/module/hooks/EmbedButton.hooks.js +160 -0
  40. package/dist/module/hooks/EmbedButton.hooks.js.map +1 -0
  41. package/dist/module/hooks/initialize.js +66 -26
  42. package/dist/module/hooks/initialize.js.map +1 -1
  43. package/dist/module/index.js +3 -2
  44. package/dist/module/index.js.map +1 -1
  45. package/dist/module/utils/constant.js +82 -0
  46. package/dist/module/utils/constant.js.map +1 -0
  47. package/dist/module/utils/reanimated.helper.js +2 -3
  48. package/dist/module/utils/reanimated.helper.js.map +1 -1
  49. package/dist/typescript/src/api/api.d.ts +4 -3
  50. package/dist/typescript/src/api/api.d.ts.map +1 -1
  51. package/dist/typescript/src/api/types/embed.api.types.d.ts +1 -1
  52. package/dist/typescript/src/api/types/embed.api.types.d.ts.map +1 -1
  53. package/dist/typescript/src/components/Embed/EmbedButton.d.ts +5 -25
  54. package/dist/typescript/src/components/Embed/EmbedButton.d.ts.map +1 -1
  55. package/dist/typescript/src/components/Embed/EmbedVoice.d.ts.map +1 -1
  56. package/dist/typescript/src/context/EmbedProvider.d.ts +306 -0
  57. package/dist/typescript/src/context/EmbedProvider.d.ts.map +1 -0
  58. package/dist/typescript/src/events/embed.event.d.ts +79 -1
  59. package/dist/typescript/src/events/embed.event.d.ts.map +1 -1
  60. package/dist/typescript/src/hooks/EmbedButton.animations.d.ts +38 -0
  61. package/dist/typescript/src/hooks/EmbedButton.animations.d.ts.map +1 -0
  62. package/dist/typescript/src/hooks/EmbedButton.helpers.d.ts +49 -0
  63. package/dist/typescript/src/hooks/EmbedButton.helpers.d.ts.map +1 -0
  64. package/dist/typescript/src/hooks/EmbedButton.hooks.d.ts +49 -0
  65. package/dist/typescript/src/hooks/EmbedButton.hooks.d.ts.map +1 -0
  66. package/dist/typescript/src/hooks/initialize.d.ts.map +1 -1
  67. package/dist/typescript/src/hooks/types/initialize.types.d.ts +1 -1
  68. package/dist/typescript/src/hooks/types/initialize.types.d.ts.map +1 -1
  69. package/dist/typescript/src/index.d.ts +5 -3
  70. package/dist/typescript/src/index.d.ts.map +1 -1
  71. package/dist/typescript/src/index.types.d.ts +1 -1
  72. package/dist/typescript/src/index.types.d.ts.map +1 -1
  73. package/dist/typescript/src/utils/constant.d.ts +45 -0
  74. package/dist/typescript/src/utils/constant.d.ts.map +1 -0
  75. package/dist/typescript/src/utils/reanimated.helper.d.ts.map +1 -1
  76. package/package.json +6 -2
@@ -1,66 +1,36 @@
1
1
  "use strict";
2
2
 
3
3
  /**
4
- * @file OnwidButton.tsx
5
- * @description A customizable floating action button component for React Native applications.
6
- * This component provides a draggable, expandable button with animation support and gradient styling.
4
+ * @file EmbedButton.tsx
5
+ * @description A customizable floating action button component for voice agent interactions.
6
+ * Features: draggable, expandable, animated, with call controls and auto-trigger support.
7
7
  */
8
8
 
9
9
  import LottieView from 'lottie-react-native';
10
- import { useEffect, useMemo, useRef, useState } from 'react';
11
- import { Dimensions, Image, Text, TouchableOpacity, View } from 'react-native';
12
- import { Gesture, GestureDetector } from 'react-native-gesture-handler';
10
+ import { useMemo, useRef, useState, useEffect } from 'react';
11
+ import { Image, Text, TouchableOpacity, View } from 'react-native';
12
+ import { GestureDetector } from 'react-native-gesture-handler';
13
13
  import LinearGradient from 'react-native-linear-gradient';
14
14
  import { useVoiceAgent } from "../../hooks/voiceagent.js";
15
- import { getAgentData } from "../../store/store.key.js";
16
15
  import { createEmbedButtonStyles } from "../styles/EmbedButton.style.js";
17
- import { getReanimatedAPI, showReanimatedSetupError } from "../../utils/reanimated.helper.js";
18
16
  import Voice from "./EmbedVoice.js";
19
17
  import { WaveformVisualizer } from "./EmbedAudioWave.js";
20
- import { checkPermissions } from "../../utils/permision.js";
18
+ import Embed, { AgentEvent } from "../../events/embed.event.js";
21
19
 
22
- // Get reanimated API with fallbacks
23
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
24
- const {
25
- useSharedValue,
26
- useAnimatedStyle,
27
- withTiming,
28
- withSpring,
29
- withRepeat,
30
- withSequence,
31
- runOnJS,
32
- Easing,
33
- Animated,
34
- isAvailable: isReanimatedAvailable
35
- } = getReanimatedAPI();
36
-
37
- // Show warning if reanimated is not available
38
- if (!isReanimatedAvailable) {
39
- showReanimatedSetupError();
40
- }
41
- const {
42
- width: SCREEN_WIDTH,
43
- height: SCREEN_HEIGHT
44
- } = Dimensions.get('window');
45
- const BUTTON_WIDTH = 60;
46
- const EXPANDED_WIDTH = SCREEN_WIDTH * 0.9;
47
- const BUTTON_HEIGHT = 60;
48
- const GRADIENT_COLORS = ['#1E0844', '#B391F3'];
20
+ // Helpers and constants
21
+ import { BUTTON_DIMENSIONS, DEFAULT_GRADIENT_COLORS, formatDuration, ICON_URLS } from "../../hooks/EmbedButton.helpers.js";
49
22
 
50
- // Define mic icons as base64 images for portability
51
- const MIC_ON_ICON = 'https://revrag-dev.s3.ap-south-1.amazonaws.com/Avatars/Mute+button.png';
52
- const MIC_OFF_ICON = 'https://revrag-dev.s3.ap-south-1.amazonaws.com/Avatars/unmute.png';
23
+ // Custom hooks
24
+ import { useCallDuration, useCallManagement, useConfigData, useInactivityBehavior } from "../../hooks/EmbedButton.hooks.js";
53
25
 
54
- // Add end call icon
55
- const END_CALL_ICON = 'https://revrag-dev.s3.ap-south-1.amazonaws.com/Avatars/end+button.png';
56
- const AMPLIFY_ANIMATION = 'https://revrag-dev.s3.ap-south-1.amazonaws.com/Avatars/amplify.json';
26
+ // Animation hooks
27
+ import { Animated, createPanGesture, useAnimationValues, useBreathingAnimation, useButtonAnimatedStyles, useButtonAnimations, usePopupAnimatedStyles } from "../../hooks/EmbedButton.animations.js";
57
28
 
58
- /**
59
- * Default styles configuration for the button
60
- */
29
+ // ==================== STYLES CONFIG ====================
30
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
61
31
  const defaultStyles = {
62
- buttonWidth: 60,
63
- buttonHeight: 60,
32
+ buttonWidth: BUTTON_DIMENSIONS.WIDTH,
33
+ buttonHeight: BUTTON_DIMENSIONS.HEIGHT,
64
34
  borderRadius: 100,
65
35
  marginBottom: 20,
66
36
  spacing: {
@@ -73,37 +43,17 @@ const defaultStyles = {
73
43
  }
74
44
  };
75
45
 
46
+ // ==================== MAIN COMPONENT ====================
76
47
  /**
77
- * OnwidButton Component
48
+ * EmbedButton - Main voice agent floating action button
78
49
  *
79
- * A floating action button that can be dragged around the screen and expanded to show additional content.
80
- * Features include:
81
- * - Draggable functionality
82
- * - Expandable menu
83
- * - Animated transitions
84
- * - Gradient background
85
- * - Customizable styling
86
- *
87
- * @component
88
50
  * @example
89
51
  * ```tsx
90
- * <OnwidButton
91
- * isOpen={false}
92
- * onPress={(isOpen) => console.log('Button pressed:', isOpen)}
93
- * menuComponent={<YourMenuComponent />}
94
- * />
52
+ * <EmbedButton />
95
53
  * ```
96
54
  */
97
-
98
- /**
99
- * Generates random sentences for testing or placeholder content
100
- * @param count - Number of sentences to generate (default: 1)
101
- * @param minWords - Minimum words per sentence (default: 5)
102
- * @param maxWords - Maximum words per sentence (default: 15)
103
- * @returns Array of random sentences
104
- */
105
-
106
55
  export function EmbedButton() {
56
+ // ==================== VOICE AGENT STATE ====================
107
57
  const {
108
58
  initializeVoiceAgent,
109
59
  tokenDetails,
@@ -113,278 +63,143 @@ export function EmbedButton() {
113
63
  muteMic,
114
64
  unmuteMic,
115
65
  connectionState,
116
- roomRef,
117
- getPopupDescription
66
+ roomRef
118
67
  } = useVoiceAgent();
119
- // State management
120
- const [configData, setConfigData] = useState(null);
121
- const [popupDescription, setPopupDescription] = useState('');
68
+
69
+ // ==================== LOCAL STATE ====================
122
70
  const [isOpen, setIsOpen] = useState(false);
123
- const [callDuration, setCallDuration] = useState(0);
124
- const timerRef = useRef(null);
125
71
  const lottieRef = useRef(null);
72
+ const styles = useMemo(() => createEmbedButtonStyles(defaultStyles), []);
126
73
 
127
- // Animation values
128
- const isPressed = useSharedValue(false);
129
- const offset = useSharedValue({
130
- x: 0,
131
- y: 0
74
+ // ==================== CUSTOM HOOKS ====================
75
+ const configData = useConfigData();
76
+ const {
77
+ callDuration,
78
+ resetDuration
79
+ } = useCallDuration(connectionState);
80
+ const {
81
+ handleStartCall,
82
+ handleEndCall,
83
+ handleMicToggle
84
+ } = useCallManagement({
85
+ initializeVoiceAgent,
86
+ endCall,
87
+ muteMic,
88
+ unmuteMic,
89
+ isMicMuted,
90
+ resetDuration,
91
+ setIsOpen
132
92
  });
133
- const start = useSharedValue({
134
- x: 0,
135
- y: 0
93
+ const {
94
+ isAutoOpen,
95
+ setIsAutoOpen
96
+ } = useInactivityBehavior({
97
+ configData,
98
+ isOpen,
99
+ isLoading,
100
+ hasActiveToken: !!tokenDetails?.token,
101
+ onStartCall: handleStartCall
136
102
  });
137
- const menuAnimation = useSharedValue(0);
138
- const buttonWidth = useSharedValue(BUTTON_WIDTH);
139
- const buttonScale = useSharedValue(1);
140
- // Styles
141
- const styles = createEmbedButtonStyles(defaultStyles);
142
- const [isAutoOpen, setIsAutoOpen] = useState(false);
143
- useEffect(() => {
144
- const autoOpenTimer = setTimeout(async () => {
145
- if (!isOpen) {
146
- const response = await getPopupDescription();
147
- if (response) {
148
- setPopupDescription(response);
149
- setIsAutoOpen(true);
150
- } else {
151
- // todo: handle no popup description found
152
- console.warn('No popup description found');
153
- }
154
- }
155
- }, 15000); // 15 seconds
156
103
 
157
- return () => {
158
- clearTimeout(autoOpenTimer);
159
- };
160
- }, [isOpen]);
104
+ // ==================== ANIMATIONS ====================
105
+ const animationValues = useAnimationValues();
106
+ const {
107
+ isPressed,
108
+ offset,
109
+ start,
110
+ menuAnimation,
111
+ buttonWidth,
112
+ buttonScale
113
+ } = animationValues;
114
+ useButtonAnimations(isOpen, menuAnimation, buttonWidth);
115
+ useBreathingAnimation(isOpen, isAutoOpen, buttonScale);
116
+ const buttonAnimatedStyles = useButtonAnimatedStyles(isOpen, offset, buttonWidth, isPressed, buttonScale);
117
+ const popupAnimatedStyles = usePopupAnimatedStyles(offset, isPressed);
118
+ const panGesture = useMemo(() => createPanGesture(isPressed, offset, start, isOpen, setIsAutoOpen), [isPressed, offset, start, isOpen, setIsAutoOpen]);
161
119
 
162
- /**
163
- * Fetch agent configuration data
164
- */
120
+ // ==================== AGENT EVENT EMISSIONS ====================
121
+ // Emit agent connected/disconnected events based on connection state
165
122
  useEffect(() => {
166
- const fetchAgentData = async () => {
167
- try {
168
- const data = await getAgentData('@config_data');
169
- setConfigData(data?.ui_config);
170
- } catch (error) {
171
- // todo: handle error fetching agent data
123
+ const emitConnectionEvent = async () => {
124
+ if (connectionState === 'connected') {
125
+ await Embed.event.emit(AgentEvent.AGENT_CONNECTED, {
126
+ timestamp: new Date().toISOString(),
127
+ metadata: {
128
+ callDuration: 0
129
+ }
130
+ });
131
+ } else if (connectionState === 'disconnected' && callDuration > 0) {
132
+ // Only emit disconnected if we were previously connected
133
+ await Embed.event.emit(AgentEvent.AGENT_DISCONNECTED, {
134
+ timestamp: new Date().toISOString(),
135
+ metadata: {
136
+ callDuration
137
+ }
138
+ });
172
139
  }
173
140
  };
174
- fetchAgentData();
175
- }, []);
176
-
177
- /**
178
- * Set up a timer to track call duration when connected
179
- */
180
- useEffect(() => {
181
- if (connectionState === 'connected' && !timerRef.current) {
182
- timerRef.current = setInterval(() => {
183
- setCallDuration(prev => prev + 1);
184
- }, 1000);
185
- } else if (connectionState !== 'connected' && timerRef.current) {
186
- clearInterval(timerRef.current);
187
- timerRef.current = null;
188
-
189
- // If we were previously connected and now disconnected, show an error
190
- if (callDuration > 0) {
191
- // todo: handle call disconnected
192
- }
193
- }
194
- return () => {
195
- if (timerRef.current) {
196
- clearInterval(timerRef.current);
197
- timerRef.current = null;
198
- }
199
- };
200
- }, [connectionState, callDuration]);
201
-
202
- /**
203
- * Handle menu animation and button width transitions
204
- */
205
- useEffect(() => {
206
- menuAnimation.value = withTiming(isOpen ? 0.8 : 0, {
207
- duration: 300
141
+ emitConnectionEvent().catch(error => {
142
+ console.error('Error emitting connection event:', error);
208
143
  });
209
- buttonWidth.value = withTiming(isOpen ? EXPANDED_WIDTH : BUTTON_WIDTH);
210
- }, [isOpen, menuAnimation, buttonWidth]);
144
+ }, [connectionState, callDuration]);
211
145
 
212
- // Add breathing animation when button is closed but isAutoOpen is true
146
+ // Emit popup visibility events when isAutoOpen changes
213
147
  useEffect(() => {
214
- if (!isOpen && isAutoOpen) {
215
- // Start breathing animation with faster speed
216
- buttonScale.value = withRepeat(withSequence(withTiming(1.1, {
217
- duration: 1500,
218
- // Reduced from 1000ms to 600ms
219
- easing: Easing.inOut(Easing.ease)
220
- }), withTiming(1, {
221
- duration: 1500,
222
- // Reduced from 1000ms to 600ms
223
- easing: Easing.inOut(Easing.ease)
224
- })), -1,
225
- // Infinite repeat
226
- false // Don't reverse
227
- );
228
- } else {
229
- // Reset animation
230
- buttonScale.value = withTiming(1, {
231
- duration: 300
148
+ const emitPopupEvent = async () => {
149
+ await Embed.event.emit(AgentEvent.POPUP_MESSAGE_VISIBLE, {
150
+ value: isAutoOpen,
151
+ metadata: {
152
+ trigger: isAutoOpen ? 'auto_inactivity' : 'manual_dismiss'
153
+ }
232
154
  });
233
- }
234
- }, [isOpen, isAutoOpen]);
235
-
236
- /**
237
- * Animated styles for the button
238
- */
239
- const animatedStyles = useAnimatedStyle(() => {
240
- const maxX = SCREEN_WIDTH - (isOpen ? EXPANDED_WIDTH : BUTTON_WIDTH) - 35;
241
- const clampedX = Math.min(Math.max(offset.value.x, -maxX), 0);
242
- return {
243
- width: buttonWidth.value,
244
- height: BUTTON_HEIGHT,
245
- transform: [{
246
- translateX: clampedX
247
- }, {
248
- translateY: offset.value.y
249
- }, {
250
- scale: withSpring(isPressed.value ? 0.95 : buttonScale.value)
251
- }],
252
- justifyContent: isOpen ? 'space-between' : 'flex-start',
253
- overflow: 'hidden'
254
155
  };
255
- });
256
-
257
- /**
258
- * Animated styles for the text
259
- */
260
- const animatedTextStyles = useAnimatedStyle(() => {
261
- const maxX = SCREEN_WIDTH;
262
- const clampedX = Math.min(Math.max(offset.value.x, -maxX), 0);
263
- return {
264
- transform: [{
265
- translateX: clampedX
266
- }, {
267
- translateY: offset.value.y
268
- }, {
269
- scale: withSpring(isPressed.value ? 1 : 1)
270
- }]
271
- };
272
- });
273
-
274
- /**
275
- * Pan gesture handler for drag functionality
276
- */
277
- const gesture = Gesture.Pan().onBegin(() => {
278
- isPressed.value = true;
279
- if (isAutoOpen) {
280
- runOnJS(setIsAutoOpen)(false);
281
- }
282
- }).onUpdate(e => {
283
- const maxX = SCREEN_WIDTH - (isOpen ? EXPANDED_WIDTH : BUTTON_WIDTH) - 0;
284
- const newX = Math.min(Math.max(e.translationX + start.value.x, -maxX), 0);
285
- const maxY = SCREEN_HEIGHT - 150;
286
- const newY = Math.min(Math.max(e.translationY + start.value.y, -maxY), 0);
287
- offset.value = {
288
- x: newX,
289
- y: newY
290
- };
291
- }).onEnd(() => {
292
- start.value = {
293
- x: offset.value.x,
294
- y: offset.value.y
295
- };
296
- }).onFinalize(() => {
297
- isPressed.value = false;
298
- });
156
+ emitPopupEvent().catch(error => {
157
+ console.error('Error emitting popup visibility event:', error);
158
+ });
159
+ }, [isAutoOpen]);
299
160
 
300
- /**
301
- * Handle button press events
302
- */
303
- const handlePress = () => {
161
+ // ==================== HANDLERS ====================
162
+ const handleButtonPress = () => {
304
163
  setIsOpen(!isOpen);
305
164
  setIsAutoOpen(false);
306
165
  };
307
- const handleStartCall = async () => {
308
- await checkPermissions();
309
- setCallDuration(0);
310
- await initializeVoiceAgent();
311
- };
312
-
313
- /**
314
- * Render the button icon/animation
315
- */
316
-
317
- const remoteSource = useMemo(() => ({
318
- uri: configData?.icon_animation || AMPLIFY_ANIMATION
319
- }), [configData?.icon_animation]);
320
- const renderIcon = () => {
321
- // When isAutoOpen is true, we don't play the Lottie animation
322
- return /*#__PURE__*/_jsx(View, {
323
- children: /*#__PURE__*/_jsx(LottieView, {
324
- ref: lottieRef,
325
- source: remoteSource,
326
- autoPlay: true,
327
- loop: true,
328
- style: styles.iconImage,
329
- enableMergePathsAndroidForKitKatAndAbove: true,
330
- enableSafeModeAndroid: true
331
- })
332
- });
333
- };
334
166
  const handleConnected = () => {
335
- // todo: handle call connected
336
- };
337
- const handleEndCall = async () => {
338
- setIsOpen(false);
339
- if (timerRef.current) {
340
- clearInterval(timerRef.current);
341
- timerRef.current = null;
342
- }
343
- setCallDuration(0);
344
- await endCall();
345
- };
346
- const handleMicToggle = () => {
347
- if (isMicMuted) {
348
- unmuteMic();
349
- } else {
350
- muteMic();
351
- }
167
+ // Hook for handling successful connection
352
168
  };
353
169
 
354
- // Format duration to MM:SS
355
- const formatDuration = seconds => {
356
- const minutes = Math.floor(seconds / 60);
357
- const remainingSeconds = seconds % 60;
358
- return `${minutes.toString().padStart(2, '0')}:${remainingSeconds.toString().padStart(2, '0')}`;
359
- };
170
+ // ==================== COMPUTED VALUES ====================
171
+ const lottieSource = useMemo(() => ({
172
+ uri: configData?.icon_animation || ICON_URLS.AMPLIFY_ANIMATION
173
+ }), [configData?.icon_animation]);
174
+ const statusText = useMemo(() => {
175
+ if (isLoading) return 'Connecting...';
176
+ if (tokenDetails?.token) return formatDuration(callDuration);
177
+ return configData?.agent_type || 'Onboarding Agent';
178
+ }, [isLoading, tokenDetails?.token, callDuration, configData?.agent_type]);
179
+ const gradientColors = configData?.gradient || DEFAULT_GRADIENT_COLORS;
180
+ const agentName = configData?.agent_name || 'Your AI Agent';
181
+ const popupText = configData?.popup_description || 'Any doubts? Ask agent now';
182
+ const connectButtonText = configData?.connect_button_title || 'Start Call';
360
183
 
361
- // Get the status text based on current state
362
- const getStatusText = () => {
363
- if (isLoading) {
364
- return 'Connecting...';
365
- } else if (tokenDetails?.token) {
366
- return `${formatDuration(callDuration)}`;
367
- } else {
368
- return configData?.agent_type || 'Onboarding Agent';
369
- }
370
- };
184
+ // ==================== EARLY RETURNS ====================
371
185
  if (!configData) return null;
186
+
187
+ // ==================== RENDER ====================
372
188
  return /*#__PURE__*/_jsxs(View, {
373
189
  style: styles.container,
374
190
  children: [isAutoOpen && !isOpen && /*#__PURE__*/_jsx(Animated.View, {
375
- style: [animatedTextStyles, styles.popupContainer],
191
+ style: [popupAnimatedStyles, styles.popupContainer],
376
192
  children: /*#__PURE__*/_jsx(Text, {
377
193
  style: styles.popupText,
378
- children: popupDescription || 'Revrag'
194
+ children: popupText
379
195
  })
380
196
  }), /*#__PURE__*/_jsx(GestureDetector, {
381
- gesture: gesture,
197
+ gesture: panGesture,
382
198
  children: /*#__PURE__*/_jsx(Animated.View, {
383
- style: [styles.button, animatedStyles, styles.buttonContent, {
384
- pointerEvents: 'auto'
385
- }],
199
+ pointerEvents: "auto",
200
+ style: [styles.button, buttonAnimatedStyles, styles.buttonContent],
386
201
  children: /*#__PURE__*/_jsxs(LinearGradient, {
387
- colors: configData?.gradient || GRADIENT_COLORS,
202
+ colors: gradientColors,
388
203
  start: {
389
204
  x: 0,
390
205
  y: 0
@@ -400,25 +215,33 @@ export function EmbedButton() {
400
215
  y: 0.5
401
216
  },
402
217
  children: [tokenDetails?.token && /*#__PURE__*/_jsx(Voice, {
403
- url: tokenDetails?.server_url,
404
- token: tokenDetails?.token,
218
+ url: tokenDetails.server_url,
219
+ token: tokenDetails.token,
405
220
  onDisconnected: handleEndCall,
406
221
  roomRef: roomRef,
407
222
  onConnected: handleConnected
408
223
  }), /*#__PURE__*/_jsx(TouchableOpacity, {
409
- onPress: handlePress,
224
+ onPress: handleButtonPress,
410
225
  style: styles.pressable,
411
- children: renderIcon()
226
+ children: /*#__PURE__*/_jsx(LottieView, {
227
+ ref: lottieRef,
228
+ source: lottieSource,
229
+ autoPlay: true,
230
+ loop: true,
231
+ style: styles.iconImage,
232
+ enableMergePathsAndroidForKitKatAndAbove: true,
233
+ enableSafeModeAndroid: true
234
+ })
412
235
  }), isOpen && /*#__PURE__*/_jsxs(View, {
413
236
  style: styles.expandedContentContainer,
414
237
  children: [/*#__PURE__*/_jsxs(View, {
415
238
  style: styles.leftContentSection,
416
239
  children: [/*#__PURE__*/_jsx(Text, {
417
240
  style: [styles.agentNameText, styles.leftAlignedText],
418
- children: configData?.agent_name || 'Revrag'
241
+ children: agentName
419
242
  }), /*#__PURE__*/_jsx(Text, {
420
243
  style: [styles.leftAlignedText, styles.statusText],
421
- children: getStatusText()
244
+ children: statusText
422
245
  })]
423
246
  }), /*#__PURE__*/_jsx(View, {
424
247
  style: styles.middleContentSection,
@@ -434,7 +257,7 @@ export function EmbedButton() {
434
257
  style: styles.startCallButton,
435
258
  children: /*#__PURE__*/_jsx(Text, {
436
259
  style: styles.startCallText,
437
- children: configData?.start_call_text || 'Start Call'
260
+ children: connectButtonText
438
261
  })
439
262
  })
440
263
  }), tokenDetails?.token && /*#__PURE__*/_jsxs(View, {
@@ -444,7 +267,7 @@ export function EmbedButton() {
444
267
  onPress: handleMicToggle,
445
268
  children: /*#__PURE__*/_jsx(Image, {
446
269
  source: {
447
- uri: isMicMuted ? MIC_OFF_ICON : MIC_ON_ICON
270
+ uri: isMicMuted ? ICON_URLS.MIC_OFF : ICON_URLS.MIC_ON
448
271
  },
449
272
  style: styles.buttonImage
450
273
  })
@@ -453,7 +276,7 @@ export function EmbedButton() {
453
276
  style: styles.endCallButton,
454
277
  children: /*#__PURE__*/_jsx(Image, {
455
278
  source: {
456
- uri: END_CALL_ICON
279
+ uri: ICON_URLS.END_CALL
457
280
  },
458
281
  style: styles.buttonImage
459
282
  })
@@ -466,7 +289,5 @@ export function EmbedButton() {
466
289
  })]
467
290
  });
468
291
  }
469
-
470
- // Export default for easier imports
471
292
  export default EmbedButton;
472
293
  //# sourceMappingURL=EmbedButton.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["LottieView","useEffect","useMemo","useRef","useState","Dimensions","Image","Text","TouchableOpacity","View","Gesture","GestureDetector","LinearGradient","useVoiceAgent","getAgentData","createEmbedButtonStyles","getReanimatedAPI","showReanimatedSetupError","Voice","WaveformVisualizer","checkPermissions","jsx","_jsx","jsxs","_jsxs","useSharedValue","useAnimatedStyle","withTiming","withSpring","withRepeat","withSequence","runOnJS","Easing","Animated","isAvailable","isReanimatedAvailable","width","SCREEN_WIDTH","height","SCREEN_HEIGHT","get","BUTTON_WIDTH","EXPANDED_WIDTH","BUTTON_HEIGHT","GRADIENT_COLORS","MIC_ON_ICON","MIC_OFF_ICON","END_CALL_ICON","AMPLIFY_ANIMATION","defaultStyles","buttonWidth","buttonHeight","borderRadius","marginBottom","spacing","SMALL","MEDIUM","LARGE","EXTRA_SMALL","EXTRA_LARGE","EXTRA_EXTRA_LARGE","EmbedButton","initializeVoiceAgent","tokenDetails","endCall","isLoading","isMicMuted","muteMic","unmuteMic","connectionState","roomRef","getPopupDescription","configData","setConfigData","popupDescription","setPopupDescription","isOpen","setIsOpen","callDuration","setCallDuration","timerRef","lottieRef","isPressed","offset","x","y","start","menuAnimation","buttonScale","styles","isAutoOpen","setIsAutoOpen","autoOpenTimer","setTimeout","response","console","warn","clearTimeout","fetchAgentData","data","ui_config","error","current","setInterval","prev","clearInterval","value","duration","easing","inOut","ease","animatedStyles","maxX","clampedX","Math","min","max","transform","translateX","translateY","scale","justifyContent","overflow","animatedTextStyles","gesture","Pan","onBegin","onUpdate","e","newX","translationX","maxY","newY","translationY","onEnd","onFinalize","handlePress","handleStartCall","remoteSource","uri","icon_animation","renderIcon","children","ref","source","autoPlay","loop","style","iconImage","enableMergePathsAndroidForKitKatAndAbove","enableSafeModeAndroid","handleConnected","handleEndCall","handleMicToggle","formatDuration","seconds","minutes","floor","remainingSeconds","toString","padStart","getStatusText","token","agent_type","container","popupContainer","popupText","button","buttonContent","pointerEvents","colors","gradient","end","linearGradient","expandedLinearGradient","collapsedLinearGradient","angle","angleCenter","url","server_url","onDisconnected","onConnected","onPress","pressable","expandedContentContainer","leftContentSection","agentNameText","leftAlignedText","agent_name","statusText","middleContentSection","rightContentSection","buttonContainer","startCallButton","startCallText","start_call_text","muteButton","buttonImage","endCallButton"],"sourceRoot":"../../../../src","sources":["components/Embed/EmbedButton.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["LottieView","useMemo","useRef","useState","useEffect","Image","Text","TouchableOpacity","View","GestureDetector","LinearGradient","useVoiceAgent","createEmbedButtonStyles","Voice","WaveformVisualizer","Embed","AgentEvent","BUTTON_DIMENSIONS","DEFAULT_GRADIENT_COLORS","formatDuration","ICON_URLS","useCallDuration","useCallManagement","useConfigData","useInactivityBehavior","Animated","createPanGesture","useAnimationValues","useBreathingAnimation","useButtonAnimatedStyles","useButtonAnimations","usePopupAnimatedStyles","jsx","_jsx","jsxs","_jsxs","defaultStyles","buttonWidth","WIDTH","buttonHeight","HEIGHT","borderRadius","marginBottom","spacing","SMALL","MEDIUM","LARGE","EXTRA_SMALL","EXTRA_LARGE","EXTRA_EXTRA_LARGE","EmbedButton","initializeVoiceAgent","tokenDetails","endCall","isLoading","isMicMuted","muteMic","unmuteMic","connectionState","roomRef","isOpen","setIsOpen","lottieRef","styles","configData","callDuration","resetDuration","handleStartCall","handleEndCall","handleMicToggle","isAutoOpen","setIsAutoOpen","hasActiveToken","token","onStartCall","animationValues","isPressed","offset","start","menuAnimation","buttonScale","buttonAnimatedStyles","popupAnimatedStyles","panGesture","emitConnectionEvent","event","emit","AGENT_CONNECTED","timestamp","Date","toISOString","metadata","AGENT_DISCONNECTED","catch","error","console","emitPopupEvent","POPUP_MESSAGE_VISIBLE","value","trigger","handleButtonPress","handleConnected","lottieSource","uri","icon_animation","AMPLIFY_ANIMATION","statusText","agent_type","gradientColors","gradient","agentName","agent_name","popupText","popup_description","connectButtonText","connect_button_title","style","container","children","popupContainer","gesture","pointerEvents","button","buttonContent","colors","x","y","end","linearGradient","expandedLinearGradient","collapsedLinearGradient","angle","angleCenter","url","server_url","onDisconnected","onConnected","onPress","pressable","ref","source","autoPlay","loop","iconImage","enableMergePathsAndroidForKitKatAndAbove","enableSafeModeAndroid","expandedContentContainer","leftContentSection","agentNameText","leftAlignedText","middleContentSection","rightContentSection","buttonContainer","startCallButton","startCallText","muteButton","MIC_OFF","MIC_ON","buttonImage","endCallButton","END_CALL"],"sourceRoot":"../../../../src","sources":["components/Embed/EmbedButton.tsx"],"mappings":"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","ignoreList":[]}