@revrag-ai/embed-react-native 1.0.31 → 1.0.33
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/dist/commonjs/api/api.js +49 -21
- package/dist/commonjs/api/api.js.map +1 -1
- package/dist/commonjs/components/DynamicComponent/Typewriter.js +6 -5
- package/dist/commonjs/components/DynamicComponent/Typewriter.js.map +1 -1
- package/dist/commonjs/components/Embed/EmbedAudioWave.js +87 -130
- package/dist/commonjs/components/Embed/EmbedAudioWave.js.map +1 -1
- package/dist/commonjs/components/Embed/EmbedButton.js +181 -68
- package/dist/commonjs/components/Embed/EmbedButton.js.map +1 -1
- package/dist/commonjs/components/styles/EmbedButton.style.js +32 -22
- package/dist/commonjs/components/styles/EmbedButton.style.js.map +1 -1
- package/dist/commonjs/context/EmbedProvider.js +5 -10
- package/dist/commonjs/context/EmbedProvider.js.map +1 -1
- package/dist/commonjs/events/clickEventTracker.js +15 -4
- package/dist/commonjs/events/clickEventTracker.js.map +1 -1
- package/dist/commonjs/events/embed.event.js +18 -7
- package/dist/commonjs/events/embed.event.js.map +1 -1
- package/dist/commonjs/hooks/EmbedButton.animations.js +47 -17
- package/dist/commonjs/hooks/EmbedButton.animations.js.map +1 -1
- package/dist/commonjs/hooks/EmbedButton.helpers.js +37 -1
- package/dist/commonjs/hooks/EmbedButton.helpers.js.map +1 -1
- package/dist/commonjs/hooks/initialize.js +10 -0
- package/dist/commonjs/hooks/initialize.js.map +1 -1
- package/dist/commonjs/hooks/voiceagent.js +41 -24
- package/dist/commonjs/hooks/voiceagent.js.map +1 -1
- package/dist/commonjs/store/store.key.js +22 -4
- package/dist/commonjs/store/store.key.js.map +1 -1
- package/dist/commonjs/utils/constant.js +1 -1
- package/dist/commonjs/utils/permision.js +34 -13
- package/dist/commonjs/utils/permision.js.map +1 -1
- package/dist/commonjs/utils/reanimated.helper.js +2 -0
- package/dist/commonjs/utils/reanimated.helper.js.map +1 -1
- package/dist/module/api/api.js +49 -21
- package/dist/module/api/api.js.map +1 -1
- package/dist/module/components/DynamicComponent/Typewriter.js +6 -5
- package/dist/module/components/DynamicComponent/Typewriter.js.map +1 -1
- package/dist/module/components/Embed/EmbedAudioWave.js +88 -132
- package/dist/module/components/Embed/EmbedAudioWave.js.map +1 -1
- package/dist/module/components/Embed/EmbedButton.js +186 -73
- package/dist/module/components/Embed/EmbedButton.js.map +1 -1
- package/dist/module/components/styles/EmbedButton.style.js +32 -22
- package/dist/module/components/styles/EmbedButton.style.js.map +1 -1
- package/dist/module/context/EmbedProvider.js +5 -10
- package/dist/module/context/EmbedProvider.js.map +1 -1
- package/dist/module/events/clickEventTracker.js +15 -4
- package/dist/module/events/clickEventTracker.js.map +1 -1
- package/dist/module/events/embed.event.js +18 -7
- package/dist/module/events/embed.event.js.map +1 -1
- package/dist/module/hooks/EmbedButton.animations.js +44 -17
- package/dist/module/hooks/EmbedButton.animations.js.map +1 -1
- package/dist/module/hooks/EmbedButton.helpers.js +35 -0
- package/dist/module/hooks/EmbedButton.helpers.js.map +1 -1
- package/dist/module/hooks/initialize.js +10 -0
- package/dist/module/hooks/initialize.js.map +1 -1
- package/dist/module/hooks/voiceagent.js +41 -24
- package/dist/module/hooks/voiceagent.js.map +1 -1
- package/dist/module/store/store.key.js +20 -3
- package/dist/module/store/store.key.js.map +1 -1
- package/dist/module/utils/constant.js +1 -1
- package/dist/module/utils/permision.js +34 -13
- package/dist/module/utils/permision.js.map +1 -1
- package/dist/module/utils/reanimated.helper.js +2 -0
- package/dist/module/utils/reanimated.helper.js.map +1 -1
- package/dist/typescript/src/api/api.d.ts.map +1 -1
- package/dist/typescript/src/components/DynamicComponent/Typewriter.d.ts.map +1 -1
- package/dist/typescript/src/components/Embed/EmbedAudioWave.d.ts +11 -1
- package/dist/typescript/src/components/Embed/EmbedAudioWave.d.ts.map +1 -1
- package/dist/typescript/src/components/Embed/EmbedButton.d.ts.map +1 -1
- package/dist/typescript/src/components/styles/EmbedButton.style.d.ts +3 -0
- package/dist/typescript/src/components/styles/EmbedButton.style.d.ts.map +1 -1
- package/dist/typescript/src/context/EmbedProvider.d.ts.map +1 -1
- package/dist/typescript/src/events/clickEventTracker.d.ts.map +1 -1
- package/dist/typescript/src/events/embed.event.d.ts +4 -0
- package/dist/typescript/src/events/embed.event.d.ts.map +1 -1
- package/dist/typescript/src/hooks/EmbedButton.animations.d.ts +24 -7
- package/dist/typescript/src/hooks/EmbedButton.animations.d.ts.map +1 -1
- package/dist/typescript/src/hooks/EmbedButton.helpers.d.ts +5 -4
- package/dist/typescript/src/hooks/EmbedButton.helpers.d.ts.map +1 -1
- package/dist/typescript/src/hooks/initialize.d.ts.map +1 -1
- package/dist/typescript/src/hooks/voiceagent.d.ts.map +1 -1
- package/dist/typescript/src/store/store.key.d.ts +2 -0
- package/dist/typescript/src/store/store.key.d.ts.map +1 -1
- package/dist/typescript/src/utils/__tests__/permision.test.d.ts +11 -0
- package/dist/typescript/src/utils/__tests__/permision.test.d.ts.map +1 -0
- package/dist/typescript/src/utils/constant.d.ts +1 -1
- package/dist/typescript/src/utils/permision.d.ts.map +1 -1
- package/dist/typescript/src/utils/reanimated.helper.d.ts +1 -0
- package/dist/typescript/src/utils/reanimated.helper.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["reanimatedAPI","getReanimatedAPI","reanimated","require","makeMutable","Error","useSharedValue","useAnimatedStyle","withTiming","withSpring","withRepeat","withSequence","withDelay","_d","a","interpolate","v","runOnJS","Easing","Animated","default","isAvailable","error","ReactNative","View","value","args","length","anim","fn","inOut","easing","ease","t","checkReanimatedSetup","api","showReanimatedSetupError","console"],"sourceRoot":"../../../src","sources":["utils/reanimated.helper.ts"],"mappings":";;;;;;;;AAAA;AACA;AACA;AACA;;
|
|
1
|
+
{"version":3,"names":["reanimatedAPI","getReanimatedAPI","reanimated","require","makeMutable","Error","useSharedValue","useAnimatedStyle","useAnimatedReaction","withTiming","withSpring","withRepeat","withSequence","withDelay","_d","a","interpolate","v","runOnJS","Easing","Animated","default","isAvailable","error","ReactNative","View","value","_prepare","_react","args","length","anim","fn","inOut","easing","ease","t","checkReanimatedSetup","api","showReanimatedSetupError","console"],"sourceRoot":"../../../src","sources":["utils/reanimated.helper.ts"],"mappings":";;;;;;;;AAAA;AACA;AACA;AACA;;AAkBA,IAAIA,aAA4B;;AAEhC;AACA;AACA;AACO,SAASC,gBAAgBA,CAAA,EAAkB;EAChD,IAAID,aAAa,EAAE;IACjB,OAAOA,aAAa;EACtB;EAEA,IAAI;IACF,MAAME,UAAU,GAAGC,OAAO,CAAC,yBAAyB,CAAC;;IAErD;IACA,IAAI,CAACD,UAAU,CAACE,WAAW,EAAE;MAC3B,MAAM,IAAIC,KAAK,CACb,gFACF,CAAC;IACH;IAEAL,aAAa,GAAG;MACdM,cAAc,EAAEJ,UAAU,CAACI,cAAc;MACzCC,gBAAgB,EAAEL,UAAU,CAACK,gBAAgB;MAC7CC,mBAAmB,EAAEN,UAAU,CAACM,mBAAmB;MACnDC,UAAU,EAAEP,UAAU,CAACO,UAAU;MACjCC,UAAU,EAAER,UAAU,CAACQ,UAAU;MACjCC,UAAU,EAAET,UAAU,CAACS,UAAU;MACjCC,YAAY,EAAEV,UAAU,CAACU,YAAY;MACrCC,SAAS,EAAEX,UAAU,CAACW,SAAS,KAAK,CAACC,EAAU,EAAEC,CAAM,KAAKA,CAAC,CAAC;MAC9DC,WAAW,EAAEd,UAAU,CAACc,WAAW,KAAMC,CAAS,IAAKA,CAAC,CAAC;MACzDC,OAAO,EAAEhB,UAAU,CAACgB,OAAO;MAC3BC,MAAM,EAAEjB,UAAU,CAACiB,MAAM;MACzBC,QAAQ,EAAElB,UAAU,CAACmB,OAAO;MAC5BC,WAAW,EAAE;IACf,CAAC;IAED,OAAOtB,aAAa;EACtB,CAAC,CAAC,OAAOuB,KAAK,EAAE;IACd;IACA,MAAMC,WAAW,GAAGrB,OAAO,CAAC,cAAc,CAAC;IAC3C,MAAMsB,IAAI,GAAGD,WAAW,EAAEC,IAAI,IAAID,WAAW,EAAEH,OAAO,EAAEI,IAAI;IAE5DzB,aAAa,GAAG;MACdM,cAAc,EAAGoB,KAAU,KAAM;QAAEA;MAAM,CAAC,CAAC;MAC3CnB,gBAAgB,EAAEA,CAAA,MAAO,CAAC,CAAC,CAAC;MAC5BC,mBAAmB,EAAEA,CAACmB,QAAa,EAAEC,MAAW,KAAK,CAAC,CAAC;MACvDnB,UAAU,EAAGiB,KAAU,IAAKA,KAAK;MACjChB,UAAU,EAAGgB,KAAU,IAAKA,KAAK;MACjCf,UAAU,EAAGe,KAAU,IAAKA,KAAK;MACjCd,YAAY,EAAEA,CAAC,GAAGiB,IAAW,KAAKA,IAAI,CAACA,IAAI,CAACC,MAAM,GAAG,CAAC,CAAC;MACvDjB,SAAS,EAAEA,CAACC,EAAU,EAAEiB,IAAS,KAAKA,IAAI;MAC1Cf,WAAW,EAAGC,CAAS,IAAKA,CAAC;MAC7BC,OAAO,EAAGc,EAAO,IAAKA,EAAE;MACxBb,MAAM,EAAE;QACNc,KAAK,EAAGC,MAAW,IAAKA,MAAM;QAC9BC,IAAI,EAAGC,CAAS,IAAKA;MACvB,CAAC;MACDhB,QAAQ,EAAEK,IAAI;MACdH,WAAW,EAAE;IACf,CAAC;IAED,OAAOtB,aAAa;EACtB;AACF;;AAEA;AACA;AACA;AACO,SAASqC,oBAAoBA,CAAA,EAAY;EAC9C,MAAMC,GAAG,GAAGrC,gBAAgB,CAAC,CAAC;EAC9B,OAAOqC,GAAG,CAAChB,WAAW;AACxB;;AAEA;AACA;AACA;AACO,SAASiB,wBAAwBA,CAAA,EAAS;EAC/CC,OAAO,CAACjB,KAAK,CAAC;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,CAAC;AACN","ignoreList":[]}
|
package/dist/module/api/api.js
CHANGED
|
@@ -71,14 +71,21 @@ export class APIService {
|
|
|
71
71
|
try {
|
|
72
72
|
await this.ensureInitialized();
|
|
73
73
|
const headers = await this.getHeaders();
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
74
|
+
const controller = new AbortController();
|
|
75
|
+
const timeoutId = setTimeout(() => controller.abort(), 15000);
|
|
76
|
+
try {
|
|
77
|
+
response = await fetch(`${this.apiBaseUrl}/embedded-agent/initialize`, {
|
|
78
|
+
method: 'GET',
|
|
79
|
+
headers: headers,
|
|
80
|
+
signal: controller.signal
|
|
81
|
+
});
|
|
82
|
+
} finally {
|
|
83
|
+
clearTimeout(timeoutId);
|
|
84
|
+
}
|
|
79
85
|
if (!response.ok) {
|
|
80
86
|
return await processApiError(null, response, this.apiBaseUrl || undefined);
|
|
81
87
|
}
|
|
88
|
+
const data = await response.json();
|
|
82
89
|
await setAgentData(data, '@config_data');
|
|
83
90
|
return {
|
|
84
91
|
success: true,
|
|
@@ -99,11 +106,18 @@ export class APIService {
|
|
|
99
106
|
try {
|
|
100
107
|
await this.ensureInitialized();
|
|
101
108
|
const headers = await this.getHeaders();
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
109
|
+
const controller = new AbortController();
|
|
110
|
+
const timeoutId = setTimeout(() => controller.abort(), 15000);
|
|
111
|
+
try {
|
|
112
|
+
response = await fetch(`${this.apiBaseUrl}/embedded-agent/user-context/update?app_user_id=${params.app_user_id}`, {
|
|
113
|
+
method: 'PUT',
|
|
114
|
+
headers,
|
|
115
|
+
body: JSON.stringify(params),
|
|
116
|
+
signal: controller.signal
|
|
117
|
+
});
|
|
118
|
+
} finally {
|
|
119
|
+
clearTimeout(timeoutId);
|
|
120
|
+
}
|
|
107
121
|
if (!response.ok) {
|
|
108
122
|
return await processApiError(null, response, this.apiBaseUrl || undefined);
|
|
109
123
|
}
|
|
@@ -125,15 +139,22 @@ export class APIService {
|
|
|
125
139
|
try {
|
|
126
140
|
await this.ensureInitialized();
|
|
127
141
|
const headers = await this.getHeaders();
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
142
|
+
const controller = new AbortController();
|
|
143
|
+
const timeoutId = setTimeout(() => controller.abort(), 15000);
|
|
144
|
+
try {
|
|
145
|
+
response = await fetch(`${this.apiBaseUrl}/embedded-agent/token`, {
|
|
146
|
+
method: 'POST',
|
|
147
|
+
headers,
|
|
148
|
+
body: JSON.stringify(params),
|
|
149
|
+
signal: controller.signal
|
|
150
|
+
});
|
|
151
|
+
} finally {
|
|
152
|
+
clearTimeout(timeoutId);
|
|
153
|
+
}
|
|
134
154
|
if (!response.ok) {
|
|
135
155
|
return await processApiError(null, response, this.apiBaseUrl || undefined);
|
|
136
156
|
}
|
|
157
|
+
const data = await response.json();
|
|
137
158
|
return {
|
|
138
159
|
success: true,
|
|
139
160
|
data: data
|
|
@@ -147,14 +168,21 @@ export class APIService {
|
|
|
147
168
|
try {
|
|
148
169
|
await this.ensureInitialized();
|
|
149
170
|
const headers = await this.getHeaders();
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
171
|
+
const controller = new AbortController();
|
|
172
|
+
const timeoutId = setTimeout(() => controller.abort(), 15000);
|
|
173
|
+
try {
|
|
174
|
+
response = await fetch(`${this.apiBaseUrl}/embedded-agent/dynamic-popup?app_user_id=${params.app_user_id}`, {
|
|
175
|
+
method: 'GET',
|
|
176
|
+
headers,
|
|
177
|
+
signal: controller.signal
|
|
178
|
+
});
|
|
179
|
+
} finally {
|
|
180
|
+
clearTimeout(timeoutId);
|
|
181
|
+
}
|
|
155
182
|
if (!response.ok) {
|
|
156
183
|
return await processApiError(null, response, this.apiBaseUrl || undefined);
|
|
157
184
|
}
|
|
185
|
+
const data = await response.json();
|
|
158
186
|
return {
|
|
159
187
|
success: true,
|
|
160
188
|
data: data
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getAgentData","setAgentData","processApiError","DEFAULT_EMBED_URL","APIService","instance","apiBaseUrl","isInitialized","constructor","getInstance","initialize","AgentData","Error","resolvedEmbedUrl","embedUrl","ensureInitialized","getHeaders","apiKey","registerOnInitialize","response","headers","fetch","method","
|
|
1
|
+
{"version":3,"names":["getAgentData","setAgentData","processApiError","DEFAULT_EMBED_URL","APIService","instance","apiBaseUrl","isInitialized","constructor","getInstance","initialize","AgentData","Error","resolvedEmbedUrl","embedUrl","ensureInitialized","getHeaders","apiKey","registerOnInitialize","response","headers","controller","AbortController","timeoutId","setTimeout","abort","fetch","method","signal","clearTimeout","ok","undefined","data","json","success","error","updateUserData","params","app_user_id","body","JSON","stringify","getTokenDetails","getPopupDescription","initializeApi","apiService"],"sourceRoot":"../../../src","sources":["api/api.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -68,11 +68,12 @@ const Typewriter = ({
|
|
|
68
68
|
return () => clearTimeout(timer);
|
|
69
69
|
}, [handleTyping, typingSpeed, isAllDone]);
|
|
70
70
|
useEffect(() => {
|
|
71
|
-
if (isAllDone)
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
71
|
+
if (!isAllDone) return;
|
|
72
|
+
const closeTimer = setTimeout(() => {
|
|
73
|
+
onViewClose?.(true);
|
|
74
|
+
}, viewCloseDelay);
|
|
75
|
+
// Clear on unmount to avoid calling onViewClose on an already-cleaned parent
|
|
76
|
+
return () => clearTimeout(closeTimer);
|
|
76
77
|
}, [isAllDone, onViewClose, viewCloseDelay]);
|
|
77
78
|
const currentLine = lines[currentLineIndex] ?? '';
|
|
78
79
|
const typedText = currentLine.substring(0, currentCharIndex);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useEffect","useMemo","useRef","useState","Animated","Platform","StyleSheet","Text","View","jsx","_jsx","jsxs","_jsxs","Typewriter","lines","linesProp","typingSpeed","pauseDuration","containerStyle","textStyle","cursorStyle","showCursor","onViewClose","viewCloseDelay","Array","isArray","completedLines","setCompletedLines","currentCharIndex","setCurrentCharIndex","currentLineIndex","setCurrentLineIndex","isDone","setIsDone","blinkAnim","Value","current","linesKey","JSON","stringify","isAllDone","length","loop","sequence","timing","toValue","duration","useNativeDriver","start","stop","handleTyping","currentLine","undefined","prev","setTimeout","timer","clearTimeout","typedText","substring","isShowingCursor","style","styles","container","children","map","line","index","text","cursor","opacity","typewriterFont","OS","create","flexDirection","fontSize","color","fontFamily","alignItems","marginLeft","width","height","backgroundColor"],"sourceRoot":"../../../../src","sources":["components/DynamicComponent/Typewriter.tsx"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,SAAS,EAAEC,OAAO,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AACzE,SACEC,QAAQ,EACRC,QAAQ,EACRC,UAAU,EACVC,IAAI,EACJC,IAAI,QAGC,cAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AActB,MAAMC,UAAU,GAAGA,CAAC;EAClBC,KAAK,EAAEC,SAAS;EAChBC,WAAW,GAAG,GAAG;EACjBC,aAAa,GAAG,IAAI;EACpBC,cAAc;EACdC,SAAS;EACTC,WAAW;EACXC,UAAU,GAAG,IAAI;EACjBC,WAAW;EACXC,cAAc,GAAG;AACF,CAAC,KAAK;EACrB,MAAMT,KAAK,GAAGb,OAAO,CACnB,MAAOuB,KAAK,CAACC,OAAO,CAACV,SAAS,CAAC,GAAGA,SAAS,GAAG,EAAG,EACjD,CAACA,SAAS,CACZ,CAAC;EAED,MAAM,CAACW,cAAc,EAAEC,iBAAiB,CAAC,GAAGxB,QAAQ,CAAW,EAAE,CAAC;EAClE,MAAM,CAACyB,gBAAgB,EAAEC,mBAAmB,CAAC,GAAG1B,QAAQ,CAAC,CAAC,CAAC;EAC3D,MAAM,CAAC2B,gBAAgB,EAAEC,mBAAmB,CAAC,GAAG5B,QAAQ,CAAC,CAAC,CAAC;EAC3D,MAAM,CAAC6B,MAAM,EAAEC,SAAS,CAAC,GAAG9B,QAAQ,CAAC,KAAK,CAAC;EAE3C,MAAM+B,SAAS,GAAGhC,MAAM,CAAC,IAAIE,QAAQ,CAAC+B,KAAK,CAAC,CAAC,CAAC,CAAC,CAACC,OAAO;;EAEvD;EACA,MAAMC,QAAQ,GAAGpC,OAAO,CAAC,MAAMqC,IAAI,CAACC,SAAS,CAACzB,KAAK,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EAC9Dd,SAAS,CAAC,MAAM;IACd2B,iBAAiB,CAAC,EAAE,CAAC;IACrBE,mBAAmB,CAAC,CAAC,CAAC;IACtBE,mBAAmB,CAAC,CAAC,CAAC;IACtBE,SAAS,CAAC,KAAK,CAAC;EAClB,CAAC,EAAE,CAACI,QAAQ,CAAC,CAAC;EAEd,MAAMG,SAAS,GAAGV,gBAAgB,IAAIhB,KAAK,CAAC2B,MAAM;;EAElD;EACAzC,SAAS,CAAC,MAAM;IACd,IAAI,CAACqB,UAAU,IAAImB,SAAS,EAAE;IAE9B,MAAME,IAAI,GAAGtC,QAAQ,CAACsC,IAAI,CACxBtC,QAAQ,CAACuC,QAAQ,CAAC,CAChBvC,QAAQ,CAACwC,MAAM,CAACV,SAAS,EAAE;MACzBW,OAAO,EAAE,CAAC;MACVC,QAAQ,EAAE,GAAG;MACbC,eAAe,EAAE;IACnB,CAAC,CAAC,EACF3C,QAAQ,CAACwC,MAAM,CAACV,SAAS,EAAE;MACzBW,OAAO,EAAE,CAAC;MACVC,QAAQ,EAAE,GAAG;MACbC,eAAe,EAAE;IACnB,CAAC,CAAC,CACH,CACH,CAAC;IAEDL,IAAI,CAACM,KAAK,CAAC,CAAC;IAEZ,OAAO,MAAMN,IAAI,CAACO,IAAI,CAAC,CAAC;EAC1B,CAAC,EAAE,CAAC5B,UAAU,EAAEmB,SAAS,EAAEN,SAAS,CAAC,CAAC;EAEtC,MAAMgB,YAAY,GAAGnD,WAAW,CAAC,MAAM;IACrC,IAAIyC,SAAS,IAAIR,MAAM,EAAE;IAEzB,MAAMmB,WAAW,GAAGrC,KAAK,CAACgB,gBAAgB,CAAC;IAC3C,IAAIqB,WAAW,KAAKC,SAAS,EAAE;IAE/B,IAAIxB,gBAAgB,GAAGuB,WAAW,CAACV,MAAM,EAAE;MACzCZ,mBAAmB,CAAEwB,IAAI,IAAKA,IAAI,GAAG,CAAC,CAAC;IACzC,CAAC,MAAM;MACLpB,SAAS,CAAC,IAAI,CAAC;MACfqB,UAAU,CAAC,MAAM;QACf3B,iBAAiB,CAAE0B,IAAI,IAAK,CAAC,GAAGA,IAAI,EAAEF,WAAW,CAAC,CAAC;QACnDpB,mBAAmB,CAAEsB,IAAI,IAAKA,IAAI,GAAG,CAAC,CAAC;QACvCxB,mBAAmB,CAAC,CAAC,CAAC;QACtBI,SAAS,CAAC,KAAK,CAAC;MAClB,CAAC,EAAEhB,aAAa,CAAC;IACnB;EACF,CAAC,EAAE,CACDW,gBAAgB,EAChBE,gBAAgB,EAChBU,SAAS,EACTR,MAAM,EACNlB,KAAK,EACLG,aAAa,CACd,CAAC;EAEFjB,SAAS,CAAC,MAAM;IACd,IAAIwC,SAAS,EAAE;IACf,MAAMe,KAAK,GAAGD,UAAU,CAACJ,YAAY,EAAElC,WAAW,CAAC;IACnD,OAAO,MAAMwC,YAAY,CAACD,KAAK,CAAC;EAClC,CAAC,EAAE,CAACL,YAAY,EAAElC,WAAW,EAAEwB,SAAS,CAAC,CAAC;EAE1CxC,SAAS,CAAC,MAAM;IACd,
|
|
1
|
+
{"version":3,"names":["useCallback","useEffect","useMemo","useRef","useState","Animated","Platform","StyleSheet","Text","View","jsx","_jsx","jsxs","_jsxs","Typewriter","lines","linesProp","typingSpeed","pauseDuration","containerStyle","textStyle","cursorStyle","showCursor","onViewClose","viewCloseDelay","Array","isArray","completedLines","setCompletedLines","currentCharIndex","setCurrentCharIndex","currentLineIndex","setCurrentLineIndex","isDone","setIsDone","blinkAnim","Value","current","linesKey","JSON","stringify","isAllDone","length","loop","sequence","timing","toValue","duration","useNativeDriver","start","stop","handleTyping","currentLine","undefined","prev","setTimeout","timer","clearTimeout","closeTimer","typedText","substring","isShowingCursor","style","styles","container","children","map","line","index","text","cursor","opacity","typewriterFont","OS","create","flexDirection","fontSize","color","fontFamily","alignItems","marginLeft","width","height","backgroundColor"],"sourceRoot":"../../../../src","sources":["components/DynamicComponent/Typewriter.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,149 +1,110 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
import { useEffect, useRef
|
|
14
|
-
import {
|
|
3
|
+
/**
|
|
4
|
+
* EmbedAudioWave — Waveform visualizer for the voice agent.
|
|
5
|
+
*
|
|
6
|
+
* Replaced the original implementation which used two JS-thread setInterval loops
|
|
7
|
+
* and useNativeDriver:false (causing jank on iOS physical devices) with:
|
|
8
|
+
* - A single 500ms interval that only writes to a Reanimated shared value
|
|
9
|
+
* (no React state updates, no re-renders from audio polling)
|
|
10
|
+
* - Per-bar Reanimated useAnimatedStyle running on the UI thread (no JS thread animation)
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
import { useEffect, useRef } from 'react';
|
|
14
|
+
import { StyleSheet, View } from 'react-native';
|
|
15
|
+
import Animated, { cancelAnimation, useAnimatedStyle, useSharedValue, withRepeat, withSequence, withTiming } from 'react-native-reanimated';
|
|
15
16
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
const BAR_COUNT = 10;
|
|
18
|
+
|
|
19
|
+
// Max height (px) for each bar — edge bars are shorter for a natural wave shape
|
|
20
|
+
const BAR_MAX_HEIGHTS = [6, 10, 16, 22, 25, 22, 16, 10, 6, 4];
|
|
21
|
+
|
|
22
|
+
// Phase offset per bar so bars animate at staggered times (creates wave effect)
|
|
23
|
+
const BAR_PHASE_OFFSETS = [0, 60, 120, 180, 240, 180, 120, 60, 0, 30];
|
|
24
|
+
const AnimatedBar = ({
|
|
25
|
+
waveProgress,
|
|
26
|
+
isActive,
|
|
27
|
+
maxHeight,
|
|
28
|
+
phaseOffset,
|
|
29
|
+
isEdge
|
|
30
|
+
}) => {
|
|
31
|
+
const barStyle = useAnimatedStyle(() => {
|
|
32
|
+
'worklet';
|
|
33
|
+
|
|
34
|
+
if (!isActive.value) {
|
|
35
|
+
return {
|
|
36
|
+
height: 2
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
// Compute a sine-wave height from the shared progress value + per-bar phase offset
|
|
40
|
+
const phase = (waveProgress.value + phaseOffset) % 1000 / 1000;
|
|
41
|
+
const height = Math.max(2, Math.abs(Math.sin(phase * Math.PI * 2)) * maxHeight);
|
|
42
|
+
return {
|
|
43
|
+
height
|
|
44
|
+
};
|
|
45
|
+
});
|
|
46
|
+
return /*#__PURE__*/_jsx(Animated.View, {
|
|
47
|
+
style: [styles.bar, isEdge ? styles.barEdge : styles.barCenter, barStyle]
|
|
48
|
+
});
|
|
49
|
+
};
|
|
50
|
+
export const WaveformVisualizer = ({
|
|
51
|
+
roomRef
|
|
52
|
+
}) => {
|
|
53
|
+
// Shared values live on the UI thread — no React re-renders needed
|
|
54
|
+
const isActive = useSharedValue(false);
|
|
55
|
+
const waveProgress = useSharedValue(0);
|
|
56
|
+
const lastActiveState = useRef(false);
|
|
19
57
|
const intervalRef = useRef(null);
|
|
20
|
-
const [currentHeights, setCurrentHeights] = useState(Array(10).fill(0));
|
|
21
|
-
|
|
22
|
-
// Create animated values for each bar
|
|
23
|
-
const barCount = 10;
|
|
24
|
-
const animatedBars = useRef(Array(barCount).fill(0).map(() => new Animated.Value(0))).current;
|
|
25
58
|
useEffect(() => {
|
|
26
|
-
// Check if there's an active room connection AND if agent is talking
|
|
27
59
|
const checkAudioActivity = () => {
|
|
28
60
|
const room = roomRef.current;
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
// Check if any remote participant is currently speaking
|
|
35
|
-
let isAgentSpeaking = false;
|
|
36
|
-
|
|
37
|
-
// Loop through all remote participants
|
|
38
|
-
room.remoteParticipants.forEach(participant => {
|
|
39
|
-
const audioTrackPublications = Array.from(participant.getTrackPublications().values());
|
|
40
|
-
const remoteAudioTrack = audioTrackPublications.find(pub => pub.track?.kind === 'audio');
|
|
41
|
-
|
|
42
|
-
// Check if this participant has audio track, is not muted, and is actively speaking
|
|
43
|
-
if (remoteAudioTrack?.track && !remoteAudioTrack?.isMuted) {
|
|
44
|
-
// Check audio level to detect actual speech (optional but more accurate)
|
|
61
|
+
let speaking = false;
|
|
62
|
+
if (room?.state === 'connected') {
|
|
63
|
+
room.remoteParticipants.forEach(participant => {
|
|
45
64
|
const audioLevel = participant.audioLevel || 0;
|
|
46
|
-
if (audioLevel > 0.05) {
|
|
47
|
-
|
|
48
|
-
isAgentSpeaking = true;
|
|
65
|
+
if (audioLevel > 0.05 || participant.isSpeaking) {
|
|
66
|
+
speaking = true;
|
|
49
67
|
}
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
if (speaking === lastActiveState.current) return;
|
|
71
|
+
lastActiveState.current = speaking;
|
|
72
|
+
if (speaking) {
|
|
73
|
+
isActive.value = true;
|
|
74
|
+
// Run the wave progress counter continuously on the UI thread
|
|
75
|
+
waveProgress.value = withRepeat(withSequence(withTiming(1000, {
|
|
76
|
+
duration: 1200
|
|
77
|
+
}), withTiming(0, {
|
|
78
|
+
duration: 0
|
|
79
|
+
})), -1, false);
|
|
80
|
+
} else {
|
|
81
|
+
isActive.value = false;
|
|
82
|
+
cancelAnimation(waveProgress);
|
|
83
|
+
waveProgress.value = withTiming(0, {
|
|
84
|
+
duration: 400
|
|
85
|
+
});
|
|
86
|
+
}
|
|
53
87
|
};
|
|
54
|
-
|
|
55
|
-
// Initial check
|
|
56
88
|
checkAudioActivity();
|
|
57
|
-
|
|
58
|
-
// Set up periodic checking for room state changes
|
|
59
89
|
intervalRef.current = setInterval(checkAudioActivity, 500);
|
|
60
|
-
|
|
61
|
-
// Clean up on unmount
|
|
62
90
|
return () => {
|
|
63
91
|
if (intervalRef.current) {
|
|
64
92
|
clearInterval(intervalRef.current);
|
|
65
93
|
intervalRef.current = null;
|
|
66
94
|
}
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
}, [roomRef]);
|
|
70
|
-
|
|
71
|
-
// Continuous smooth animation
|
|
72
|
-
useEffect(() => {
|
|
73
|
-
const animateWaveform = () => {
|
|
74
|
-
// Generate smooth waveform data - stop animation completely when not active
|
|
75
|
-
const targetHeights = isAudioActive ? Array(barCount).fill(0).map((_, index) => {
|
|
76
|
-
const timeOffset = Date.now() / 800 + index * 0.3;
|
|
77
|
-
const baseHeight = 0.5;
|
|
78
|
-
const amplitude = 0.5;
|
|
79
|
-
const height = baseHeight + amplitude * Math.abs(Math.sin(timeOffset));
|
|
80
|
-
return Math.max(0.1, Math.min(1.0, height));
|
|
81
|
-
}) : Array(barCount).fill(0); // Completely freeze animation when mic is muted
|
|
82
|
-
|
|
83
|
-
// Update current heights for conditional logic
|
|
84
|
-
setCurrentHeights(targetHeights);
|
|
85
|
-
const animations = animatedBars.map((animatedValue, index) => {
|
|
86
|
-
const targetHeight = targetHeights[index] || 0;
|
|
87
|
-
return Animated.timing(animatedValue, {
|
|
88
|
-
toValue: targetHeight,
|
|
89
|
-
duration: isAudioActive ? 400 : 600,
|
|
90
|
-
// Slower fade out when going inactive
|
|
91
|
-
useNativeDriver: false
|
|
92
|
-
});
|
|
93
|
-
});
|
|
94
|
-
Animated.parallel(animations).start();
|
|
95
|
+
cancelAnimation(waveProgress);
|
|
96
|
+
isActive.value = false;
|
|
95
97
|
};
|
|
96
|
-
|
|
97
|
-
// Start animation immediately and repeat
|
|
98
|
-
animateWaveform();
|
|
99
|
-
const animationInterval = setInterval(animateWaveform, 300);
|
|
100
|
-
return () => {
|
|
101
|
-
clearInterval(animationInterval);
|
|
102
|
-
};
|
|
103
|
-
}, [isAudioActive, animatedBars]);
|
|
104
|
-
return {
|
|
105
|
-
animatedBars,
|
|
106
|
-
currentHeights,
|
|
107
|
-
isActive: isAudioActive
|
|
108
|
-
};
|
|
109
|
-
};
|
|
110
|
-
export const WaveformVisualizer = ({
|
|
111
|
-
roomRef
|
|
112
|
-
}) => {
|
|
113
|
-
const {
|
|
114
|
-
animatedBars,
|
|
115
|
-
currentHeights
|
|
116
|
-
} = useReactNativeAudioWaveform(roomRef);
|
|
98
|
+
}, [roomRef, isActive, waveProgress]);
|
|
117
99
|
return /*#__PURE__*/_jsx(View, {
|
|
118
100
|
style: styles.container,
|
|
119
|
-
children:
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
conditionalValue = 1;
|
|
127
|
-
} else if (currentHeightValue >= 0.4 && currentHeightValue <= 0.5) {
|
|
128
|
-
conditionalValue = 5;
|
|
129
|
-
} else {
|
|
130
|
-
conditionalValue = 1;
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
// Determine bar style based on position
|
|
134
|
-
const isEdgeBar = idx <= 1 || idx >= 8;
|
|
135
|
-
const barStyle = [styles.bar, conditionalValue === 10 ? styles.barWide : styles.barNormal, isEdgeBar ? styles.barEdge : styles.barCenter];
|
|
136
|
-
|
|
137
|
-
// You can use conditionalValue for width, color, or other properties
|
|
138
|
-
return /*#__PURE__*/_jsx(Animated.View, {
|
|
139
|
-
style: [barStyle, {
|
|
140
|
-
height: animatedHeight.interpolate({
|
|
141
|
-
inputRange: [0, 1],
|
|
142
|
-
outputRange: [0, 25]
|
|
143
|
-
})
|
|
144
|
-
}]
|
|
145
|
-
}, idx);
|
|
146
|
-
})
|
|
101
|
+
children: BAR_MAX_HEIGHTS.map((maxH, idx) => /*#__PURE__*/_jsx(AnimatedBar, {
|
|
102
|
+
waveProgress: waveProgress,
|
|
103
|
+
isActive: isActive,
|
|
104
|
+
maxHeight: maxH,
|
|
105
|
+
phaseOffset: BAR_PHASE_OFFSETS[idx] ?? 0,
|
|
106
|
+
isEdge: idx <= 1 || idx >= BAR_COUNT - 2
|
|
107
|
+
}, idx))
|
|
147
108
|
});
|
|
148
109
|
};
|
|
149
110
|
const styles = StyleSheet.create({
|
|
@@ -158,12 +119,7 @@ const styles = StyleSheet.create({
|
|
|
158
119
|
bar: {
|
|
159
120
|
borderRadius: 100,
|
|
160
121
|
alignSelf: 'center',
|
|
161
|
-
margin: 1.5
|
|
162
|
-
},
|
|
163
|
-
barNormal: {
|
|
164
|
-
width: 4
|
|
165
|
-
},
|
|
166
|
-
barWide: {
|
|
122
|
+
margin: 1.5,
|
|
167
123
|
width: 4
|
|
168
124
|
},
|
|
169
125
|
barEdge: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useEffect","useRef","
|
|
1
|
+
{"version":3,"names":["useEffect","useRef","StyleSheet","View","Animated","cancelAnimation","useAnimatedStyle","useSharedValue","withRepeat","withSequence","withTiming","jsx","_jsx","BAR_COUNT","BAR_MAX_HEIGHTS","BAR_PHASE_OFFSETS","AnimatedBar","waveProgress","isActive","maxHeight","phaseOffset","isEdge","barStyle","value","height","phase","Math","max","abs","sin","PI","style","styles","bar","barEdge","barCenter","WaveformVisualizer","roomRef","lastActiveState","intervalRef","checkAudioActivity","room","current","speaking","state","remoteParticipants","forEach","participant","audioLevel","isSpeaking","duration","setInterval","clearInterval","container","children","map","maxH","idx","create","flexDirection","alignItems","alignSelf","justifyContent","zIndex","borderRadius","margin","width","backgroundColor"],"sourceRoot":"../../../../src","sources":["components/Embed/EmbedAudioWave.tsx"],"mappings":"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","ignoreList":[]}
|