@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.
Files changed (110) hide show
  1. package/lib/commonjs/api.js +29 -0
  2. package/lib/commonjs/api.js.map +1 -1
  3. package/lib/commonjs/components/BottomSheet.js +67 -47
  4. package/lib/commonjs/components/BottomSheet.js.map +1 -1
  5. package/lib/commonjs/components/LauncherButton.js +177 -0
  6. package/lib/commonjs/components/LauncherButton.js.map +1 -0
  7. package/lib/commonjs/components/SupportButton.js +76 -146
  8. package/lib/commonjs/components/SupportButton.js.map +1 -1
  9. package/lib/commonjs/components/icons.js +74 -23
  10. package/lib/commonjs/components/icons.js.map +1 -1
  11. package/lib/commonjs/components/primitives.js +183 -38
  12. package/lib/commonjs/components/primitives.js.map +1 -1
  13. package/lib/commonjs/components/screens/ComposeScreen.js +115 -58
  14. package/lib/commonjs/components/screens/ComposeScreen.js.map +1 -1
  15. package/lib/commonjs/components/screens/HomeScreen.js +170 -115
  16. package/lib/commonjs/components/screens/HomeScreen.js.map +1 -1
  17. package/lib/commonjs/components/screens/ThreadScreen.js +222 -108
  18. package/lib/commonjs/components/screens/ThreadScreen.js.map +1 -1
  19. package/lib/commonjs/index.js +7 -0
  20. package/lib/commonjs/index.js.map +1 -1
  21. package/lib/commonjs/push.js +103 -0
  22. package/lib/commonjs/push.js.map +1 -0
  23. package/lib/commonjs/theme.js +136 -17
  24. package/lib/commonjs/theme.js.map +1 -1
  25. package/lib/commonjs/types.js +7 -0
  26. package/lib/commonjs/types.js.map +1 -1
  27. package/lib/commonjs/unread.js +92 -0
  28. package/lib/commonjs/unread.js.map +1 -0
  29. package/lib/commonjs/useSupportThreads.js +286 -0
  30. package/lib/commonjs/useSupportThreads.js.map +1 -0
  31. package/lib/commonjs/utils.js +33 -0
  32. package/lib/commonjs/utils.js.map +1 -1
  33. package/lib/module/api.js +27 -0
  34. package/lib/module/api.js.map +1 -1
  35. package/lib/module/components/BottomSheet.js +68 -48
  36. package/lib/module/components/BottomSheet.js.map +1 -1
  37. package/lib/module/components/LauncherButton.js +172 -0
  38. package/lib/module/components/LauncherButton.js.map +1 -0
  39. package/lib/module/components/SupportButton.js +79 -149
  40. package/lib/module/components/SupportButton.js.map +1 -1
  41. package/lib/module/components/icons.js +72 -22
  42. package/lib/module/components/icons.js.map +1 -1
  43. package/lib/module/components/primitives.js +179 -39
  44. package/lib/module/components/primitives.js.map +1 -1
  45. package/lib/module/components/screens/ComposeScreen.js +118 -61
  46. package/lib/module/components/screens/ComposeScreen.js.map +1 -1
  47. package/lib/module/components/screens/HomeScreen.js +172 -117
  48. package/lib/module/components/screens/HomeScreen.js.map +1 -1
  49. package/lib/module/components/screens/ThreadScreen.js +228 -112
  50. package/lib/module/components/screens/ThreadScreen.js.map +1 -1
  51. package/lib/module/index.js +1 -0
  52. package/lib/module/index.js.map +1 -1
  53. package/lib/module/push.js +98 -0
  54. package/lib/module/push.js.map +1 -0
  55. package/lib/module/theme.js +135 -16
  56. package/lib/module/theme.js.map +1 -1
  57. package/lib/module/types.js +7 -0
  58. package/lib/module/types.js.map +1 -1
  59. package/lib/module/unread.js +83 -0
  60. package/lib/module/unread.js.map +1 -0
  61. package/lib/module/useSupportThreads.js +281 -0
  62. package/lib/module/useSupportThreads.js.map +1 -0
  63. package/lib/module/utils.js +30 -0
  64. package/lib/module/utils.js.map +1 -1
  65. package/lib/typescript/api.d.ts +17 -1
  66. package/lib/typescript/api.d.ts.map +1 -1
  67. package/lib/typescript/components/BottomSheet.d.ts.map +1 -1
  68. package/lib/typescript/components/LauncherButton.d.ts +14 -0
  69. package/lib/typescript/components/LauncherButton.d.ts.map +1 -0
  70. package/lib/typescript/components/SupportButton.d.ts +3 -3
  71. package/lib/typescript/components/SupportButton.d.ts.map +1 -1
  72. package/lib/typescript/components/icons.d.ts +13 -2
  73. package/lib/typescript/components/icons.d.ts.map +1 -1
  74. package/lib/typescript/components/primitives.d.ts +35 -4
  75. package/lib/typescript/components/primitives.d.ts.map +1 -1
  76. package/lib/typescript/components/screens/ComposeScreen.d.ts.map +1 -1
  77. package/lib/typescript/components/screens/HomeScreen.d.ts +3 -2
  78. package/lib/typescript/components/screens/HomeScreen.d.ts.map +1 -1
  79. package/lib/typescript/components/screens/ThreadScreen.d.ts.map +1 -1
  80. package/lib/typescript/index.d.ts +2 -1
  81. package/lib/typescript/index.d.ts.map +1 -1
  82. package/lib/typescript/push.d.ts +18 -0
  83. package/lib/typescript/push.d.ts.map +1 -0
  84. package/lib/typescript/theme.d.ts +44 -3
  85. package/lib/typescript/theme.d.ts.map +1 -1
  86. package/lib/typescript/types.d.ts +37 -4
  87. package/lib/typescript/types.d.ts.map +1 -1
  88. package/lib/typescript/unread.d.ts +22 -0
  89. package/lib/typescript/unread.d.ts.map +1 -0
  90. package/lib/typescript/useSupportThreads.d.ts +28 -0
  91. package/lib/typescript/useSupportThreads.d.ts.map +1 -0
  92. package/lib/typescript/utils.d.ts +5 -0
  93. package/lib/typescript/utils.d.ts.map +1 -1
  94. package/package.json +8 -2
  95. package/src/api.ts +41 -1
  96. package/src/components/BottomSheet.tsx +61 -43
  97. package/src/components/LauncherButton.tsx +217 -0
  98. package/src/components/SupportButton.tsx +81 -162
  99. package/src/components/icons.tsx +77 -19
  100. package/src/components/primitives.tsx +217 -36
  101. package/src/components/screens/ComposeScreen.tsx +131 -61
  102. package/src/components/screens/HomeScreen.tsx +168 -117
  103. package/src/components/screens/ThreadScreen.tsx +289 -119
  104. package/src/index.tsx +3 -0
  105. package/src/push.ts +97 -0
  106. package/src/theme.ts +165 -18
  107. package/src/types.ts +39 -4
  108. package/src/unread.ts +91 -0
  109. package/src/useSupportThreads.ts +372 -0
  110. package/src/utils.ts +33 -0
