@ringg/react-native 0.0.1-alpha.9 → 0.2.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/dist/index.d.mts +964 -0
- package/dist/index.d.ts +964 -0
- package/dist/index.js +1164 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +1129 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +24 -66
- package/LICENSE +0 -21
- package/README.md +0 -250
- package/app.plugin.js +0 -51
- package/lib/module/adapters/index.js +0 -4
- package/lib/module/adapters/index.js.map +0 -1
- package/lib/module/adapters/livekit-rn-adapter.js +0 -216
- package/lib/module/adapters/livekit-rn-adapter.js.map +0 -1
- package/lib/module/components/RinggWidget.js +0 -554
- package/lib/module/components/RinggWidget.js.map +0 -1
- package/lib/module/components/steps/ButtonsStep.js +0 -146
- package/lib/module/components/steps/ButtonsStep.js.map +0 -1
- package/lib/module/components/steps/CalendarStep.js +0 -190
- package/lib/module/components/steps/CalendarStep.js.map +0 -1
- package/lib/module/components/steps/ConfirmationStep.js +0 -175
- package/lib/module/components/steps/ConfirmationStep.js.map +0 -1
- package/lib/module/components/steps/FormStep.js +0 -346
- package/lib/module/components/steps/FormStep.js.map +0 -1
- package/lib/module/components/steps/InteractiveFlow.js +0 -249
- package/lib/module/components/steps/InteractiveFlow.js.map +0 -1
- package/lib/module/components/ui/ActionButton.js +0 -92
- package/lib/module/components/ui/ActionButton.js.map +0 -1
- package/lib/module/components/ui/CallControls.js +0 -168
- package/lib/module/components/ui/CallControls.js.map +0 -1
- package/lib/module/components/ui/FeedbackScreen.js +0 -180
- package/lib/module/components/ui/FeedbackScreen.js.map +0 -1
- package/lib/module/components/ui/Icons.js +0 -294
- package/lib/module/components/ui/Icons.js.map +0 -1
- package/lib/module/components/ui/MessageBubble.js +0 -80
- package/lib/module/components/ui/MessageBubble.js.map +0 -1
- package/lib/module/components/ui/TabSelector.js +0 -80
- package/lib/module/components/ui/TabSelector.js.map +0 -1
- package/lib/module/components/ui/WidgetHeader.js +0 -168
- package/lib/module/components/ui/WidgetHeader.js.map +0 -1
- package/lib/module/context/RinggProvider.js +0 -134
- package/lib/module/context/RinggProvider.js.map +0 -1
- package/lib/module/context/index.js +0 -4
- package/lib/module/context/index.js.map +0 -1
- package/lib/module/globals.d.js +0 -2
- package/lib/module/globals.d.js.map +0 -1
- package/lib/module/hooks/index.js +0 -10
- package/lib/module/hooks/index.js.map +0 -1
- package/lib/module/hooks/useRinggCall.js +0 -259
- package/lib/module/hooks/useRinggCall.js.map +0 -1
- package/lib/module/hooks/useRinggChat.js +0 -141
- package/lib/module/hooks/useRinggChat.js.map +0 -1
- package/lib/module/hooks/useRinggComponents.js +0 -236
- package/lib/module/hooks/useRinggComponents.js.map +0 -1
- package/lib/module/hooks/useRinggFeedback.js +0 -66
- package/lib/module/hooks/useRinggFeedback.js.map +0 -1
- package/lib/module/hooks/useRinggTheme.js +0 -39
- package/lib/module/hooks/useRinggTheme.js.map +0 -1
- package/lib/module/hooks/useRinggTranscripts.js +0 -70
- package/lib/module/hooks/useRinggTranscripts.js.map +0 -1
- package/lib/module/hooks/useRinggWidgetState.js +0 -51
- package/lib/module/hooks/useRinggWidgetState.js.map +0 -1
- package/lib/module/index.js +0 -56
- package/lib/module/index.js.map +0 -1
- package/lib/module/package.json +0 -1
- package/lib/typescript/adapters/index.d.ts +0 -2
- package/lib/typescript/adapters/index.d.ts.map +0 -1
- package/lib/typescript/adapters/livekit-rn-adapter.d.ts +0 -38
- package/lib/typescript/adapters/livekit-rn-adapter.d.ts.map +0 -1
- package/lib/typescript/components/RinggWidget.d.ts +0 -44
- package/lib/typescript/components/RinggWidget.d.ts.map +0 -1
- package/lib/typescript/components/steps/ButtonsStep.d.ts +0 -17
- package/lib/typescript/components/steps/ButtonsStep.d.ts.map +0 -1
- package/lib/typescript/components/steps/CalendarStep.d.ts +0 -16
- package/lib/typescript/components/steps/CalendarStep.d.ts.map +0 -1
- package/lib/typescript/components/steps/ConfirmationStep.d.ts +0 -16
- package/lib/typescript/components/steps/ConfirmationStep.d.ts.map +0 -1
- package/lib/typescript/components/steps/FormStep.d.ts +0 -17
- package/lib/typescript/components/steps/FormStep.d.ts.map +0 -1
- package/lib/typescript/components/steps/InteractiveFlow.d.ts +0 -23
- package/lib/typescript/components/steps/InteractiveFlow.d.ts.map +0 -1
- package/lib/typescript/components/ui/ActionButton.d.ts +0 -22
- package/lib/typescript/components/ui/ActionButton.d.ts.map +0 -1
- package/lib/typescript/components/ui/CallControls.d.ts +0 -22
- package/lib/typescript/components/ui/CallControls.d.ts.map +0 -1
- package/lib/typescript/components/ui/FeedbackScreen.d.ts +0 -24
- package/lib/typescript/components/ui/FeedbackScreen.d.ts.map +0 -1
- package/lib/typescript/components/ui/Icons.d.ts +0 -28
- package/lib/typescript/components/ui/Icons.d.ts.map +0 -1
- package/lib/typescript/components/ui/MessageBubble.d.ts +0 -17
- package/lib/typescript/components/ui/MessageBubble.d.ts.map +0 -1
- package/lib/typescript/components/ui/TabSelector.d.ts +0 -21
- package/lib/typescript/components/ui/TabSelector.d.ts.map +0 -1
- package/lib/typescript/components/ui/WidgetHeader.d.ts +0 -20
- package/lib/typescript/components/ui/WidgetHeader.d.ts.map +0 -1
- package/lib/typescript/context/RinggProvider.d.ts +0 -53
- package/lib/typescript/context/RinggProvider.d.ts.map +0 -1
- package/lib/typescript/context/index.d.ts +0 -3
- package/lib/typescript/context/index.d.ts.map +0 -1
- package/lib/typescript/hooks/index.d.ts +0 -15
- package/lib/typescript/hooks/index.d.ts.map +0 -1
- package/lib/typescript/hooks/useRinggCall.d.ts +0 -41
- package/lib/typescript/hooks/useRinggCall.d.ts.map +0 -1
- package/lib/typescript/hooks/useRinggChat.d.ts +0 -29
- package/lib/typescript/hooks/useRinggChat.d.ts.map +0 -1
- package/lib/typescript/hooks/useRinggComponents.d.ts +0 -52
- package/lib/typescript/hooks/useRinggComponents.d.ts.map +0 -1
- package/lib/typescript/hooks/useRinggFeedback.d.ts +0 -23
- package/lib/typescript/hooks/useRinggFeedback.d.ts.map +0 -1
- package/lib/typescript/hooks/useRinggTheme.d.ts +0 -40
- package/lib/typescript/hooks/useRinggTheme.d.ts.map +0 -1
- package/lib/typescript/hooks/useRinggTranscripts.d.ts +0 -30
- package/lib/typescript/hooks/useRinggTranscripts.d.ts.map +0 -1
- package/lib/typescript/hooks/useRinggWidgetState.d.ts +0 -38
- package/lib/typescript/hooks/useRinggWidgetState.d.ts.map +0 -1
- package/lib/typescript/index.d.ts +0 -44
- package/lib/typescript/index.d.ts.map +0 -1
- package/lib/typescript/package.json +0 -1
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* ActionButton — the "Start Call" / "Start Chat" button.
|
|
5
|
-
*
|
|
6
|
-
* CDN widget behavior:
|
|
7
|
-
* - Full width, h-12 (48px)
|
|
8
|
-
* - Primary color background, primary text color
|
|
9
|
-
* - Icon + text label ("Start Call" / "Start Chat")
|
|
10
|
-
* - Loading state shows spinner + "Connecting..."
|
|
11
|
-
* - Uses theme buttonStyle for border radius ("pill" = 9999px)
|
|
12
|
-
*/
|
|
13
|
-
|
|
14
|
-
import React from "react";
|
|
15
|
-
import { TouchableOpacity, Text, ActivityIndicator, View, StyleSheet } from "react-native";
|
|
16
|
-
import { colorToSolid, getButtonRadius } from "@ringg/core";
|
|
17
|
-
import { PhoneCallRingIcon, ChatIcon } from "./Icons.js";
|
|
18
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
19
|
-
export function ActionButton({
|
|
20
|
-
callMode,
|
|
21
|
-
isLoading,
|
|
22
|
-
isConnected,
|
|
23
|
-
buttonConfig,
|
|
24
|
-
theme,
|
|
25
|
-
onPress
|
|
26
|
-
}) {
|
|
27
|
-
if (isConnected) return null;
|
|
28
|
-
const isAudio = callMode === "audio";
|
|
29
|
-
const config = isAudio ? buttonConfig?.call : buttonConfig?.text;
|
|
30
|
-
const label = config?.textBeforeCall ?? (isAudio ? "Start Call" : "Start Chat");
|
|
31
|
-
const buttonRadius = getButtonRadius(theme.buttonStyle);
|
|
32
|
-
const radiusNum = theme.buttonStyle === "pill" ? 9999 : parseInt(buttonRadius, 10) || 8;
|
|
33
|
-
return /*#__PURE__*/_jsx(TouchableOpacity, {
|
|
34
|
-
style: [styles.button, {
|
|
35
|
-
backgroundColor: colorToSolid(theme.primaryColor),
|
|
36
|
-
borderRadius: radiusNum
|
|
37
|
-
}],
|
|
38
|
-
onPress: () => onPress(callMode),
|
|
39
|
-
disabled: isLoading,
|
|
40
|
-
activeOpacity: 0.9,
|
|
41
|
-
children: isLoading ? /*#__PURE__*/_jsxs(View, {
|
|
42
|
-
style: styles.loadingRow,
|
|
43
|
-
children: [/*#__PURE__*/_jsx(ActivityIndicator, {
|
|
44
|
-
color: theme.primaryTextColor,
|
|
45
|
-
size: "small"
|
|
46
|
-
}), /*#__PURE__*/_jsx(Text, {
|
|
47
|
-
style: [styles.label, {
|
|
48
|
-
color: theme.primaryTextColor
|
|
49
|
-
}],
|
|
50
|
-
children: "Connecting..."
|
|
51
|
-
})]
|
|
52
|
-
}) : /*#__PURE__*/_jsxs(View, {
|
|
53
|
-
style: styles.contentRow,
|
|
54
|
-
children: [isAudio ? /*#__PURE__*/_jsx(PhoneCallRingIcon, {
|
|
55
|
-
size: 20,
|
|
56
|
-
color: theme.primaryTextColor
|
|
57
|
-
}) : /*#__PURE__*/_jsx(ChatIcon, {
|
|
58
|
-
size: 20,
|
|
59
|
-
color: theme.primaryTextColor
|
|
60
|
-
}), /*#__PURE__*/_jsx(Text, {
|
|
61
|
-
style: [styles.label, {
|
|
62
|
-
color: theme.primaryTextColor
|
|
63
|
-
}],
|
|
64
|
-
children: label
|
|
65
|
-
})]
|
|
66
|
-
})
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
const styles = StyleSheet.create({
|
|
70
|
-
button: {
|
|
71
|
-
height: 48,
|
|
72
|
-
alignItems: "center",
|
|
73
|
-
justifyContent: "center",
|
|
74
|
-
paddingHorizontal: 24,
|
|
75
|
-
marginHorizontal: 20
|
|
76
|
-
},
|
|
77
|
-
contentRow: {
|
|
78
|
-
flexDirection: "row",
|
|
79
|
-
alignItems: "center",
|
|
80
|
-
gap: 8
|
|
81
|
-
},
|
|
82
|
-
loadingRow: {
|
|
83
|
-
flexDirection: "row",
|
|
84
|
-
alignItems: "center",
|
|
85
|
-
gap: 8
|
|
86
|
-
},
|
|
87
|
-
label: {
|
|
88
|
-
fontSize: 15,
|
|
89
|
-
fontWeight: "500"
|
|
90
|
-
}
|
|
91
|
-
});
|
|
92
|
-
//# sourceMappingURL=ActionButton.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["React","TouchableOpacity","Text","ActivityIndicator","View","StyleSheet","colorToSolid","getButtonRadius","PhoneCallRingIcon","ChatIcon","jsx","_jsx","jsxs","_jsxs","ActionButton","callMode","isLoading","isConnected","buttonConfig","theme","onPress","isAudio","config","call","text","label","textBeforeCall","buttonRadius","buttonStyle","radiusNum","parseInt","style","styles","button","backgroundColor","primaryColor","borderRadius","disabled","activeOpacity","children","loadingRow","color","primaryTextColor","size","contentRow","create","height","alignItems","justifyContent","paddingHorizontal","marginHorizontal","flexDirection","gap","fontSize","fontWeight"],"sourceRoot":"../../../../src","sources":["components/ui/ActionButton.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,168 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* CallControls — mic toggle, end call, and text input during a call.
|
|
5
|
-
*
|
|
6
|
-
* CDN widget behavior:
|
|
7
|
-
* - Audio mode: Two circular buttons side-by-side (mic toggle + end call), each with label below
|
|
8
|
-
* - Mic: surfaceColor bg, round (h-12 w-12), mic SVG icon, "Mute"/"Un-Mute" label below
|
|
9
|
-
* - End: errorColor bg, round (h-12 w-12), phone end call icon, "End Call" label below
|
|
10
|
-
* - Text mode: Pill-shaped input with circular send button (arrow icon) inside
|
|
11
|
-
*/
|
|
12
|
-
|
|
13
|
-
import React, { useState } from "react";
|
|
14
|
-
import { View, TouchableOpacity, TextInput, Text, StyleSheet } from "react-native";
|
|
15
|
-
import { colorToSolid } from "@ringg/core";
|
|
16
|
-
import { MicrophoneIcon, MicOffIcon, PhoneEndCallIcon, SendIcon } from "./Icons.js";
|
|
17
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
18
|
-
export function CallControls({
|
|
19
|
-
callMode,
|
|
20
|
-
isConnected,
|
|
21
|
-
isMicEnabled,
|
|
22
|
-
theme,
|
|
23
|
-
onToggleMic,
|
|
24
|
-
onEndCall,
|
|
25
|
-
onSendMessage
|
|
26
|
-
}) {
|
|
27
|
-
const [inputText, setInputText] = useState("");
|
|
28
|
-
if (!isConnected) return null;
|
|
29
|
-
const handleSend = () => {
|
|
30
|
-
if (!inputText.trim()) return;
|
|
31
|
-
onSendMessage(inputText.trim());
|
|
32
|
-
setInputText("");
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
// ── Text mode: pill input with send button ───────────────────────────────
|
|
36
|
-
if (callMode === "text") {
|
|
37
|
-
return /*#__PURE__*/_jsx(View, {
|
|
38
|
-
style: styles.textInputContainer,
|
|
39
|
-
children: /*#__PURE__*/_jsxs(View, {
|
|
40
|
-
style: [styles.inputPill, {
|
|
41
|
-
backgroundColor: theme.surfaceColor,
|
|
42
|
-
borderColor: theme.borderColor
|
|
43
|
-
}],
|
|
44
|
-
children: [/*#__PURE__*/_jsx(TextInput, {
|
|
45
|
-
style: [styles.textInput, {
|
|
46
|
-
color: theme.textColor
|
|
47
|
-
}],
|
|
48
|
-
value: inputText,
|
|
49
|
-
onChangeText: setInputText,
|
|
50
|
-
placeholder: "Type here",
|
|
51
|
-
placeholderTextColor: theme.mutedTextColor,
|
|
52
|
-
onSubmitEditing: handleSend,
|
|
53
|
-
returnKeyType: "send",
|
|
54
|
-
autoComplete: "off"
|
|
55
|
-
}), /*#__PURE__*/_jsx(TouchableOpacity, {
|
|
56
|
-
style: [styles.sendButton, {
|
|
57
|
-
backgroundColor: colorToSolid(theme.primaryColor)
|
|
58
|
-
}],
|
|
59
|
-
onPress: handleSend,
|
|
60
|
-
disabled: !inputText.trim(),
|
|
61
|
-
activeOpacity: 0.8,
|
|
62
|
-
children: /*#__PURE__*/_jsx(SendIcon, {
|
|
63
|
-
size: 16,
|
|
64
|
-
color: theme.primaryTextColor
|
|
65
|
-
})
|
|
66
|
-
})]
|
|
67
|
-
})
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
// ── Audio mode: mic + end call circles with labels ─────────────────────────
|
|
72
|
-
return /*#__PURE__*/_jsxs(View, {
|
|
73
|
-
style: styles.audioControlsRow,
|
|
74
|
-
children: [/*#__PURE__*/_jsxs(View, {
|
|
75
|
-
style: styles.controlGroup,
|
|
76
|
-
children: [/*#__PURE__*/_jsx(TouchableOpacity, {
|
|
77
|
-
style: [styles.circleButton, {
|
|
78
|
-
backgroundColor: theme.surfaceColor
|
|
79
|
-
}],
|
|
80
|
-
onPress: onToggleMic,
|
|
81
|
-
activeOpacity: 0.8,
|
|
82
|
-
children: isMicEnabled ? /*#__PURE__*/_jsx(MicrophoneIcon, {
|
|
83
|
-
size: 16,
|
|
84
|
-
color: theme.textColor
|
|
85
|
-
}) : /*#__PURE__*/_jsx(MicOffIcon, {
|
|
86
|
-
size: 16,
|
|
87
|
-
color: theme.textColor
|
|
88
|
-
})
|
|
89
|
-
}), /*#__PURE__*/_jsx(Text, {
|
|
90
|
-
style: [styles.controlLabel, {
|
|
91
|
-
color: theme.mutedTextColor
|
|
92
|
-
}],
|
|
93
|
-
children: isMicEnabled ? "Mute" : "Un-Mute"
|
|
94
|
-
})]
|
|
95
|
-
}), /*#__PURE__*/_jsxs(View, {
|
|
96
|
-
style: styles.controlGroup,
|
|
97
|
-
children: [/*#__PURE__*/_jsx(TouchableOpacity, {
|
|
98
|
-
style: [styles.circleButton, {
|
|
99
|
-
backgroundColor: theme.errorColor
|
|
100
|
-
}],
|
|
101
|
-
onPress: onEndCall,
|
|
102
|
-
activeOpacity: 0.8,
|
|
103
|
-
children: /*#__PURE__*/_jsx(PhoneEndCallIcon, {
|
|
104
|
-
size: 16,
|
|
105
|
-
color: "#ffffff"
|
|
106
|
-
})
|
|
107
|
-
}), /*#__PURE__*/_jsx(Text, {
|
|
108
|
-
style: [styles.controlLabel, {
|
|
109
|
-
color: theme.mutedTextColor
|
|
110
|
-
}],
|
|
111
|
-
children: "End Call"
|
|
112
|
-
})]
|
|
113
|
-
})]
|
|
114
|
-
});
|
|
115
|
-
}
|
|
116
|
-
const styles = StyleSheet.create({
|
|
117
|
-
// ── Text mode styles ───────────────────────────────────────────────────────
|
|
118
|
-
textInputContainer: {
|
|
119
|
-
paddingHorizontal: 0,
|
|
120
|
-
paddingBottom: 12
|
|
121
|
-
},
|
|
122
|
-
inputPill: {
|
|
123
|
-
flexDirection: "row",
|
|
124
|
-
alignItems: "center",
|
|
125
|
-
borderWidth: 1,
|
|
126
|
-
borderRadius: 9999,
|
|
127
|
-
paddingLeft: 16,
|
|
128
|
-
paddingRight: 4,
|
|
129
|
-
height: 48
|
|
130
|
-
},
|
|
131
|
-
textInput: {
|
|
132
|
-
flex: 1,
|
|
133
|
-
fontSize: 14,
|
|
134
|
-
paddingVertical: 0
|
|
135
|
-
},
|
|
136
|
-
sendButton: {
|
|
137
|
-
width: 40,
|
|
138
|
-
height: 40,
|
|
139
|
-
borderRadius: 20,
|
|
140
|
-
alignItems: "center",
|
|
141
|
-
justifyContent: "center"
|
|
142
|
-
},
|
|
143
|
-
// ── Audio mode styles ──────────────────────────────────────────────────────
|
|
144
|
-
audioControlsRow: {
|
|
145
|
-
flexDirection: "row",
|
|
146
|
-
justifyContent: "space-between",
|
|
147
|
-
alignItems: "flex-start",
|
|
148
|
-
paddingHorizontal: 20,
|
|
149
|
-
paddingBottom: 8
|
|
150
|
-
},
|
|
151
|
-
controlGroup: {
|
|
152
|
-
alignItems: "center",
|
|
153
|
-
gap: 4
|
|
154
|
-
},
|
|
155
|
-
circleButton: {
|
|
156
|
-
width: 48,
|
|
157
|
-
height: 48,
|
|
158
|
-
borderRadius: 24,
|
|
159
|
-
alignItems: "center",
|
|
160
|
-
justifyContent: "center"
|
|
161
|
-
},
|
|
162
|
-
controlLabel: {
|
|
163
|
-
fontSize: 14,
|
|
164
|
-
fontWeight: "400",
|
|
165
|
-
textAlign: "center"
|
|
166
|
-
}
|
|
167
|
-
});
|
|
168
|
-
//# sourceMappingURL=CallControls.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["React","useState","View","TouchableOpacity","TextInput","Text","StyleSheet","colorToSolid","MicrophoneIcon","MicOffIcon","PhoneEndCallIcon","SendIcon","jsx","_jsx","jsxs","_jsxs","CallControls","callMode","isConnected","isMicEnabled","theme","onToggleMic","onEndCall","onSendMessage","inputText","setInputText","handleSend","trim","style","styles","textInputContainer","children","inputPill","backgroundColor","surfaceColor","borderColor","textInput","color","textColor","value","onChangeText","placeholder","placeholderTextColor","mutedTextColor","onSubmitEditing","returnKeyType","autoComplete","sendButton","primaryColor","onPress","disabled","activeOpacity","size","primaryTextColor","audioControlsRow","controlGroup","circleButton","controlLabel","errorColor","create","paddingHorizontal","paddingBottom","flexDirection","alignItems","borderWidth","borderRadius","paddingLeft","paddingRight","height","flex","fontSize","paddingVertical","width","justifyContent","gap","fontWeight","textAlign"],"sourceRoot":"../../../../src","sources":["components/ui/CallControls.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,180 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* FeedbackScreen — post-call star rating and comment form.
|
|
5
|
-
*
|
|
6
|
-
* CDN widget behavior:
|
|
7
|
-
* - Centered layout with p-6, h-full
|
|
8
|
-
* - Title: "How was your call/chat?" (lg, font-semibold)
|
|
9
|
-
* - Description: "Your feedback helps us improve!" (sm, muted)
|
|
10
|
-
* - SVG stars with filled/empty state + hover colors
|
|
11
|
-
* - Textarea: min-h-[80px], surface bg, border, resizable
|
|
12
|
-
* - Submit button: full width, primary color, button radius
|
|
13
|
-
* - Skip link: text button below, muted color
|
|
14
|
-
*/
|
|
15
|
-
|
|
16
|
-
import React, { useState } from "react";
|
|
17
|
-
import { View, Text, TextInput, TouchableOpacity, ActivityIndicator, StyleSheet } from "react-native";
|
|
18
|
-
import { colorToSolid, getButtonRadius } from "@ringg/core";
|
|
19
|
-
import { StarIcon } from "./Icons.js";
|
|
20
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
21
|
-
export function FeedbackScreen({
|
|
22
|
-
theme,
|
|
23
|
-
feedbackConfig,
|
|
24
|
-
callMode = "audio",
|
|
25
|
-
isSubmitting,
|
|
26
|
-
onSubmit,
|
|
27
|
-
onSkip
|
|
28
|
-
}) {
|
|
29
|
-
const [rating, setRating] = useState(0);
|
|
30
|
-
const [comment, setComment] = useState("");
|
|
31
|
-
const starsCount = feedbackConfig?.starsCount ?? 5;
|
|
32
|
-
const filledColor = feedbackConfig?.starsStyles?.filledColor ?? "#FBBF24";
|
|
33
|
-
const emptyColor = feedbackConfig?.starsStyles?.emptyColor ?? "#D1D5DB";
|
|
34
|
-
const title = feedbackConfig?.title ?? `How was your ${callMode === "text" ? "chat" : "call"}?`;
|
|
35
|
-
const description = feedbackConfig?.description ?? "Your feedback helps us improve!";
|
|
36
|
-
const placeholder = feedbackConfig?.placeholder ?? "We'd love to hear more...";
|
|
37
|
-
const submitLabel = feedbackConfig?.submitBtnCTA ?? "Submit Feedback";
|
|
38
|
-
const buttonRadius = getButtonRadius(theme.buttonStyle);
|
|
39
|
-
const radiusNum = parseInt(buttonRadius, 10) || 8;
|
|
40
|
-
const handleSubmit = () => {
|
|
41
|
-
if (rating > 0) {
|
|
42
|
-
onSubmit(rating, comment);
|
|
43
|
-
}
|
|
44
|
-
};
|
|
45
|
-
return /*#__PURE__*/_jsxs(View, {
|
|
46
|
-
style: [styles.container, {
|
|
47
|
-
backgroundColor: theme.backgroundColor
|
|
48
|
-
}],
|
|
49
|
-
children: [/*#__PURE__*/_jsx(Text, {
|
|
50
|
-
style: [styles.title, {
|
|
51
|
-
color: theme.textColor
|
|
52
|
-
}],
|
|
53
|
-
children: title
|
|
54
|
-
}), /*#__PURE__*/_jsx(Text, {
|
|
55
|
-
style: [styles.description, {
|
|
56
|
-
color: theme.mutedTextColor
|
|
57
|
-
}],
|
|
58
|
-
children: description
|
|
59
|
-
}), /*#__PURE__*/_jsx(View, {
|
|
60
|
-
style: styles.starsRow,
|
|
61
|
-
children: Array.from({
|
|
62
|
-
length: starsCount
|
|
63
|
-
}, (_, i) => /*#__PURE__*/_jsx(TouchableOpacity, {
|
|
64
|
-
onPress: () => setRating(i + 1),
|
|
65
|
-
style: styles.starButton,
|
|
66
|
-
children: /*#__PURE__*/_jsx(StarIcon, {
|
|
67
|
-
size: 36,
|
|
68
|
-
filled: i < rating,
|
|
69
|
-
filledColor: filledColor,
|
|
70
|
-
emptyColor: emptyColor
|
|
71
|
-
})
|
|
72
|
-
}, i))
|
|
73
|
-
}), /*#__PURE__*/_jsx(TextInput, {
|
|
74
|
-
style: [styles.commentInput, {
|
|
75
|
-
color: theme.textColor,
|
|
76
|
-
backgroundColor: theme.surfaceColor,
|
|
77
|
-
borderColor: theme.borderColor,
|
|
78
|
-
borderRadius: radiusNum
|
|
79
|
-
}],
|
|
80
|
-
value: comment,
|
|
81
|
-
onChangeText: setComment,
|
|
82
|
-
placeholder: placeholder,
|
|
83
|
-
placeholderTextColor: theme.mutedTextColor,
|
|
84
|
-
multiline: true,
|
|
85
|
-
numberOfLines: 3,
|
|
86
|
-
textAlignVertical: "top",
|
|
87
|
-
maxLength: 500
|
|
88
|
-
}), /*#__PURE__*/_jsxs(View, {
|
|
89
|
-
style: styles.actionsContainer,
|
|
90
|
-
children: [/*#__PURE__*/_jsx(TouchableOpacity, {
|
|
91
|
-
style: [styles.submitButton, {
|
|
92
|
-
backgroundColor: colorToSolid(theme.primaryColor),
|
|
93
|
-
borderRadius: radiusNum,
|
|
94
|
-
opacity: rating === 0 || isSubmitting ? 0.5 : 1
|
|
95
|
-
}],
|
|
96
|
-
onPress: handleSubmit,
|
|
97
|
-
disabled: rating === 0 || isSubmitting,
|
|
98
|
-
activeOpacity: 0.9,
|
|
99
|
-
children: isSubmitting ? /*#__PURE__*/_jsx(ActivityIndicator, {
|
|
100
|
-
color: theme.primaryTextColor,
|
|
101
|
-
size: "small"
|
|
102
|
-
}) : /*#__PURE__*/_jsx(Text, {
|
|
103
|
-
style: [styles.submitText, {
|
|
104
|
-
color: theme.primaryTextColor
|
|
105
|
-
}],
|
|
106
|
-
children: submitLabel
|
|
107
|
-
})
|
|
108
|
-
}), /*#__PURE__*/_jsx(TouchableOpacity, {
|
|
109
|
-
style: styles.skipButton,
|
|
110
|
-
onPress: onSkip,
|
|
111
|
-
disabled: isSubmitting,
|
|
112
|
-
children: /*#__PURE__*/_jsx(Text, {
|
|
113
|
-
style: [styles.skipText, {
|
|
114
|
-
color: theme.mutedTextColor
|
|
115
|
-
}],
|
|
116
|
-
children: "Skip"
|
|
117
|
-
})
|
|
118
|
-
})]
|
|
119
|
-
})]
|
|
120
|
-
});
|
|
121
|
-
}
|
|
122
|
-
const styles = StyleSheet.create({
|
|
123
|
-
container: {
|
|
124
|
-
flex: 1,
|
|
125
|
-
paddingHorizontal: 20,
|
|
126
|
-
paddingTop: 32,
|
|
127
|
-
paddingBottom: 12,
|
|
128
|
-
justifyContent: "center",
|
|
129
|
-
alignItems: "center",
|
|
130
|
-
gap: 10
|
|
131
|
-
},
|
|
132
|
-
title: {
|
|
133
|
-
fontSize: 18,
|
|
134
|
-
fontWeight: "600",
|
|
135
|
-
textAlign: "center",
|
|
136
|
-
marginBottom: 2
|
|
137
|
-
},
|
|
138
|
-
description: {
|
|
139
|
-
fontSize: 14,
|
|
140
|
-
textAlign: "center"
|
|
141
|
-
},
|
|
142
|
-
starsRow: {
|
|
143
|
-
flexDirection: "row",
|
|
144
|
-
gap: 6,
|
|
145
|
-
marginVertical: 4
|
|
146
|
-
},
|
|
147
|
-
starButton: {
|
|
148
|
-
padding: 4
|
|
149
|
-
},
|
|
150
|
-
commentInput: {
|
|
151
|
-
width: "100%",
|
|
152
|
-
borderWidth: 1,
|
|
153
|
-
padding: 12,
|
|
154
|
-
fontSize: 14,
|
|
155
|
-
minHeight: 80
|
|
156
|
-
},
|
|
157
|
-
actionsContainer: {
|
|
158
|
-
width: "100%",
|
|
159
|
-
gap: 8,
|
|
160
|
-
marginTop: 2
|
|
161
|
-
},
|
|
162
|
-
submitButton: {
|
|
163
|
-
width: "100%",
|
|
164
|
-
height: 44,
|
|
165
|
-
alignItems: "center",
|
|
166
|
-
justifyContent: "center"
|
|
167
|
-
},
|
|
168
|
-
submitText: {
|
|
169
|
-
fontSize: 15,
|
|
170
|
-
fontWeight: "600"
|
|
171
|
-
},
|
|
172
|
-
skipButton: {
|
|
173
|
-
alignItems: "center",
|
|
174
|
-
padding: 6
|
|
175
|
-
},
|
|
176
|
-
skipText: {
|
|
177
|
-
fontSize: 14
|
|
178
|
-
}
|
|
179
|
-
});
|
|
180
|
-
//# sourceMappingURL=FeedbackScreen.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["React","useState","View","Text","TextInput","TouchableOpacity","ActivityIndicator","StyleSheet","colorToSolid","getButtonRadius","StarIcon","jsx","_jsx","jsxs","_jsxs","FeedbackScreen","theme","feedbackConfig","callMode","isSubmitting","onSubmit","onSkip","rating","setRating","comment","setComment","starsCount","filledColor","starsStyles","emptyColor","title","description","placeholder","submitLabel","submitBtnCTA","buttonRadius","buttonStyle","radiusNum","parseInt","handleSubmit","style","styles","container","backgroundColor","children","color","textColor","mutedTextColor","starsRow","Array","from","length","_","i","onPress","starButton","size","filled","commentInput","surfaceColor","borderColor","borderRadius","value","onChangeText","placeholderTextColor","multiline","numberOfLines","textAlignVertical","maxLength","actionsContainer","submitButton","primaryColor","opacity","disabled","activeOpacity","primaryTextColor","submitText","skipButton","skipText","create","flex","paddingHorizontal","paddingTop","paddingBottom","justifyContent","alignItems","gap","fontSize","fontWeight","textAlign","marginBottom","flexDirection","marginVertical","padding","width","borderWidth","minHeight","marginTop","height"],"sourceRoot":"../../../../src","sources":["components/ui/FeedbackScreen.tsx"],"mappings":"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","ignoreList":[]}
|