@ion299/sdk-react-native 0.1.0-beta.4 → 0.1.0-beta.6
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 +24 -0
- package/android/src/main/java/com/chatplatform/sdk/ChatSdkAudioPlayerModule.kt +201 -0
- package/android/src/main/java/com/chatplatform/sdk/ChatSdkPackage.kt +1 -0
- package/ios/ChatSdkAudioPlayer.m +25 -0
- package/ios/ChatSdkAudioPlayer.swift +193 -0
- package/lib/commonjs/audio/audioController.js +145 -0
- package/lib/commonjs/audio/audioController.js.map +1 -0
- package/lib/commonjs/components/AudioMessage.js +198 -0
- package/lib/commonjs/components/AudioMessage.js.map +1 -0
- package/lib/commonjs/components/MessageBubble.js +9 -0
- package/lib/commonjs/components/MessageBubble.js.map +1 -1
- package/lib/commonjs/components/MessageInput.js +9 -13
- package/lib/commonjs/components/MessageInput.js.map +1 -1
- package/lib/commonjs/native/NativeChatSdkAudioPlayer.js +28 -0
- package/lib/commonjs/native/NativeChatSdkAudioPlayer.js.map +1 -0
- package/lib/module/audio/audioController.js +140 -0
- package/lib/module/audio/audioController.js.map +1 -0
- package/lib/module/components/AudioMessage.js +193 -0
- package/lib/module/components/AudioMessage.js.map +1 -0
- package/lib/module/components/MessageBubble.js +9 -0
- package/lib/module/components/MessageBubble.js.map +1 -1
- package/lib/module/components/MessageInput.js +9 -13
- package/lib/module/components/MessageInput.js.map +1 -1
- package/lib/module/native/NativeChatSdkAudioPlayer.js +23 -0
- package/lib/module/native/NativeChatSdkAudioPlayer.js.map +1 -0
- package/lib/typescript/commonjs/audio/audioController.d.ts +25 -0
- package/lib/typescript/commonjs/audio/audioController.d.ts.map +1 -0
- package/lib/typescript/commonjs/components/AudioMessage.d.ts +11 -0
- package/lib/typescript/commonjs/components/AudioMessage.d.ts.map +1 -0
- package/lib/typescript/commonjs/components/MessageBubble.d.ts.map +1 -1
- package/lib/typescript/commonjs/components/MessageInput.d.ts.map +1 -1
- package/lib/typescript/commonjs/native/NativeChatSdkAudioPlayer.d.ts +20 -0
- package/lib/typescript/commonjs/native/NativeChatSdkAudioPlayer.d.ts.map +1 -0
- package/lib/typescript/module/audio/audioController.d.ts +25 -0
- package/lib/typescript/module/audio/audioController.d.ts.map +1 -0
- package/lib/typescript/module/components/AudioMessage.d.ts +11 -0
- package/lib/typescript/module/components/AudioMessage.d.ts.map +1 -0
- package/lib/typescript/module/components/MessageBubble.d.ts.map +1 -1
- package/lib/typescript/module/components/MessageInput.d.ts.map +1 -1
- package/lib/typescript/module/native/NativeChatSdkAudioPlayer.d.ts +20 -0
- package/lib/typescript/module/native/NativeChatSdkAudioPlayer.d.ts.map +1 -0
- package/package.json +2 -4
- package/src/audio/audioController.ts +144 -0
- package/src/components/AudioMessage.tsx +198 -0
- package/src/components/MessageBubble.tsx +6 -0
- package/src/components/MessageInput.tsx +5 -13
- package/src/native/NativeChatSdkAudioPlayer.ts +54 -0
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React, { useEffect, useState } from 'react';
|
|
4
|
+
import { ActivityIndicator, StyleSheet, Text, TouchableOpacity, View } from 'react-native';
|
|
5
|
+
import { audioController } from "../audio/audioController.js";
|
|
6
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
7
|
+
function attachmentKey(attachment) {
|
|
8
|
+
return attachment.id > 0 ? `a${attachment.id}` : `t${attachment.url}`;
|
|
9
|
+
}
|
|
10
|
+
function formatTime(millis) {
|
|
11
|
+
if (!Number.isFinite(millis) || millis <= 0) return '0:00';
|
|
12
|
+
const totalSeconds = Math.floor(millis / 1000);
|
|
13
|
+
const minutes = Math.floor(totalSeconds / 60);
|
|
14
|
+
const seconds = totalSeconds % 60;
|
|
15
|
+
return `${minutes}:${seconds.toString().padStart(2, '0')}`;
|
|
16
|
+
}
|
|
17
|
+
export function AudioMessage({
|
|
18
|
+
attachment,
|
|
19
|
+
isOutbound,
|
|
20
|
+
theme
|
|
21
|
+
}) {
|
|
22
|
+
const key = attachmentKey(attachment);
|
|
23
|
+
const [pb, setPb] = useState(() => audioController.getState(key));
|
|
24
|
+
const [trackWidth, setTrackWidth] = useState(0);
|
|
25
|
+
useEffect(() => audioController.subscribe(key, setPb), [key]);
|
|
26
|
+
const isPlaying = pb.state === 'playing';
|
|
27
|
+
const isLoading = pb.state === 'loading';
|
|
28
|
+
const isError = pb.state === 'error';
|
|
29
|
+
const duration = pb.durationMillis;
|
|
30
|
+
const position = pb.positionMillis;
|
|
31
|
+
const progress = duration > 0 ? Math.min(1, position / duration) : 0;
|
|
32
|
+
const accent = isOutbound ? '#ffffff' : theme.primaryColor;
|
|
33
|
+
const trackBg = isOutbound ? 'rgba(255,255,255,0.30)' : 'rgba(0,0,0,0.12)';
|
|
34
|
+
const timeColor = isOutbound ? 'rgba(255,255,255,0.75)' : theme.systemText;
|
|
35
|
+
const iconColor = isOutbound ? theme.primaryColor : '#ffffff';
|
|
36
|
+
const onToggle = () => {
|
|
37
|
+
if (isPlaying) {
|
|
38
|
+
void audioController.pause(key);
|
|
39
|
+
} else {
|
|
40
|
+
void audioController.play(key, attachment.url);
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
const onSeek = e => {
|
|
44
|
+
if (duration <= 0 || trackWidth <= 0) return;
|
|
45
|
+
const ratio = Math.max(0, Math.min(1, e.nativeEvent.locationX / trackWidth));
|
|
46
|
+
void audioController.seek(key, ratio * duration);
|
|
47
|
+
};
|
|
48
|
+
const onTrackLayout = e => {
|
|
49
|
+
setTrackWidth(e.nativeEvent.layout.width);
|
|
50
|
+
};
|
|
51
|
+
const timeLabel = duration > 0 ? `${formatTime(position)} / ${formatTime(duration)}` : isError ? 'Не удалось воспроизвести' : formatTime(position);
|
|
52
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
53
|
+
style: styles.root,
|
|
54
|
+
children: [/*#__PURE__*/_jsx(TouchableOpacity, {
|
|
55
|
+
style: [styles.button, {
|
|
56
|
+
backgroundColor: accent
|
|
57
|
+
}],
|
|
58
|
+
onPress: onToggle,
|
|
59
|
+
activeOpacity: 0.8,
|
|
60
|
+
disabled: isLoading,
|
|
61
|
+
children: isLoading ? /*#__PURE__*/_jsx(ActivityIndicator, {
|
|
62
|
+
size: "small",
|
|
63
|
+
color: iconColor
|
|
64
|
+
}) : isPlaying ? /*#__PURE__*/_jsx(PauseIcon, {
|
|
65
|
+
color: iconColor
|
|
66
|
+
}) : /*#__PURE__*/_jsx(PlayIcon, {
|
|
67
|
+
color: iconColor
|
|
68
|
+
})
|
|
69
|
+
}), /*#__PURE__*/_jsxs(View, {
|
|
70
|
+
style: styles.body,
|
|
71
|
+
children: [/*#__PURE__*/_jsx(TouchableOpacity, {
|
|
72
|
+
activeOpacity: 1,
|
|
73
|
+
onPress: onSeek,
|
|
74
|
+
onLayout: onTrackLayout,
|
|
75
|
+
style: styles.trackWrap,
|
|
76
|
+
children: /*#__PURE__*/_jsxs(View, {
|
|
77
|
+
style: [styles.track, {
|
|
78
|
+
backgroundColor: trackBg
|
|
79
|
+
}],
|
|
80
|
+
children: [/*#__PURE__*/_jsx(View, {
|
|
81
|
+
style: [styles.trackFill, {
|
|
82
|
+
backgroundColor: accent,
|
|
83
|
+
width: `${progress * 100}%`
|
|
84
|
+
}]
|
|
85
|
+
}), /*#__PURE__*/_jsx(View, {
|
|
86
|
+
style: [styles.thumb, {
|
|
87
|
+
backgroundColor: accent,
|
|
88
|
+
left: `${progress * 100}%`
|
|
89
|
+
}]
|
|
90
|
+
})]
|
|
91
|
+
})
|
|
92
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
93
|
+
style: [styles.time, {
|
|
94
|
+
color: timeColor
|
|
95
|
+
}],
|
|
96
|
+
children: timeLabel
|
|
97
|
+
})]
|
|
98
|
+
})]
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
function PlayIcon({
|
|
102
|
+
color
|
|
103
|
+
}) {
|
|
104
|
+
return /*#__PURE__*/_jsx(View, {
|
|
105
|
+
style: [styles.playTriangle, {
|
|
106
|
+
borderLeftColor: color
|
|
107
|
+
}]
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
function PauseIcon({
|
|
111
|
+
color
|
|
112
|
+
}) {
|
|
113
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
114
|
+
style: styles.pauseWrap,
|
|
115
|
+
children: [/*#__PURE__*/_jsx(View, {
|
|
116
|
+
style: [styles.pauseBar, {
|
|
117
|
+
backgroundColor: color
|
|
118
|
+
}]
|
|
119
|
+
}), /*#__PURE__*/_jsx(View, {
|
|
120
|
+
style: [styles.pauseBar, {
|
|
121
|
+
backgroundColor: color
|
|
122
|
+
}]
|
|
123
|
+
})]
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
const BUTTON_SIZE = 40;
|
|
127
|
+
const styles = StyleSheet.create({
|
|
128
|
+
root: {
|
|
129
|
+
flexDirection: 'row',
|
|
130
|
+
alignItems: 'center',
|
|
131
|
+
gap: 10,
|
|
132
|
+
minWidth: 200,
|
|
133
|
+
paddingVertical: 2
|
|
134
|
+
},
|
|
135
|
+
button: {
|
|
136
|
+
width: BUTTON_SIZE,
|
|
137
|
+
height: BUTTON_SIZE,
|
|
138
|
+
borderRadius: BUTTON_SIZE / 2,
|
|
139
|
+
alignItems: 'center',
|
|
140
|
+
justifyContent: 'center',
|
|
141
|
+
flexShrink: 0
|
|
142
|
+
},
|
|
143
|
+
body: {
|
|
144
|
+
flex: 1,
|
|
145
|
+
gap: 4
|
|
146
|
+
},
|
|
147
|
+
trackWrap: {
|
|
148
|
+
paddingVertical: 8,
|
|
149
|
+
justifyContent: 'center'
|
|
150
|
+
},
|
|
151
|
+
track: {
|
|
152
|
+
height: 4,
|
|
153
|
+
borderRadius: 2
|
|
154
|
+
},
|
|
155
|
+
trackFill: {
|
|
156
|
+
height: 4,
|
|
157
|
+
borderRadius: 2
|
|
158
|
+
},
|
|
159
|
+
thumb: {
|
|
160
|
+
position: 'absolute',
|
|
161
|
+
top: -3,
|
|
162
|
+
width: 10,
|
|
163
|
+
height: 10,
|
|
164
|
+
borderRadius: 5,
|
|
165
|
+
marginLeft: -5
|
|
166
|
+
},
|
|
167
|
+
time: {
|
|
168
|
+
fontSize: 11,
|
|
169
|
+
lineHeight: 14
|
|
170
|
+
},
|
|
171
|
+
playTriangle: {
|
|
172
|
+
width: 0,
|
|
173
|
+
height: 0,
|
|
174
|
+
backgroundColor: 'transparent',
|
|
175
|
+
borderStyle: 'solid',
|
|
176
|
+
borderTopWidth: 7,
|
|
177
|
+
borderBottomWidth: 7,
|
|
178
|
+
borderLeftWidth: 12,
|
|
179
|
+
borderTopColor: 'transparent',
|
|
180
|
+
borderBottomColor: 'transparent',
|
|
181
|
+
marginLeft: 3
|
|
182
|
+
},
|
|
183
|
+
pauseWrap: {
|
|
184
|
+
flexDirection: 'row',
|
|
185
|
+
gap: 4
|
|
186
|
+
},
|
|
187
|
+
pauseBar: {
|
|
188
|
+
width: 4,
|
|
189
|
+
height: 14,
|
|
190
|
+
borderRadius: 1
|
|
191
|
+
}
|
|
192
|
+
});
|
|
193
|
+
//# sourceMappingURL=AudioMessage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useEffect","useState","ActivityIndicator","StyleSheet","Text","TouchableOpacity","View","audioController","jsx","_jsx","jsxs","_jsxs","attachmentKey","attachment","id","url","formatTime","millis","Number","isFinite","totalSeconds","Math","floor","minutes","seconds","toString","padStart","AudioMessage","isOutbound","theme","key","pb","setPb","getState","trackWidth","setTrackWidth","subscribe","isPlaying","state","isLoading","isError","duration","durationMillis","position","positionMillis","progress","min","accent","primaryColor","trackBg","timeColor","systemText","iconColor","onToggle","pause","play","onSeek","e","ratio","max","nativeEvent","locationX","seek","onTrackLayout","layout","width","timeLabel","style","styles","root","children","button","backgroundColor","onPress","activeOpacity","disabled","size","color","PauseIcon","PlayIcon","body","onLayout","trackWrap","track","trackFill","thumb","left","time","playTriangle","borderLeftColor","pauseWrap","pauseBar","BUTTON_SIZE","create","flexDirection","alignItems","gap","minWidth","paddingVertical","height","borderRadius","justifyContent","flexShrink","flex","top","marginLeft","fontSize","lineHeight","borderStyle","borderTopWidth","borderBottomWidth","borderLeftWidth","borderTopColor","borderBottomColor"],"sourceRoot":"..\\..\\..\\src","sources":["components/AudioMessage.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import { Dimensions, Image, StyleSheet, Text, TouchableOpacity, View } from 'react-native';
|
|
5
5
|
import { attachmentDisplayName } from "../attachmentUtils.js";
|
|
6
|
+
import { audioController } from "../audio/audioController.js";
|
|
7
|
+
import { AudioMessage } from "./AudioMessage.js";
|
|
6
8
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
7
9
|
export function MessageBubble({
|
|
8
10
|
message,
|
|
@@ -90,6 +92,13 @@ function AttachmentView({
|
|
|
90
92
|
})
|
|
91
93
|
});
|
|
92
94
|
}
|
|
95
|
+
if (attachment.type === 'audio' && audioController.isAvailable) {
|
|
96
|
+
return /*#__PURE__*/_jsx(AudioMessage, {
|
|
97
|
+
attachment: attachment,
|
|
98
|
+
isOutbound: isOutbound,
|
|
99
|
+
theme: theme
|
|
100
|
+
});
|
|
101
|
+
}
|
|
93
102
|
const nameColor = isOutbound ? theme.outboundText : theme.inboundText;
|
|
94
103
|
const sizeColor = isOutbound ? 'rgba(255,255,255,0.65)' : theme.systemText;
|
|
95
104
|
const displayName = attachmentDisplayName(attachment);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Dimensions","Image","StyleSheet","Text","TouchableOpacity","View","attachmentDisplayName","jsx","_jsx","jsxs","_jsxs","MessageBubble","message","theme","onButtonPress","onAttachmentPress","type","style","styles","systemRow","children","systemText","color","text","isOutbound","row","rowRight","rowLeft","bubble","outbound","backgroundColor","outboundBg","inbound","inboundBg","sender","name","senderName","primaryColor","attachments","length","map","att","i","AttachmentView","attachment","onPress","id","undefined","outboundText","inboundText","buttons","btn","BotButton","button","callback_data","serverMessageId","time","formatBytes","bytes","toFixed","disabled","activeOpacity","source","uri","url","image","resizeMode","nameColor","sizeColor","displayName","fileBlock","fileName","numberOfLines","size","fileSize","botButton","borderColor","botButtonText","BUBBLE_MAX_WIDTH","get","width","create","flexDirection","marginVertical","paddingHorizontal","justifyContent","maxWidth","minWidth","borderRadius","paddingTop","paddingBottom","borderBottomRightRadius","borderBottomLeftRadius","fontSize","fontWeight","marginBottom","lineHeight","alignSelf","marginTop","alignItems","textAlign","gap","height","borderWidth","paddingVertical"],"sourceRoot":"..\\..\\..\\src","sources":["components/MessageBubble.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,EAAEC,KAAK,EAAEC,UAAU,EAAEC,IAAI,EAAEC,gBAAgB,EAAEC,IAAI,QAAQ,cAAc;AAC1F,SAASC,qBAAqB,QAAQ,uBAAoB;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;
|
|
1
|
+
{"version":3,"names":["React","Dimensions","Image","StyleSheet","Text","TouchableOpacity","View","attachmentDisplayName","audioController","AudioMessage","jsx","_jsx","jsxs","_jsxs","MessageBubble","message","theme","onButtonPress","onAttachmentPress","type","style","styles","systemRow","children","systemText","color","text","isOutbound","row","rowRight","rowLeft","bubble","outbound","backgroundColor","outboundBg","inbound","inboundBg","sender","name","senderName","primaryColor","attachments","length","map","att","i","AttachmentView","attachment","onPress","id","undefined","outboundText","inboundText","buttons","btn","BotButton","button","callback_data","serverMessageId","time","formatBytes","bytes","toFixed","disabled","activeOpacity","source","uri","url","image","resizeMode","isAvailable","nameColor","sizeColor","displayName","fileBlock","fileName","numberOfLines","size","fileSize","botButton","borderColor","botButtonText","BUBBLE_MAX_WIDTH","get","width","create","flexDirection","marginVertical","paddingHorizontal","justifyContent","maxWidth","minWidth","borderRadius","paddingTop","paddingBottom","borderBottomRightRadius","borderBottomLeftRadius","fontSize","fontWeight","marginBottom","lineHeight","alignSelf","marginTop","alignItems","textAlign","gap","height","borderWidth","paddingVertical"],"sourceRoot":"..\\..\\..\\src","sources":["components/MessageBubble.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
import React, { useRef, useState } from 'react';
|
|
4
4
|
import { ActivityIndicator, Image, Platform, SafeAreaView, ScrollView, StyleSheet, Text, TextInput, TouchableOpacity, View } from 'react-native';
|
|
5
|
-
import Svg, { Path } from 'react-native-svg';
|
|
6
5
|
import { INPUT_BOTTOM_PADDING } from "../safeArea.js";
|
|
7
6
|
import { pickFiles as defaultPickFiles } from "../filePicker.js";
|
|
8
7
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
@@ -106,18 +105,11 @@ export function MessageInput({
|
|
|
106
105
|
children: picking ? /*#__PURE__*/_jsx(ActivityIndicator, {
|
|
107
106
|
color: theme.systemText,
|
|
108
107
|
size: "small"
|
|
109
|
-
}) : /*#__PURE__*/_jsx(
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
stroke: theme.primaryColor,
|
|
115
|
-
strokeWidth: 2,
|
|
116
|
-
strokeLinecap: "round",
|
|
117
|
-
strokeLinejoin: "round",
|
|
118
|
-
children: /*#__PURE__*/_jsx(Path, {
|
|
119
|
-
d: "M10 9 L10 24 C10 28 13 30 16 30 19 30 22 28 22 24 L22 6 C22 3 20 2 18 2 16 2 14 3 14 6 L14 23 C14 24 15 25 16 25 17 25 18 24 18 23 L18 9"
|
|
120
|
-
})
|
|
108
|
+
}) : /*#__PURE__*/_jsx(Text, {
|
|
109
|
+
style: [styles.attachIcon, {
|
|
110
|
+
color: theme.primaryColor
|
|
111
|
+
}],
|
|
112
|
+
children: "+"
|
|
121
113
|
})
|
|
122
114
|
}), /*#__PURE__*/_jsx(View, {
|
|
123
115
|
style: [styles.inputWrap, {
|
|
@@ -240,6 +232,10 @@ const styles = StyleSheet.create({
|
|
|
240
232
|
justifyContent: 'center',
|
|
241
233
|
flexShrink: 0
|
|
242
234
|
},
|
|
235
|
+
attachIcon: {
|
|
236
|
+
fontSize: 26,
|
|
237
|
+
lineHeight: 28
|
|
238
|
+
},
|
|
243
239
|
inputWrap: {
|
|
244
240
|
flex: 1,
|
|
245
241
|
borderWidth: 1,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useRef","useState","ActivityIndicator","Image","Platform","SafeAreaView","ScrollView","StyleSheet","Text","TextInput","TouchableOpacity","View","
|
|
1
|
+
{"version":3,"names":["React","useRef","useState","ActivityIndicator","Image","Platform","SafeAreaView","ScrollView","StyleSheet","Text","TextInput","TouchableOpacity","View","INPUT_BOTTOM_PADDING","pickFiles","defaultPickFiles","jsx","_jsx","jsxs","_jsxs","docIcon","mime","includes","startsWith","MessageInput","theme","isSending","onSend","onPickFiles","strings","text","setText","files","setFiles","picking","setPicking","inputRef","canSend","trim","length","placeholder","inputPlaceholder","picker","handlePickFiles","picked","prev","removeFile","index","filter","_","i","handleSend","trimmed","inputBar","style","styles","container","backgroundColor","background","borderTopColor","inputBorder","paddingBottom","children","horizontal","showsHorizontalScrollIndicator","filesStrip","contentContainerStyle","filesStripContent","map","file","filePreview","type","source","uri","previewImage","previewDoc","inputBg","borderColor","previewDocIcon","previewDocName","color","inputText","numberOfLines","name","removeBtn","onPress","hitSlop","removeBtnText","inputRow","attachBtn","disabled","activeOpacity","systemText","size","attachIcon","primaryColor","inputWrap","ref","input","placeholderTextColor","multiline","maxLength","value","onChangeText","onSubmitEditing","returnKeyType","blurOnSubmit","sendBtn","sendButtonBg","sendIcon","OS","create","borderTopWidth","hairlineWidth","maxHeight","borderBottomWidth","borderBottomColor","paddingHorizontal","paddingVertical","gap","position","width","height","borderRadius","borderWidth","alignItems","justifyContent","padding","fontSize","textAlign","lineHeight","top","right","fontWeight","flexDirection","paddingTop","flexShrink","flex","minHeight"],"sourceRoot":"..\\..\\..\\src","sources":["components/MessageInput.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { NativeEventEmitter, NativeModules, TurboModuleRegistry } from 'react-native';
|
|
4
|
+
const MODULE_NAME = 'ChatSdkAudioPlayer';
|
|
5
|
+
function loadModule() {
|
|
6
|
+
try {
|
|
7
|
+
return TurboModuleRegistry.get(MODULE_NAME);
|
|
8
|
+
} catch {
|
|
9
|
+
return NativeModules[MODULE_NAME] ?? null;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
const moduleRef = loadModule();
|
|
13
|
+
export default moduleRef;
|
|
14
|
+
let emitter = null;
|
|
15
|
+
function getEmitter() {
|
|
16
|
+
if (!moduleRef) return null;
|
|
17
|
+
if (!emitter) emitter = new NativeEventEmitter(moduleRef);
|
|
18
|
+
return emitter;
|
|
19
|
+
}
|
|
20
|
+
export function onAudioState(handler) {
|
|
21
|
+
return getEmitter()?.addListener('ChatSdkAudioState', handler) ?? null;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=NativeChatSdkAudioPlayer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["NativeEventEmitter","NativeModules","TurboModuleRegistry","MODULE_NAME","loadModule","get","moduleRef","emitter","getEmitter","onAudioState","handler","addListener"],"sourceRoot":"..\\..\\..\\src","sources":["native/NativeChatSdkAudioPlayer.ts"],"mappings":";;AAAA,SAASA,kBAAkB,EAAEC,aAAa,EAAEC,mBAAmB,QAAQ,cAAc;AA2BrF,MAAMC,WAAW,GAAG,oBAAoB;AAExC,SAASC,UAAUA,CAAA,EAAgB;EACjC,IAAI;IACF,OAAOF,mBAAmB,CAACG,GAAG,CAAOF,WAAW,CAAC;EACnD,CAAC,CAAC,MAAM;IACN,OAAQF,aAAa,CAACE,WAAW,CAAC,IAAyB,IAAI;EACjE;AACF;AAEA,MAAMG,SAAS,GAAGF,UAAU,CAAC,CAAC;AAE9B,eAAeE,SAAS;AAExB,IAAIC,OAAkC,GAAG,IAAI;AAE7C,SAASC,UAAUA,CAAA,EAA8B;EAC/C,IAAI,CAACF,SAAS,EAAE,OAAO,IAAI;EAC3B,IAAI,CAACC,OAAO,EAAEA,OAAO,GAAG,IAAIP,kBAAkB,CAACM,SAA6B,CAAC;EAC7E,OAAOC,OAAO;AAChB;AAEA,OAAO,SAASE,YAAYA,CAC1BC,OAAyC,EACf;EAC1B,OAAOF,UAAU,CAAC,CAAC,EAAEG,WAAW,CAAC,mBAAmB,EAAED,OAAO,CAAC,IAAI,IAAI;AACxE","ignoreList":[]}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export interface AudioPlaybackState {
|
|
2
|
+
state: 'idle' | 'loading' | 'playing' | 'paused' | 'error';
|
|
3
|
+
positionMillis: number;
|
|
4
|
+
durationMillis: number;
|
|
5
|
+
}
|
|
6
|
+
type Listener = (state: AudioPlaybackState) => void;
|
|
7
|
+
declare class AudioController {
|
|
8
|
+
private listeners;
|
|
9
|
+
private states;
|
|
10
|
+
private activeKey;
|
|
11
|
+
private subscribed;
|
|
12
|
+
get isAvailable(): boolean;
|
|
13
|
+
private ensureSubscribed;
|
|
14
|
+
private handleEvent;
|
|
15
|
+
private setState;
|
|
16
|
+
getState(key: string): AudioPlaybackState;
|
|
17
|
+
subscribe(key: string, listener: Listener): () => void;
|
|
18
|
+
play(key: string, url: string, headers?: Record<string, string>): Promise<void>;
|
|
19
|
+
pause(key: string): Promise<void>;
|
|
20
|
+
seek(key: string, positionMillis: number): Promise<void>;
|
|
21
|
+
stop(key: string): Promise<void>;
|
|
22
|
+
}
|
|
23
|
+
export declare const audioController: AudioController;
|
|
24
|
+
export {};
|
|
25
|
+
//# sourceMappingURL=audioController.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audioController.d.ts","sourceRoot":"","sources":["../../../../src/audio/audioController.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAA;IAC1D,cAAc,EAAE,MAAM,CAAA;IACtB,cAAc,EAAE,MAAM,CAAA;CACvB;AAED,KAAK,QAAQ,GAAG,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAA;AAInD,cAAM,eAAe;IACnB,OAAO,CAAC,SAAS,CAAmC;IACpD,OAAO,CAAC,MAAM,CAAwC;IACtD,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,UAAU,CAAQ;IAE1B,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,WAAW;IAqCnB,OAAO,CAAC,QAAQ;IAKhB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB;IAIzC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,MAAM,IAAI;IAehD,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBnF,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASjC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASxD,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAQvC;AAED,eAAO,MAAM,eAAe,iBAAwB,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ChatAttachment } from '../types';
|
|
3
|
+
import type { ChatTheme } from '../theme';
|
|
4
|
+
interface Props {
|
|
5
|
+
attachment: ChatAttachment;
|
|
6
|
+
isOutbound: boolean;
|
|
7
|
+
theme: ChatTheme;
|
|
8
|
+
}
|
|
9
|
+
export declare function AudioMessage({ attachment, isOutbound, theme }: Props): React.JSX.Element;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=AudioMessage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AudioMessage.d.ts","sourceRoot":"","sources":["../../../../src/components/AudioMessage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAA;AAWlD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAEzC,UAAU,KAAK;IACb,UAAU,EAAE,cAAc,CAAA;IAC1B,UAAU,EAAE,OAAO,CAAA;IACnB,KAAK,EAAE,SAAS,CAAA;CACjB;AAcD,wBAAgB,YAAY,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,KAAK,qBAmFpE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageBubble.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageBubble.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"MessageBubble.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageBubble.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,KAAK,EAAE,cAAc,EAAc,WAAW,EAAE,MAAM,UAAU,CAAA;AACvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAEzC,UAAU,KAAK;IACb,OAAO,EAAE,WAAW,CAAA;IACpB,KAAK,EAAE,SAAS,CAAA;IAChB,aAAa,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,KAAK,IAAI,CAAA;IACvE,iBAAiB,CAAC,EAAE,CAAC,UAAU,EAAE,cAAc,KAAK,IAAI,CAAA;CACzD;AAED,wBAAgB,aAAa,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,EAAE,KAAK,qBAgFxF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageInput.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2B,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"MessageInput.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2B,MAAM,OAAO,CAAA;AAe/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACzC,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAE5D,UAAU,KAAK;IACb,KAAK,EAAE,SAAS,CAAA;IAChB,SAAS,EAAE,OAAO,CAAA;IAClB,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,IAAI,CAAA;IACxD,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,eAAe,EAAE,GAAG,IAAI,CAAC,CAAA;IACrD,OAAO,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,kBAAkB,GAAG,aAAa,CAAC,CAAA;CAChE;AAWD,wBAAgB,YAAY,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,KAAK,qBAuIrF"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { EventSubscription, TurboModule } from 'react-native';
|
|
2
|
+
export type NativeAudioState = 'loading' | 'playing' | 'paused' | 'ended' | 'stopped' | 'error';
|
|
3
|
+
export interface AudioStateEvent {
|
|
4
|
+
key: string;
|
|
5
|
+
positionMillis: number;
|
|
6
|
+
durationMillis: number;
|
|
7
|
+
state: NativeAudioState;
|
|
8
|
+
}
|
|
9
|
+
export interface Spec extends TurboModule {
|
|
10
|
+
play(key: string, url: string, headers: Record<string, string>): Promise<void>;
|
|
11
|
+
pause(key: string): Promise<void>;
|
|
12
|
+
seek(key: string, positionMillis: number): Promise<void>;
|
|
13
|
+
stop(key: string): Promise<void>;
|
|
14
|
+
addListener(eventName: string): void;
|
|
15
|
+
removeListeners(count: number): void;
|
|
16
|
+
}
|
|
17
|
+
declare const moduleRef: Spec | null;
|
|
18
|
+
export default moduleRef;
|
|
19
|
+
export declare function onAudioState(handler: (event: AudioStateEvent) => void): EventSubscription | null;
|
|
20
|
+
//# sourceMappingURL=NativeChatSdkAudioPlayer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NativeChatSdkAudioPlayer.d.ts","sourceRoot":"","sources":["../../../../src/native/NativeChatSdkAudioPlayer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAElE,MAAM,MAAM,gBAAgB,GACxB,SAAS,GACT,SAAS,GACT,QAAQ,GACR,OAAO,GACP,SAAS,GACT,OAAO,CAAA;AAEX,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAA;IACX,cAAc,EAAE,MAAM,CAAA;IACtB,cAAc,EAAE,MAAM,CAAA;IACtB,KAAK,EAAE,gBAAgB,CAAA;CACxB;AAED,MAAM,WAAW,IAAK,SAAQ,WAAW;IACvC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9E,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACjC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACxD,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAChC,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACpC,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CACrC;AAYD,QAAA,MAAM,SAAS,aAAe,CAAA;AAE9B,eAAe,SAAS,CAAA;AAUxB,wBAAgB,YAAY,CAC1B,OAAO,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,GACxC,iBAAiB,GAAG,IAAI,CAE1B"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export interface AudioPlaybackState {
|
|
2
|
+
state: 'idle' | 'loading' | 'playing' | 'paused' | 'error';
|
|
3
|
+
positionMillis: number;
|
|
4
|
+
durationMillis: number;
|
|
5
|
+
}
|
|
6
|
+
type Listener = (state: AudioPlaybackState) => void;
|
|
7
|
+
declare class AudioController {
|
|
8
|
+
private listeners;
|
|
9
|
+
private states;
|
|
10
|
+
private activeKey;
|
|
11
|
+
private subscribed;
|
|
12
|
+
get isAvailable(): boolean;
|
|
13
|
+
private ensureSubscribed;
|
|
14
|
+
private handleEvent;
|
|
15
|
+
private setState;
|
|
16
|
+
getState(key: string): AudioPlaybackState;
|
|
17
|
+
subscribe(key: string, listener: Listener): () => void;
|
|
18
|
+
play(key: string, url: string, headers?: Record<string, string>): Promise<void>;
|
|
19
|
+
pause(key: string): Promise<void>;
|
|
20
|
+
seek(key: string, positionMillis: number): Promise<void>;
|
|
21
|
+
stop(key: string): Promise<void>;
|
|
22
|
+
}
|
|
23
|
+
export declare const audioController: AudioController;
|
|
24
|
+
export {};
|
|
25
|
+
//# sourceMappingURL=audioController.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audioController.d.ts","sourceRoot":"","sources":["../../../../src/audio/audioController.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAA;IAC1D,cAAc,EAAE,MAAM,CAAA;IACtB,cAAc,EAAE,MAAM,CAAA;CACvB;AAED,KAAK,QAAQ,GAAG,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAA;AAInD,cAAM,eAAe;IACnB,OAAO,CAAC,SAAS,CAAmC;IACpD,OAAO,CAAC,MAAM,CAAwC;IACtD,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,UAAU,CAAQ;IAE1B,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,WAAW;IAqCnB,OAAO,CAAC,QAAQ;IAKhB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB;IAIzC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,MAAM,IAAI;IAehD,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBnF,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASjC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASxD,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAQvC;AAED,eAAO,MAAM,eAAe,iBAAwB,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ChatAttachment } from '../types';
|
|
3
|
+
import type { ChatTheme } from '../theme';
|
|
4
|
+
interface Props {
|
|
5
|
+
attachment: ChatAttachment;
|
|
6
|
+
isOutbound: boolean;
|
|
7
|
+
theme: ChatTheme;
|
|
8
|
+
}
|
|
9
|
+
export declare function AudioMessage({ attachment, isOutbound, theme }: Props): React.JSX.Element;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=AudioMessage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AudioMessage.d.ts","sourceRoot":"","sources":["../../../../src/components/AudioMessage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAA;AAWlD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAEzC,UAAU,KAAK;IACb,UAAU,EAAE,cAAc,CAAA;IAC1B,UAAU,EAAE,OAAO,CAAA;IACnB,KAAK,EAAE,SAAS,CAAA;CACjB;AAcD,wBAAgB,YAAY,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,KAAK,qBAmFpE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageBubble.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageBubble.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"MessageBubble.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageBubble.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,KAAK,EAAE,cAAc,EAAc,WAAW,EAAE,MAAM,UAAU,CAAA;AACvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAEzC,UAAU,KAAK;IACb,OAAO,EAAE,WAAW,CAAA;IACpB,KAAK,EAAE,SAAS,CAAA;IAChB,aAAa,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,KAAK,IAAI,CAAA;IACvE,iBAAiB,CAAC,EAAE,CAAC,UAAU,EAAE,cAAc,KAAK,IAAI,CAAA;CACzD;AAED,wBAAgB,aAAa,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,EAAE,KAAK,qBAgFxF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageInput.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2B,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"MessageInput.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2B,MAAM,OAAO,CAAA;AAe/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACzC,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAE5D,UAAU,KAAK;IACb,KAAK,EAAE,SAAS,CAAA;IAChB,SAAS,EAAE,OAAO,CAAA;IAClB,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,IAAI,CAAA;IACxD,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,eAAe,EAAE,GAAG,IAAI,CAAC,CAAA;IACrD,OAAO,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,kBAAkB,GAAG,aAAa,CAAC,CAAA;CAChE;AAWD,wBAAgB,YAAY,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,KAAK,qBAuIrF"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { EventSubscription, TurboModule } from 'react-native';
|
|
2
|
+
export type NativeAudioState = 'loading' | 'playing' | 'paused' | 'ended' | 'stopped' | 'error';
|
|
3
|
+
export interface AudioStateEvent {
|
|
4
|
+
key: string;
|
|
5
|
+
positionMillis: number;
|
|
6
|
+
durationMillis: number;
|
|
7
|
+
state: NativeAudioState;
|
|
8
|
+
}
|
|
9
|
+
export interface Spec extends TurboModule {
|
|
10
|
+
play(key: string, url: string, headers: Record<string, string>): Promise<void>;
|
|
11
|
+
pause(key: string): Promise<void>;
|
|
12
|
+
seek(key: string, positionMillis: number): Promise<void>;
|
|
13
|
+
stop(key: string): Promise<void>;
|
|
14
|
+
addListener(eventName: string): void;
|
|
15
|
+
removeListeners(count: number): void;
|
|
16
|
+
}
|
|
17
|
+
declare const moduleRef: Spec | null;
|
|
18
|
+
export default moduleRef;
|
|
19
|
+
export declare function onAudioState(handler: (event: AudioStateEvent) => void): EventSubscription | null;
|
|
20
|
+
//# sourceMappingURL=NativeChatSdkAudioPlayer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NativeChatSdkAudioPlayer.d.ts","sourceRoot":"","sources":["../../../../src/native/NativeChatSdkAudioPlayer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAElE,MAAM,MAAM,gBAAgB,GACxB,SAAS,GACT,SAAS,GACT,QAAQ,GACR,OAAO,GACP,SAAS,GACT,OAAO,CAAA;AAEX,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAA;IACX,cAAc,EAAE,MAAM,CAAA;IACtB,cAAc,EAAE,MAAM,CAAA;IACtB,KAAK,EAAE,gBAAgB,CAAA;CACxB;AAED,MAAM,WAAW,IAAK,SAAQ,WAAW;IACvC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9E,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACjC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACxD,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAChC,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACpC,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CACrC;AAYD,QAAA,MAAM,SAAS,aAAe,CAAA;AAE9B,eAAe,SAAS,CAAA;AAUxB,wBAAgB,YAAY,CAC1B,OAAO,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,GACxC,iBAAiB,GAAG,IAAI,CAE1B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ion299/sdk-react-native",
|
|
3
|
-
"version": "0.1.0-beta.
|
|
3
|
+
"version": "0.1.0-beta.6",
|
|
4
4
|
"description": "React Native SDK for Chat Platform",
|
|
5
5
|
"main": "./lib/commonjs/index.js",
|
|
6
6
|
"module": "./lib/module/index.js",
|
|
@@ -65,15 +65,13 @@
|
|
|
65
65
|
},
|
|
66
66
|
"peerDependencies": {
|
|
67
67
|
"react": ">=18.2.0",
|
|
68
|
-
"react-native": ">=0.72.0"
|
|
69
|
-
"react-native-svg": ">=13.0.0"
|
|
68
|
+
"react-native": ">=0.72.0"
|
|
70
69
|
},
|
|
71
70
|
"devDependencies": {
|
|
72
71
|
"typescript": "^5.0.0",
|
|
73
72
|
"@types/react": "^18.2.0",
|
|
74
73
|
"@types/react-native": "^0.72.0",
|
|
75
74
|
"react-native-builder-bob": "^0.40.0",
|
|
76
|
-
"react-native-svg": "^15.0.0",
|
|
77
75
|
"del-cli": "^5.1.0"
|
|
78
76
|
},
|
|
79
77
|
"keywords": [
|