@appsupportkit/support-sdk 0.1.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 (87) hide show
  1. package/lib/commonjs/api.js +93 -0
  2. package/lib/commonjs/api.js.map +1 -0
  3. package/lib/commonjs/components/BottomSheet.js +158 -0
  4. package/lib/commonjs/components/BottomSheet.js.map +1 -0
  5. package/lib/commonjs/components/SupportButton.js +244 -0
  6. package/lib/commonjs/components/SupportButton.js.map +1 -0
  7. package/lib/commonjs/components/icons.js +236 -0
  8. package/lib/commonjs/components/icons.js.map +1 -0
  9. package/lib/commonjs/components/primitives.js +284 -0
  10. package/lib/commonjs/components/primitives.js.map +1 -0
  11. package/lib/commonjs/components/screens/ComposeScreen.js +171 -0
  12. package/lib/commonjs/components/screens/ComposeScreen.js.map +1 -0
  13. package/lib/commonjs/components/screens/HomeScreen.js +227 -0
  14. package/lib/commonjs/components/screens/HomeScreen.js.map +1 -0
  15. package/lib/commonjs/components/screens/ThreadScreen.js +213 -0
  16. package/lib/commonjs/components/screens/ThreadScreen.js.map +1 -0
  17. package/lib/commonjs/index.js +58 -0
  18. package/lib/commonjs/index.js.map +1 -0
  19. package/lib/commonjs/package.json +1 -0
  20. package/lib/commonjs/theme.js +29 -0
  21. package/lib/commonjs/theme.js.map +1 -0
  22. package/lib/commonjs/types.js +14 -0
  23. package/lib/commonjs/types.js.map +1 -0
  24. package/lib/commonjs/utils.js +63 -0
  25. package/lib/commonjs/utils.js.map +1 -0
  26. package/lib/module/api.js +84 -0
  27. package/lib/module/api.js.map +1 -0
  28. package/lib/module/components/BottomSheet.js +153 -0
  29. package/lib/module/components/BottomSheet.js.map +1 -0
  30. package/lib/module/components/SupportButton.js +240 -0
  31. package/lib/module/components/SupportButton.js.map +1 -0
  32. package/lib/module/components/icons.js +225 -0
  33. package/lib/module/components/icons.js.map +1 -0
  34. package/lib/module/components/primitives.js +270 -0
  35. package/lib/module/components/primitives.js.map +1 -0
  36. package/lib/module/components/screens/ComposeScreen.js +167 -0
  37. package/lib/module/components/screens/ComposeScreen.js.map +1 -0
  38. package/lib/module/components/screens/HomeScreen.js +223 -0
  39. package/lib/module/components/screens/HomeScreen.js.map +1 -0
  40. package/lib/module/components/screens/ThreadScreen.js +209 -0
  41. package/lib/module/components/screens/ThreadScreen.js.map +1 -0
  42. package/lib/module/index.js +7 -0
  43. package/lib/module/index.js.map +1 -0
  44. package/lib/module/package.json +1 -0
  45. package/lib/module/theme.js +23 -0
  46. package/lib/module/theme.js.map +1 -0
  47. package/lib/module/types.js +10 -0
  48. package/lib/module/types.js.map +1 -0
  49. package/lib/module/utils.js +57 -0
  50. package/lib/module/utils.js.map +1 -0
  51. package/lib/typescript/api.d.ts +37 -0
  52. package/lib/typescript/api.d.ts.map +1 -0
  53. package/lib/typescript/components/BottomSheet.d.ts +9 -0
  54. package/lib/typescript/components/BottomSheet.d.ts.map +1 -0
  55. package/lib/typescript/components/SupportButton.d.ts +8 -0
  56. package/lib/typescript/components/SupportButton.d.ts.map +1 -0
  57. package/lib/typescript/components/icons.d.ts +32 -0
  58. package/lib/typescript/components/icons.d.ts.map +1 -0
  59. package/lib/typescript/components/primitives.d.ts +60 -0
  60. package/lib/typescript/components/primitives.d.ts.map +1 -0
  61. package/lib/typescript/components/screens/ComposeScreen.d.ts +10 -0
  62. package/lib/typescript/components/screens/ComposeScreen.d.ts.map +1 -0
  63. package/lib/typescript/components/screens/HomeScreen.d.ts +13 -0
  64. package/lib/typescript/components/screens/HomeScreen.d.ts.map +1 -0
  65. package/lib/typescript/components/screens/ThreadScreen.d.ts +10 -0
  66. package/lib/typescript/components/screens/ThreadScreen.d.ts.map +1 -0
  67. package/lib/typescript/index.d.ts +6 -0
  68. package/lib/typescript/index.d.ts.map +1 -0
  69. package/lib/typescript/theme.d.ts +13 -0
  70. package/lib/typescript/theme.d.ts.map +1 -0
  71. package/lib/typescript/types.d.ts +61 -0
  72. package/lib/typescript/types.d.ts.map +1 -0
  73. package/lib/typescript/utils.d.ts +11 -0
  74. package/lib/typescript/utils.d.ts.map +1 -0
  75. package/package.json +51 -0
  76. package/src/api.ts +125 -0
  77. package/src/components/BottomSheet.tsx +173 -0
  78. package/src/components/SupportButton.tsx +265 -0
  79. package/src/components/icons.tsx +189 -0
  80. package/src/components/primitives.tsx +298 -0
  81. package/src/components/screens/ComposeScreen.tsx +163 -0
  82. package/src/components/screens/HomeScreen.tsx +234 -0
  83. package/src/components/screens/ThreadScreen.tsx +227 -0
  84. package/src/index.tsx +24 -0
  85. package/src/theme.ts +39 -0
  86. package/src/types.ts +71 -0
  87. package/src/utils.ts +63 -0