@@ -5,13 +5,18 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.EmptyState = EmptyState;
7
7
  exports.ErrorState = ErrorState;
8
+ exports.IconButton = IconButton;
8
9
  exports.PressableRow = PressableRow;
9
10
  exports.PrimaryButton = PrimaryButton;
10
11
  exports.SecondaryButton = SecondaryButton;
12
+ exports.SectionLabel = SectionLabel;
11
13
  exports.SkeletonBlock = SkeletonBlock;
12
14
  exports.StatusIndicator = StatusIndicator;
13
15
  exports.TypeChipView = TypeChipView;
16
+ exports.TypeGlyph = TypeGlyph;
17
+ exports.UnreadPill = UnreadPill;
14
18
  exports.textStyles = void 0;
19
+ exports.typeBackground = typeBackground;
15
20
  exports.typeColor = typeColor;
16
21
  exports.typeIcon = typeIcon;
17
22
  var _react = require("react");
@@ -38,6 +43,30 @@ function typeColor(type, theme) {
38
43
  if (type === 'feature_request') return theme.colors.statusProgress;
39
44
  return theme.colors.statusOpen;
40
45
  }
46
+ function typeBackground(type, theme) {
47
+ if (type === 'bug_report') return theme.colors.statusDangerBg;
48
+ if (type === 'feature_request') return theme.colors.statusProgressBg;
49
+ return theme.colors.statusOpenBg;
50
+ }
51
+
52
+ /** Tinted round chip holding a type icon — the anchor of every list row. */
53
+ function TypeGlyph({
54
+ type,
55
+ theme,
56
+ size = 36
57
+ }) {
58
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
59
+ style: {
60
+ width: size,
61
+ height: size,
62
+ borderRadius: size / 2,
63
+ backgroundColor: typeBackground(type, theme),
64
+ alignItems: 'center',
65
+ justifyContent: 'center'
66
+ },
67
+ children: typeIcon(type, typeColor(type, theme), size * 0.44)
68
+ });
69
+ }
41
70
 
