@ringg/react-native 0.0.1-alpha.8 → 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.
Files changed (118) hide show
  1. package/dist/index.d.mts +964 -0
  2. package/dist/index.d.ts +964 -0
  3. package/dist/index.js +1164 -0
  4. package/dist/index.js.map +1 -0
  5. package/dist/index.mjs +1129 -0
  6. package/dist/index.mjs.map +1 -0
  7. package/package.json +24 -66
  8. package/LICENSE +0 -21
  9. package/README.md +0 -250
  10. package/app.plugin.js +0 -51
  11. package/lib/module/adapters/index.js +0 -4
  12. package/lib/module/adapters/index.js.map +0 -1
  13. package/lib/module/adapters/livekit-rn-adapter.js +0 -216
  14. package/lib/module/adapters/livekit-rn-adapter.js.map +0 -1
  15. package/lib/module/components/RinggWidget.js +0 -550
  16. package/lib/module/components/RinggWidget.js.map +0 -1
  17. package/lib/module/components/steps/ButtonsStep.js +0 -146
  18. package/lib/module/components/steps/ButtonsStep.js.map +0 -1
  19. package/lib/module/components/steps/CalendarStep.js +0 -190
  20. package/lib/module/components/steps/CalendarStep.js.map +0 -1
  21. package/lib/module/components/steps/ConfirmationStep.js +0 -175
  22. package/lib/module/components/steps/ConfirmationStep.js.map +0 -1
  23. package/lib/module/components/steps/FormStep.js +0 -346
  24. package/lib/module/components/steps/FormStep.js.map +0 -1
  25. package/lib/module/components/steps/InteractiveFlow.js +0 -249
  26. package/lib/module/components/steps/InteractiveFlow.js.map +0 -1
  27. package/lib/module/components/ui/ActionButton.js +0 -92
  28. package/lib/module/components/ui/ActionButton.js.map +0 -1
  29. package/lib/module/components/ui/CallControls.js +0 -168
  30. package/lib/module/components/ui/CallControls.js.map +0 -1
  31. package/lib/module/components/ui/FeedbackScreen.js +0 -180
  32. package/lib/module/components/ui/FeedbackScreen.js.map +0 -1
  33. package/lib/module/components/ui/Icons.js +0 -294
  34. package/lib/module/components/ui/Icons.js.map +0 -1
  35. package/lib/module/components/ui/MessageBubble.js +0 -80
  36. package/lib/module/components/ui/MessageBubble.js.map +0 -1
  37. package/lib/module/components/ui/TabSelector.js +0 -80
  38. package/lib/module/components/ui/TabSelector.js.map +0 -1
  39. package/lib/module/components/ui/WidgetHeader.js +0 -168
  40. package/lib/module/components/ui/WidgetHeader.js.map +0 -1
  41. package/lib/module/context/RinggProvider.js +0 -134
  42. package/lib/module/context/RinggProvider.js.map +0 -1
  43. package/lib/module/context/index.js +0 -4
  44. package/lib/module/context/index.js.map +0 -1
  45. package/lib/module/globals.d.js +0 -2
  46. package/lib/module/globals.d.js.map +0 -1
  47. package/lib/module/hooks/index.js +0 -10
  48. package/lib/module/hooks/index.js.map +0 -1
  49. package/lib/module/hooks/useRinggCall.js +0 -259
  50. package/lib/module/hooks/useRinggCall.js.map +0 -1
  51. package/lib/module/hooks/useRinggChat.js +0 -141
  52. package/lib/module/hooks/useRinggChat.js.map +0 -1
  53. package/lib/module/hooks/useRinggComponents.js +0 -226
  54. package/lib/module/hooks/useRinggComponents.js.map +0 -1
  55. package/lib/module/hooks/useRinggFeedback.js +0 -66
  56. package/lib/module/hooks/useRinggFeedback.js.map +0 -1
  57. package/lib/module/hooks/useRinggTheme.js +0 -39
  58. package/lib/module/hooks/useRinggTheme.js.map +0 -1
  59. package/lib/module/hooks/useRinggTranscripts.js +0 -70
  60. package/lib/module/hooks/useRinggTranscripts.js.map +0 -1
  61. package/lib/module/hooks/useRinggWidgetState.js +0 -51
  62. package/lib/module/hooks/useRinggWidgetState.js.map +0 -1
  63. package/lib/module/index.js +0 -56
  64. package/lib/module/index.js.map +0 -1
  65. package/lib/module/package.json +0 -1
  66. package/lib/typescript/adapters/index.d.ts +0 -2
  67. package/lib/typescript/adapters/index.d.ts.map +0 -1
  68. package/lib/typescript/adapters/livekit-rn-adapter.d.ts +0 -38
  69. package/lib/typescript/adapters/livekit-rn-adapter.d.ts.map +0 -1
  70. package/lib/typescript/components/RinggWidget.d.ts +0 -44
  71. package/lib/typescript/components/RinggWidget.d.ts.map +0 -1
  72. package/lib/typescript/components/steps/ButtonsStep.d.ts +0 -17
  73. package/lib/typescript/components/steps/ButtonsStep.d.ts.map +0 -1
  74. package/lib/typescript/components/steps/CalendarStep.d.ts +0 -16
  75. package/lib/typescript/components/steps/CalendarStep.d.ts.map +0 -1
  76. package/lib/typescript/components/steps/ConfirmationStep.d.ts +0 -16
  77. package/lib/typescript/components/steps/ConfirmationStep.d.ts.map +0 -1
  78. package/lib/typescript/components/steps/FormStep.d.ts +0 -17
  79. package/lib/typescript/components/steps/FormStep.d.ts.map +0 -1
  80. package/lib/typescript/components/steps/InteractiveFlow.d.ts +0 -23
  81. package/lib/typescript/components/steps/InteractiveFlow.d.ts.map +0 -1
  82. package/lib/typescript/components/ui/ActionButton.d.ts +0 -22
  83. package/lib/typescript/components/ui/ActionButton.d.ts.map +0 -1
  84. package/lib/typescript/components/ui/CallControls.d.ts +0 -22
  85. package/lib/typescript/components/ui/CallControls.d.ts.map +0 -1
  86. package/lib/typescript/components/ui/FeedbackScreen.d.ts +0 -24
  87. package/lib/typescript/components/ui/FeedbackScreen.d.ts.map +0 -1
  88. package/lib/typescript/components/ui/Icons.d.ts +0 -28
  89. package/lib/typescript/components/ui/Icons.d.ts.map +0 -1
  90. package/lib/typescript/components/ui/MessageBubble.d.ts +0 -17
  91. package/lib/typescript/components/ui/MessageBubble.d.ts.map +0 -1
  92. package/lib/typescript/components/ui/TabSelector.d.ts +0 -21
  93. package/lib/typescript/components/ui/TabSelector.d.ts.map +0 -1
  94. package/lib/typescript/components/ui/WidgetHeader.d.ts +0 -20
  95. package/lib/typescript/components/ui/WidgetHeader.d.ts.map +0 -1
  96. package/lib/typescript/context/RinggProvider.d.ts +0 -53
  97. package/lib/typescript/context/RinggProvider.d.ts.map +0 -1
  98. package/lib/typescript/context/index.d.ts +0 -3
  99. package/lib/typescript/context/index.d.ts.map +0 -1
  100. package/lib/typescript/hooks/index.d.ts +0 -15
  101. package/lib/typescript/hooks/index.d.ts.map +0 -1
  102. package/lib/typescript/hooks/useRinggCall.d.ts +0 -41
  103. package/lib/typescript/hooks/useRinggCall.d.ts.map +0 -1
  104. package/lib/typescript/hooks/useRinggChat.d.ts +0 -29
  105. package/lib/typescript/hooks/useRinggChat.d.ts.map +0 -1
  106. package/lib/typescript/hooks/useRinggComponents.d.ts +0 -52
  107. package/lib/typescript/hooks/useRinggComponents.d.ts.map +0 -1
  108. package/lib/typescript/hooks/useRinggFeedback.d.ts +0 -23
  109. package/lib/typescript/hooks/useRinggFeedback.d.ts.map +0 -1
  110. package/lib/typescript/hooks/useRinggTheme.d.ts +0 -40
  111. package/lib/typescript/hooks/useRinggTheme.d.ts.map +0 -1
  112. package/lib/typescript/hooks/useRinggTranscripts.d.ts +0 -30
  113. package/lib/typescript/hooks/useRinggTranscripts.d.ts.map +0 -1
  114. package/lib/typescript/hooks/useRinggWidgetState.d.ts +0 -38
  115. package/lib/typescript/hooks/useRinggWidgetState.d.ts.map +0 -1
  116. package/lib/typescript/index.d.ts +0 -44
  117. package/lib/typescript/index.d.ts.map +0 -1
  118. 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":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAOA,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AACvC,SAASC,IAAI,EAAEC,gBAAgB,EAAEC,SAAS,EAAEC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AAGlF,SAASC,YAAY,QAAQ,aAAa;AAE1C,SAASC,cAAc,EAAEC,UAAU,EAAEC,gBAAgB,EAAEC,QAAQ,QAAQ,YAAS;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAYjF,OAAO,SAASC,YAAYA,CAAC;EAAEC,QAAQ;EAAEC,WAAW;EAAEC,YAAY;EAAEC,KAAK;EAAEC,WAAW;EAAEC,SAAS;EAAEC;AAAiC,CAAC,EAAE;EACrI,MAAM,CAACC,SAAS,EAAEC,YAAY,CAAC,GAAGxB,QAAQ,CAAC,EAAE,CAAC;EAE9C,IAAI,CAACiB,WAAW,EAAE,OAAO,IAAI;EAE7B,MAAMQ,UAAU,GAAGA,CAAA,KAAM;IACvB,IAAI,CAACF,SAAS,CAACG,IAAI,CAAC,CAAC,EAAE;IACvBJ,aAAa,CAACC,SAAS,CAACG,IAAI,CAAC,CAAC,CAAC;IAC/BF,YAAY,CAAC,EAAE,CAAC;EAClB,CAAC;;EAED;EACA,IAAIR,QAAQ,KAAK,MAAM,EAAE;IACvB,oBACEJ,IAAA,CAACX,IAAI;MAAC0B,KAAK,EAAEC,MAAM,CAACC,kBAAmB;MAAAC,QAAA,eACrChB,KAAA,CAACb,IAAI;QACH0B,KAAK,EAAE,CACLC,MAAM,CAACG,SAAS,EAChB;UACEC,eAAe,EAAEb,KAAK,CAACc,YAAY;UACnCC,WAAW,EAAEf,KAAK,CAACe;QACrB,CAAC,CACD;QAAAJ,QAAA,gBAEFlB,IAAA,CAACT,SAAS;UACRwB,KAAK,EAAE,CAACC,MAAM,CAACO,SAAS,EAAE;YAAEC,KAAK,EAAEjB,KAAK,CAACkB;UAAU,CAAC,CAAE;UACtDC,KAAK,EAAEf,SAAU;UACjBgB,YAAY,EAAEf,YAAa;UAC3BgB,WAAW,EAAC,WAAW;UACvBC,oBAAoB,EAAEtB,KAAK,CAACuB,cAAe;UAC3CC,eAAe,EAAElB,UAAW;UAC5BmB,aAAa,EAAC,MAAM;UACpBC,YAAY,EAAC;QAAK,CACnB,CAAC,eACFjC,IAAA,CAACV,gBAAgB;UAACyB,KAAK,EAAE,CAACC,MAAM,CAACkB,UAAU,EAAE;YAAEd,eAAe,EAAE1B,YAAY,CAACa,KAAK,CAAC4B,YAAY;UAAE,CAAC,CAAE;UAACC,OAAO,EAAEvB,UAAW;UAACwB,QAAQ,EAAE,CAAC1B,SAAS,CAACG,IAAI,CAAC,CAAE;UAACwB,aAAa,EAAE,GAAI;UAAApB,QAAA,eACxKlB,IAAA,CAACF,QAAQ;YAACyC,IAAI,EAAE,EAAG;YAACf,KAAK,EAAEjB,KAAK,CAACiC;UAAiB,CAAE;QAAC,CACrC,CAAC;MAAA,CACf;IAAC,CACH,CAAC;EAEX;;EAEA;EACA,oBACEtC,KAAA,CAACb,IAAI;IAAC0B,KAAK,EAAEC,MAAM,CAACyB,gBAAiB;IAAAvB,QAAA,gBAEnChB,KAAA,CAACb,IAAI;MAAC0B,KAAK,EAAEC,MAAM,CAAC0B,YAAa;MAAAxB,QAAA,gBAC/BlB,IAAA,CAACV,gBAAgB;QAACyB,KAAK,EAAE,CAACC,MAAM,CAAC2B,YAAY,EAAE;UAAEvB,eAAe,EAAEb,KAAK,CAACc;QAAa,CAAC,CAAE;QAACe,OAAO,EAAE5B,WAAY;QAAC8B,aAAa,EAAE,GAAI;QAAApB,QAAA,EAC/HZ,YAAY,gBAAGN,IAAA,CAACL,cAAc;UAAC4C,IAAI,EAAE,EAAG;UAACf,KAAK,EAAEjB,KAAK,CAACkB;QAAU,CAAE,CAAC,gBAAGzB,IAAA,CAACJ,UAAU;UAAC2C,IAAI,EAAE,EAAG;UAACf,KAAK,EAAEjB,KAAK,CAACkB;QAAU,CAAE;MAAC,CACvG,CAAC,eACnBzB,IAAA,CAACR,IAAI;QAACuB,KAAK,EAAE,CAACC,MAAM,CAAC4B,YAAY,EAAE;UAAEpB,KAAK,EAAEjB,KAAK,CAACuB;QAAe,CAAC,CAAE;QAAAZ,QAAA,EAAEZ,YAAY,GAAG,MAAM,GAAG;MAAS,CAAO,CAAC;IAAA,CAC3G,CAAC,eAGPJ,KAAA,CAACb,IAAI;MAAC0B,KAAK,EAAEC,MAAM,CAAC0B,YAAa;MAAAxB,QAAA,gBAC/BlB,IAAA,CAACV,gBAAgB;QAACyB,KAAK,EAAE,CAACC,MAAM,CAAC2B,YAAY,EAAE;UAAEvB,eAAe,EAAEb,KAAK,CAACsC;QAAW,CAAC,CAAE;QAACT,OAAO,EAAE3B,SAAU;QAAC6B,aAAa,EAAE,GAAI;QAAApB,QAAA,eAC5HlB,IAAA,CAACH,gBAAgB;UAAC0C,IAAI,EAAE,EAAG;UAACf,KAAK,EAAC;QAAS,CAAE;MAAC,CAC9B,CAAC,eACnBxB,IAAA,CAACR,IAAI;QAACuB,KAAK,EAAE,CAACC,MAAM,CAAC4B,YAAY,EAAE;UAAEpB,KAAK,EAAEjB,KAAK,CAACuB;QAAe,CAAC,CAAE;QAAAZ,QAAA,EAAC;MAAQ,CAAM,CAAC;IAAA,CAChF,CAAC;EAAA,CACH,CAAC;AAEX;AAEA,MAAMF,MAAM,GAAGvB,UAAU,CAACqD,MAAM,CAAC;EAC/B;EACA7B,kBAAkB,EAAE;IAClB8B,iBAAiB,EAAE,CAAC;IACpBC,aAAa,EAAE;EACjB,CAAC;EACD7B,SAAS,EAAE;IACT8B,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBC,WAAW,EAAE,CAAC;IACdC,YAAY,EAAE,IAAI;IAClBC,WAAW,EAAE,EAAE;IACfC,YAAY,EAAE,CAAC;IACfC,MAAM,EAAE;EACV,CAAC;EACDhC,SAAS,EAAE;IACTiC,IAAI,EAAE,CAAC;IACPC,QAAQ,EAAE,EAAE;IACZC,eAAe,EAAE;EACnB,CAAC;EACDxB,UAAU,EAAE;IACVyB,KAAK,EAAE,EAAE;IACTJ,MAAM,EAAE,EAAE;IACVH,YAAY,EAAE,EAAE;IAChBF,UAAU,EAAE,QAAQ;IACpBU,cAAc,EAAE;EAClB,CAAC;EAED;EACAnB,gBAAgB,EAAE;IAChBQ,aAAa,EAAE,KAAK;IACpBW,cAAc,EAAE,eAAe;IAC/BV,UAAU,EAAE,YAAY;IACxBH,iBAAiB,EAAE,EAAE;IACrBC,aAAa,EAAE;EACjB,CAAC;EACDN,YAAY,EAAE;IACZQ,UAAU,EAAE,QAAQ;IACpBW,GAAG,EAAE;EACP,CAAC;EACDlB,YAAY,EAAE;IACZgB,KAAK,EAAE,EAAE;IACTJ,MAAM,EAAE,EAAE;IACVH,YAAY,EAAE,EAAE;IAChBF,UAAU,EAAE,QAAQ;IACpBU,cAAc,EAAE;EAClB,CAAC;EACDhB,YAAY,EAAE;IACZa,QAAQ,EAAE,EAAE;IACZK,UAAU,EAAE,KAAK;IACjBC,SAAS,EAAE;EACb;AACF,CAAC,CAAC","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":[]}