@repzo/widget-react-native 1.2.1 → 1.3.0
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/CHANGELOG.md +69 -0
- package/README.md +40 -3
- package/android/build.gradle +22 -0
- package/android/src/main/java/expo/modules/repzowidget/RepzoVoicePlayer.kt +222 -0
- package/android/src/main/java/expo/modules/repzowidget/RepzoWidgetAudioModule.kt +68 -0
- package/expo-module.config.json +9 -0
- package/ios/RepzoVoicePlayer.swift +175 -0
- package/ios/RepzoWidgetAudio.podspec +26 -0
- package/ios/RepzoWidgetAudioModule.swift +65 -0
- package/lib/commonjs/api/client.js +47 -2
- package/lib/commonjs/api/client.js.map +1 -1
- package/lib/commonjs/audio/native-player.js +97 -0
- package/lib/commonjs/audio/native-player.js.map +1 -0
- package/lib/commonjs/audio/voice.js +146 -0
- package/lib/commonjs/audio/voice.js.map +1 -0
- package/lib/commonjs/i18n.js +6 -0
- package/lib/commonjs/i18n.js.map +1 -1
- package/lib/commonjs/locales.js +4 -0
- package/lib/commonjs/locales.js.map +1 -1
- package/lib/commonjs/state/use-widget-state.js +31 -0
- package/lib/commonjs/state/use-widget-state.js.map +1 -1
- package/lib/commonjs/state/widget-store.js +44 -1
- package/lib/commonjs/state/widget-store.js.map +1 -1
- package/lib/commonjs/ui/WidgetProvider.js +7 -3
- package/lib/commonjs/ui/WidgetProvider.js.map +1 -1
- package/lib/commonjs/ui/components/FileCard.js +134 -0
- package/lib/commonjs/ui/components/FileCard.js.map +1 -0
- package/lib/commonjs/ui/components/ImageViewer.js +17 -35
- package/lib/commonjs/ui/components/ImageViewer.js.map +1 -1
- package/lib/commonjs/ui/components/Launcher.js +15 -1
- package/lib/commonjs/ui/components/Launcher.js.map +1 -1
- package/lib/commonjs/ui/components/MessagesSkeleton.js +126 -0
- package/lib/commonjs/ui/components/MessagesSkeleton.js.map +1 -0
- package/lib/commonjs/ui/components/VoiceNote.js +353 -0
- package/lib/commonjs/ui/components/VoiceNote.js.map +1 -0
- package/lib/commonjs/ui/components/ZoomableImage.js +299 -0
- package/lib/commonjs/ui/components/ZoomableImage.js.map +1 -0
- package/lib/commonjs/ui/components/icons.js +57 -0
- package/lib/commonjs/ui/components/icons.js.map +1 -1
- package/lib/commonjs/ui/screens/chat/ChatView.js +39 -18
- package/lib/commonjs/ui/screens/chat/ChatView.js.map +1 -1
- package/lib/commonjs/ui/screens/chat/ChatView.styles.js +5 -16
- package/lib/commonjs/ui/screens/chat/ChatView.styles.js.map +1 -1
- package/lib/module/api/client.js +48 -2
- package/lib/module/api/client.js.map +1 -1
- package/lib/module/audio/native-player.js +93 -0
- package/lib/module/audio/native-player.js.map +1 -0
- package/lib/module/audio/voice.js +136 -0
- package/lib/module/audio/voice.js.map +1 -0
- package/lib/module/i18n.js +6 -0
- package/lib/module/i18n.js.map +1 -1
- package/lib/module/locales.js +4 -0
- package/lib/module/locales.js.map +1 -1
- package/lib/module/state/use-widget-state.js +30 -1
- package/lib/module/state/use-widget-state.js.map +1 -1
- package/lib/module/state/widget-store.js +44 -1
- package/lib/module/state/widget-store.js.map +1 -1
- package/lib/module/ui/WidgetProvider.js +7 -3
- package/lib/module/ui/WidgetProvider.js.map +1 -1
- package/lib/module/ui/components/FileCard.js +130 -0
- package/lib/module/ui/components/FileCard.js.map +1 -0
- package/lib/module/ui/components/ImageViewer.js +18 -36
- package/lib/module/ui/components/ImageViewer.js.map +1 -1
- package/lib/module/ui/components/Launcher.js +16 -2
- package/lib/module/ui/components/Launcher.js.map +1 -1
- package/lib/module/ui/components/MessagesSkeleton.js +124 -0
- package/lib/module/ui/components/MessagesSkeleton.js.map +1 -0
- package/lib/module/ui/components/VoiceNote.js +349 -0
- package/lib/module/ui/components/VoiceNote.js.map +1 -0
- package/lib/module/ui/components/ZoomableImage.js +291 -0
- package/lib/module/ui/components/ZoomableImage.js.map +1 -0
- package/lib/module/ui/components/icons.js +55 -0
- package/lib/module/ui/components/icons.js.map +1 -1
- package/lib/module/ui/screens/chat/ChatView.js +39 -18
- package/lib/module/ui/screens/chat/ChatView.js.map +1 -1
- package/lib/module/ui/screens/chat/ChatView.styles.js +5 -16
- package/lib/module/ui/screens/chat/ChatView.styles.js.map +1 -1
- package/lib/typescript/commonjs/api/client.d.ts +12 -0
- package/lib/typescript/commonjs/api/client.d.ts.map +1 -1
- package/lib/typescript/commonjs/audio/native-player.d.ts +36 -0
- package/lib/typescript/commonjs/audio/native-player.d.ts.map +1 -0
- package/lib/typescript/commonjs/audio/voice.d.ts +42 -0
- package/lib/typescript/commonjs/audio/voice.d.ts.map +1 -0
- package/lib/typescript/commonjs/i18n.d.ts +4 -0
- package/lib/typescript/commonjs/i18n.d.ts.map +1 -1
- package/lib/typescript/commonjs/locales.d.ts.map +1 -1
- package/lib/typescript/commonjs/state/use-widget-state.d.ts +8 -0
- package/lib/typescript/commonjs/state/use-widget-state.d.ts.map +1 -1
- package/lib/typescript/commonjs/state/widget-store.d.ts +13 -0
- package/lib/typescript/commonjs/state/widget-store.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/WidgetProvider.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/FileCard.d.ts +21 -0
- package/lib/typescript/commonjs/ui/components/FileCard.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/ImageViewer.d.ts +2 -2
- package/lib/typescript/commonjs/ui/components/ImageViewer.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/Launcher.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/MessagesSkeleton.d.ts +10 -0
- package/lib/typescript/commonjs/ui/components/MessagesSkeleton.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/VoiceNote.d.ts +32 -0
- package/lib/typescript/commonjs/ui/components/VoiceNote.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/ZoomableImage.d.ts +45 -0
- package/lib/typescript/commonjs/ui/components/ZoomableImage.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/icons.d.ts +4 -0
- package/lib/typescript/commonjs/ui/components/icons.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/chat/ChatView.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/chat/ChatView.styles.d.ts +4 -16
- package/lib/typescript/commonjs/ui/screens/chat/ChatView.styles.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/chat/ChatView.types.d.ts +4 -0
- package/lib/typescript/commonjs/ui/screens/chat/ChatView.types.d.ts.map +1 -1
- package/lib/typescript/module/api/client.d.ts +12 -0
- package/lib/typescript/module/api/client.d.ts.map +1 -1
- package/lib/typescript/module/audio/native-player.d.ts +36 -0
- package/lib/typescript/module/audio/native-player.d.ts.map +1 -0
- package/lib/typescript/module/audio/voice.d.ts +42 -0
- package/lib/typescript/module/audio/voice.d.ts.map +1 -0
- package/lib/typescript/module/i18n.d.ts +4 -0
- package/lib/typescript/module/i18n.d.ts.map +1 -1
- package/lib/typescript/module/locales.d.ts.map +1 -1
- package/lib/typescript/module/state/use-widget-state.d.ts +8 -0
- package/lib/typescript/module/state/use-widget-state.d.ts.map +1 -1
- package/lib/typescript/module/state/widget-store.d.ts +13 -0
- package/lib/typescript/module/state/widget-store.d.ts.map +1 -1
- package/lib/typescript/module/ui/WidgetProvider.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/FileCard.d.ts +21 -0
- package/lib/typescript/module/ui/components/FileCard.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/ImageViewer.d.ts +2 -2
- package/lib/typescript/module/ui/components/ImageViewer.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/Launcher.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/MessagesSkeleton.d.ts +10 -0
- package/lib/typescript/module/ui/components/MessagesSkeleton.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/VoiceNote.d.ts +32 -0
- package/lib/typescript/module/ui/components/VoiceNote.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/ZoomableImage.d.ts +45 -0
- package/lib/typescript/module/ui/components/ZoomableImage.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/icons.d.ts +4 -0
- package/lib/typescript/module/ui/components/icons.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/chat/ChatView.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/chat/ChatView.styles.d.ts +4 -16
- package/lib/typescript/module/ui/screens/chat/ChatView.styles.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/chat/ChatView.types.d.ts +4 -0
- package/lib/typescript/module/ui/screens/chat/ChatView.types.d.ts.map +1 -1
- package/package.json +14 -3
- package/react-native.config.js +12 -0
- package/src/api/client.ts +56 -2
- package/src/audio/native-player.ts +106 -0
- package/src/audio/voice.ts +127 -0
- package/src/i18n.ts +6 -0
- package/src/locales.ts +4 -0
- package/src/state/use-widget-state.ts +30 -1
- package/src/state/widget-store.ts +45 -1
- package/src/ui/WidgetProvider.tsx +7 -3
- package/src/ui/components/FileCard.tsx +111 -0
- package/src/ui/components/ImageViewer.tsx +11 -30
- package/src/ui/components/Launcher.tsx +7 -2
- package/src/ui/components/MessagesSkeleton.tsx +92 -0
- package/src/ui/components/VoiceNote.tsx +355 -0
- package/src/ui/components/ZoomableImage.tsx +250 -0
- package/src/ui/components/icons.tsx +33 -0
- package/src/ui/screens/chat/ChatView.styles.ts +5 -16
- package/src/ui/screens/chat/ChatView.tsx +43 -16
- package/src/ui/screens/chat/ChatView.types.ts +4 -0
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import ExpoModulesCore
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Plays the chat's voice notes, so apps don't need an audio package of their
|
|
5
|
+
* own. JS addresses each note's player by an id it picks (see
|
|
6
|
+
* `src/audio/native-player.ts`); every change comes back as an `onStatus`
|
|
7
|
+
* event carrying that id.
|
|
8
|
+
*/
|
|
9
|
+
public class RepzoWidgetAudioModule: Module {
|
|
10
|
+
// Only touched on the main queue: every function below runs there.
|
|
11
|
+
private var players: [String: RepzoVoicePlayer] = [:]
|
|
12
|
+
|
|
13
|
+
public func definition() -> ModuleDefinition {
|
|
14
|
+
Name("RepzoWidgetAudio")
|
|
15
|
+
|
|
16
|
+
Events("onStatus")
|
|
17
|
+
|
|
18
|
+
AsyncFunction("create") { (id: String, url: URL) in
|
|
19
|
+
self.players.removeValue(forKey: id)?.release()
|
|
20
|
+
self.players[id] = RepzoVoicePlayer(url: url) { [weak self] status in
|
|
21
|
+
var body = status
|
|
22
|
+
body["id"] = id
|
|
23
|
+
self?.sendEvent("onStatus", body)
|
|
24
|
+
}
|
|
25
|
+
}.runOnQueue(.main)
|
|
26
|
+
|
|
27
|
+
AsyncFunction("play") { (id: String) in
|
|
28
|
+
self.players[id]?.play()
|
|
29
|
+
}.runOnQueue(.main)
|
|
30
|
+
|
|
31
|
+
AsyncFunction("pause") { (id: String) in
|
|
32
|
+
self.players[id]?.pause()
|
|
33
|
+
}.runOnQueue(.main)
|
|
34
|
+
|
|
35
|
+
AsyncFunction("seekTo") { (id: String, seconds: Double, promise: Promise) in
|
|
36
|
+
guard let player = self.players[id] else {
|
|
37
|
+
promise.resolve(nil)
|
|
38
|
+
return
|
|
39
|
+
}
|
|
40
|
+
player.seek(to: seconds) { promise.resolve(nil) }
|
|
41
|
+
}.runOnQueue(.main)
|
|
42
|
+
|
|
43
|
+
AsyncFunction("setRate") { (id: String, rate: Double) in
|
|
44
|
+
self.players[id]?.setRate(Float(rate))
|
|
45
|
+
}.runOnQueue(.main)
|
|
46
|
+
|
|
47
|
+
AsyncFunction("release") { (id: String) in
|
|
48
|
+
self.players.removeValue(forKey: id)?.release()
|
|
49
|
+
}.runOnQueue(.main)
|
|
50
|
+
|
|
51
|
+
// Leaving the app pauses every note, including one still loading, so it
|
|
52
|
+
// doesn't keep playing with its controls out of sight (apps with the
|
|
53
|
+
// background audio mode would otherwise carry on).
|
|
54
|
+
OnAppEntersBackground {
|
|
55
|
+
self.players.values.forEach { $0.pause() }
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
OnDestroy {
|
|
59
|
+
DispatchQueue.main.async {
|
|
60
|
+
self.players.values.forEach { $0.release() }
|
|
61
|
+
self.players.removeAll()
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
@@ -38,6 +38,8 @@ class RepzoWidgetError extends Error {
|
|
|
38
38
|
return new RepzoWidgetError(message || `HTTP ${status}`, status, code);
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
|
+
|
|
42
|
+
/** A Send message part asked for on its own, which may share one request with others. */
|
|
41
43
|
exports.RepzoWidgetError = RepzoWidgetError;
|
|
42
44
|
class WidgetApiClient {
|
|
43
45
|
baseUrl = '';
|
|
@@ -53,6 +55,9 @@ class WidgetApiClient {
|
|
|
53
55
|
|
|
54
56
|
/** Set by the store: a 403 with a terminal `code` came back from any endpoint. */
|
|
55
57
|
onTerminalError = null;
|
|
58
|
+
|
|
59
|
+
/** Send parts asked for in this tick — see askSendPart. */
|
|
60
|
+
sendPartBatch = null;
|
|
56
61
|
configure(baseUrl, channelAccountId) {
|
|
57
62
|
this.baseUrl = baseUrl.replace(/\/$/, '');
|
|
58
63
|
this.channelAccountId = channelAccountId;
|
|
@@ -141,7 +146,7 @@ class WidgetApiClient {
|
|
|
141
146
|
return this.request(`/api/widget/config/${encodeURIComponent(this.channelAccountId)}${query}`);
|
|
142
147
|
}
|
|
143
148
|
getOutboundMessage() {
|
|
144
|
-
return this.request(`/api/widget/outbound/${encodeURIComponent(this.channelAccountId)}`);
|
|
149
|
+
return this.askSendPart('outbound', () => this.request(`/api/widget/outbound/${encodeURIComponent(this.channelAccountId)}`));
|
|
145
150
|
}
|
|
146
151
|
|
|
147
152
|
/**
|
|
@@ -149,7 +154,47 @@ class WidgetApiClient {
|
|
|
149
154
|
* `recheckInMs`: ask again after this long — the shown one stops then.
|
|
150
155
|
*/
|
|
151
156
|
getPost() {
|
|
152
|
-
return this.request('/api/widget/send/post?platform=mobile');
|
|
157
|
+
return this.askSendPart('post', () => this.request('/api/widget/send/post?platform=mobile'));
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
/**
|
|
161
|
+
* The post and the launcher's chat message are both asked for right after a
|
|
162
|
+
* session starts: asks made in the same tick go out as one request (each
|
|
163
|
+
* part answers the way its own endpoint does). A lone ask, a Workstation
|
|
164
|
+
* deployment that doesn't know a part yet (it leaves it out — the
|
|
165
|
+
* `outbound` part is newer than the combined endpoint), or a failed combined
|
|
166
|
+
* request falls back to each part's own endpoint, as before.
|
|
167
|
+
*/
|
|
168
|
+
askSendPart(part, own) {
|
|
169
|
+
return new Promise((resolve, reject) => {
|
|
170
|
+
if (!this.sendPartBatch) {
|
|
171
|
+
this.sendPartBatch = [];
|
|
172
|
+
setTimeout(() => void this.flushSendParts(), 0);
|
|
173
|
+
}
|
|
174
|
+
this.sendPartBatch.push({
|
|
175
|
+
part,
|
|
176
|
+
own,
|
|
177
|
+
resolve: resolve,
|
|
178
|
+
reject
|
|
179
|
+
});
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
async flushSendParts() {
|
|
183
|
+
const asks = this.sendPartBatch ?? [];
|
|
184
|
+
this.sendPartBatch = null;
|
|
185
|
+
const parts = Array.from(new Set(asks.map(ask => ask.part)));
|
|
186
|
+
let answer = null;
|
|
187
|
+
if (parts.length > 1) {
|
|
188
|
+
try {
|
|
189
|
+
answer = await this.request(`/api/widget/send/messages?include=${parts.join(',')}&platform=mobile`);
|
|
190
|
+
} catch {
|
|
191
|
+
answer = null;
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
for (const ask of asks) {
|
|
195
|
+
const value = answer?.[ask.part];
|
|
196
|
+
if (value && typeof value === 'object') ask.resolve(value);else ask.own().then(ask.resolve, ask.reject);
|
|
197
|
+
}
|
|
153
198
|
}
|
|
154
199
|
|
|
155
200
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_storage","require","_safeUrl","TERMINAL_CODES","Set","isTerminalErrorCode","code","has","RepzoWidgetError","Error","constructor","message","status","name","fromResponse","body","payload","exports","WidgetApiClient","baseUrl","channelAccountId","token","tokenLoaded","reauthorize","onTerminalError","configure","replace","getBaseUrl","getChannelAccountId","getToken","SecureStorage","getItem","TOKEN_KEY","setToken","setItem","clearToken","removeItem","resolveUrl","url","trimmed","trim","isHttpUrl","urlScheme","resolved","startsWith","request","path","options","sentToken","send","headers","authToken","undefined","Authorization","fetch","method","JSON","stringify","error","response","skipReauth","refreshed","ok","json","catch","getConfig","platform","query","encodeURIComponent","getOutboundMessage","getPost","sendPostInteraction","campaignId","kind","value","init","params","visitorToken","resumeToken","user","email","phone","userId","user_id","userHash","user_hash","account","id","signedUpAt","signed_up_at","Date","toISOString","trackingVisitorId","sdkVersion","logout","sendMessage","data","listConversations","listMessages","conversationId","cursor","markConversationRead","rateConversation","ratingId","identify","sendTyping","isTyping","trackEvent","registerPushToken","reportPushOpened","deliveryId","removePushToken","auth"],"sourceRoot":"../../../src","sources":["api/client.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_storage","require","_safeUrl","TERMINAL_CODES","Set","isTerminalErrorCode","code","has","RepzoWidgetError","Error","constructor","message","status","name","fromResponse","body","payload","exports","WidgetApiClient","baseUrl","channelAccountId","token","tokenLoaded","reauthorize","onTerminalError","sendPartBatch","configure","replace","getBaseUrl","getChannelAccountId","getToken","SecureStorage","getItem","TOKEN_KEY","setToken","setItem","clearToken","removeItem","resolveUrl","url","trimmed","trim","isHttpUrl","urlScheme","resolved","startsWith","request","path","options","sentToken","send","headers","authToken","undefined","Authorization","fetch","method","JSON","stringify","error","response","skipReauth","refreshed","ok","json","catch","getConfig","platform","query","encodeURIComponent","getOutboundMessage","askSendPart","getPost","part","own","Promise","resolve","reject","setTimeout","flushSendParts","push","asks","parts","Array","from","map","ask","answer","length","join","value","then","sendPostInteraction","campaignId","kind","init","params","visitorToken","resumeToken","user","email","phone","userId","user_id","userHash","user_hash","account","id","signedUpAt","signed_up_at","Date","toISOString","trackingVisitorId","sdkVersion","logout","sendMessage","data","listConversations","listMessages","conversationId","cursor","markConversationRead","rateConversation","ratingId","identify","sendTyping","isTyping","trackEvent","registerPushToken","reportPushOpened","deliveryId","removePushToken","auth"],"sourceRoot":"../../../src","sources":["api/client.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.hasNativeVoicePlayer = hasNativeVoicePlayer;
|
|
7
|
+
exports.useNativeVoicePlayer = useNativeVoicePlayer;
|
|
8
|
+
var _react = require("react");
|
|
9
|
+
/**
|
|
10
|
+
* The SDK's own voice-note player (`ios/` and `android/`), on the system
|
|
11
|
+
* players: AVPlayer on iOS, MediaPlayer on Android. It's an Expo module, so it
|
|
12
|
+
* exists in apps with Expo modules after a native build; in Expo Go, bare
|
|
13
|
+
* React Native apps and an over-the-air update to an app built with an older
|
|
14
|
+
* SDK it's missing, and `src/audio/voice.ts` falls back to `expo-audio` or the
|
|
15
|
+
* file row.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
/** What the player reports; the same fields `expo-audio`'s status has. */
|
|
19
|
+
|
|
20
|
+
function loadNativeAudio() {
|
|
21
|
+
let mod = null;
|
|
22
|
+
try {
|
|
23
|
+
mod = require('expo-modules-core').requireOptionalNativeModule('RepzoWidgetAudio');
|
|
24
|
+
} catch {
|
|
25
|
+
mod = null;
|
|
26
|
+
}
|
|
27
|
+
// Without the JS package (an unusual setup), the module can still be installed.
|
|
28
|
+
mod = mod ?? globalThis.expo?.modules?.RepzoWidgetAudio ?? null;
|
|
29
|
+
return mod && typeof mod.create === 'function' && typeof mod.play === 'function' ? mod : null;
|
|
30
|
+
}
|
|
31
|
+
const nativeAudio = loadNativeAudio();
|
|
32
|
+
|
|
33
|
+
/** Subscribes to every player's status; null when events can't be received. */
|
|
34
|
+
function addStatusListener(listener) {
|
|
35
|
+
if (!nativeAudio) return null;
|
|
36
|
+
try {
|
|
37
|
+
if (typeof nativeAudio.addListener === 'function') return nativeAudio.addListener('onStatus', listener);
|
|
38
|
+
// Expo SDK 51 and older: native modules aren't event emitters themselves.
|
|
39
|
+
const {
|
|
40
|
+
EventEmitter
|
|
41
|
+
} = require('expo-modules-core');
|
|
42
|
+
return new EventEmitter(nativeAudio).addListener('onStatus', listener);
|
|
43
|
+
} catch {
|
|
44
|
+
return null;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/** Whether the app has the SDK's own player. */
|
|
49
|
+
function hasNativeVoicePlayer() {
|
|
50
|
+
return nativeAudio != null;
|
|
51
|
+
}
|
|
52
|
+
let nextPlayerId = 0;
|
|
53
|
+
const ignore = () => {};
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* A player for one note, released when the component goes away. Shaped like
|
|
57
|
+
* `expo-audio`'s `useAudioPlayer` + `useAudioPlayerStatus`, so the voice note
|
|
58
|
+
* drives either the same way.
|
|
59
|
+
*/
|
|
60
|
+
function useNativeVoicePlayer(url) {
|
|
61
|
+
const id = (0, _react.useMemo)(() => `repzo-voice-${nextPlayerId += 1}`, []);
|
|
62
|
+
const [status, setStatus] = (0, _react.useState)({
|
|
63
|
+
isLoaded: false
|
|
64
|
+
});
|
|
65
|
+
(0, _react.useEffect)(() => {
|
|
66
|
+
const audio = nativeAudio;
|
|
67
|
+
const subscription = addStatusListener(next => {
|
|
68
|
+
if (next?.id === id) setStatus(next);
|
|
69
|
+
});
|
|
70
|
+
if (!subscription) {
|
|
71
|
+
setStatus({
|
|
72
|
+
isLoaded: false,
|
|
73
|
+
error: 'Voice notes need a newer Expo SDK'
|
|
74
|
+
});
|
|
75
|
+
return undefined;
|
|
76
|
+
}
|
|
77
|
+
audio.create(id, url).catch(error => setStatus({
|
|
78
|
+
isLoaded: false,
|
|
79
|
+
error: String(error)
|
|
80
|
+
}));
|
|
81
|
+
return () => {
|
|
82
|
+
subscription.remove();
|
|
83
|
+
audio.release(id).catch(ignore);
|
|
84
|
+
};
|
|
85
|
+
}, [id, url]);
|
|
86
|
+
const player = (0, _react.useMemo)(() => ({
|
|
87
|
+
play: () => void nativeAudio.play(id).catch(ignore),
|
|
88
|
+
pause: () => void nativeAudio.pause(id).catch(ignore),
|
|
89
|
+
seekTo: seconds => nativeAudio.seekTo(id, seconds).catch(ignore),
|
|
90
|
+
setPlaybackRate: rate => void nativeAudio.setRate(id, rate).catch(ignore)
|
|
91
|
+
}), [id]);
|
|
92
|
+
return {
|
|
93
|
+
player,
|
|
94
|
+
status
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=native-player.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","loadNativeAudio","mod","requireOptionalNativeModule","globalThis","expo","modules","RepzoWidgetAudio","create","play","nativeAudio","addStatusListener","listener","addListener","EventEmitter","hasNativeVoicePlayer","nextPlayerId","ignore","useNativeVoicePlayer","url","id","useMemo","status","setStatus","useState","isLoaded","useEffect","audio","subscription","next","error","undefined","catch","String","remove","release","player","pause","seekTo","seconds","setPlaybackRate","rate","setRate"],"sourceRoot":"../../../src","sources":["audio/native-player.ts"],"mappings":";;;;;;;AASA,IAAAA,MAAA,GAAAC,OAAA;AATA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAcA;;AAYA,SAASC,eAAeA,CAAA,EAA6B;EACnD,IAAIC,GAAQ,GAAG,IAAI;EACnB,IAAI;IACFA,GAAG,GAAGF,OAAO,CAAC,mBAAmB,CAAC,CAACG,2BAA2B,CAAC,kBAAkB,CAAC;EACpF,CAAC,CAAC,MAAM;IACND,GAAG,GAAG,IAAI;EACZ;EACA;EACAA,GAAG,GAAGA,GAAG,IAAKE,UAAU,CAASC,IAAI,EAAEC,OAAO,EAAEC,gBAAgB,IAAI,IAAI;EACxE,OAAOL,GAAG,IAAI,OAAOA,GAAG,CAACM,MAAM,KAAK,UAAU,IAAI,OAAON,GAAG,CAACO,IAAI,KAAK,UAAU,GAAGP,GAAG,GAAG,IAAI;AAC/F;AAEA,MAAMQ,WAAW,GAAGT,eAAe,CAAC,CAAC;;AAErC;AACA,SAASU,iBAAiBA,CAACC,QAA6C,EAA6B;EACnG,IAAI,CAACF,WAAW,EAAE,OAAO,IAAI;EAC7B,IAAI;IACF,IAAI,OAAOA,WAAW,CAACG,WAAW,KAAK,UAAU,EAAE,OAAOH,WAAW,CAACG,WAAW,CAAC,UAAU,EAAED,QAAQ,CAAC;IACvG;IACA,MAAM;MAAEE;IAAa,CAAC,GAAGd,OAAO,CAAC,mBAAmB,CAAC;IACrD,OAAO,IAAIc,YAAY,CAACJ,WAAW,CAAC,CAACG,WAAW,CAAC,UAAU,EAAED,QAAQ,CAAC;EACxE,CAAC,CAAC,MAAM;IACN,OAAO,IAAI;EACb;AACF;;AAEA;AACO,SAASG,oBAAoBA,CAAA,EAAY;EAC9C,OAAOL,WAAW,IAAI,IAAI;AAC5B;AAEA,IAAIM,YAAY,GAAG,CAAC;AAEpB,MAAMC,MAAM,GAAGA,CAAA,KAAM,CAAC,CAAC;;AAEvB;AACA;AACA;AACA;AACA;AACO,SAASC,oBAAoBA,CAACC,GAAW,EAAE;EAChD,MAAMC,EAAE,GAAG,IAAAC,cAAO,EAAC,MAAM,eAAgBL,YAAY,IAAI,CAAC,EAAG,EAAE,EAAE,CAAC;EAClE,MAAM,CAACM,MAAM,EAAEC,SAAS,CAAC,GAAG,IAAAC,eAAQ,EAA6B;IAAEC,QAAQ,EAAE;EAAM,CAAC,CAAC;EAErF,IAAAC,gBAAS,EAAC,MAAM;IACd,MAAMC,KAAK,GAAGjB,WAAY;IAC1B,MAAMkB,YAAY,GAAGjB,iBAAiB,CAAEkB,IAAI,IAAK;MAC/C,IAAIA,IAAI,EAAET,EAAE,KAAKA,EAAE,EAAEG,SAAS,CAACM,IAAI,CAAC;IACtC,CAAC,CAAC;IACF,IAAI,CAACD,YAAY,EAAE;MACjBL,SAAS,CAAC;QAAEE,QAAQ,EAAE,KAAK;QAAEK,KAAK,EAAE;MAAoC,CAAC,CAAC;MAC1E,OAAOC,SAAS;IAClB;IACAJ,KAAK,CAACnB,MAAM,CAACY,EAAE,EAAED,GAAG,CAAC,CAACa,KAAK,CAAEF,KAAc,IAAKP,SAAS,CAAC;MAAEE,QAAQ,EAAE,KAAK;MAAEK,KAAK,EAAEG,MAAM,CAACH,KAAK;IAAE,CAAC,CAAC,CAAC;IACrG,OAAO,MAAM;MACXF,YAAY,CAACM,MAAM,CAAC,CAAC;MACrBP,KAAK,CAACQ,OAAO,CAACf,EAAE,CAAC,CAACY,KAAK,CAACf,MAAM,CAAC;IACjC,CAAC;EACH,CAAC,EAAE,CAACG,EAAE,EAAED,GAAG,CAAC,CAAC;EAEb,MAAMiB,MAAM,GAAG,IAAAf,cAAO,EACpB,OAAO;IACLZ,IAAI,EAAEA,CAAA,KAAM,KAAKC,WAAW,CAAED,IAAI,CAACW,EAAE,CAAC,CAACY,KAAK,CAACf,MAAM,CAAC;IACpDoB,KAAK,EAAEA,CAAA,KAAM,KAAK3B,WAAW,CAAE2B,KAAK,CAACjB,EAAE,CAAC,CAACY,KAAK,CAACf,MAAM,CAAC;IACtDqB,MAAM,EAAGC,OAAe,IAAK7B,WAAW,CAAE4B,MAAM,CAAClB,EAAE,EAAEmB,OAAO,CAAC,CAACP,KAAK,CAACf,MAAM,CAAC;IAC3EuB,eAAe,EAAGC,IAAY,IAAK,KAAK/B,WAAW,CAAEgC,OAAO,CAACtB,EAAE,EAAEqB,IAAI,CAAC,CAACT,KAAK,CAACf,MAAM;EACrF,CAAC,CAAC,EACF,CAACG,EAAE,CACL,CAAC;EAED,OAAO;IAAEgB,MAAM;IAAEd;EAAO,CAAC;AAC3B","ignoreList":[]}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.audioPlayerOptions = audioPlayerOptions;
|
|
7
|
+
exports.claimVoicePlayback = claimVoicePlayback;
|
|
8
|
+
exports.formatVoiceClock = formatVoiceClock;
|
|
9
|
+
exports.isPlayableAudio = isPlayableAudio;
|
|
10
|
+
exports.useVoicePlayer = void 0;
|
|
11
|
+
exports.voicePlaybackBackend = voicePlaybackBackend;
|
|
12
|
+
exports.voiceWaveformLevels = voiceWaveformLevels;
|
|
13
|
+
var _nativePlayer = require("./native-player.js");
|
|
14
|
+
/**
|
|
15
|
+
* Voice notes (and any audio file) play inside the chat with the SDK's own
|
|
16
|
+
* native player (`src/audio/native-player.ts`). Where that isn't built into
|
|
17
|
+
* the app (Expo Go, bare React Native, an app built with SDK 1.2.2 or older),
|
|
18
|
+
* they play with the host app's `expo-audio` if it has one; otherwise they
|
|
19
|
+
* stay a file row that opens in the browser.
|
|
20
|
+
*
|
|
21
|
+
* Resolved once at module load, like the attachment pickers: each `require` is
|
|
22
|
+
* static so Metro can see it, and with `allowOptionalDependencies` (see
|
|
23
|
+
* metro.js) an uninstalled one bundles as a require that throws, which the
|
|
24
|
+
* `try` around it catches.
|
|
25
|
+
*/
|
|
26
|
+
|
|
27
|
+
let expoAudio = null;
|
|
28
|
+
try {
|
|
29
|
+
const mod = require('expo-audio');
|
|
30
|
+
if (typeof mod?.useAudioPlayer === 'function' && typeof mod?.useAudioPlayerStatus === 'function') {
|
|
31
|
+
expoAudio = mod;
|
|
32
|
+
}
|
|
33
|
+
} catch {
|
|
34
|
+
expoAudio = null;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
// expo-audio 1.x (Expo SDK 54+) takes `{ updateInterval }`; 0.x (SDK 53) took
|
|
38
|
+
// the interval itself. Passing the wrong shape would break the player.
|
|
39
|
+
let takesOptionsObject = true;
|
|
40
|
+
try {
|
|
41
|
+
const version = require('expo-audio/package.json')?.version;
|
|
42
|
+
if (typeof version === 'string') takesOptionsObject = Number(version.split('.')[0]) >= 1;
|
|
43
|
+
} catch {
|
|
44
|
+
takesOptionsObject = true;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/** How often the playhead moves while a note plays. */
|
|
48
|
+
const UPDATE_INTERVAL_MS = 100;
|
|
49
|
+
|
|
50
|
+
/** Which player voice notes use in this app, or null when audio stays a file row. */
|
|
51
|
+
const backend = (0, _nativePlayer.hasNativeVoicePlayer)() ? 'native' : expoAudio ? 'expo-audio' : null;
|
|
52
|
+
function voicePlaybackBackend() {
|
|
53
|
+
return backend;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/** The second argument to `useAudioPlayer` for the installed expo-audio. */
|
|
57
|
+
function audioPlayerOptions() {
|
|
58
|
+
return takesOptionsObject ? {
|
|
59
|
+
updateInterval: UPDATE_INTERVAL_MS
|
|
60
|
+
} : UPDATE_INTERVAL_MS;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/** expo-audio's player for a note, on the same terms as the native one. */
|
|
64
|
+
function useExpoAudioPlayer(url) {
|
|
65
|
+
const player = expoAudio.useAudioPlayer({
|
|
66
|
+
uri: url
|
|
67
|
+
}, audioPlayerOptions());
|
|
68
|
+
const status = expoAudio.useAudioPlayerStatus(player);
|
|
69
|
+
return {
|
|
70
|
+
player,
|
|
71
|
+
status
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* The player for one note: `play()`, `pause()`, `seekTo(seconds)`,
|
|
77
|
+
* `setPlaybackRate(rate)`, and its status (`currentTime`, `duration`,
|
|
78
|
+
* `playing`, `isLoaded`, `isBuffering`, `didJustFinish`, `error`). Only use it
|
|
79
|
+
* when `voicePlaybackBackend()` isn't null. Picked once, since the backend
|
|
80
|
+
* never changes while the app runs.
|
|
81
|
+
*/
|
|
82
|
+
const useVoicePlayer = exports.useVoicePlayer = backend === 'native' ? _nativePlayer.useNativeVoicePlayer : useExpoAudioPlayer;
|
|
83
|
+
|
|
84
|
+
/** Audio the chat can play in place: an `audio/*` attachment with a web address. */
|
|
85
|
+
function isPlayableAudio(contentType, url) {
|
|
86
|
+
return backend != null && (contentType ?? '').toLowerCase().startsWith('audio/') && /^https?:\/\//i.test(url ?? '');
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
// ─── One note at a time ─────────────────────────────────────────────────────
|
|
90
|
+
// Each bubble owns its own player, so starting a second note would otherwise
|
|
91
|
+
// talk over the first.
|
|
92
|
+
|
|
93
|
+
let playing = null;
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Called as a note starts: pauses whichever note was playing and returns a
|
|
97
|
+
* release for this one's claim (call it when the note goes away).
|
|
98
|
+
*/
|
|
99
|
+
function claimVoicePlayback(pause) {
|
|
100
|
+
const claim = {
|
|
101
|
+
pause
|
|
102
|
+
};
|
|
103
|
+
const previous = playing;
|
|
104
|
+
playing = claim;
|
|
105
|
+
if (previous) {
|
|
106
|
+
try {
|
|
107
|
+
previous.pause();
|
|
108
|
+
} catch {
|
|
109
|
+
// Its player was released with its bubble: nothing is playing.
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
return () => {
|
|
113
|
+
if (playing === claim) playing = null;
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
// ─── Waveform ───────────────────────────────────────────────────────────────
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* Bar heights (0.15–1) for a note's waveform. Workstation doesn't send the
|
|
121
|
+
* recorded loudness to visitors, so the pattern is made up — seeded from the
|
|
122
|
+
* attachment, so the same note always draws the same bars.
|
|
123
|
+
*/
|
|
124
|
+
function voiceWaveformLevels(seed, count) {
|
|
125
|
+
let h = 2166136261;
|
|
126
|
+
for (let i = 0; i < seed.length; i += 1) {
|
|
127
|
+
h ^= seed.charCodeAt(i);
|
|
128
|
+
h = Math.imul(h, 16777619);
|
|
129
|
+
}
|
|
130
|
+
const levels = [];
|
|
131
|
+
for (let i = 0; i < count; i += 1) {
|
|
132
|
+
h ^= h << 13;
|
|
133
|
+
h ^= h >>> 17;
|
|
134
|
+
h ^= h << 5;
|
|
135
|
+
const n = (h >>> 0) % 1000 / 1000;
|
|
136
|
+
levels.push(0.15 + Math.pow(n, 0.85) * 0.85);
|
|
137
|
+
}
|
|
138
|
+
return levels;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
/** `m:ss` for a playback position or length. */
|
|
142
|
+
function formatVoiceClock(seconds) {
|
|
143
|
+
const s = Math.max(0, Math.floor(Number.isFinite(seconds) ? seconds : 0));
|
|
144
|
+
return `${Math.floor(s / 60)}:${(s % 60).toString().padStart(2, '0')}`;
|
|
145
|
+
}
|
|
146
|
+
//# sourceMappingURL=voice.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_nativePlayer","require","expoAudio","mod","useAudioPlayer","useAudioPlayerStatus","takesOptionsObject","version","Number","split","UPDATE_INTERVAL_MS","backend","hasNativeVoicePlayer","voicePlaybackBackend","audioPlayerOptions","updateInterval","useExpoAudioPlayer","url","player","uri","status","useVoicePlayer","exports","useNativeVoicePlayer","isPlayableAudio","contentType","toLowerCase","startsWith","test","playing","claimVoicePlayback","pause","claim","previous","voiceWaveformLevels","seed","count","h","i","length","charCodeAt","Math","imul","levels","n","push","pow","formatVoiceClock","seconds","s","max","floor","isFinite","toString","padStart"],"sourceRoot":"../../../src","sources":["audio/voice.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/commonjs/i18n.js
CHANGED
|
@@ -63,6 +63,12 @@ const DEFAULT_LABELS = exports.DEFAULT_LABELS = {
|
|
|
63
63
|
attachmentTooMany: 'You can attach up to {count} files',
|
|
64
64
|
attachmentsTooLargeTogether: 'Attachments are too large to send together — send some in another message',
|
|
65
65
|
attachmentFailed: "Couldn't attach that file",
|
|
66
|
+
// A file in a message; tapping opens it. `{name}` is the file name.
|
|
67
|
+
openAttachment: 'Open {name}',
|
|
68
|
+
// Voice notes played in the chat (with expo-audio).
|
|
69
|
+
voicePlay: 'Play voice message',
|
|
70
|
+
voicePause: 'Pause voice message',
|
|
71
|
+
voiceSpeed: 'Playback speed',
|
|
66
72
|
// Full-screen image viewer.
|
|
67
73
|
imageLoadFailed: "Couldn't load this image",
|
|
68
74
|
openImageExternally: 'Open image',
|
package/lib/commonjs/i18n.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_locales","require","createTranslator","config","locale","defaultLocale","active","baseLanguage","fallbackLocale","key","fallback","translations","BUNDLED_TRANSLATIONS","WELCOME_TEXT_KEYS","localizeWelcomeText","translate","localized","forEach","DEFAULT_LABELS","exports","back","loading","loadEarlier","emptyConversation","messagePlaceholder","attachFile","attachPhotoLibrary","attachTakePhoto","attachChooseFile","removeAttachment","attachmentTooLarge","attachmentTooMany","attachmentsTooLargeTogether","attachmentFailed","imageLoadFailed","openImageExternally","cameraPermissionDenied","cancel","failedToSend","thinking","messages","noMessages","historyHidden","startBelow","preChatTitle","preChatSubtitle","preChatSkip","preChatSubmit","viewPreviousConversations","homeRecentTitle","homeViewAllCount","homeNoConversations","homeStatusOnline","homeStatusAway","unreadBadge","team","home","close","retry","connectionError","connecting","chatUnavailable","identityVerificationError","widgetCrashed","timeJustNow","timeMinutes","timeHours","timeDays","timeMonths","timeYears","today","yesterday","conversationUpdated","messageDeleted","messageSent","messageSeen","waitingForTeammate","joinedConversation","ratingQuestion","ratingReasonPrompt","ratingCommentPlaceholder","ratingSubmit","ratingDone","ratingThanks","ratingLocked","ratingExpired","ratingFailed","rating1","rating2","rating3","rating4","rating5","procedureSend","procedureSent","procedureShareDetails","procedureDetailsSent","procedureHide","procedureFieldCount","procedureFieldCountOne","procedureTitle","procedureEmailPlaceholder","procedurePhonePlaceholder","fieldRequired","invalidEmail","working","outboundTitle","outboundCta","dismiss","notificationReplyFrom","notificationNewReply","notificationAttachment","notificationOpenHint","postFrom","postNewMessage","postOpenHint","postClose","postMinimize","postReplyPlaceholder","postSend","postSent","postReplyFailed","postReactions","postThanks","postConversation","postContinueChat","blockService","blockProduct","blockChooseTime","blockProfessional","blockPriceOffer","blockSubtotal","blockDiscount","blockTax","blockShipping","blockTotal","blockMinutes","blockSave","blockAnyAvailable","blockWithProvider","blockBookTime","blockValidUntil","launcherOpen","launcherClose","formatLabel","template","values","replace","match","String","buildLabels","labels","Object","keys"],"sourceRoot":"../../src","sources":["i18n.ts"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["_locales","require","createTranslator","config","locale","defaultLocale","active","baseLanguage","fallbackLocale","key","fallback","translations","BUNDLED_TRANSLATIONS","WELCOME_TEXT_KEYS","localizeWelcomeText","translate","localized","forEach","DEFAULT_LABELS","exports","back","loading","loadEarlier","emptyConversation","messagePlaceholder","attachFile","attachPhotoLibrary","attachTakePhoto","attachChooseFile","removeAttachment","attachmentTooLarge","attachmentTooMany","attachmentsTooLargeTogether","attachmentFailed","openAttachment","voicePlay","voicePause","voiceSpeed","imageLoadFailed","openImageExternally","cameraPermissionDenied","cancel","failedToSend","thinking","messages","noMessages","historyHidden","startBelow","preChatTitle","preChatSubtitle","preChatSkip","preChatSubmit","viewPreviousConversations","homeRecentTitle","homeViewAllCount","homeNoConversations","homeStatusOnline","homeStatusAway","unreadBadge","team","home","close","retry","connectionError","connecting","chatUnavailable","identityVerificationError","widgetCrashed","timeJustNow","timeMinutes","timeHours","timeDays","timeMonths","timeYears","today","yesterday","conversationUpdated","messageDeleted","messageSent","messageSeen","waitingForTeammate","joinedConversation","ratingQuestion","ratingReasonPrompt","ratingCommentPlaceholder","ratingSubmit","ratingDone","ratingThanks","ratingLocked","ratingExpired","ratingFailed","rating1","rating2","rating3","rating4","rating5","procedureSend","procedureSent","procedureShareDetails","procedureDetailsSent","procedureHide","procedureFieldCount","procedureFieldCountOne","procedureTitle","procedureEmailPlaceholder","procedurePhonePlaceholder","fieldRequired","invalidEmail","working","outboundTitle","outboundCta","dismiss","notificationReplyFrom","notificationNewReply","notificationAttachment","notificationOpenHint","postFrom","postNewMessage","postOpenHint","postClose","postMinimize","postReplyPlaceholder","postSend","postSent","postReplyFailed","postReactions","postThanks","postConversation","postContinueChat","blockService","blockProduct","blockChooseTime","blockProfessional","blockPriceOffer","blockSubtotal","blockDiscount","blockTax","blockShipping","blockTotal","blockMinutes","blockSave","blockAnyAvailable","blockWithProvider","blockBookTime","blockValidUntil","launcherOpen","launcherClose","formatLabel","template","values","replace","match","String","buildLabels","labels","Object","keys"],"sourceRoot":"../../src","sources":["i18n.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/commonjs/locales.js
CHANGED
|
@@ -32,6 +32,10 @@ const ar = {
|
|
|
32
32
|
attachmentTooMany: 'يمكنك إرفاق {count} ملفات كحد أقصى',
|
|
33
33
|
attachmentsTooLargeTogether: 'المرفقات كبيرة جدًا لإرسالها معًا — أرسل بعضها في رسالة أخرى',
|
|
34
34
|
attachmentFailed: 'تعذر إرفاق هذا الملف',
|
|
35
|
+
openAttachment: 'فتح {name}',
|
|
36
|
+
voicePlay: 'تشغيل الرسالة الصوتية',
|
|
37
|
+
voicePause: 'إيقاف الرسالة الصوتية مؤقتًا',
|
|
38
|
+
voiceSpeed: 'سرعة التشغيل',
|
|
35
39
|
imageLoadFailed: 'تعذر تحميل هذه الصورة',
|
|
36
40
|
openImageExternally: 'فتح الصورة',
|
|
37
41
|
cameraPermissionDenied: 'اسمح بالوصول إلى الكاميرا من الإعدادات لالتقاط صورة',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ar","back","loading","loadEarlier","emptyConversation","messagePlaceholder","attachFile","attachPhotoLibrary","attachTakePhoto","attachChooseFile","removeAttachment","attachmentTooLarge","attachmentTooMany","attachmentsTooLargeTogether","attachmentFailed","imageLoadFailed","openImageExternally","cameraPermissionDenied","cancel","failedToSend","thinking","messages","noMessages","historyHidden","startBelow","preChatTitle","preChatSubtitle","preChatSkip","preChatSubmit","viewPreviousConversations","homeRecentTitle","homeViewAllCount","homeNoConversations","homeStatusOnline","homeStatusAway","unreadBadge","team","home","close","retry","connectionError","connecting","chatUnavailable","identityVerificationError","widgetCrashed","timeJustNow","timeMinutes","timeHours","timeDays","timeMonths","timeYears","today","yesterday","conversationUpdated","messageDeleted","messageSent","messageSeen","waitingForTeammate","joinedConversation","ratingQuestion","ratingReasonPrompt","ratingCommentPlaceholder","ratingSubmit","ratingDone","ratingThanks","ratingLocked","ratingExpired","ratingFailed","rating1","rating2","rating3","rating4","rating5","procedureSend","procedureSent","procedureShareDetails","procedureDetailsSent","procedureHide","procedureFieldCount","procedureFieldCountOne","procedureTitle","fieldRequired","invalidEmail","working","outboundTitle","outboundCta","dismiss","notificationReplyFrom","notificationNewReply","notificationAttachment","notificationOpenHint","postFrom","postNewMessage","postOpenHint","postClose","postMinimize","postReplyPlaceholder","postSend","postSent","postReplyFailed","postReactions","postThanks","postConversation","postContinueChat","blockService","blockProduct","blockChooseTime","blockProfessional","blockPriceOffer","blockSubtotal","blockDiscount","blockTax","blockShipping","blockTotal","blockMinutes","blockSave","blockAnyAvailable","blockWithProvider","blockBookTime","blockValidUntil","launcherOpen","launcherClose","BUNDLED_TRANSLATIONS","exports","baseLanguage","locale","split","toLowerCase"],"sourceRoot":"../../src","sources":["locales.ts"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAMA,MAAMA,EAAY,GAAG;EACnBC,IAAI,EAAE,MAAM;EACZC,OAAO,EAAE,iBAAiB;EAC1BC,WAAW,EAAE,uBAAuB;EACpCC,iBAAiB,EAAE,0BAA0B;EAC7CC,kBAAkB,EAAE,eAAe;EACnCC,UAAU,EAAE,WAAW;EACvBC,kBAAkB,EAAE,aAAa;EACjCC,eAAe,EAAE,aAAa;EAC9BC,gBAAgB,EAAE,KAAK;EACvBC,gBAAgB,EAAE,cAAc;EAChCC,kBAAkB,EAAE,qCAAqC;EACzDC,iBAAiB,EAAE,oCAAoC;EACvDC,2BAA2B,EAAE,8DAA8D;EAC3FC,gBAAgB,EAAE,sBAAsB;EACxCC,eAAe,EAAE,uBAAuB;EACxCC,mBAAmB,EAAE,YAAY;EACjCC,sBAAsB,EAAE,qDAAqD;EAC7EC,MAAM,EAAE,OAAO;EACfC,YAAY,EAAE,cAAc;EAC5BC,QAAQ,EAAE,MAAM;EAChBC,QAAQ,EAAE,SAAS;EACnBC,UAAU,EAAE,mBAAmB;EAC/BC,aAAa,EAAE,oBAAoB;EACnCC,UAAU,EAAE,uBAAuB;EACnCC,YAAY,EAAE,aAAa;EAC3BC,eAAe,EAAE,mDAAmD;EACpEC,WAAW,EAAE,MAAM;EACnBC,aAAa,EAAE,eAAe;EAC9BC,yBAAyB,EAAE,uBAAuB;EAClDC,eAAe,EAAE,QAAQ;EACzBC,gBAAgB,EAAE,oBAAoB;EACtCC,mBAAmB,EAAE,oBAAoB;EACzCC,gBAAgB,EAAE,YAAY;EAC9BC,cAAc,EAAE,gBAAgB;EAChCC,WAAW,EAAE,oBAAoB;EACjCC,IAAI,EAAE,QAAQ;EACdC,IAAI,EAAE,UAAU;EAChBC,KAAK,EAAE,OAAO;EACdC,KAAK,EAAE,gBAAgB;EACvBC,eAAe,EAAE,8CAA8C;EAC/DC,UAAU,EAAE,qBAAqB;EACjCC,eAAe,EAAE,4BAA4B;EAC7CC,yBAAyB,EAAE,mDAAmD;EAC9EC,aAAa,EAAE,aAAa;EAC5B;EACAC,WAAW,EAAE,MAAM;EACnBC,WAAW,EAAE,WAAW;EACxBC,SAAS,EAAE,WAAW;EACtBC,QAAQ,EAAE,WAAW;EACrBC,UAAU,EAAE,aAAa;EACzBC,SAAS,EAAE,aAAa;EACxBC,KAAK,EAAE,OAAO;EACdC,SAAS,EAAE,KAAK;EAChBC,mBAAmB,EAAE,mBAAmB;EACxCC,cAAc,EAAE,oBAAoB;EACpCC,WAAW,EAAE,YAAY;EACzBC,WAAW,EAAE,cAAc;EAC3BC,kBAAkB,EAAE,0BAA0B;EAC9CC,kBAAkB,EAAE,mBAAmB;EACvCC,cAAc,EAAE,yBAAyB;EACzCC,kBAAkB,EAAE,uBAAuB;EAC3CC,wBAAwB,EAAE,yBAAyB;EACnDC,YAAY,EAAE,OAAO;EACrBC,UAAU,EAAE,IAAI;EAChBC,YAAY,EAAE,qBAAqB;EACnCC,YAAY,EAAE,mCAAmC;EACjDC,aAAa,EAAE,oCAAoC;EACnDC,YAAY,EAAE,kCAAkC;EAChDC,OAAO,EAAE,UAAU;EACnBC,OAAO,EAAE,KAAK;EACdC,OAAO,EAAE,OAAO;EAChBC,OAAO,EAAE,KAAK;EACdC,OAAO,EAAE,OAAO;EAChBC,aAAa,EAAE,gBAAgB;EAC/BC,aAAa,EAAE,YAAY;EAC3BC,qBAAqB,EAAE,iBAAiB;EACxCC,oBAAoB,EAAE,mBAAmB;EACzCC,aAAa,EAAE,OAAO;EACtB;EACAC,mBAAmB,EAAE,iBAAiB;EACtCC,sBAAsB,EAAE,UAAU;EAClCC,cAAc,EAAE,UAAU;EAC1BC,aAAa,EAAE,eAAe;EAC9BC,YAAY,EAAE,+BAA+B;EAC7CC,OAAO,EAAE,eAAe;EACxBC,aAAa,EAAE,YAAY;EAC3BC,WAAW,EAAE,aAAa;EAC1BC,OAAO,EAAE,OAAO;EAChBC,qBAAqB,EAAE,cAAc;EACrCC,oBAAoB,EAAE,SAAS;EAC/BC,sBAAsB,EAAE,aAAa;EACrCC,oBAAoB,EAAE,eAAe;EACrCC,QAAQ,EAAE,uBAAuB;EACjCC,cAAc,EAAE,aAAa;EAC7BC,YAAY,EAAE,cAAc;EAC5BC,SAAS,EAAE,OAAO;EAClBC,YAAY,EAAE,OAAO;EACrBC,oBAAoB,EAAE,YAAY;EAClCC,QAAQ,EAAE,OAAO;EACjBC,QAAQ,EAAE,YAAY;EACtBC,eAAe,EAAE,iCAAiC;EAClDC,aAAa,EAAE,WAAW;EAC1BC,UAAU,EAAE,qBAAqB;EACjCC,gBAAgB,EAAE,SAAS;EAC3BC,gBAAgB,EAAE,kBAAkB;EACpCC,YAAY,EAAE,MAAM;EACpBC,YAAY,EAAE,MAAM;EACpBC,eAAe,EAAE,YAAY;EAC7BC,iBAAiB,EAAE,QAAQ;EAC3BC,eAAe,EAAE,SAAS;EAC1BC,aAAa,EAAE,gBAAgB;EAC/BC,aAAa,EAAE,OAAO;EACtBC,QAAQ,EAAE,SAAS;EACnBC,aAAa,EAAE,OAAO;EACtBC,UAAU,EAAE,UAAU;EACtBC,YAAY,EAAE,eAAe;EAC7BC,SAAS,EAAE,KAAK;EAChBC,iBAAiB,EAAE,cAAc;EACjCC,iBAAiB,EAAE,WAAW;EAC9BC,aAAa,EAAE,iBAAiB;EAChCC,eAAe,EAAE,iBAAiB;EAClCC,YAAY,EAAE,cAAc;EAC5BC,aAAa,EAAE;AACjB,CAAC;AAEM,MAAMC,oBAA8C,GAAAC,OAAA,CAAAD,oBAAA,GAAG;
|
|
1
|
+
{"version":3,"names":["ar","back","loading","loadEarlier","emptyConversation","messagePlaceholder","attachFile","attachPhotoLibrary","attachTakePhoto","attachChooseFile","removeAttachment","attachmentTooLarge","attachmentTooMany","attachmentsTooLargeTogether","attachmentFailed","openAttachment","voicePlay","voicePause","voiceSpeed","imageLoadFailed","openImageExternally","cameraPermissionDenied","cancel","failedToSend","thinking","messages","noMessages","historyHidden","startBelow","preChatTitle","preChatSubtitle","preChatSkip","preChatSubmit","viewPreviousConversations","homeRecentTitle","homeViewAllCount","homeNoConversations","homeStatusOnline","homeStatusAway","unreadBadge","team","home","close","retry","connectionError","connecting","chatUnavailable","identityVerificationError","widgetCrashed","timeJustNow","timeMinutes","timeHours","timeDays","timeMonths","timeYears","today","yesterday","conversationUpdated","messageDeleted","messageSent","messageSeen","waitingForTeammate","joinedConversation","ratingQuestion","ratingReasonPrompt","ratingCommentPlaceholder","ratingSubmit","ratingDone","ratingThanks","ratingLocked","ratingExpired","ratingFailed","rating1","rating2","rating3","rating4","rating5","procedureSend","procedureSent","procedureShareDetails","procedureDetailsSent","procedureHide","procedureFieldCount","procedureFieldCountOne","procedureTitle","fieldRequired","invalidEmail","working","outboundTitle","outboundCta","dismiss","notificationReplyFrom","notificationNewReply","notificationAttachment","notificationOpenHint","postFrom","postNewMessage","postOpenHint","postClose","postMinimize","postReplyPlaceholder","postSend","postSent","postReplyFailed","postReactions","postThanks","postConversation","postContinueChat","blockService","blockProduct","blockChooseTime","blockProfessional","blockPriceOffer","blockSubtotal","blockDiscount","blockTax","blockShipping","blockTotal","blockMinutes","blockSave","blockAnyAvailable","blockWithProvider","blockBookTime","blockValidUntil","launcherOpen","launcherClose","BUNDLED_TRANSLATIONS","exports","baseLanguage","locale","split","toLowerCase"],"sourceRoot":"../../src","sources":["locales.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
exports.shallowEqual = shallowEqual;
|
|
7
|
+
exports.useWidgetSelector = useWidgetSelector;
|
|
6
8
|
exports.useWidgetState = useWidgetState;
|
|
7
9
|
exports.useWidgetStore = useWidgetStore;
|
|
8
10
|
var _react = require("react");
|
|
@@ -20,4 +22,33 @@ function useWidgetState() {
|
|
|
20
22
|
function useWidgetStore() {
|
|
21
23
|
return _controller.controller.store;
|
|
22
24
|
}
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* A slice of the state that re-renders only when the slice changes (by
|
|
28
|
+
* `isEqual`) — for UI that lives on the host's own screens, like the launcher,
|
|
29
|
+
* which shouldn't redraw on every message or typing event. Internal.
|
|
30
|
+
*/
|
|
31
|
+
function useWidgetSelector(select, isEqual) {
|
|
32
|
+
const store = _controller.controller.store;
|
|
33
|
+
const last = (0, _react.useRef)(null);
|
|
34
|
+
const getSnapshot = () => {
|
|
35
|
+
const state = store.getState();
|
|
36
|
+
const previous = last.current;
|
|
37
|
+
if (previous && previous.state === state) return previous.value;
|
|
38
|
+
const value = select(state);
|
|
39
|
+
// Same slice from a newer state: keep the old value so React bails out.
|
|
40
|
+
last.current = {
|
|
41
|
+
state,
|
|
42
|
+
value: previous && isEqual(previous.value, value) ? previous.value : value
|
|
43
|
+
};
|
|
44
|
+
return last.current.value;
|
|
45
|
+
};
|
|
46
|
+
return (0, _react.useSyncExternalStore)(store.subscribe, getSnapshot, getSnapshot);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/** Same keys, same values (by identity). */
|
|
50
|
+
function shallowEqual(previous, next) {
|
|
51
|
+
const keys = Object.keys(previous);
|
|
52
|
+
return keys.length === Object.keys(next).length && keys.every(key => Object.is(previous[key], next[key]));
|
|
53
|
+
}
|
|
23
54
|
//# sourceMappingURL=use-widget-state.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_controller","useWidgetState","store","controller","useSyncExternalStore","subscribe","getState","useWidgetStore"],"sourceRoot":"../../../src","sources":["state/use-widget-state.ts"],"mappings":"
|
|
1
|
+
{"version":3,"names":["_react","require","_controller","useWidgetState","store","controller","useSyncExternalStore","subscribe","getState","useWidgetStore","useWidgetSelector","select","isEqual","last","useRef","getSnapshot","state","previous","current","value","shallowEqual","next","keys","Object","length","every","key","is"],"sourceRoot":"../../../src","sources":["state/use-widget-state.ts"],"mappings":";;;;;;;;;AAMA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,WAAA,GAAAD,OAAA;AARA;AACA;AACA;AACA;AACA;;AAQO,SAASE,cAAcA,CAAA,EAAgB;EAC5C,MAAMC,KAAK,GAAGC,sBAAU,CAACD,KAAK;EAC9B,OAAO,IAAAE,2BAAoB,EAACF,KAAK,CAACG,SAAS,EAAEH,KAAK,CAACI,QAAQ,EAAEJ,KAAK,CAACI,QAAQ,CAAC;AAC9E;AAEO,SAASC,cAAcA,CAAA,EAAgB;EAC5C,OAAOJ,sBAAU,CAACD,KAAK;AACzB;;AAEA;AACA;AACA;AACA;AACA;AACO,SAASM,iBAAiBA,CAC/BC,MAAiC,EACjCC,OAA0C,EACvC;EACH,MAAMR,KAAK,GAAGC,sBAAU,CAACD,KAAK;EAC9B,MAAMS,IAAI,GAAG,IAAAC,aAAM,EAA0C,IAAI,CAAC;EAClE,MAAMC,WAAW,GAAGA,CAAA,KAAM;IACxB,MAAMC,KAAK,GAAGZ,KAAK,CAACI,QAAQ,CAAC,CAAC;IAC9B,MAAMS,QAAQ,GAAGJ,IAAI,CAACK,OAAO;IAC7B,IAAID,QAAQ,IAAIA,QAAQ,CAACD,KAAK,KAAKA,KAAK,EAAE,OAAOC,QAAQ,CAACE,KAAK;IAC/D,MAAMA,KAAK,GAAGR,MAAM,CAACK,KAAK,CAAC;IAC3B;IACAH,IAAI,CAACK,OAAO,GAAG;MAAEF,KAAK;MAAEG,KAAK,EAAEF,QAAQ,IAAIL,OAAO,CAACK,QAAQ,CAACE,KAAK,EAAEA,KAAK,CAAC,GAAGF,QAAQ,CAACE,KAAK,GAAGA;IAAM,CAAC;IACpG,OAAON,IAAI,CAACK,OAAO,CAACC,KAAK;EAC3B,CAAC;EACD,OAAO,IAAAb,2BAAoB,EAACF,KAAK,CAACG,SAAS,EAAEQ,WAAW,EAAEA,WAAW,CAAC;AACxE;;AAEA;AACO,SAASK,YAAYA,CAAoCH,QAAW,EAAEI,IAAO,EAAW;EAC7F,MAAMC,IAAI,GAAGC,MAAM,CAACD,IAAI,CAACL,QAAQ,CAAC;EAClC,OAAOK,IAAI,CAACE,MAAM,KAAKD,MAAM,CAACD,IAAI,CAACD,IAAI,CAAC,CAACG,MAAM,IAAIF,IAAI,CAACG,KAAK,CAAEC,GAAG,IAAKH,MAAM,CAACI,EAAE,CAACV,QAAQ,CAACS,GAAG,CAAC,EAAEL,IAAI,CAACK,GAAG,CAAC,CAAC,CAAC;AAC7G","ignoreList":[]}
|