42
71
  /** Status dot + label — same visual language as the dashboard. */
43
72
  function StatusIndicator({
@@ -68,7 +97,7 @@ function StatusIndicator({
68
97
  });
69
98
  }
70
99
 
71
- /** Pressable row with the standard hover/press wash. */
100
+ /** Pressable row with the standard press wash. */
72
101
  function PressableRow({
73
102
  onPress,
74
103
  children,
@@ -88,32 +117,72 @@ function PressableRow({
88
117
  children: children
89
118
  });
90
119
  }
120
+
121
+ /** Circular icon button — back, close, send. */
122
+ function IconButton({
123
+ onPress,
124
+ children,
125
+ theme,
126
+ accessibilityLabel,
127
+ size = 34,
128
+ disabled,
129
+ tone = 'surface'
130
+ }) {
131
+ const accent = tone === 'accent';
132
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
133
+ onPress: onPress,
134
+ disabled: disabled,
135
+ hitSlop: 6,
136
+ accessibilityRole: "button",
137
+ accessibilityLabel: accessibilityLabel,
138
+ style: ({
139
+ pressed
140
+ }) => ({
141
+ width: size,
142
+ height: size,
143
+ borderRadius: size / 2,
144
+ alignItems: 'center',
145
+ justifyContent: 'center',
146
+ opacity: disabled ? 0.45 : 1,
147
+ backgroundColor: accent ? pressed ? theme.colors.accentHover : theme.colors.accent : pressed ? theme.colors.surfaceActive : theme.colors.surface,
148
+ borderWidth: accent ? 0 : 1,
149
+ borderColor: theme.colors.border
150
+ }),
151
+ children: children
152
+ });
153
+ }
91
154
  function PrimaryButton({
92
155
  label,
93
156
  onPress,
94
157
  disabled,
95
- theme
158
+ theme,
159
+ fullWidth
96
160
  }) {
97
161
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
98
162
  onPress: onPress,
99
163
  disabled: disabled,
100
164
  accessibilityRole: "button",
165
+ accessibilityState: {
166
+ disabled: Boolean(disabled)
167
+ },
101
168
  style: ({
102
169
  pressed
103
170
  }) => ({
104
- height: 36,
105
- paddingHorizontal: 14,
171
+ height: 44,
172
+ alignSelf: fullWidth ? 'stretch' : 'flex-start',
173
+ paddingHorizontal: 18,
106
174
  borderRadius: theme.radii.control,
107
175
  backgroundColor: pressed ? theme.colors.accentHover : theme.colors.accent,
108
- opacity: disabled ? 0.5 : 1,
176
+ opacity: disabled ? 0.45 : 1,
109
177
  alignItems: 'center',
110
178
  justifyContent: 'center'
111
179
  }),
112
180
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
113
181
  style: {
114
182
  color: theme.colors.accentForeground,
115
- fontSize: 13,
116
- fontWeight: '500'
183
+ fontSize: 14,
184
+ fontWeight: '600',
185
+ letterSpacing: -0.1
117
186
  },
118
187
  children: label
119
188
  })
