@appsupportkit/support-sdk 0.1.1 → 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/lib/commonjs/api.js +29 -0
- package/lib/commonjs/api.js.map +1 -1
- package/lib/commonjs/components/BottomSheet.js +67 -47
- package/lib/commonjs/components/BottomSheet.js.map +1 -1
- package/lib/commonjs/components/LauncherButton.js +177 -0
- package/lib/commonjs/components/LauncherButton.js.map +1 -0
- package/lib/commonjs/components/SupportButton.js +76 -146
- package/lib/commonjs/components/SupportButton.js.map +1 -1
- package/lib/commonjs/components/icons.js +74 -23
- package/lib/commonjs/components/icons.js.map +1 -1
- package/lib/commonjs/components/primitives.js +183 -38
- package/lib/commonjs/components/primitives.js.map +1 -1
- package/lib/commonjs/components/screens/ComposeScreen.js +115 -58
- package/lib/commonjs/components/screens/ComposeScreen.js.map +1 -1
- package/lib/commonjs/components/screens/HomeScreen.js +170 -115
- package/lib/commonjs/components/screens/HomeScreen.js.map +1 -1
- package/lib/commonjs/components/screens/ThreadScreen.js +222 -108
- package/lib/commonjs/components/screens/ThreadScreen.js.map +1 -1
- package/lib/commonjs/index.js +7 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/push.js +103 -0
- package/lib/commonjs/push.js.map +1 -0
- package/lib/commonjs/theme.js +136 -17
- package/lib/commonjs/theme.js.map +1 -1
- package/lib/commonjs/types.js +7 -0
- package/lib/commonjs/types.js.map +1 -1
- package/lib/commonjs/unread.js +92 -0
- package/lib/commonjs/unread.js.map +1 -0
- package/lib/commonjs/useSupportThreads.js +286 -0
- package/lib/commonjs/useSupportThreads.js.map +1 -0
- package/lib/commonjs/utils.js +33 -0
- package/lib/commonjs/utils.js.map +1 -1
- package/lib/module/api.js +27 -0
- package/lib/module/api.js.map +1 -1
- package/lib/module/components/BottomSheet.js +68 -48
- package/lib/module/components/BottomSheet.js.map +1 -1
- package/lib/module/components/LauncherButton.js +172 -0
- package/lib/module/components/LauncherButton.js.map +1 -0
- package/lib/module/components/SupportButton.js +79 -149
- package/lib/module/components/SupportButton.js.map +1 -1
- package/lib/module/components/icons.js +72 -22
- package/lib/module/components/icons.js.map +1 -1
- package/lib/module/components/primitives.js +179 -39
- package/lib/module/components/primitives.js.map +1 -1
- package/lib/module/components/screens/ComposeScreen.js +118 -61
- package/lib/module/components/screens/ComposeScreen.js.map +1 -1
- package/lib/module/components/screens/HomeScreen.js +172 -117
- package/lib/module/components/screens/HomeScreen.js.map +1 -1
- package/lib/module/components/screens/ThreadScreen.js +228 -112
- package/lib/module/components/screens/ThreadScreen.js.map +1 -1
- package/lib/module/index.js +1 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/push.js +98 -0
- package/lib/module/push.js.map +1 -0
- package/lib/module/theme.js +135 -16
- package/lib/module/theme.js.map +1 -1
- package/lib/module/types.js +7 -0
- package/lib/module/types.js.map +1 -1
- package/lib/module/unread.js +83 -0
- package/lib/module/unread.js.map +1 -0
- package/lib/module/useSupportThreads.js +281 -0
- package/lib/module/useSupportThreads.js.map +1 -0
- package/lib/module/utils.js +30 -0
- package/lib/module/utils.js.map +1 -1
- package/lib/typescript/api.d.ts +17 -1
- package/lib/typescript/api.d.ts.map +1 -1
- package/lib/typescript/components/BottomSheet.d.ts.map +1 -1
- package/lib/typescript/components/LauncherButton.d.ts +14 -0
- package/lib/typescript/components/LauncherButton.d.ts.map +1 -0
- package/lib/typescript/components/SupportButton.d.ts +3 -3
- package/lib/typescript/components/SupportButton.d.ts.map +1 -1
- package/lib/typescript/components/icons.d.ts +13 -2
- package/lib/typescript/components/icons.d.ts.map +1 -1
- package/lib/typescript/components/primitives.d.ts +35 -4
- package/lib/typescript/components/primitives.d.ts.map +1 -1
- package/lib/typescript/components/screens/ComposeScreen.d.ts.map +1 -1
- package/lib/typescript/components/screens/HomeScreen.d.ts +3 -2
- package/lib/typescript/components/screens/HomeScreen.d.ts.map +1 -1
- package/lib/typescript/components/screens/ThreadScreen.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +2 -1
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/push.d.ts +18 -0
- package/lib/typescript/push.d.ts.map +1 -0
- package/lib/typescript/theme.d.ts +44 -3
- package/lib/typescript/theme.d.ts.map +1 -1
- package/lib/typescript/types.d.ts +37 -4
- package/lib/typescript/types.d.ts.map +1 -1
- package/lib/typescript/unread.d.ts +22 -0
- package/lib/typescript/unread.d.ts.map +1 -0
- package/lib/typescript/useSupportThreads.d.ts +28 -0
- package/lib/typescript/useSupportThreads.d.ts.map +1 -0
- package/lib/typescript/utils.d.ts +5 -0
- package/lib/typescript/utils.d.ts.map +1 -1
- package/package.json +8 -2
- package/src/api.ts +41 -1
- package/src/components/BottomSheet.tsx +61 -43
- package/src/components/LauncherButton.tsx +217 -0
- package/src/components/SupportButton.tsx +81 -162
- package/src/components/icons.tsx +77 -19
- package/src/components/primitives.tsx +217 -36
- package/src/components/screens/ComposeScreen.tsx +131 -61
- package/src/components/screens/HomeScreen.tsx +168 -117
- package/src/components/screens/ThreadScreen.tsx +289 -119
- package/src/index.tsx +3 -0
- package/src/push.ts +97 -0
- package/src/theme.ts +165 -18
- package/src/types.ts +39 -4
- package/src/unread.ts +91 -0
- package/src/useSupportThreads.ts +372 -0
- package/src/utils.ts +33 -0
|
@@ -1,24 +1,26 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { useCallback,
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
3
|
+
import { useCallback, useMemo, useState } from 'react';
|
|
4
|
+
import { Text, View } from 'react-native';
|
|
5
|
+
import { postMessage, registerPush, submitQuery, SupportApiError } from '../api';
|
|
6
|
+
import { ensurePushPermission, isPushAvailable } from '../push';
|
|
6
7
|
import { resolveTheme } from '../theme';
|
|
8
|
+
import { IDLE_POLL_MS, useSupportThreads } from '../useSupportThreads';
|
|
7
9
|
import { validateProps } from '../utils';
|
|
8
10
|
import { BottomSheet } from './BottomSheet';
|
|
9
|
-
import {
|
|
11
|
+
import { LauncherButton } from './LauncherButton';
|
|
10
12
|
import { ComposeScreen } from './screens/ComposeScreen';
|
|
11
13
|
import { HomeScreen } from './screens/HomeScreen';
|
|
12
14
|
import { ThreadScreen } from './screens/ThreadScreen';
|
|
13
15
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
14
16
|
/**
|
|
15
|
-
* The single entry point of the SDK: a
|
|
16
|
-
* opens the support bottom sheet.
|
|
17
|
-
*
|
|
17
|
+
* The single entry point of the SDK: a launcher with an unread badge that
|
|
18
|
+
* opens the support bottom sheet. Threads, polling, and read receipts are
|
|
19
|
+
* handled by useSupportThreads.
|
|
18
20
|
*/
|
|
19
21
|
export function SupportButton(props) {
|
|
20
22
|
const validationError = validateProps(props);
|
|
21
|
-
const theme = resolveTheme(props.theme);
|
|
23
|
+
const theme = useMemo(() => resolveTheme(props.theme, props.accentColor), [props.theme, props.accentColor]);
|
|
22
24
|
const config = useMemo(() => ({
|
|
23
25
|
supabaseUrl: props.supabaseUrl,
|
|
24
26
|
apiKey: props.apiKey,
|
|
@@ -28,62 +30,51 @@ export function SupportButton(props) {
|
|
|
28
30
|
const [screen, setScreen] = useState({
|
|
29
31
|
name: 'home'
|
|
30
32
|
});
|
|
31
|
-
const
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
33
|
+
const {
|
|
34
|
+
threads,
|
|
35
|
+
totalUnread,
|
|
36
|
+
loading,
|
|
37
|
+
refreshing,
|
|
38
|
+
error,
|
|
39
|
+
refresh,
|
|
40
|
+
reload
|
|
41
|
+
} = useSupportThreads({
|
|
42
|
+
config,
|
|
43
|
+
revenuecatId: props.user.revenuecatId,
|
|
44
|
+
enabled: validationError === null,
|
|
45
|
+
sheetOpen,
|
|
46
|
+
activeThreadId: screen.name === 'thread' ? screen.threadId : null,
|
|
47
|
+
idlePollMs: props.pollIntervalMs ?? IDLE_POLL_MS
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Asks for notification permission the moment the sheet opens, then
|
|
52
|
+
* reports the outcome (including denials) so the dashboard knows whether
|
|
53
|
+
* this user is reachable. Deliberately fire-and-forget: nothing in the
|
|
54
|
+
* support flow waits on it or breaks if it fails.
|
|
55
|
+
*/
|
|
56
|
+
const syncPushPermission = useCallback(async () => {
|
|
57
|
+
if (validationError !== null || !isPushAvailable) return;
|
|
46
58
|
try {
|
|
47
|
-
const
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
}
|
|
55
|
-
|
|
59
|
+
const registration = await ensurePushPermission(props.expoProjectId);
|
|
60
|
+
await registerPush(config, {
|
|
61
|
+
revenuecatId: props.user.revenuecatId,
|
|
62
|
+
permissionStatus: registration.status,
|
|
63
|
+
expoPushToken: registration.token,
|
|
64
|
+
asked: registration.asked
|
|
65
|
+
});
|
|
66
|
+
} catch {
|
|
67
|
+
// Push is an enhancement — never surfaced to the user as an error.
|
|
56
68
|
}
|
|
57
|
-
}, [config, props.user.revenuecatId, validationError]);
|
|
58
|
-
|
|
59
|
-
// Poll on mount…
|
|
60
|
-
useEffect(() => {
|
|
61
|
-
void refresh();
|
|
62
|
-
}, [refresh]);
|
|
63
|
-
|
|
64
|
-
// …in the background so the badge stays current without opening the
|
|
65
|
-
// sheet, and whenever the app returns to the foreground.
|
|
66
|
-
const pollIntervalMs = props.pollIntervalMs ?? 30_000;
|
|
67
|
-
useEffect(() => {
|
|
68
|
-
// Clamp to a sane floor so a typo like `pollIntervalMs={30}` doesn't
|
|
69
|
-
// hammer the API. 0 (or negative) disables interval polling.
|
|
70
|
-
const interval = pollIntervalMs > 0 ? setInterval(() => void refresh(), Math.max(pollIntervalMs, 5_000)) : null;
|
|
71
|
-
const appStateSub = AppState.addEventListener('change', state => {
|
|
72
|
-
if (state === 'active') void refresh();
|
|
73
|
-
});
|
|
74
|
-
return () => {
|
|
75
|
-
if (interval !== null) clearInterval(interval);
|
|
76
|
-
appStateSub.remove();
|
|
77
|
-
};
|
|
78
|
-
}, [pollIntervalMs, refresh]);
|
|
79
|
-
|
|
80
|
-
// …and on sheet open.
|
|
69
|
+
}, [config, props.user.revenuecatId, props.expoProjectId, validationError]);
|
|
81
70
|
function openSheet() {
|
|
82
71
|
setScreen({
|
|
83
72
|
name: 'home'
|
|
84
73
|
});
|
|
85
74
|
setSheetOpen(true);
|
|
86
|
-
|
|
75
|
+
// The OS prompt appears right as the sheet opens; if the user declines,
|
|
76
|
+
// everything below carries on exactly as before.
|
|
77
|
+
void syncPushPermission();
|
|
87
78
|
}
|
|
88
79
|
function closeSheet() {
|
|
89
80
|
setSheetOpen(false);
|
|
@@ -91,7 +82,7 @@ export function SupportButton(props) {
|
|
|
91
82
|
name: 'home'
|
|
92
83
|
});
|
|
93
84
|
}
|
|
94
|
-
if (validationError) {
|
|
85
|
+
if (validationError !== null) {
|
|
95
86
|
// Dev-mode: loud and actionable. Production: render nothing rather than
|
|
96
87
|
// a broken button.
|
|
97
88
|
if (__DEV__) {
|
|
@@ -114,26 +105,6 @@ export function SupportButton(props) {
|
|
|
114
105
|
}
|
|
115
106
|
return null;
|
|
116
107
|
}
|
|
117
|
-
function openThread(thread) {
|
|
118
|
-
setScreen({
|
|
119
|
-
name: 'thread',
|
|
120
|
-
threadId: thread.id
|
|
121
|
-
});
|
|
122
|
-
if (thread.unread_count > 0) {
|
|
123
|
-
// Optimistically clear the badge; persist via mark-read.
|
|
124
|
-
setThreads(prev => prev?.map(t => t.id === thread.id ? {
|
|
125
|
-
...t,
|
|
126
|
-
unread_count: 0
|
|
127
|
-
} : t) ?? null);
|
|
128
|
-
setTotalUnread(n => Math.max(0, n - thread.unread_count));
|
|
129
|
-
void markRead(config, {
|
|
130
|
-
queryId: thread.id,
|
|
131
|
-
revenuecatId: props.user.revenuecatId
|
|
132
|
-
}).catch(() => {
|
|
133
|
-
// Non-fatal: the next get-threads reconciles the badge.
|
|
134
|
-
});
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
108
|
function writeErrorMessage(e) {
|
|
138
109
|
if (e instanceof SupportApiError) {
|
|
139
110
|
if (e.status === 429) return 'Too many requests — try again later';
|
|
@@ -151,7 +122,7 @@ export function SupportButton(props) {
|
|
|
151
122
|
revenuecatId: props.user.revenuecatId,
|
|
152
123
|
appVersion: props.user.appVersion
|
|
153
124
|
});
|
|
154
|
-
void
|
|
125
|
+
void reload();
|
|
155
126
|
return null;
|
|
156
127
|
} catch (e) {
|
|
157
128
|
return writeErrorMessage(e);
|
|
@@ -164,99 +135,58 @@ export function SupportButton(props) {
|
|
|
164
135
|
revenuecatId: props.user.revenuecatId,
|
|
165
136
|
message
|
|
166
137
|
});
|
|
167
|
-
await
|
|
138
|
+
await reload();
|
|
168
139
|
return null;
|
|
169
140
|
} catch (e) {
|
|
170
141
|
return writeErrorMessage(e);
|
|
171
142
|
}
|
|
172
143
|
}
|
|
173
144
|
const activeThread = screen.name === 'thread' ? (threads ?? []).find(t => t.id === screen.threadId) ?? null : null;
|
|
145
|
+
const home = /*#__PURE__*/_jsx(HomeScreen, {
|
|
146
|
+
theme: theme,
|
|
147
|
+
threads: threads,
|
|
148
|
+
loading: loading,
|
|
149
|
+
refreshing: refreshing,
|
|
150
|
+
error: error,
|
|
151
|
+
onRefresh: refresh,
|
|
152
|
+
onCompose: type => setScreen({
|
|
153
|
+
name: 'compose',
|
|
154
|
+
type
|
|
155
|
+
}),
|
|
156
|
+
onOpenThread: thread => setScreen({
|
|
157
|
+
name: 'thread',
|
|
158
|
+
threadId: thread.id
|
|
159
|
+
}),
|
|
160
|
+
onClose: closeSheet
|
|
161
|
+
});
|
|
174
162
|
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
175
|
-
children: [/*#__PURE__*/
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
height: 44,
|
|
184
|
-
borderRadius: 22,
|
|
185
|
-
borderWidth: 1,
|
|
186
|
-
borderColor: theme.colors.border,
|
|
187
|
-
backgroundColor: pressed ? theme.colors.surfaceHover : theme.colors.surface,
|
|
188
|
-
alignItems: 'center',
|
|
189
|
-
justifyContent: 'center'
|
|
190
|
-
}),
|
|
191
|
-
children: [/*#__PURE__*/_jsx(BubbleMark, {
|
|
192
|
-
color: theme.colors.textPrimary,
|
|
193
|
-
size: 18
|
|
194
|
-
}), totalUnread > 0 && /*#__PURE__*/_jsx(View, {
|
|
195
|
-
style: {
|
|
196
|
-
position: 'absolute',
|
|
197
|
-
top: -3,
|
|
198
|
-
right: -3,
|
|
199
|
-
minWidth: 16,
|
|
200
|
-
height: 16,
|
|
201
|
-
borderRadius: 8,
|
|
202
|
-
paddingHorizontal: 4,
|
|
203
|
-
backgroundColor: theme.colors.accent,
|
|
204
|
-
alignItems: 'center',
|
|
205
|
-
justifyContent: 'center'
|
|
206
|
-
},
|
|
207
|
-
children: /*#__PURE__*/_jsx(Text, {
|
|
208
|
-
style: {
|
|
209
|
-
fontSize: 10,
|
|
210
|
-
fontWeight: '600',
|
|
211
|
-
color: theme.colors.accentForeground,
|
|
212
|
-
fontVariant: ['tabular-nums']
|
|
213
|
-
},
|
|
214
|
-
children: totalUnread > 9 ? '9+' : totalUnread
|
|
215
|
-
})
|
|
216
|
-
})]
|
|
163
|
+
children: [/*#__PURE__*/_jsx(LauncherButton, {
|
|
164
|
+
theme: theme,
|
|
165
|
+
unread: totalUnread,
|
|
166
|
+
variant: props.variant,
|
|
167
|
+
size: props.size,
|
|
168
|
+
label: props.label,
|
|
169
|
+
style: props.style,
|
|
170
|
+
onPress: openSheet
|
|
217
171
|
}), /*#__PURE__*/_jsxs(BottomSheet, {
|
|
218
172
|
visible: sheetOpen,
|
|
219
173
|
onClose: closeSheet,
|
|
220
174
|
theme: theme,
|
|
221
|
-
children: [screen.name === 'home' && /*#__PURE__*/_jsx(
|
|
222
|
-
theme: theme,
|
|
223
|
-
threads: threads,
|
|
224
|
-
loading: loading,
|
|
225
|
-
error: error,
|
|
226
|
-
onRetry: () => void refresh(),
|
|
227
|
-
onCompose: type => setScreen({
|
|
228
|
-
name: 'compose',
|
|
229
|
-
type
|
|
230
|
-
}),
|
|
231
|
-
onOpenThread: openThread,
|
|
232
|
-
onClose: closeSheet
|
|
233
|
-
}), screen.name === 'compose' && /*#__PURE__*/_jsx(ComposeScreen, {
|
|
175
|
+
children: [screen.name === 'home' && home, screen.name === 'compose' && /*#__PURE__*/_jsx(ComposeScreen, {
|
|
234
176
|
theme: theme,
|
|
235
177
|
type: screen.type,
|
|
236
178
|
onBack: () => setScreen({
|
|
237
179
|
name: 'home'
|
|
238
180
|
}),
|
|
239
181
|
onSubmit: message => handleSubmit(screen.type, message)
|
|
240
|
-
}), screen.name === 'thread' && (activeThread ? /*#__PURE__*/_jsx(ThreadScreen, {
|
|
182
|
+
}), screen.name === 'thread' && (activeThread !== null ? /*#__PURE__*/_jsx(ThreadScreen, {
|
|
241
183
|
theme: theme,
|
|
242
184
|
thread: activeThread,
|
|
243
185
|
onBack: () => setScreen({
|
|
244
186
|
name: 'home'
|
|
245
187
|
}),
|
|
246
188
|
onSend: message => handleSend(activeThread.id, message)
|
|
247
|
-
}) :
|
|
248
|
-
theme: theme,
|
|
249
|
-
threads: threads,
|
|
250
|
-
loading: loading,
|
|
251
|
-
error: error,
|
|
252
|
-
onRetry: () => void refresh(),
|
|
253
|
-
onCompose: type => setScreen({
|
|
254
|
-
name: 'compose',
|
|
255
|
-
type
|
|
256
|
-
}),
|
|
257
|
-
onOpenThread: openThread,
|
|
258
|
-
onClose: closeSheet
|
|
259
|
-
}))]
|
|
189
|
+
}) : home)]
|
|
260
190
|
})]
|
|
261
191
|
});
|
|
262
192
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","
|
|
1
|
+
{"version":3,"names":["useCallback","useMemo","useState","Text","View","postMessage","registerPush","submitQuery","SupportApiError","ensurePushPermission","isPushAvailable","resolveTheme","IDLE_POLL_MS","useSupportThreads","validateProps","BottomSheet","LauncherButton","ComposeScreen","HomeScreen","ThreadScreen","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","SupportButton","props","validationError","theme","accentColor","config","supabaseUrl","apiKey","appName","sheetOpen","setSheetOpen","screen","setScreen","name","threads","totalUnread","loading","refreshing","error","refresh","reload","revenuecatId","user","enabled","activeThreadId","threadId","idlePollMs","pollIntervalMs","syncPushPermission","registration","expoProjectId","permissionStatus","status","expoPushToken","token","asked","openSheet","closeSheet","__DEV__","console","style","padding","borderWidth","borderColor","colors","statusDanger","borderRadius","radii","control","children","fontSize","color","writeErrorMessage","e","offline","handleSubmit","type","message","queryType","userName","isPaid","appVersion","handleSend","queryId","activeThread","find","t","id","home","onRefresh","onCompose","onOpenThread","thread","onClose","unread","variant","size","label","onPress","visible","onBack","onSubmit","onSend"],"sourceRoot":"../../../src","sources":["components/SupportButton.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -172,32 +172,81 @@ export function CheckIcon({
|
|
|
172
172
|
});
|
|
173
173
|
}
|
|
174
174
|
|
|
175
|
-
/**
|
|
176
|
-
export function
|
|
175
|
+
/** Send arrow: a stem plus a chevron head, both centered on the same axis. */
|
|
176
|
+
export function ArrowUpIcon({
|
|
177
177
|
color,
|
|
178
|
-
size =
|
|
178
|
+
size = 16
|
|
179
179
|
}) {
|
|
180
|
+
const stroke = STROKE + 0.4;
|
|
181
|
+
const head = size * 0.44;
|
|
182
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
183
|
+
style: {
|
|
184
|
+
width: size,
|
|
185
|
+
height: size,
|
|
186
|
+
alignItems: 'center',
|
|
187
|
+
justifyContent: 'center'
|
|
188
|
+
},
|
|
189
|
+
children: [/*#__PURE__*/_jsx(View, {
|
|
190
|
+
style: {
|
|
191
|
+
position: 'absolute',
|
|
192
|
+
width: stroke,
|
|
193
|
+
height: size * 0.66,
|
|
194
|
+
borderRadius: stroke,
|
|
195
|
+
backgroundColor: color
|
|
196
|
+
}
|
|
197
|
+
}), /*#__PURE__*/_jsx(View, {
|
|
198
|
+
style: {
|
|
199
|
+
position: 'absolute',
|
|
200
|
+
// Rotating a square by 45° lifts its apex by ~0.207 × side, so
|
|
201
|
+
// offset by that to land the point on top of the stem.
|
|
202
|
+
top: size * 0.17 + head * 0.207,
|
|
203
|
+
width: head,
|
|
204
|
+
height: head,
|
|
205
|
+
borderTopWidth: stroke,
|
|
206
|
+
borderLeftWidth: stroke,
|
|
207
|
+
borderTopLeftRadius: stroke,
|
|
208
|
+
borderColor: color,
|
|
209
|
+
transform: [{
|
|
210
|
+
rotate: '45deg'
|
|
211
|
+
}]
|
|
212
|
+
}
|
|
213
|
+
})]
|
|
214
|
+
});
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
/**
|
|
218
|
+
* The chat-bubble mark on the launcher button: a filled bubble with the
|
|
219
|
+
* dots knocked out in the button's own fill color. Solid shapes read far
|
|
220
|
+
* better than 1.5px strokes at launcher size and on top of a color fill.
|
|
221
|
+
*/
|
|
222
|
+
export function ChatBubbleMark({
|
|
223
|
+
color,
|
|
224
|
+
dotColor,
|
|
225
|
+
size = 24
|
|
226
|
+
}) {
|
|
227
|
+
const bubbleHeight = size * 0.82;
|
|
180
228
|
const dot = {
|
|
181
|
-
width: size * 0.
|
|
182
|
-
height: size * 0.
|
|
229
|
+
width: size * 0.13,
|
|
230
|
+
height: size * 0.13,
|
|
183
231
|
borderRadius: size,
|
|
184
|
-
backgroundColor:
|
|
232
|
+
backgroundColor: dotColor
|
|
185
233
|
};
|
|
186
234
|
return /*#__PURE__*/_jsxs(View, {
|
|
187
235
|
style: {
|
|
188
|
-
|
|
236
|
+
width: size,
|
|
237
|
+
height: size,
|
|
238
|
+
justifyContent: 'flex-start'
|
|
189
239
|
},
|
|
190
240
|
children: [/*#__PURE__*/_jsxs(View, {
|
|
191
241
|
style: {
|
|
192
242
|
width: size,
|
|
193
|
-
height:
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
borderRadius: size * 0.28,
|
|
243
|
+
height: bubbleHeight,
|
|
244
|
+
borderRadius: size * 0.33,
|
|
245
|
+
backgroundColor: color,
|
|
197
246
|
flexDirection: 'row',
|
|
198
247
|
alignItems: 'center',
|
|
199
248
|
justifyContent: 'center',
|
|
200
|
-
gap: size * 0.
|
|
249
|
+
gap: size * 0.115
|
|
201
250
|
},
|
|
202
251
|
children: [/*#__PURE__*/_jsx(View, {
|
|
203
252
|
style: dot
|
|
@@ -208,16 +257,17 @@ export function BubbleMark({
|
|
|
208
257
|
})]
|
|
209
258
|
}), /*#__PURE__*/_jsx(View, {
|
|
210
259
|
style: {
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
260
|
+
position: 'absolute',
|
|
261
|
+
left: size * 0.22,
|
|
262
|
+
top: bubbleHeight - 1,
|
|
263
|
+
width: 0,
|
|
264
|
+
height: 0,
|
|
265
|
+
borderLeftWidth: size * 0.09,
|
|
266
|
+
borderRightWidth: size * 0.16,
|
|
267
|
+
borderTopWidth: size * 0.2,
|
|
268
|
+
borderLeftColor: 'transparent',
|
|
269
|
+
borderRightColor: 'transparent',
|
|
270
|
+
borderTopColor: color
|
|
221
271
|
}
|
|
222
272
|
})]
|
|
223
273
|
});
|
|
@@ -1 +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","
|
|
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","ArrowUpIcon","stroke","head","top","borderTopWidth","borderTopLeftRadius","ChatBubbleMark","dotColor","bubbleHeight","left","borderLeftColor","borderRightColor","borderTopColor"],"sourceRoot":"../../../src","sources":["components/icons.tsx"],"mappings":"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","ignoreList":[]}
|