@@ -0,0 +1,240 @@
1
+ "use strict";
2
+
3
+ import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
4
+ import { Pressable, Text, View } from 'react-native';
5
+ import { getThreads, markRead, postMessage, submitQuery, SupportApiError } from '../api';
6
+ import { resolveTheme } from '../theme';
7
+ import { validateProps } from '../utils';
8
+ import { BottomSheet } from './BottomSheet';
9
+ import { BubbleMark } from './icons';
10
+ import { ComposeScreen } from './screens/ComposeScreen';
11
+ import { HomeScreen } from './screens/HomeScreen';
12
+ import { ThreadScreen } from './screens/ThreadScreen';
13
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
14
+ /**
15
+ * The single entry point of the SDK: a button with an unread badge that
16
+ * opens the support bottom sheet. Polls get-threads on mount and whenever
17
+ * the sheet opens (no websockets in v1).
18
+ */
19
+ export function SupportButton(props) {
20
+ const validationError = validateProps(props);
21
+ const theme = resolveTheme(props.theme);
22
+ const config = useMemo(() => ({
23
+ supabaseUrl: props.supabaseUrl,
24
+ apiKey: props.apiKey,
25
+ appName: props.appName
26
+ }), [props.supabaseUrl, props.apiKey, props.appName]);
27
+ const [sheetOpen, setSheetOpen] = useState(false);
28
+ const [screen, setScreen] = useState({
29
+ name: 'home'
30
+ });
31
+ const [threads, setThreads] = useState(null);
32
+ const [totalUnread, setTotalUnread] = useState(0);
33
+ const [loading, setLoading] = useState(false);
34
+ const [error, setError] = useState(null);
35
+ const mounted = useRef(true);
36
+ useEffect(() => {
37
+ mounted.current = true;
38
+ return () => {
39
+ mounted.current = false;
40
+ };
41
+ }, []);
42
+ const refresh = useCallback(async () => {
43
+ if (validationError) return;
44
+ setLoading(true);
45
+ setError(null);
46
+ try {
47
+ const data = await getThreads(config, props.user.revenuecatId);
48
+ if (!mounted.current) return;
49
+ setThreads(data.threads);
50
+ setTotalUnread(data.total_unread);
51
+ } catch (e) {
52
+ if (!mounted.current) return;
53
+ setError(e instanceof SupportApiError && e.offline ? "You're offline — check your connection" : "Couldn't load threads");
54
+ } finally {
55
+ if (mounted.current) setLoading(false);
56
+ }
57
+ }, [config, props.user.revenuecatId, validationError]);
58
+
59
+ // Poll on mount…
60
+ useEffect(() => {
61
+ void refresh();
62
+ }, [refresh]);
63
+
64
+ // …and on sheet open.
65
+ function openSheet() {
66
+ setScreen({
67
+ name: 'home'
68
+ });
69
+ setSheetOpen(true);
70
+ void refresh();
71
+ }
72
+ function closeSheet() {
73
+ setSheetOpen(false);
74
+ setScreen({
75
+ name: 'home'
76
+ });
77
+ }
78
+ if (validationError) {
79
+ // Dev-mode: loud and actionable. Production: render nothing rather than
80
+ // a broken button.
81
+ if (__DEV__) {
82
+ console.error(validationError);
83
+ return /*#__PURE__*/_jsx(View, {
84
+ style: {
85
+ padding: 8,
86
+ borderWidth: 1,
87
+ borderColor: theme.colors.statusDanger,
88
+ borderRadius: theme.radii.control
89
+ },
90
+ children: /*#__PURE__*/_jsx(Text, {
91
+ style: {
92
+ fontSize: 11,
93
+ color: theme.colors.statusDanger
94
+ },
95
+ children: validationError
96
+ })
97
+ });
98
+ }
99
+ return null;
100
+ }
101
+ function openThread(thread) {
102
+ setScreen({
103
+ name: 'thread',
104
+ threadId: thread.id
105
+ });
106
+ if (thread.unread_count > 0) {
107
+ // Optimistically clear the badge; persist via mark-read.
108
+ setThreads(prev => prev?.map(t => t.id === thread.id ? {
109
+ ...t,
110
+ unread_count: 0
111
+ } : t) ?? null);
112
+ setTotalUnread(n => Math.max(0, n - thread.unread_count));
113
+ void markRead(config, {
114
+ queryId: thread.id,
115
+ revenuecatId: props.user.revenuecatId
116
+ }).catch(() => {
117
+ // Non-fatal: the next get-threads reconciles the badge.
118
+ });
119
+ }
120
+ }
121
+ async function handleSubmit(type, message) {
122
+ try {
123
+ await submitQuery(config, {
124
+ queryType: type,
125
+ message,
126
+ userName: props.user.name,
127
+ isPaid: props.user.isPaid,
128
+ revenuecatId: props.user.revenuecatId,
129
+ appVersion: props.user.appVersion
130
+ });
131
+ void refresh();
132
+ return true;
133
+ } catch {
134
+ return false;
135
+ }
136
+ }
137
+ async function handleSend(threadId, message) {
138
+ try {
139
+ await postMessage(config, {
140
+ queryId: threadId,
141
+ revenuecatId: props.user.revenuecatId,
142
+ message
143
+ });
144
+ await refresh();
145
+ return true;
146
+ } catch {
147
+ return false;
148
+ }
149
+ }
150
+ const activeThread = screen.name === 'thread' ? (threads ?? []).find(t => t.id === screen.threadId) ?? null : null;
151
+ return /*#__PURE__*/_jsxs(_Fragment, {
152
+ children: [/*#__PURE__*/_jsxs(Pressable, {
153
+ onPress: openSheet,
154
+ accessibilityRole: "button",
155
+ accessibilityLabel: totalUnread > 0 ? `Support, ${totalUnread} unread ${totalUnread === 1 ? 'reply' : 'replies'}` : 'Support',
156
+ style: ({
157
+ pressed
158
+ }) => ({
159
+ width: 44,
160
+ height: 44,
161
+ borderRadius: 22,
162
+ borderWidth: 1,
163
+ borderColor: theme.colors.border,
164
+ backgroundColor: pressed ? theme.colors.surfaceHover : theme.colors.surface,
165
+ alignItems: 'center',
166
+ justifyContent: 'center'
167
+ }),
168
+ children: [/*#__PURE__*/_jsx(BubbleMark, {
169
+ color: theme.colors.textPrimary,
170
+ size: 18
171
+ }), totalUnread > 0 && /*#__PURE__*/_jsx(View, {
172
+ style: {
173
+ position: 'absolute',
174
+ top: -3,
175
+ right: -3,
176
+ minWidth: 16,
177
+ height: 16,
178
+ borderRadius: 8,
179
+ paddingHorizontal: 4,
180
+ backgroundColor: theme.colors.accent,
181
+ alignItems: 'center',
182
+ justifyContent: 'center'
183
+ },
184
+ children: /*#__PURE__*/_jsx(Text, {
185
+ style: {
186
+ fontSize: 10,
187
+ fontWeight: '600',
188
+ color: theme.colors.accentForeground,
189
+ fontVariant: ['tabular-nums']
190
+ },
191
+ children: totalUnread > 9 ? '9+' : totalUnread
192
+ })
193
+ })]
194
+ }), /*#__PURE__*/_jsxs(BottomSheet, {
195
+ visible: sheetOpen,
196
+ onClose: closeSheet,
197
+ theme: theme,
198
+ children: [screen.name === 'home' && /*#__PURE__*/_jsx(HomeScreen, {
199
+ theme: theme,
200
+ threads: threads,
201
+ loading: loading,
202
+ error: error,
203
+ onRetry: () => void refresh(),
204
+ onCompose: type => setScreen({
205
+ name: 'compose',
206
+ type
207
+ }),
208
+ onOpenThread: openThread,
209
+ onClose: closeSheet
210
+ }), screen.name === 'compose' && /*#__PURE__*/_jsx(ComposeScreen, {
211
+ theme: theme,
212
+ type: screen.type,
213
+ onBack: () => setScreen({
214
+ name: 'home'
215
+ }),
216
+ onSubmit: message => handleSubmit(screen.type, message)
217
+ }), screen.name === 'thread' && (activeThread ? /*#__PURE__*/_jsx(ThreadScreen, {
218
+ theme: theme,
219
+ thread: activeThread,
220
+ onBack: () => setScreen({
221
+ name: 'home'
222
+ }),
223
+ onSend: message => handleSend(activeThread.id, message)
224
+ }) : /*#__PURE__*/_jsx(HomeScreen, {
225
+ theme: theme,
226
+ threads: threads,
227
+ loading: loading,
228
+ error: error,
229
+ onRetry: () => void refresh(),
230
+ onCompose: type => setScreen({
231
+ name: 'compose',
232
+ type
233
+ }),
234
+ onOpenThread: openThread,
235
+ onClose: closeSheet
236
+ }))]
237
+ })]
238
+ });
239
+ }
240
+ //# sourceMappingURL=SupportButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useCallback","useEffect","useMemo","useRef","useState","Pressable","Text","View","getThreads","markRead","postMessage","submitQuery","SupportApiError","resolveTheme","validateProps","BottomSheet","BubbleMark","ComposeScreen","HomeScreen","ThreadScreen","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","SupportButton","props","validationError","theme","config","supabaseUrl","apiKey","appName","sheetOpen","setSheetOpen","screen","setScreen","name","threads","setThreads","totalUnread","setTotalUnread","loading","setLoading","error","setError","mounted","current","refresh","data","user","revenuecatId","total_unread","e","offline","openSheet","closeSheet","__DEV__","console","style","padding","borderWidth","borderColor","colors","statusDanger","borderRadius","radii","control","children","fontSize","color","openThread","thread","threadId","id","unread_count","prev","map","t","n","Math","max","queryId","catch","handleSubmit","type","message","queryType","userName","isPaid","appVersion","handleSend","activeThread","find","onPress","accessibilityRole","accessibilityLabel","pressed","width","height","border","backgroundColor","surfaceHover","surface","alignItems","justifyContent","textPrimary","size","position","top","right","minWidth","paddingHorizontal","accent","fontWeight","accentForeground","fontVariant","visible","onClose","onRetry","onCompose","onOpenThread","onBack","onSubmit","onSend"],"sourceRoot":"../../../src","sources":["components/SupportButton.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,225 @@
1
+ "use strict";
2
+
3
+ // Minimal geometric icons built from Views — keeps the SDK free of
4
+ // react-native-svg / icon-font dependencies. 1.5px strokes to match the
5
+ // Lucide icons used on the web dashboard.
6
+ import { View } from 'react-native';
7
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
+ const STROKE = 1.5;
9
+ export function ChatIcon({
10
+ color,
11
+ size = 16
12
+ }) {
13
+ const dot = {
14
+ width: size * 0.11,
15
+ height: size * 0.11,
16
+ borderRadius: size,
17
+ backgroundColor: color
18
+ };
19
+ return /*#__PURE__*/_jsxs(View, {
20
+ style: {
21
+ width: size,
22
+ height: size * 0.8,
23
+ borderWidth: STROKE,
24
+ borderColor: color,
25
+ borderRadius: size * 0.25,
26
+ flexDirection: 'row',
27
+ alignItems: 'center',
28
+ justifyContent: 'center',
29
+ gap: size * 0.11
30
+ },
31
+ children: [/*#__PURE__*/_jsx(View, {
32
+ style: dot
33
+ }), /*#__PURE__*/_jsx(View, {
34
+ style: dot
35
+ }), /*#__PURE__*/_jsx(View, {
36
+ style: dot
37
+ })]
38
+ });
39
+ }
40
+ export function PlusCircleIcon({
41
+ color,
42
+ size = 16
43
+ }) {
44
+ const bar = size * 0.45;
45
+ return /*#__PURE__*/_jsxs(View, {
46
+ style: {
47
+ width: size,
48
+ height: size,
49
+ borderWidth: STROKE,
50
+ borderColor: color,
51
+ borderRadius: size,
52
+ alignItems: 'center',
53
+ justifyContent: 'center'
54
+ },
55
+ children: [/*#__PURE__*/_jsx(View, {
56
+ style: {
57
+ width: bar,
58
+ height: STROKE,
59
+ backgroundColor: color
60
+ }
61
+ }), /*#__PURE__*/_jsx(View, {
62
+ style: {
63
+ width: STROKE,
64
+ height: bar,
65
+ backgroundColor: color,
66
+ position: 'absolute'
67
+ }
68
+ })]
69
+ });
70
+ }
71
+ export function AlertCircleIcon({
72
+ color,
73
+ size = 16
74
+ }) {
75
+ return /*#__PURE__*/_jsxs(View, {
76
+ style: {
77
+ width: size,
78
+ height: size,
79
+ borderWidth: STROKE,
80
+ borderColor: color,
81
+ borderRadius: size,
82
+ alignItems: 'center',
83
+ paddingTop: size * 0.2
84
+ },
85
+ children: [/*#__PURE__*/_jsx(View, {
86
+ style: {
87
+ width: STROKE,
88
+ height: size * 0.32,
89
+ backgroundColor: color
90
+ }
91
+ }), /*#__PURE__*/_jsx(View, {
92
+ style: {
93
+ width: STROKE + 0.5,
94
+ height: STROKE + 0.5,
95
+ borderRadius: 2,
96
+ backgroundColor: color,
97
+ marginTop: size * 0.09
98
+ }
99
+ })]
100
+ });
101
+ }
102
+
103
+ /** Chevron built from two borders, rotated. direction: right | left | down. */
104
+ export function Chevron({
105
+ color,
106
+ size = 10,
107
+ direction = 'right'
108
+ }) {
109
+ const rotation = direction === 'right' ? '-45deg' : direction === 'left' ? '135deg' : '45deg';
110
+ return /*#__PURE__*/_jsx(View, {
111
+ style: {
112
+ width: size * 0.7,
113
+ height: size * 0.7,
114
+ borderRightWidth: STROKE,
115
+ borderBottomWidth: STROKE,
116
+ borderColor: color,
117
+ transform: [{
118
+ rotate: rotation
119
+ }]
120
+ }
121
+ });
122
+ }
123
+ export function CloseIcon({
124
+ color,
125
+ size = 14
126
+ }) {
127
+ const bar = {
128
+ position: 'absolute',
129
+ width: size,
130
+ height: STROKE,
131
+ backgroundColor: color,
132
+ borderRadius: 1
133
+ };
134
+ return /*#__PURE__*/_jsxs(View, {
135
+ style: {
136
+ width: size,
137
+ height: size,
138
+ alignItems: 'center',
139
+ justifyContent: 'center'
140
+ },
141
+ children: [/*#__PURE__*/_jsx(View, {
142
+ style: [bar, {
143
+ transform: [{
144
+ rotate: '45deg'
145
+ }]
146
+ }]
147
+ }), /*#__PURE__*/_jsx(View, {
148
+ style: [bar, {
149
+ transform: [{
150
+ rotate: '-45deg'
151
+ }]
152
+ }]
153
+ })]
154
+ });
155
+ }
156
+ export function CheckIcon({
157
+ color,
158
+ size = 16
159
+ }) {
160
+ return /*#__PURE__*/_jsx(View, {
161
+ style: {
162
+ width: size * 0.9,
163
+ height: size * 0.5,
164
+ borderLeftWidth: STROKE + 0.5,
165
+ borderBottomWidth: STROKE + 0.5,
166
+ borderColor: color,
167
+ transform: [{
168
+ rotate: '-45deg'
169
+ }],
170
+ marginBottom: size * 0.15
171
+ }
172
+ });
173
+ }
174
+
175
+ /** The chat-bubble mark on the floating support button. */
176
+ export function BubbleMark({
177
+ color,
178
+ size = 20
179
+ }) {
180
+ const dot = {
181
+ width: size * 0.12,
182
+ height: size * 0.12,
183
+ borderRadius: size,
184
+ backgroundColor: color
185
+ };
186
+ return /*#__PURE__*/_jsxs(View, {
187
+ style: {
188
+ alignItems: 'flex-start'
189
+ },
190
+ children: [/*#__PURE__*/_jsxs(View, {
191
+ style: {
192
+ width: size,
193
+ height: size * 0.78,
194
+ borderWidth: STROKE + 0.25,
195
+ borderColor: color,
196
+ borderRadius: size * 0.28,
197
+ flexDirection: 'row',
198
+ alignItems: 'center',
199
+ justifyContent: 'center',
200
+ gap: size * 0.1
201
+ },
202
+ children: [/*#__PURE__*/_jsx(View, {
203
+ style: dot
204
+ }), /*#__PURE__*/_jsx(View, {
205
+ style: dot
206
+ }), /*#__PURE__*/_jsx(View, {
207
+ style: dot
208
+ })]
209
+ }), /*#__PURE__*/_jsx(View, {
210
+ style: {
211
+ width: size * 0.22,
212
+ height: size * 0.22,
213
+ borderLeftWidth: STROKE + 0.25,
214
+ borderBottomWidth: STROKE + 0.25,
215
+ borderColor: color,
216
+ marginLeft: size * 0.18,
217
+ marginTop: -STROKE,
218
+ transform: [{
219
+ skewX: '-12deg'
220
+ }]
221
+ }
222
+ })]
223
+ });
224
+ }
225
+ //# sourceMappingURL=icons.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["View","jsx","_jsx","jsxs","_jsxs","STROKE","ChatIcon","color","size","dot","width","height","borderRadius","backgroundColor","style","borderWidth","borderColor","flexDirection","alignItems","justifyContent","gap","children","PlusCircleIcon","bar","position","AlertCircleIcon","paddingTop","marginTop","Chevron","direction","rotation","borderRightWidth","borderBottomWidth","transform","rotate","CloseIcon","CheckIcon","borderLeftWidth","marginBottom","BubbleMark","marginLeft","skewX"],"sourceRoot":"../../../src","sources":["components/icons.tsx"],"mappings":"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","ignoreList":[]}