@@ -130,8 +199,8 @@ function SecondaryButton({
130
199
  style: ({
131
200
  pressed
132
201
  }) => ({
133
- height: 32,
134
- paddingHorizontal: 12,
202
+ height: 38,
203
+ paddingHorizontal: 16,
135
204
  borderRadius: theme.radii.control,
136
205
  borderWidth: 1,
137
206
  borderColor: theme.colors.border,
@@ -142,7 +211,7 @@ function SecondaryButton({
142
211
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
143
212
  style: {
144
213
  color: theme.colors.textPrimary,
145
- fontSize: 12,
214
+ fontSize: 13,
146
215
  fontWeight: '500'
147
216
  },
148
217
  children: label
@@ -150,27 +219,94 @@ function SecondaryButton({
150
219
  });
151
220
  }
152
221
 
222
+ /** The count pill on a thread row. */
223
+ function UnreadPill({
224
+ count,
225
+ theme
226
+ }) {
227
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
228
+ style: {
229
+ minWidth: 20,
230
+ height: 20,
231
+ paddingHorizontal: 6,
232
+ borderRadius: theme.radii.pill,
233
+ backgroundColor: theme.colors.accent,
234
+ alignItems: 'center',
235
+ justifyContent: 'center'
236
+ },
237
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
238
+ style: {
239
+ fontSize: 11,
240
+ lineHeight: 14,
241
+ fontWeight: '700',
242
+ color: theme.colors.accentForeground,
243
+ fontVariant: ['tabular-nums']
244
+ },
245
+ children: count > 99 ? '99+' : count
246
+ })
247
+ });
248
+ }
249
+ function SectionLabel({
250
+ children,
251
+ theme,
252
+ style
253
+ }) {
254
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
255
+ style: [{
256
+ fontSize: 11,
257
+ fontWeight: '600',
258
+ textTransform: 'uppercase',
259
+ letterSpacing: 0.6,
260
+ color: theme.colors.textTertiary
261
+ }, style],
262
+ children: children
263
+ });
264
+ }
265
+
153
266
  /** Small muted icon + one line — no illustrations. */
154
267
  function EmptyState({
155
268
  message,
269
+ hint,
156
270
  theme,
157
271
  icon
158
272
  }) {
159
273
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
160
274
  style: {
161
275
  alignItems: 'center',
162
- paddingVertical: 40,
163
- gap: 8
276
+ paddingVertical: 44,
277
+ paddingHorizontal: 32,
278
+ gap: 10
164
279
  },
165
- children: [icon ?? /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.ChatIcon, {
166
- color: theme.colors.textTertiary,
167
- size: 16
280
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
281
+ style: {
282
+ width: 44,
283
+ height: 44,
284
+ borderRadius: 22,
285
+ alignItems: 'center',
286
+ justifyContent: 'center',
287
+ backgroundColor: theme.colors.surface,
288
+ borderWidth: 1,
289
+ borderColor: theme.colors.border
290
+ },
291
+ children: icon ?? /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.ChatIcon, {
292
+ color: theme.colors.textTertiary,
293
+ size: 18
294
+ })
168
295
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
169
296
  style: {
170
- fontSize: 13,
171
- color: theme.colors.textSecondary
297
+ fontSize: 15,
298
+ fontWeight: '600',
299
+ color: theme.colors.textPrimary
172
300
  },
173
301
  children: message
302
+ }), hint !== undefined && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
303
+ style: {
304
+ fontSize: 13,
305
+ lineHeight: 19,
306
+ color: theme.colors.textSecondary,
307
+ textAlign: 'center'
308
+ },
309
+ children: hint
174
310
  })]
175
311
  });
176
312
  }
