@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.
- package/lib/commonjs/api.js +93 -0
- package/lib/commonjs/api.js.map +1 -0
- package/lib/commonjs/components/BottomSheet.js +158 -0
- package/lib/commonjs/components/BottomSheet.js.map +1 -0
- package/lib/commonjs/components/SupportButton.js +244 -0
- package/lib/commonjs/components/SupportButton.js.map +1 -0
- package/lib/commonjs/components/icons.js +236 -0
- package/lib/commonjs/components/icons.js.map +1 -0
- package/lib/commonjs/components/primitives.js +284 -0
- package/lib/commonjs/components/primitives.js.map +1 -0
- package/lib/commonjs/components/screens/ComposeScreen.js +171 -0
- package/lib/commonjs/components/screens/ComposeScreen.js.map +1 -0
- package/lib/commonjs/components/screens/HomeScreen.js +227 -0
- package/lib/commonjs/components/screens/HomeScreen.js.map +1 -0
- package/lib/commonjs/components/screens/ThreadScreen.js +213 -0
- package/lib/commonjs/components/screens/ThreadScreen.js.map +1 -0
- package/lib/commonjs/index.js +58 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/package.json +1 -0
- package/lib/commonjs/theme.js +29 -0
- package/lib/commonjs/theme.js.map +1 -0
- package/lib/commonjs/types.js +14 -0
- package/lib/commonjs/types.js.map +1 -0
- package/lib/commonjs/utils.js +63 -0
- package/lib/commonjs/utils.js.map +1 -0
- package/lib/module/api.js +84 -0
- package/lib/module/api.js.map +1 -0
- package/lib/module/components/BottomSheet.js +153 -0
- package/lib/module/components/BottomSheet.js.map +1 -0
- package/lib/module/components/SupportButton.js +240 -0
- package/lib/module/components/SupportButton.js.map +1 -0
- package/lib/module/components/icons.js +225 -0
- package/lib/module/components/icons.js.map +1 -0
- package/lib/module/components/primitives.js +270 -0
- package/lib/module/components/primitives.js.map +1 -0
- package/lib/module/components/screens/ComposeScreen.js +167 -0
- package/lib/module/components/screens/ComposeScreen.js.map +1 -0
- package/lib/module/components/screens/HomeScreen.js +223 -0
- package/lib/module/components/screens/HomeScreen.js.map +1 -0
- package/lib/module/components/screens/ThreadScreen.js +209 -0
- package/lib/module/components/screens/ThreadScreen.js.map +1 -0
- package/lib/module/index.js +7 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/package.json +1 -0
- package/lib/module/theme.js +23 -0
- package/lib/module/theme.js.map +1 -0
- package/lib/module/types.js +10 -0
- package/lib/module/types.js.map +1 -0
- package/lib/module/utils.js +57 -0
- package/lib/module/utils.js.map +1 -0
- package/lib/typescript/api.d.ts +37 -0
- package/lib/typescript/api.d.ts.map +1 -0
- package/lib/typescript/components/BottomSheet.d.ts +9 -0
- package/lib/typescript/components/BottomSheet.d.ts.map +1 -0
- package/lib/typescript/components/SupportButton.d.ts +8 -0
- package/lib/typescript/components/SupportButton.d.ts.map +1 -0
- package/lib/typescript/components/icons.d.ts +32 -0
- package/lib/typescript/components/icons.d.ts.map +1 -0
- package/lib/typescript/components/primitives.d.ts +60 -0
- package/lib/typescript/components/primitives.d.ts.map +1 -0
- package/lib/typescript/components/screens/ComposeScreen.d.ts +10 -0
- package/lib/typescript/components/screens/ComposeScreen.d.ts.map +1 -0
- package/lib/typescript/components/screens/HomeScreen.d.ts +13 -0
- package/lib/typescript/components/screens/HomeScreen.d.ts.map +1 -0
- package/lib/typescript/components/screens/ThreadScreen.d.ts +10 -0
- package/lib/typescript/components/screens/ThreadScreen.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +6 -0
- package/lib/typescript/index.d.ts.map +1 -0
- package/lib/typescript/theme.d.ts +13 -0
- package/lib/typescript/theme.d.ts.map +1 -0
- package/lib/typescript/types.d.ts +61 -0
- package/lib/typescript/types.d.ts.map +1 -0
- package/lib/typescript/utils.d.ts +11 -0
- package/lib/typescript/utils.d.ts.map +1 -0
- package/package.json +51 -0
- package/src/api.ts +125 -0
- package/src/components/BottomSheet.tsx +173 -0
- package/src/components/SupportButton.tsx +265 -0
- package/src/components/icons.tsx +189 -0
- package/src/components/primitives.tsx +298 -0
- package/src/components/screens/ComposeScreen.tsx +163 -0
- package/src/components/screens/HomeScreen.tsx +234 -0
- package/src/components/screens/ThreadScreen.tsx +227 -0
- package/src/index.tsx +24 -0
- package/src/theme.ts +39 -0
- package/src/types.ts +71 -0
- 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":[]}
|