@@ -184,17 +320,17 @@ function ErrorState({
184
320
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
185
321
  style: {
186
322
  alignItems: 'center',
187
- paddingVertical: 32,
188
- gap: 10
323
+ paddingVertical: 40,
324
+ gap: 12
189
325
  },
190
326
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
191
327
  style: {
192
- fontSize: 13,
328
+ fontSize: 14,
193
329
  color: theme.colors.textSecondary
194
330
  },
195
331
  children: message
196
332
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(SecondaryButton, {
197
- label: "Retry",
333
+ label: "Try again",
198
334
  onPress: onRetry,
199
335
  theme: theme
200
336
  })]
@@ -206,17 +342,20 @@ function SkeletonBlock({
206
342
  width,
207
343
  height,
208
344
  theme,
345
+ radius,
209
346
  style
210
347
  }) {
211
- const opacity = (0, _react.useRef)(new _reactNative.Animated.Value(0.5)).current;
348
+ const opacity = (0, _react.useRef)(new _reactNative.Animated.Value(0.4)).current;
212
349
  (0, _react.useEffect)(() => {
213
350
  const loop = _reactNative.Animated.loop(_reactNative.Animated.sequence([_reactNative.Animated.timing(opacity, {
214
- toValue: 1,
215
- duration: 600,
351
+ toValue: 0.9,
352
+ duration: 700,
353
+ easing: _reactNative.Easing.inOut(_reactNative.Easing.quad),
216
354
  useNativeDriver: true
217
355
  }), _reactNative.Animated.timing(opacity, {
218
- toValue: 0.5,
219
- duration: 600,
356
+ toValue: 0.4,
357
+ duration: 700,
358
+ easing: _reactNative.Easing.inOut(_reactNative.Easing.quad),
220
359
  useNativeDriver: true
221
360
  })]));
222
361
  loop.start();
@@ -226,7 +365,7 @@ function SkeletonBlock({
226
365
  style: [{
227
366
  width,
228
367
  height,
229
- borderRadius: theme.radii.control,
368
+ borderRadius: radius ?? theme.radii.control,
230
369
  backgroundColor: theme.colors.surfaceActive,
231
370
  opacity
232
371
  }, style]
@@ -234,22 +373,29 @@ function SkeletonBlock({
234
373
  }
235
374
  const textStyles = exports.textStyles = {
236
375
  title: theme => ({
237
- fontSize: 16,
376
+ fontSize: 19,
377
+ fontWeight: '700',
378
+ letterSpacing: -0.4,
379
+ color: theme.colors.textPrimary
380
+ }),
381
+ heading: theme => ({
382
+ fontSize: 15,
238
383
  fontWeight: '600',
239
384
  letterSpacing: -0.2,
240
385
  color: theme.colors.textPrimary
241
386
  }),
242
387
  body: theme => ({
243
- fontSize: 14,
388
+ fontSize: 15,
244
389
  color: theme.colors.textPrimary,
245
- lineHeight: 20
390
+ lineHeight: 21
246
391
  }),
247
392
  secondary: theme => ({
248
393
  fontSize: 13,
394
+ lineHeight: 19,
249
395
  color: theme.colors.textSecondary
250
396
  }),
251
397
  meta: theme => ({
252
- fontSize: 11,
398
+ fontSize: 11.5,
253
399
  color: theme.colors.textTertiary,
254
400
  fontVariant: ['tabular-nums']
255
401
  })
@@ -259,22 +405,21 @@ function TypeChipView({
259
405
  theme
260
406
  }) {
261
407
  const color = typeColor(type, theme);
262
- const bg = type === 'bug_report' ? theme.colors.statusDangerBg : type === 'feature_request' ? theme.colors.statusProgressBg : theme.colors.statusOpenBg;
263
408
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
264
409
  style: {
265
410
  flexDirection: 'row',
266
411
  alignItems: 'center',
267
412
  gap: 5,
268
- paddingHorizontal: 6,
269
- paddingVertical: 2,
270
- borderRadius: theme.radii.control,
271
- backgroundColor: bg,
413
+ paddingHorizontal: 8,
414
+ paddingVertical: 4,
415
+ borderRadius: theme.radii.pill,
416
+ backgroundColor: typeBackground(type, theme),
272
417
  alignSelf: 'flex-start'
273
418
  },
274
419
  children: [typeIcon(type, color, 11), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
275
420
  style: {
276
- fontSize: 11,
277
- fontWeight: '500',
421
+ fontSize: 11.5,
422
+ fontWeight: '600',
278
423
  color
279
424
  },
280
425
  children: _types.QUERY_TYPE_LABEL[type]
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNative","_types","_icons","_jsxRuntime","typeIcon","type","color","size","jsx","AlertCircleIcon","PlusCircleIcon","ChatIcon","typeColor","theme","colors","statusDanger","statusProgress","statusOpen","StatusIndicator","status","statusResolved","jsxs","View","style","flexDirection","alignItems","gap","children","width","height","borderRadius","backgroundColor","Text","fontSize","PressableRow","onPress","accessibilityLabel","Pressable","accessibilityRole","pressed","surfaceHover","PrimaryButton","label","disabled","paddingHorizontal","radii","control","accentHover","accent","opacity","justifyContent","accentForeground","fontWeight","SecondaryButton","borderWidth","borderColor","border","surface","textPrimary","EmptyState","message","icon","paddingVertical","textTertiary","textSecondary","ErrorState","onRetry","SkeletonBlock","useRef","Animated","Value","current","useEffect","loop","sequence","timing","toValue","duration","useNativeDriver","start","stop","surfaceActive","textStyles","exports","title","letterSpacing","body","lineHeight","secondary","meta","fontVariant","TypeChipView","bg","statusDangerBg","statusProgressBg","statusOpenBg","alignSelf","QUERY_TYPE_LABEL"],"sourceRoot":"../../../src","sources":["components/primitives.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactNative","_types","_icons","_jsxRuntime","typeIcon","type","color","size","jsx","AlertCircleIcon","PlusCircleIcon","ChatIcon","typeColor","theme","colors","statusDanger","statusProgress","statusOpen","typeBackground","statusDangerBg","statusProgressBg","statusOpenBg","TypeGlyph","View","style","width","height","borderRadius","backgroundColor","alignItems","justifyContent","children","StatusIndicator","status","statusResolved","jsxs","flexDirection","gap","Text","fontSize","PressableRow","onPress","accessibilityLabel","Pressable","accessibilityRole","pressed","surfaceHover","IconButton","disabled","tone","accent","hitSlop","opacity","accentHover","surfaceActive","surface","borderWidth","borderColor","border","PrimaryButton","label","fullWidth","accessibilityState","Boolean","alignSelf","paddingHorizontal","radii","control","accentForeground","fontWeight","letterSpacing","SecondaryButton","textPrimary","UnreadPill","count","minWidth","pill","lineHeight","fontVariant","SectionLabel","textTransform","textTertiary","EmptyState","message","hint","icon","paddingVertical","undefined","textSecondary","textAlign","ErrorState","onRetry","SkeletonBlock","radius","useRef","Animated","Value","current","useEffect","loop","sequence","timing","toValue","duration","easing","Easing","inOut","quad","useNativeDriver","start","stop","textStyles","exports","title","heading","body","secondary","meta","TypeChipView","QUERY_TYPE_LABEL"],"sourceRoot":"../../../src","sources":["components/primitives.tsx"],"mappings":"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","ignoreList":[]}
@@ -10,6 +10,57 @@ var _types = require("../../types");
10
10
  var _icons = require("../icons");
11
11
  var _primitives = require("../primitives");
12
12
  var _jsxRuntime = require("react/jsx-runtime");
13
+ const PROMPT = {
14
+ feedback: 'What should we know?',
15
+ feature_request: 'What would you like to see?',
16
+ bug_report: 'What happened, and what did you expect?'
17
+ };
18
+ const SUBTITLE = {
19
+ feedback: 'Good or bad — it goes straight to the team.',
20
+ feature_request: 'Tell us what you are trying to do.',
21
+ bug_report: 'Steps, screen, and what you expected all help.'
22
+ };
23
+
24
+ /** Scales in once on success — the only celebratory motion in the SDK. */
25
+ function SentMark({
26
+ theme
27
+ }) {
28
+ const scale = (0, _react.useRef)(new _reactNative.Animated.Value(0.6)).current;
29
+ const opacity = (0, _react.useRef)(new _reactNative.Animated.Value(0)).current;
30
+ (0, _react.useEffect)(() => {
31
+ _reactNative.Animated.parallel([_reactNative.Animated.timing(scale, {
32
+ toValue: 1,
33
+ duration: 320,
34
+ easing: _reactNative.Easing.bezier(0.16, 1, 0.3, 1),
35
+ useNativeDriver: true
36
+ }), _reactNative.Animated.timing(opacity, {
37
+ toValue: 1,
38
+ duration: 200,
39
+ easing: _reactNative.Easing.out(_reactNative.Easing.cubic),
40
+ useNativeDriver: true
41
+ })]).start();
42
+ }, [scale, opacity]);
43
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.View, {
44
+ style: {
45
+ width: 56,
46
+ height: 56,
47
+ borderRadius: 28,
48
+ backgroundColor: theme.colors.statusResolvedBg,
49
+ borderWidth: 1,
50
+ borderColor: theme.colors.statusResolved,
51
+ alignItems: 'center',
52
+ justifyContent: 'center',
53
+ opacity,
54
+ transform: [{
55
+ scale
56
+ }]
57
+ },
58
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.CheckIcon, {
59
+ color: theme.colors.statusResolved,
60
+ size: 20
61
+ })
62
+ });
63
+ }
13
64
  function ComposeScreen({
14
65
  theme,
15
66
  type,
@@ -23,6 +74,7 @@ function ComposeScreen({
23
74
  const trimmed = message.trim();
24
75
  const valid = trimmed.length >= _types.USER_MESSAGE_MIN && trimmed.length <= _types.USER_MESSAGE_MAX;
25
76
  const overLimit = message.length > _types.USER_MESSAGE_MAX;
77
+ const tooShort = trimmed.length > 0 && trimmed.length < _types.USER_MESSAGE_MIN;
26
78
  async function handleSubmit() {
27
79
  if (!valid || submitting) return;
28
80
  setSubmitting(true);
@@ -37,34 +89,23 @@ function ComposeScreen({
37
89
  flex: 1,
38
90
  alignItems: 'center',
39
91
  justifyContent: 'center',
40
- gap: 12,
41
- padding: 24
92
+ gap: 14,
93
+ paddingHorizontal: 32,
94
+ paddingBottom: 40
42
95
  },
43
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
44
- style: {
45
- width: 40,
46
- height: 40,
47
- borderRadius: 20,
48
- borderWidth: 1,
49
- borderColor: theme.colors.statusResolved,
50
- alignItems: 'center',
51
- justifyContent: 'center'
52
- },
53
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.CheckIcon, {
54
- color: theme.colors.statusResolved,
55
- size: 14
56
- })
96
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(SentMark, {
97
+ theme: theme
57
98
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
58
- style: _primitives.textStyles.body(theme),
99
+ style: _primitives.textStyles.title(theme),
59
100
  children: "Sent"
60
101
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
61
102
  style: [_primitives.textStyles.secondary(theme), {
62
103
  textAlign: 'center'
63
104
  }],
64
- children: "We'll reply here. You'll see the thread under Open."
105
+ children: "We'll reply right here. You'll find the conversation under Open, and the button shows a badge when we answer."
65
106
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
66
107
  style: {
67
- marginTop: 8
108
+ marginTop: 6
68
109
  },
69
110
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_primitives.PrimaryButton, {
70
111
  label: "Done",
@@ -83,26 +124,36 @@ function ComposeScreen({
83
124
  style: {
84
125
  flexDirection: 'row',
85
126
  alignItems: 'center',
86
- gap: 8,
127
+ gap: 10,
87
128
  paddingHorizontal: 12,
88
- paddingBottom: 12
129
+ paddingBottom: 14
89
130
  },
90
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_primitives.PressableRow, {
131
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_primitives.IconButton, {
91
132
  onPress: onBack,
92
133
  theme: theme,
93
- accessibilityLabel: "Back",
94
- style: {
95
- padding: 6,
96
- borderRadius: theme.radii.control
97
- },
134
+ accessibilityLabel: "Back to conversations",
135
+ size: 32,
98
136
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.Chevron, {
99
137
  color: theme.colors.textSecondary,
100
138
  direction: "left",
101
139
  size: 12
102
140
  })
103
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
104
- style: _primitives.textStyles.title(theme),
105
- children: _types.QUERY_TYPE_LABEL[type]
141
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_primitives.TypeGlyph, {
142
+ type: type,
143
+ theme: theme,
144
+ size: 32
145
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
146
+ style: {
147
+ flex: 1,
148
+ gap: 1
149
+ },
150
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
151
+ style: _primitives.textStyles.heading(theme),
152
+ children: _types.QUERY_TYPE_LABEL[type]
153
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
154
+ style: _primitives.textStyles.meta(theme),
155
+ children: SUBTITLE[type]
156
+ })]
106
157
  })]
107
158
  }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
108
159
  style: {
@@ -117,53 +168,59 @@ function ComposeScreen({
117
168
  },
118
169
  multiline: true,
119
170
  autoFocus: true,
120
- placeholder: type === 'bug_report' ? 'What happened, and what did you expect?' : type === 'feature_request' ? 'What would you like to see?' : 'What should we know?',
171
+ editable: !submitting,
172
+ placeholder: PROMPT[type],
121
173
  placeholderTextColor: theme.colors.textTertiary,
122
174
  style: {
123
- minHeight: 120,
124
- maxHeight: 220,
175
+ minHeight: 140,
176
+ maxHeight: 240,
125
177
  borderWidth: 1,
126
178
  borderColor: theme.colors.border,
127
- borderRadius: theme.radii.control,
179
+ borderRadius: theme.radii.card,
128
180
  backgroundColor: theme.colors.surface,
129
181
  color: theme.colors.textPrimary,
130
- fontSize: 14,
131
- lineHeight: 20,
132
- padding: 12,
182
+ fontSize: 15,
183
+ lineHeight: 21,
184
+ padding: 14,
133
185
  textAlignVertical: 'top'
134
186
  }
135
187
  }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
136
188
  style: {
137
189
  flexDirection: 'row',
138
190
  alignItems: 'center',
139
- marginTop: 8,
140
- gap: 12
191
+ gap: 10,
192
+ paddingTop: 10,
193
+ paddingHorizontal: 2,
194
+ minHeight: 20
141
195
  },
142
- children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
143
- style: [_primitives.textStyles.meta(theme), overLimit && {
144
- color: theme.colors.statusDanger
145
- }],
146
- children: [message.length, "/", _types.USER_MESSAGE_MAX]
147
- }), trimmed.length > 0 && trimmed.length < _types.USER_MESSAGE_MIN && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
148
- style: _primitives.textStyles.meta(theme),
149
- children: ["At least ", _types.USER_MESSAGE_MIN, " characters"]
150
- }), failedMessage !== null && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
196
+ children: [failedMessage !== null ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
151
197
  style: {
152
- fontSize: 11,
198
+ fontSize: 12,
153
199
  color: theme.colors.statusDanger
154
200
  },
155
201
  children: failedMessage
156
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
157
- style: {
202
+ }) : tooShort ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
203
+ style: _primitives.textStyles.meta(theme),
204
+ children: ["At least ", _types.USER_MESSAGE_MIN, " characters"]
205
+ }) : null, /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
206
+ style: [_primitives.textStyles.meta(theme), {
158
207
  marginLeft: 'auto'
159
- },
160
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_primitives.PrimaryButton, {
161
- label: submitting ? 'Sending…' : 'Send',
162
- onPress: handleSubmit,
163
- disabled: !valid || submitting,
164
- theme: theme
165
- })
208
+ }, overLimit && {
209
+ color: theme.colors.statusDanger
210
+ }],
211
+ children: [message.length, "/", _types.USER_MESSAGE_MAX]
166
212
  })]
213
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
214
+ style: {
215
+ paddingTop: 12
216
+ },
217
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_primitives.PrimaryButton, {
218
+ label: submitting ? 'Sending…' : 'Send',
219
+ onPress: handleSubmit,
220
+ disabled: !valid || submitting,
221
+ theme: theme,
222
+ fullWidth: true
223
+ })
167
224
  })]
168
225
  })]
169
226
  });