@appsupportkit/support-sdk 0.3.0 → 0.4.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 (208) hide show
  1. package/lib/commonjs/api.js +49 -15
  2. package/lib/commonjs/api.js.map +1 -1
  3. package/lib/commonjs/components/BottomSheet.js +1 -1
  4. package/lib/commonjs/components/BottomSheet.js.map +1 -1
  5. package/lib/commonjs/components/LauncherButton.js +4 -4
  6. package/lib/commonjs/components/LauncherButton.js.map +1 -1
  7. package/lib/commonjs/components/SupportButton.js +123 -97
  8. package/lib/commonjs/components/SupportButton.js.map +1 -1
  9. package/lib/commonjs/components/icons.js +81 -110
  10. package/lib/commonjs/components/icons.js.map +1 -1
  11. package/lib/commonjs/components/primitives.js +0 -153
  12. package/lib/commonjs/components/primitives.js.map +1 -1
  13. package/lib/commonjs/components/screens/ChatScreen.js +487 -0
  14. package/lib/commonjs/components/screens/ChatScreen.js.map +1 -0
  15. package/lib/commonjs/i18n/strings/de.js +3 -0
  16. package/lib/commonjs/i18n/strings/de.js.map +1 -1
  17. package/lib/commonjs/i18n/strings/en.js +3 -0
  18. package/lib/commonjs/i18n/strings/en.js.map +1 -1
  19. package/lib/commonjs/i18n/strings/es.js +3 -0
  20. package/lib/commonjs/i18n/strings/es.js.map +1 -1
  21. package/lib/commonjs/i18n/strings/fr.js +3 -0
  22. package/lib/commonjs/i18n/strings/fr.js.map +1 -1
  23. package/lib/commonjs/i18n/strings/hi.js +3 -0
  24. package/lib/commonjs/i18n/strings/hi.js.map +1 -1
  25. package/lib/commonjs/i18n/strings/it.js +3 -0
  26. package/lib/commonjs/i18n/strings/it.js.map +1 -1
  27. package/lib/commonjs/i18n/strings/ja.js +3 -0
  28. package/lib/commonjs/i18n/strings/ja.js.map +1 -1
  29. package/lib/commonjs/i18n/strings/ko.js +3 -0
  30. package/lib/commonjs/i18n/strings/ko.js.map +1 -1
  31. package/lib/commonjs/i18n/strings/nl.js +3 -0
  32. package/lib/commonjs/i18n/strings/nl.js.map +1 -1
  33. package/lib/commonjs/i18n/strings/pl.js +3 -0
  34. package/lib/commonjs/i18n/strings/pl.js.map +1 -1
  35. package/lib/commonjs/i18n/strings/pt.js +3 -0
  36. package/lib/commonjs/i18n/strings/pt.js.map +1 -1
  37. package/lib/commonjs/i18n/strings/ru.js +3 -0
  38. package/lib/commonjs/i18n/strings/ru.js.map +1 -1
  39. package/lib/commonjs/i18n/strings/tr.js +3 -0
  40. package/lib/commonjs/i18n/strings/tr.js.map +1 -1
  41. package/lib/commonjs/i18n/strings/zh.js +3 -0
  42. package/lib/commonjs/i18n/strings/zh.js.map +1 -1
  43. package/lib/commonjs/index.js +7 -0
  44. package/lib/commonjs/index.js.map +1 -1
  45. package/lib/commonjs/push.js +78 -3
  46. package/lib/commonjs/push.js.map +1 -1
  47. package/lib/commonjs/review.js +54 -0
  48. package/lib/commonjs/review.js.map +1 -0
  49. package/lib/commonjs/theme.js +142 -23
  50. package/lib/commonjs/theme.js.map +1 -1
  51. package/lib/commonjs/types.js +21 -3
  52. package/lib/commonjs/types.js.map +1 -1
  53. package/lib/commonjs/useSupportThreads.js +22 -15
  54. package/lib/commonjs/useSupportThreads.js.map +1 -1
  55. package/lib/commonjs/utils.js +13 -33
  56. package/lib/commonjs/utils.js.map +1 -1
  57. package/lib/commonjs/version.js +13 -0
  58. package/lib/commonjs/version.js.map +1 -0
  59. package/lib/module/api.js +46 -13
  60. package/lib/module/api.js.map +1 -1
  61. package/lib/module/components/BottomSheet.js +1 -1
  62. package/lib/module/components/BottomSheet.js.map +1 -1
  63. package/lib/module/components/LauncherButton.js +5 -5
  64. package/lib/module/components/LauncherButton.js.map +1 -1
  65. package/lib/module/components/SupportButton.js +128 -102
  66. package/lib/module/components/SupportButton.js.map +1 -1
  67. package/lib/module/components/icons.js +80 -107
  68. package/lib/module/components/icons.js.map +1 -1
  69. package/lib/module/components/primitives.js +2 -146
  70. package/lib/module/components/primitives.js.map +1 -1
  71. package/lib/module/components/screens/ChatScreen.js +485 -0
  72. package/lib/module/components/screens/ChatScreen.js.map +1 -0
  73. package/lib/module/i18n/strings/de.js +3 -0
  74. package/lib/module/i18n/strings/de.js.map +1 -1
  75. package/lib/module/i18n/strings/en.js +3 -0
  76. package/lib/module/i18n/strings/en.js.map +1 -1
  77. package/lib/module/i18n/strings/es.js +3 -0
  78. package/lib/module/i18n/strings/es.js.map +1 -1
  79. package/lib/module/i18n/strings/fr.js +3 -0
  80. package/lib/module/i18n/strings/fr.js.map +1 -1
  81. package/lib/module/i18n/strings/hi.js +3 -0
  82. package/lib/module/i18n/strings/hi.js.map +1 -1
  83. package/lib/module/i18n/strings/it.js +3 -0
  84. package/lib/module/i18n/strings/it.js.map +1 -1
  85. package/lib/module/i18n/strings/ja.js +3 -0
  86. package/lib/module/i18n/strings/ja.js.map +1 -1
  87. package/lib/module/i18n/strings/ko.js +3 -0
  88. package/lib/module/i18n/strings/ko.js.map +1 -1
  89. package/lib/module/i18n/strings/nl.js +3 -0
  90. package/lib/module/i18n/strings/nl.js.map +1 -1
  91. package/lib/module/i18n/strings/pl.js +3 -0
  92. package/lib/module/i18n/strings/pl.js.map +1 -1
  93. package/lib/module/i18n/strings/pt.js +3 -0
  94. package/lib/module/i18n/strings/pt.js.map +1 -1
  95. package/lib/module/i18n/strings/ru.js +3 -0
  96. package/lib/module/i18n/strings/ru.js.map +1 -1
  97. package/lib/module/i18n/strings/tr.js +3 -0
  98. package/lib/module/i18n/strings/tr.js.map +1 -1
  99. package/lib/module/i18n/strings/zh.js +3 -0
  100. package/lib/module/i18n/strings/zh.js.map +1 -1
  101. package/lib/module/index.js +1 -0
  102. package/lib/module/index.js.map +1 -1
  103. package/lib/module/push.js +77 -3
  104. package/lib/module/push.js.map +1 -1
  105. package/lib/module/review.js +48 -0
  106. package/lib/module/review.js.map +1 -0
  107. package/lib/module/theme.js +141 -23
  108. package/lib/module/theme.js.map +1 -1
  109. package/lib/module/types.js +21 -3
  110. package/lib/module/types.js.map +1 -1
  111. package/lib/module/useSupportThreads.js +22 -15
  112. package/lib/module/useSupportThreads.js.map +1 -1
  113. package/lib/module/utils.js +12 -32
  114. package/lib/module/utils.js.map +1 -1
  115. package/lib/module/version.js +9 -0
  116. package/lib/module/version.js.map +1 -0
  117. package/lib/typescript/api.d.ts +33 -12
  118. package/lib/typescript/api.d.ts.map +1 -1
  119. package/lib/typescript/components/SupportButton.d.ts +2 -2
  120. package/lib/typescript/components/SupportButton.d.ts.map +1 -1
  121. package/lib/typescript/components/icons.d.ts +5 -14
  122. package/lib/typescript/components/icons.d.ts.map +1 -1
  123. package/lib/typescript/components/primitives.d.ts +0 -31
  124. package/lib/typescript/components/primitives.d.ts.map +1 -1
  125. package/lib/typescript/components/screens/ChatScreen.d.ts +21 -0
  126. package/lib/typescript/components/screens/ChatScreen.d.ts.map +1 -0
  127. package/lib/typescript/i18n/strings/de.d.ts.map +1 -1
  128. package/lib/typescript/i18n/strings/en.d.ts +3 -0
  129. package/lib/typescript/i18n/strings/en.d.ts.map +1 -1
  130. package/lib/typescript/i18n/strings/es.d.ts.map +1 -1
  131. package/lib/typescript/i18n/strings/fr.d.ts.map +1 -1
  132. package/lib/typescript/i18n/strings/hi.d.ts.map +1 -1
  133. package/lib/typescript/i18n/strings/it.d.ts.map +1 -1
  134. package/lib/typescript/i18n/strings/ja.d.ts.map +1 -1
  135. package/lib/typescript/i18n/strings/ko.d.ts.map +1 -1
  136. package/lib/typescript/i18n/strings/nl.d.ts.map +1 -1
  137. package/lib/typescript/i18n/strings/pl.d.ts.map +1 -1
  138. package/lib/typescript/i18n/strings/pt.d.ts.map +1 -1
  139. package/lib/typescript/i18n/strings/ru.d.ts.map +1 -1
  140. package/lib/typescript/i18n/strings/tr.d.ts.map +1 -1
  141. package/lib/typescript/i18n/strings/zh.d.ts.map +1 -1
  142. package/lib/typescript/index.d.ts +3 -2
  143. package/lib/typescript/index.d.ts.map +1 -1
  144. package/lib/typescript/push.d.ts +14 -2
  145. package/lib/typescript/push.d.ts.map +1 -1
  146. package/lib/typescript/review.d.ts +15 -0
  147. package/lib/typescript/review.d.ts.map +1 -0
  148. package/lib/typescript/theme.d.ts +23 -5
  149. package/lib/typescript/theme.d.ts.map +1 -1
  150. package/lib/typescript/types.d.ts +54 -11
  151. package/lib/typescript/types.d.ts.map +1 -1
  152. package/lib/typescript/useSupportThreads.d.ts +9 -3
  153. package/lib/typescript/useSupportThreads.d.ts.map +1 -1
  154. package/lib/typescript/utils.d.ts +3 -2
  155. package/lib/typescript/utils.d.ts.map +1 -1
  156. package/lib/typescript/version.d.ts +7 -0
  157. package/lib/typescript/version.d.ts.map +1 -0
  158. package/package.json +1 -1
  159. package/src/api.ts +59 -30
  160. package/src/components/BottomSheet.tsx +1 -1
  161. package/src/components/LauncherButton.tsx +4 -4
  162. package/src/components/SupportButton.tsx +140 -111
  163. package/src/components/icons.tsx +60 -101
  164. package/src/components/primitives.tsx +1 -163
  165. package/src/components/screens/ChatScreen.tsx +541 -0
  166. package/src/i18n/strings/de.ts +3 -0
  167. package/src/i18n/strings/en.ts +3 -0
  168. package/src/i18n/strings/es.ts +3 -0
  169. package/src/i18n/strings/fr.ts +3 -0
  170. package/src/i18n/strings/hi.ts +3 -0
  171. package/src/i18n/strings/it.ts +3 -0
  172. package/src/i18n/strings/ja.ts +3 -0
  173. package/src/i18n/strings/ko.ts +3 -0
  174. package/src/i18n/strings/nl.ts +3 -0
  175. package/src/i18n/strings/pl.ts +3 -0
  176. package/src/i18n/strings/pt.ts +3 -0
  177. package/src/i18n/strings/ru.ts +3 -0
  178. package/src/i18n/strings/tr.ts +3 -0
  179. package/src/i18n/strings/zh.ts +3 -0
  180. package/src/index.tsx +5 -0
  181. package/src/push.ts +100 -2
  182. package/src/review.ts +54 -0
  183. package/src/theme.ts +182 -28
  184. package/src/types.ts +53 -11
  185. package/src/useSupportThreads.ts +31 -18
  186. package/src/utils.ts +14 -21
  187. package/src/version.ts +6 -0
  188. package/lib/commonjs/components/screens/ComposeScreen.js +0 -219
  189. package/lib/commonjs/components/screens/ComposeScreen.js.map +0 -1
  190. package/lib/commonjs/components/screens/HomeScreen.js +0 -334
  191. package/lib/commonjs/components/screens/HomeScreen.js.map +0 -1
  192. package/lib/commonjs/components/screens/ThreadScreen.js +0 -339
  193. package/lib/commonjs/components/screens/ThreadScreen.js.map +0 -1
  194. package/lib/module/components/screens/ComposeScreen.js +0 -217
  195. package/lib/module/components/screens/ComposeScreen.js.map +0 -1
  196. package/lib/module/components/screens/HomeScreen.js +0 -330
  197. package/lib/module/components/screens/HomeScreen.js.map +0 -1
  198. package/lib/module/components/screens/ThreadScreen.js +0 -337
  199. package/lib/module/components/screens/ThreadScreen.js.map +0 -1
  200. package/lib/typescript/components/screens/ComposeScreen.d.ts +0 -12
  201. package/lib/typescript/components/screens/ComposeScreen.d.ts.map +0 -1
  202. package/lib/typescript/components/screens/HomeScreen.d.ts +0 -19
  203. package/lib/typescript/components/screens/HomeScreen.d.ts.map +0 -1
  204. package/lib/typescript/components/screens/ThreadScreen.d.ts +0 -12
  205. package/lib/typescript/components/screens/ThreadScreen.d.ts.map +0 -1
  206. package/src/components/screens/ComposeScreen.tsx +0 -229
  207. package/src/components/screens/HomeScreen.tsx +0 -346
  208. package/src/components/screens/ThreadScreen.tsx +0 -424
@@ -5,11 +5,14 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.resolveTheme = resolveTheme;
7
7
  exports.supportRadii = exports.supportLightTheme = exports.supportDarkTheme = void 0;
8
+ exports.themeFor = themeFor;
8
9
  var _designTokens = require("@appsupportkit/design-tokens");
9
10
  // The SDK consumes the same design tokens as the admin dashboard, so both
10
11
  // surfaces look like one product. On top of those it adds the few values
11
- // that only exist on mobile: sheet/bubble radii and the elevation used by
12
- // the launcher and the sheet (the web side gets those from CSS).
12
+ // that only exist on mobile: sheet/bubble radii, the elevation used by the
13
+ // launcher and the sheet (the web side gets those from CSS), and a re-cut of
14
+ // the surfaces and text ramp for a sheet held at arm's length (see
15
+ // SHEET_OVERRIDES).
13
16
 
14
17
  /** Rounder than the dashboard: touch targets read better with more radius. */
15
18
  const supportRadii = exports.supportRadii = {
@@ -36,7 +39,12 @@ const supportRadii = exports.supportRadii = {
36
39
  // Color helpers come first: the themes below are built at module load, so
37
40
  // anything they reach for has to already be initialized. (A `const` used
38
41
  // before its definition survives tsc but lands as `undefined` on Hermes.)
42
+
39
43
  const HEX = /^#?([0-9a-f]{3}|[0-9a-f]{6})$/i;
44
+ const WHITE = [255, 255, 255];
45
+ /** Foreground for light accents — the dashboard's near-black, not pure black. */
46
+ const INK = '#111113';
47
+ const INK_RGB = [17, 17, 19];
40
48
  function parseHex(color) {
41
49
  const match = HEX.exec(color.trim());
42
50
  const digits = match?.[1];
@@ -44,10 +52,83 @@ function parseHex(color) {
44
52
  const hex = digits.length === 3 ? digits.split('').map(c => c + c).join('') : digits;
45
53
  return [parseInt(hex.slice(0, 2), 16), parseInt(hex.slice(2, 4), 16), parseInt(hex.slice(4, 6), 16)];
46
54
  }
47
- function mix([r, g, b], target, amount) {
55
+ function toHex(rgb) {
56
+ return `#${rgb.map(c => c.toString(16).padStart(2, '0')).join('').toUpperCase()}`;
57
+ }
58
+ function mixRgb([r, g, b], target, amount) {
48
59
  const channel = c => Math.round(c + (target - c) * amount);
49
- return `rgb(${channel(r)}, ${channel(g)}, ${channel(b)})`;
60
+ return [channel(r), channel(g), channel(b)];
61
+ }
62
+ function mix(rgb, target, amount) {
63
+ return toHex(mixRgb(rgb, target, amount));
64
+ }
65
+
66
+ /** WCAG relative luminance. */
67
+ function luminance(rgb) {
68
+ const [r, g, b] = rgb.map(c => {
69
+ const s = c / 255;
70
+ return s <= 0.03928 ? s / 12.92 : ((s + 0.055) / 1.055) ** 2.4;
71
+ });
72
+ return 0.2126 * r + 0.7152 * g + 0.0722 * b;
73
+ }
74
+
75
+ /** WCAG contrast ratio, 1–21. */
76
+ function contrast(a, b) {
77
+ const [hi, lo] = [luminance(a), luminance(b)].sort((x, y) => y - x);
78
+ return (hi + 0.05) / (lo + 0.05);
50
79
  }
80
+
81
+ /**
82
+ * Nudges `color` toward white (dark theme) or black (light theme) in 5%
83
+ * steps until it reaches `ratio` against every background. The smallest
84
+ * step that works wins, so a brand color stays recognizably itself.
85
+ */
86
+ function legible(color, backgrounds, ratio, name) {
87
+ const rgb = parseHex(color);
88
+ if (rgb === null) return color;
89
+ const against = backgrounds.map(parseHex).filter(c => c !== null);
90
+ const target = name === 'dark' ? 255 : 0;
91
+ for (let step = 0; step <= 20; step += 1) {
92
+ const candidate = mixRgb(rgb, target, step * 0.05);
93
+ if (against.every(bg => contrast(candidate, bg) >= ratio)) {
94
+ return toHex(candidate);
95
+ }
96
+ }
97
+ return name === 'dark' ? '#FFFFFF' : '#000000';
98
+ }
99
+
100
+ /**
101
+ * Where the SDK departs from the dashboard tokens.
102
+ *
103
+ * Dark: the sheet floats over the host app, so it takes an elevated gray the
104
+ * way iOS sheets do, and the cards and bubbles on it step lighter again. On
105
+ * the dashboard's near-black base, cards sat 1.05:1 from the background and
106
+ * the layering disappeared.
107
+ *
108
+ * Both: the text ramp is re-cut so every step clears WCAG AA (4.5:1) on the
109
+ * sheet and on the cards over it. Tertiary carries timestamps and labels at
110
+ * 11–12px and was 3.1:1 (dark) and 2.5:1 (light); secondary moves too, so
111
+ * the two stay a visible step apart.
112
+ */
113
+ const SHEET_OVERRIDES = {
114
+ dark: {
115
+ sheet: '#161618',
116
+ surface: '#1F1F23',
117
+ surfaceHover: '#26262B',
118
+ surfaceActive: '#2D2D33',
119
+ border: '#2E2E35',
120
+ borderStrong: '#3C3C44',
121
+ textSecondary: '#A3A3AB',
122
+ // 6.5:1 on surface
123
+ textTertiary: '#87878F' // 4.6:1 on surface, 5.1:1 on sheet
124
+ },
125
+ light: {
126
+ sheet: _designTokens.lightColors.bg,
127
+ textSecondary: '#5A5A62',
128
+ // 6.5:1 on sheet
129
+ textTertiary: '#717179' // 4.6:1 on sheet, 4.8:1 on surface
130
+ }
131
+ };
51
132
  function shadowsFor(name, accent) {
52
133
  const dark = name === 'dark';
53
134
  return {
@@ -94,7 +175,21 @@ function launcherFor(name, accent) {
94
175
  minimalMark: name === 'dark' && rgb !== null ? mix(rgb, 255, 0.35) : accent
95
176
  };
96
177
  }
97
- function buildTheme(name, colors) {
178
+ function buildTheme(name, tokens) {
179
+ const base = {
180
+ ...tokens,
181
+ ...SHEET_OVERRIDES[name]
182
+ };
183
+ // Status tones double as 12px labels, so they get the text bar too.
184
+ const onSheet = [base.sheet, base.surface];
185
+ const colors = {
186
+ ...base,
187
+ statusOpen: legible(base.statusOpen, onSheet, 4.5, name),
188
+ statusProgress: legible(base.statusProgress, onSheet, 4.5, name),
189
+ statusResolved: legible(base.statusResolved, onSheet, 4.5, name),
190
+ statusDanger: legible(base.statusDanger, onSheet, 4.5, name),
191
+ accentText: legible(base.accent, onSheet, 4.5, name)
192
+ };
98
193
  return {
99
194
  name,
100
195
  colors,
@@ -110,39 +205,63 @@ const supportLightTheme = exports.supportLightTheme = buildTheme('light', _desig
110
205
 
111
206
  /**
112
207
  * Derives the accent family from a single brand color: a pressed shade, the
113
- * 12% wash used behind chips and own-message bubbles, and a foreground that
114
- * stays legible on top (dark text on light brands, white on dark ones).
208
+ * 12% wash used behind chips, a text-safe variant, and whichever of white or
209
+ * ink reads better on top of it.
210
+ *
211
+ * `adapt` is for a color that has to serve both themes: it is lifted just
212
+ * far enough to read as a fill (3:1, the WCAG bar for UI components) on this
213
+ * theme's sheet — a navy brand would otherwise vanish in dark mode. A color
214
+ * given for this mode specifically is used as is.
115
215
  */
116
- function withAccent(theme, accent) {
117
- const rgb = parseHex(accent);
118
- if (!rgb) return theme;
216
+ function withAccent(theme, accent, adapt) {
217
+ if (parseHex(accent) === null) return theme;
218
+ const {
219
+ name
220
+ } = theme;
221
+ const fill = adapt ? legible(accent, [theme.colors.sheet], 3, name) : toHex(parseHex(accent));
222
+ const rgb = parseHex(fill);
119
223
  const [r, g, b] = rgb;
120
- // Relative luminance, sRGB coefficients — good enough to pick a foreground.
121
- const luminance = (0.299 * r + 0.587 * g + 0.114 * b) / 255;
224
+ const accentText = legible(fill, [theme.colors.sheet, theme.colors.surface], 4.5, name);
122
225
  const colors = {
123
226
  ...theme.colors,
124
- accent,
125
- accentHover: mix(rgb, theme.name === 'dark' ? 255 : 0, 0.12),
227
+ accent: fill,
228
+ accentHover: mix(rgb, name === 'dark' ? 255 : 0, 0.12),
126
229
  accentMuted: `rgba(${r}, ${g}, ${b}, 0.12)`,
127
- accentForeground: luminance > 0.62 ? '#111113' : '#FFFFFF',
128
- statusOpen: accent,
230
+ accentForeground: contrast(rgb, WHITE) >= contrast(rgb, INK_RGB) ? '#FFFFFF' : INK,
231
+ accentText,
232
+ statusOpen: accentText,
129
233
  statusOpenBg: `rgba(${r}, ${g}, ${b}, 0.10)`,
130
- focusRing: accent
234
+ focusRing: fill
131
235
  };
132
236
  return {
133
237
  ...theme,
134
238
  colors,
135
- shadows: shadowsFor(theme.name, accent),
136
- launcher: launcherFor(theme.name, accent)
239
+ shadows: shadowsFor(name, fill),
240
+ launcher: launcherFor(name, fill)
137
241
  };
138
242
  }
139
243
 
140
244
  /**
141
- * @param name "light" | "dark" (default dark).
142
- * @param accentColor Optional brand color (hex) replacing the default accent.
245
+ * The theme for one resolved mode. `accent` is the color for this mode
246
+ * (already picked from a light/dark pair), and `adapt` says whether it was a
247
+ * single color that has to be made to work here.
143
248
  */
144
- function resolveTheme(name, accentColor) {
249
+ function themeFor(name, accent, adapt) {
145
250
  const base = name === 'light' ? supportLightTheme : supportDarkTheme;
146
- return accentColor ? withAccent(base, accentColor) : base;
251
+ return accent ? withAccent(base, accent, adapt) : base;
252
+ }
253
+
254
+ /**
255
+ * @param name "light" | "dark" (default dark). SupportButton resolves its
256
+ * "system" default before calling this.
257
+ * @param accentColor Optional brand color: one hex for both modes (adjusted
258
+ * per mode where needed), or a `{ light, dark }` pair used as given.
259
+ */
260
+ function resolveTheme(name, accentColor) {
261
+ const mode = name === 'light' ? 'light' : 'dark';
262
+ if (typeof accentColor === 'object' && accentColor !== null) {
263
+ return themeFor(mode, accentColor[mode], false);
264
+ }
265
+ return themeFor(mode, accentColor, true);
147
266
  }
148
267
  //# sourceMappingURL=theme.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_designTokens","require","supportRadii","exports","radii","control","card","cardLg","bubble","bubbleTail","sheet","pill","HEX","parseHex","color","match","exec","trim","digits","undefined","hex","length","split","map","c","join","parseInt","slice","mix","r","g","b","target","amount","channel","Math","round","shadowsFor","name","accent","dark","launcher","shadowColor","shadowOpacity","shadowRadius","shadowOffset","width","height","elevation","badge","launcherFor","rgb","solidRing","minimalMark","buildTheme","colors","spacing","motion","shadows","supportDarkTheme","darkColors","supportLightTheme","lightColors","withAccent","theme","luminance","accentHover","accentMuted","accentForeground","statusOpen","statusOpenBg","focusRing","resolveTheme","accentColor","base"],"sourceRoot":"../../src","sources":["theme.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_designTokens","require","supportRadii","exports","radii","control","card","cardLg","bubble","bubbleTail","sheet","pill","HEX","WHITE","INK","INK_RGB","parseHex","color","match","exec","trim","digits","undefined","hex","length","split","map","c","join","parseInt","slice","toHex","rgb","toString","padStart","toUpperCase","mixRgb","r","g","b","target","amount","channel","Math","round","mix","luminance","s","contrast","a","hi","lo","sort","x","y","legible","backgrounds","ratio","name","against","filter","step","candidate","every","bg","SHEET_OVERRIDES","dark","surface","surfaceHover","surfaceActive","border","borderStrong","textSecondary","textTertiary","light","lightColors","shadowsFor","accent","launcher","shadowColor","shadowOpacity","shadowRadius","shadowOffset","width","height","elevation","badge","launcherFor","solidRing","minimalMark","buildTheme","tokens","base","onSheet","colors","statusOpen","statusProgress","statusResolved","statusDanger","accentText","spacing","motion","shadows","supportDarkTheme","darkColors","supportLightTheme","withAccent","theme","adapt","fill","accentHover","accentMuted","accentForeground","statusOpenBg","focusRing","themeFor","resolveTheme","accentColor","mode"],"sourceRoot":"../../src","sources":["theme.ts"],"mappings":";;;;;;;;AAMA,IAAAA,aAAA,GAAAC,OAAA;AANA;AACA;AACA;AACA;AACA;AACA;;AAYA;AACO,MAAMC,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAG;EAC1B,GAAGE,mBAAK;EACRC,OAAO,EAAE,EAAE;EACXC,IAAI,EAAE,EAAE;EACRC,MAAM,EAAE,EAAE;EACV;EACAC,MAAM,EAAE,EAAE;EACV;EACAC,UAAU,EAAE,CAAC;EACbC,KAAK,EAAE,EAAE;EACTC,IAAI,EAAE;AACR,CAAU;;AAsBV;AACA;AACA;AACA;AACA;AACA;AACA;;AAkBA;AACA;AACA;;AAGA,MAAMC,GAAG,GAAG,gCAAgC;AAC5C,MAAMC,KAAU,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;AAClC;AACA,MAAMC,GAAG,GAAG,SAAS;AACrB,MAAMC,OAAY,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AAEjC,SAASC,QAAQA,CAACC,KAAa,EAAc;EAC3C,MAAMC,KAAK,GAAGN,GAAG,CAACO,IAAI,CAACF,KAAK,CAACG,IAAI,CAAC,CAAC,CAAC;EACpC,MAAMC,MAAM,GAAGH,KAAK,GAAG,CAAC,CAAC;EACzB,IAAIG,MAAM,KAAKC,SAAS,EAAE,OAAO,IAAI;EACrC,MAAMC,GAAG,GACPF,MAAM,CAACG,MAAM,KAAK,CAAC,GACfH,MAAM,CACHI,KAAK,CAAC,EAAE,CAAC,CACTC,GAAG,CAAEC,CAAC,IAAKA,CAAC,GAAGA,CAAC,CAAC,CACjBC,IAAI,CAAC,EAAE,CAAC,GACXP,MAAM;EACZ,OAAO,CACLQ,QAAQ,CAACN,GAAG,CAACO,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAC7BD,QAAQ,CAACN,GAAG,CAACO,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAC7BD,QAAQ,CAACN,GAAG,CAACO,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAC9B;AACH;AAEA,SAASC,KAAKA,CAACC,GAAQ,EAAU;EAC/B,OAAO,IAAIA,GAAG,CAACN,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACM,QAAQ,CAAC,EAAE,CAAC,CAACC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAACN,IAAI,CAAC,EAAE,CAAC,CAACO,WAAW,CAAC,CAAC,EAAE;AACrF;AAEA,SAASC,MAAMA,CAAC,CAACC,CAAC,EAAEC,CAAC,EAAEC,CAAC,CAAM,EAAEC,MAAc,EAAEC,MAAc,EAAO;EACnE,MAAMC,OAAO,GAAIf,CAAS,IAAKgB,IAAI,CAACC,KAAK,CAACjB,CAAC,GAAG,CAACa,MAAM,GAAGb,CAAC,IAAIc,MAAM,CAAC;EACpE,OAAO,CAACC,OAAO,CAACL,CAAC,CAAC,EAAEK,OAAO,CAACJ,CAAC,CAAC,EAAEI,OAAO,CAACH,CAAC,CAAC,CAAC;AAC7C;AAEA,SAASM,GAAGA,CAACb,GAAQ,EAAEQ,MAAc,EAAEC,MAAc,EAAU;EAC7D,OAAOV,KAAK,CAACK,MAAM,CAACJ,GAAG,EAAEQ,MAAM,EAAEC,MAAM,CAAC,CAAC;AAC3C;;AAEA;AACA,SAASK,SAASA,CAACd,GAAQ,EAAU;EACnC,MAAM,CAACK,CAAC,EAAEC,CAAC,EAAEC,CAAC,CAAC,GAAGP,GAAG,CAACN,GAAG,CAAEC,CAAC,IAAK;IAC/B,MAAMoB,CAAC,GAAGpB,CAAC,GAAG,GAAG;IACjB,OAAOoB,CAAC,IAAI,OAAO,GAAGA,CAAC,GAAG,KAAK,GAAG,CAAC,CAACA,CAAC,GAAG,KAAK,IAAI,KAAK,KAAK,GAAG;EAChE,CAAC,CAAQ;EACT,OAAO,MAAM,GAAGV,CAAC,GAAG,MAAM,GAAGC,CAAC,GAAG,MAAM,GAAGC,CAAC;AAC7C;;AAEA;AACA,SAASS,QAAQA,CAACC,CAAM,EAAEV,CAAM,EAAU;EACxC,MAAM,CAACW,EAAE,EAAEC,EAAE,CAAC,GAAG,CAACL,SAAS,CAACG,CAAC,CAAC,EAAEH,SAAS,CAACP,CAAC,CAAC,CAAC,CAACa,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKA,CAAC,GAAGD,CAAC,CAGjE;EACD,OAAO,CAACH,EAAE,GAAG,IAAI,KAAKC,EAAE,GAAG,IAAI,CAAC;AAClC;;AAEA;AACA;AACA;AACA;AACA;AACA,SAASI,OAAOA,CACdtC,KAAa,EACbuC,WAAqB,EACrBC,KAAa,EACbC,IAAe,EACP;EACR,MAAM1B,GAAG,GAAGhB,QAAQ,CAACC,KAAK,CAAC;EAC3B,IAAIe,GAAG,KAAK,IAAI,EAAE,OAAOf,KAAK;EAC9B,MAAM0C,OAAO,GAAGH,WAAW,CACxB9B,GAAG,CAACV,QAAQ,CAAC,CACb4C,MAAM,CAAEjC,CAAC,IAAeA,CAAC,KAAK,IAAI,CAAC;EACtC,MAAMa,MAAM,GAAGkB,IAAI,KAAK,MAAM,GAAG,GAAG,GAAG,CAAC;EACxC,KAAK,IAAIG,IAAI,GAAG,CAAC,EAAEA,IAAI,IAAI,EAAE,EAAEA,IAAI,IAAI,CAAC,EAAE;IACxC,MAAMC,SAAS,GAAG1B,MAAM,CAACJ,GAAG,EAAEQ,MAAM,EAAEqB,IAAI,GAAG,IAAI,CAAC;IAClD,IAAIF,OAAO,CAACI,KAAK,CAAEC,EAAE,IAAKhB,QAAQ,CAACc,SAAS,EAAEE,EAAE,CAAC,IAAIP,KAAK,CAAC,EAAE;MAC3D,OAAO1B,KAAK,CAAC+B,SAAS,CAAC;IACzB;EACF;EACA,OAAOJ,IAAI,KAAK,MAAM,GAAG,SAAS,GAAG,SAAS;AAChD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMO,eAA0D,GAAG;EACjEC,IAAI,EAAE;IACJxD,KAAK,EAAE,SAAS;IAChByD,OAAO,EAAE,SAAS;IAClBC,YAAY,EAAE,SAAS;IACvBC,aAAa,EAAE,SAAS;IACxBC,MAAM,EAAE,SAAS;IACjBC,YAAY,EAAE,SAAS;IACvBC,aAAa,EAAE,SAAS;IAAE;IAC1BC,YAAY,EAAE,SAAS,CAAE;EAC3B,CAAC;EACDC,KAAK,EAAE;IACLhE,KAAK,EAAEiE,yBAAW,CAACX,EAAE;IACrBQ,aAAa,EAAE,SAAS;IAAE;IAC1BC,YAAY,EAAE,SAAS,CAAE;EAC3B;AACF,CAAC;AAED,SAASG,UAAUA,CAAClB,IAAe,EAAEmB,MAAc,EAAkB;EACnE,MAAMX,IAAI,GAAGR,IAAI,KAAK,MAAM;EAC5B,OAAO;IACLoB,QAAQ,EAAE;MACR;MACA;MACAC,WAAW,EAAEb,IAAI,GAAG,SAAS,GAAGW,MAAM;MACtCG,aAAa,EAAEd,IAAI,GAAG,IAAI,GAAG,GAAG;MAChCe,YAAY,EAAE,EAAE;MAChBC,YAAY,EAAE;QAAEC,KAAK,EAAE,CAAC;QAAEC,MAAM,EAAE;MAAE,CAAC;MACrCC,SAAS,EAAE;IACb,CAAC;IACD3E,KAAK,EAAE;MACLqE,WAAW,EAAE,SAAS;MACtBC,aAAa,EAAEd,IAAI,GAAG,GAAG,GAAG,IAAI;MAChCe,YAAY,EAAE,EAAE;MAChBC,YAAY,EAAE;QAAEC,KAAK,EAAE,CAAC;QAAEC,MAAM,EAAE,CAAC;MAAE,CAAC;MACtCC,SAAS,EAAE;IACb,CAAC;IACDC,KAAK,EAAE;MACLP,WAAW,EAAE,SAAS;MACtBC,aAAa,EAAE,IAAI;MACnBC,YAAY,EAAE,CAAC;MACfC,YAAY,EAAE;QAAEC,KAAK,EAAE,CAAC;QAAEC,MAAM,EAAE;MAAE,CAAC;MACrCC,SAAS,EAAE;IACb;EACF,CAAC;AACH;AAEA,SAASE,WAAWA,CAAC7B,IAAe,EAAEmB,MAAc,EAAmB;EACrE,MAAM7C,GAAG,GAAGhB,QAAQ,CAAC6D,MAAM,CAAC;EAC5B,OAAO;IACLW,SAAS,EACP9B,IAAI,KAAK,MAAM,GAAG,2BAA2B,GAAG,qBAAqB;IACvE;IACA;IACA+B,WAAW,EACT/B,IAAI,KAAK,MAAM,IAAI1B,GAAG,KAAK,IAAI,GAAGa,GAAG,CAACb,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG6C;EAC5D,CAAC;AACH;AAEA,SAASa,UAAUA,CAAChC,IAAe,EAAEiC,MAAmB,EAAgB;EACtE,MAAMC,IAAI,GAAG;IACX,GAAGD,MAAM;IACT,GAAG1B,eAAe,CAACP,IAAI;EACzB,CAAkB;EAClB;EACA,MAAMmC,OAAO,GAAG,CAACD,IAAI,CAAClF,KAAK,EAAEkF,IAAI,CAACzB,OAAO,CAAC;EAC1C,MAAM2B,MAAqB,GAAG;IAC5B,GAAGF,IAAI;IACPG,UAAU,EAAExC,OAAO,CAACqC,IAAI,CAACG,UAAU,EAAEF,OAAO,EAAE,GAAG,EAAEnC,IAAI,CAAC;IACxDsC,cAAc,EAAEzC,OAAO,CAACqC,IAAI,CAACI,cAAc,EAAEH,OAAO,EAAE,GAAG,EAAEnC,IAAI,CAAC;IAChEuC,cAAc,EAAE1C,OAAO,CAACqC,IAAI,CAACK,cAAc,EAAEJ,OAAO,EAAE,GAAG,EAAEnC,IAAI,CAAC;IAChEwC,YAAY,EAAE3C,OAAO,CAACqC,IAAI,CAACM,YAAY,EAAEL,OAAO,EAAE,GAAG,EAAEnC,IAAI,CAAC;IAC5DyC,UAAU,EAAE5C,OAAO,CAACqC,IAAI,CAACf,MAAM,EAAEgB,OAAO,EAAE,GAAG,EAAEnC,IAAI;EACrD,CAAC;EACD,OAAO;IACLA,IAAI;IACJoC,MAAM;IACNM,OAAO,EAAPA,qBAAO;IACPhG,KAAK,EAAEF,YAAY;IACnBmG,MAAM,EAANA,oBAAM;IACNC,OAAO,EAAE1B,UAAU,CAAClB,IAAI,EAAEoC,MAAM,CAACjB,MAAM,CAAC;IACxCC,QAAQ,EAAES,WAAW,CAAC7B,IAAI,EAAEoC,MAAM,CAACjB,MAAM;EAC3C,CAAC;AACH;AAEO,MAAM0B,gBAA8B,GAAApG,OAAA,CAAAoG,gBAAA,GAAGb,UAAU,CAAC,MAAM,EAAEc,wBAAU,CAAC;AACrE,MAAMC,iBAA+B,GAAAtG,OAAA,CAAAsG,iBAAA,GAAGf,UAAU,CAAC,OAAO,EAAEf,yBAAW,CAAC;;AAE/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS+B,UAAUA,CACjBC,KAAmB,EACnB9B,MAAc,EACd+B,KAAc,EACA;EACd,IAAI5F,QAAQ,CAAC6D,MAAM,CAAC,KAAK,IAAI,EAAE,OAAO8B,KAAK;EAC3C,MAAM;IAAEjD;EAAK,CAAC,GAAGiD,KAAK;EACtB,MAAME,IAAI,GAAGD,KAAK,GACdrD,OAAO,CAACsB,MAAM,EAAE,CAAC8B,KAAK,CAACb,MAAM,CAACpF,KAAK,CAAC,EAAE,CAAC,EAAEgD,IAAI,CAAC,GAC9C3B,KAAK,CAACf,QAAQ,CAAC6D,MAAM,CAAQ,CAAC;EAClC,MAAM7C,GAAG,GAAGhB,QAAQ,CAAC6F,IAAI,CAAQ;EACjC,MAAM,CAACxE,CAAC,EAAEC,CAAC,EAAEC,CAAC,CAAC,GAAGP,GAAG;EACrB,MAAMmE,UAAU,GAAG5C,OAAO,CACxBsD,IAAI,EACJ,CAACF,KAAK,CAACb,MAAM,CAACpF,KAAK,EAAEiG,KAAK,CAACb,MAAM,CAAC3B,OAAO,CAAC,EAC1C,GAAG,EACHT,IACF,CAAC;EACD,MAAMoC,MAAqB,GAAG;IAC5B,GAAGa,KAAK,CAACb,MAAM;IACfjB,MAAM,EAAEgC,IAAI;IACZC,WAAW,EAAEjE,GAAG,CAACb,GAAG,EAAE0B,IAAI,KAAK,MAAM,GAAG,GAAG,GAAG,CAAC,EAAE,IAAI,CAAC;IACtDqD,WAAW,EAAE,QAAQ1E,CAAC,KAAKC,CAAC,KAAKC,CAAC,SAAS;IAC3CyE,gBAAgB,EACdhE,QAAQ,CAAChB,GAAG,EAAEnB,KAAK,CAAC,IAAImC,QAAQ,CAAChB,GAAG,EAAEjB,OAAO,CAAC,GAAG,SAAS,GAAGD,GAAG;IAClEqF,UAAU;IACVJ,UAAU,EAAEI,UAAU;IACtBc,YAAY,EAAE,QAAQ5E,CAAC,KAAKC,CAAC,KAAKC,CAAC,SAAS;IAC5C2E,SAAS,EAAEL;EACb,CAAC;EACD,OAAO;IACL,GAAGF,KAAK;IACRb,MAAM;IACNQ,OAAO,EAAE1B,UAAU,CAAClB,IAAI,EAAEmD,IAAI,CAAC;IAC/B/B,QAAQ,EAAES,WAAW,CAAC7B,IAAI,EAAEmD,IAAI;EAClC,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACO,SAASM,QAAQA,CACtBzD,IAAe,EACfmB,MAA0B,EAC1B+B,KAAc,EACA;EACd,MAAMhB,IAAI,GAAGlC,IAAI,KAAK,OAAO,GAAG+C,iBAAiB,GAAGF,gBAAgB;EACpE,OAAO1B,MAAM,GAAG6B,UAAU,CAACd,IAAI,EAAEf,MAAM,EAAE+B,KAAK,CAAC,GAAGhB,IAAI;AACxD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,SAASwB,YAAYA,CAC1B1D,IAA2B,EAC3B2D,WAAyB,EACX;EACd,MAAMC,IAAe,GAAG5D,IAAI,KAAK,OAAO,GAAG,OAAO,GAAG,MAAM;EAC3D,IAAI,OAAO2D,WAAW,KAAK,QAAQ,IAAIA,WAAW,KAAK,IAAI,EAAE;IAC3D,OAAOF,QAAQ,CAACG,IAAI,EAAED,WAAW,CAACC,IAAI,CAAC,EAAE,KAAK,CAAC;EACjD;EACA,OAAOH,QAAQ,CAACG,IAAI,EAAED,WAAW,EAAE,IAAI,CAAC;AAC1C","ignoreList":[]}
@@ -4,6 +4,21 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.USER_MESSAGE_MIN = exports.USER_MESSAGE_MAX = exports.QUERY_TYPE_LABEL = void 0;
7
+ /**
8
+ * 'support' is the single chat (0.4+). The other three are the typed requests
9
+ * older builds file; their conversations still show in the chat.
10
+ */
11
+
12
+ /** Shown to the support team, which can filter and message users by it. */
13
+
14
+ /** What the host app asks for. "system" follows the app's light/dark appearance. */
15
+
16
+ /**
17
+ * A brand color: one hex for both modes, or a pair. A single color is
18
+ * lightened in dark mode (darkened in light) only as far as it takes to
19
+ * stay visible; a pair is used exactly as given.
20
+ */
21
+
7
22
  /**
8
23
  * How the launcher renders:
9
24
  * solid — accent fill, elevated. The floating action button.
@@ -11,6 +26,8 @@ exports.USER_MESSAGE_MIN = exports.USER_MESSAGE_MAX = exports.QUERY_TYPE_LABEL =
11
26
  * minimal — bare mark, no fill or border. Sits in a nav bar.
12
27
  */
13
28
 
29
+ /** Where a review request's button points; set per app in the dashboard. */
30
+
14
31
  /**
15
32
  * Note the absence of any admin identity: end users see one support team,
16
33
  * not the people staffing it, so the names never leave the server. The
@@ -25,8 +42,9 @@ exports.USER_MESSAGE_MIN = exports.USER_MESSAGE_MAX = exports.QUERY_TYPE_LABEL =
25
42
  const QUERY_TYPE_LABEL = exports.QUERY_TYPE_LABEL = {
26
43
  feedback: 'Feedback',
27
44
  feature_request: 'Feature request',
28
- bug_report: 'Bug report'
45
+ bug_report: 'Bug report',
46
+ support: 'Support'
29
47
  };
30
- const USER_MESSAGE_MIN = exports.USER_MESSAGE_MIN = 10;
31
- const USER_MESSAGE_MAX = exports.USER_MESSAGE_MAX = 300;
48
+ const USER_MESSAGE_MIN = exports.USER_MESSAGE_MIN = 1;
49
+ const USER_MESSAGE_MAX = exports.USER_MESSAGE_MAX = 1000;
32
50
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["QUERY_TYPE_LABEL","exports","feedback","feature_request","bug_report","USER_MESSAGE_MIN","USER_MESSAGE_MAX"],"sourceRoot":"../../src","sources":["types.ts"],"mappings":";;;;;;AASA;AACA;AACA;AACA;AACA;AACA;;AAwFA;AACA;AACA;AACA;AACA;;AAwBA;AACA;AACA;AACA;AACA;AACO,MAAMA,gBAA2C,GAAAC,OAAA,CAAAD,gBAAA,GAAG;EACzDE,QAAQ,EAAE,UAAU;EACpBC,eAAe,EAAE,iBAAiB;EAClCC,UAAU,EAAE;AACd,CAAC;AAEM,MAAMC,gBAAgB,GAAAJ,OAAA,CAAAI,gBAAA,GAAG,EAAE;AAC3B,MAAMC,gBAAgB,GAAAL,OAAA,CAAAK,gBAAA,GAAG,GAAG","ignoreList":[]}
1
+ {"version":3,"names":["QUERY_TYPE_LABEL","exports","feedback","feature_request","bug_report","support","USER_MESSAGE_MIN","USER_MESSAGE_MAX"],"sourceRoot":"../../src","sources":["types.ts"],"mappings":";;;;;;AAGA;AACA;AACA;AACA;;AAEA;;AAKA;;AAEA;AACA;AACA;AACA;AACA;;AAIA;AACA;AACA;AACA;AACA;AACA;;AA2GA;;AAMA;AACA;AACA;AACA;AACA;;AA0BA;AACA;AACA;AACA;AACA;AACO,MAAMA,gBAA2C,GAAAC,OAAA,CAAAD,gBAAA,GAAG;EACzDE,QAAQ,EAAE,UAAU;EACpBC,eAAe,EAAE,iBAAiB;EAClCC,UAAU,EAAE,YAAY;EACxBC,OAAO,EAAE;AACX,CAAC;AAEM,MAAMC,gBAAgB,GAAAL,OAAA,CAAAK,gBAAA,GAAG,CAAC;AAC1B,MAAMC,gBAAgB,GAAAN,OAAA,CAAAM,gBAAA,GAAG,IAAI","ignoreList":[]}
@@ -24,11 +24,11 @@ var _unread = require("./unread");
24
24
  // 3. `mark-read` failures are retried instead of swallowed, and the local
25
25
  // watermark holds the UI correct in the meantime.
26
26
 
27
- // Poll cadence by context: fast where latency is felt (staring at a thread
27
+ // Poll cadence by context: fast where latency is felt (looking at the chat,
28
28
  // waiting for a reply), slow when the sheet is closed — and the idle tick
29
29
  // uses the count-only endpoint, so it costs ~18 bytes instead of the full
30
30
  // thread list.
31
- const THREAD_POLL_MS = 5_000;
31
+ const CHAT_POLL_MS = 5_000;
32
32
  const SHEET_POLL_MS = 15_000;
33
33
  const IDLE_POLL_MS = exports.IDLE_POLL_MS = 60_000;
34
34
  const MIN_POLL_MS = 3_000;
@@ -67,7 +67,7 @@ function useSupportThreads({
67
67
  revenuecatId,
68
68
  enabled,
69
69
  sheetOpen,
70
- activeThreadId,
70
+ chatVisible,
71
71
  idlePollMs
72
72
  }) {
73
73
  const [threads, setThreads] = (0, _react.useState)(null);
@@ -77,6 +77,7 @@ function useSupportThreads({
77
77
  const [errorKey, setErrorKey] = (0, _react.useState)(null);
78
78
  const [serverLanguage, setServerLanguage] = (0, _react.useState)(null);
79
79
  const [languageLoaded, setLanguageLoaded] = (0, _react.useState)(false);
80
+ const [store, setStore] = (0, _react.useState)(null);
80
81
  const mounted = (0, _react.useRef)(true);
81
82
  /** Last server payload, before local read reconciliation. */
82
83
  const rawThreads = (0, _react.useRef)(null);
@@ -85,10 +86,10 @@ function useSupportThreads({
85
86
  const requestSeq = (0, _react.useRef)(0);
86
87
  const appliedSeq = (0, _react.useRef)(0);
87
88
  const readEpoch = (0, _react.useRef)(0);
88
- const activeThreadIdRef = (0, _react.useRef)(activeThreadId);
89
+ const chatVisibleRef = (0, _react.useRef)(chatVisible);
89
90
  (0, _react.useEffect)(() => {
90
- activeThreadIdRef.current = activeThreadId;
91
- }, [activeThreadId]);
91
+ chatVisibleRef.current = chatVisible;
92
+ }, [chatVisible]);
92
93
  (0, _react.useEffect)(() => {
93
94
  mounted.current = true;
94
95
  const timers = reads.current;
@@ -180,6 +181,11 @@ function useSupportThreads({
180
181
  }
181
182
  sendRead(threadId);
182
183
  }, [publish, sendRead]);
184
+
185
+ /** Marks every conversation read — the chat shows them all at once. */
186
+ const markAllRead = (0, _react.useCallback)(() => {
187
+ for (const thread of rawThreads.current ?? []) markThreadRead(thread.id);
188
+ }, [markThreadRead]);
183
189
  const fetchThreads = (0, _react.useCallback)(async mode => {
184
190
  if (!enabled) return;
185
191
  const seq = requestSeq.current += 1;
@@ -201,12 +207,12 @@ function useSupportThreads({
201
207
  setErrorKey(null);
202
208
  setServerLanguage(data.language);
203
209
  setLanguageLoaded(true);
210
+ setStore(data.store ?? null);
204
211
  publish();
205
212
 
206
- // Replies that arrived while the user is sitting in the thread are
213
+ // Replies that arrived while the user is looking at the chat are
207
214
  // read on arrival — otherwise the badge climbed while they read.
208
- const active = activeThreadIdRef.current;
209
- if (active !== null) markThreadRead(active);
215
+ if (chatVisibleRef.current) markAllRead();
210
216
  flushReads();
211
217
  } catch (e) {
212
218
  if (!mounted.current) return;
@@ -218,7 +224,7 @@ function useSupportThreads({
218
224
  if (skeleton) setLoading(false);
219
225
  }
220
226
  }
221
- }, [config, enabled, revenuecatId, publish, markThreadRead, flushReads]);
227
+ }, [config, enabled, revenuecatId, publish, markAllRead, flushReads]);
222
228
 
223
229
  /** Badge-only refresh — the cheap endpoint, used while idle. */
224
230
  const fetchCount = (0, _react.useCallback)(async () => {
@@ -249,17 +255,17 @@ function useSupportThreads({
249
255
  if (sheetOpen) void fetchThreads('background');
250
256
  }, [sheetOpen, fetchThreads]);
251
257
 
252
- // Opening a thread marks it read immediately, before the next poll.
258
+ // Opening the chat marks everything read immediately, before the next poll.
253
259
  (0, _react.useEffect)(() => {
254
- if (activeThreadId !== null) markThreadRead(activeThreadId);
255
- }, [activeThreadId, markThreadRead]);
260
+ if (chatVisible) markAllRead();
261
+ }, [chatVisible, markAllRead]);
256
262
 
257
263
  // Cadence follows what the user is looking at; the app returning to the
258
264
  // foreground always ticks.
259
265
  (0, _react.useEffect)(() => {
260
266
  if (!enabled) return;
261
267
  const idle = !sheetOpen;
262
- const intervalMs = idle ? idlePollMs : activeThreadId !== null ? THREAD_POLL_MS : SHEET_POLL_MS;
268
+ const intervalMs = idle ? idlePollMs : chatVisible ? CHAT_POLL_MS : SHEET_POLL_MS;
263
269
  const tick = () => {
264
270
  // While a receipt is unconfirmed the count-only endpoint would report
265
271
  // replies the user has already read, so pay for the full payload.
@@ -276,7 +282,7 @@ function useSupportThreads({
276
282
  if (timer !== null) clearInterval(timer);
277
283
  appStateSub.remove();
278
284
  };
279
- }, [enabled, sheetOpen, activeThreadId, idlePollMs, fetchThreads, fetchCount]);
285
+ }, [enabled, sheetOpen, chatVisible, idlePollMs, fetchThreads, fetchCount]);
280
286
  const refresh = (0, _react.useCallback)(() => {
281
287
  void fetchThreads('user');
282
288
  }, [fetchThreads]);
@@ -289,6 +295,7 @@ function useSupportThreads({
289
295
  errorKey,
290
296
  serverLanguage,
291
297
  languageLoaded,
298
+ store,
292
299
  refresh,
293
300
  reload
294
301
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNative","_api","_unread","THREAD_POLL_MS","SHEET_POLL_MS","IDLE_POLL_MS","exports","MIN_POLL_MS","MARK_READ_MAX_ATTEMPTS","MARK_READ_BACKOFF_MS","loadErrorKey","e","SupportApiError","offline","status","__DEV__","console","error","useSupportThreads","config","revenuecatId","enabled","sheetOpen","activeThreadId","idlePollMs","threads","setThreads","useState","totalUnread","setTotalUnread","loading","setLoading","refreshing","setRefreshing","errorKey","setErrorKey","serverLanguage","setServerLanguage","languageLoaded","setLanguageLoaded","mounted","useRef","rawThreads","watermarks","Map","reads","requestSeq","appliedSeq","readEpoch","activeThreadIdRef","useEffect","current","timers","attempt","values","timer","clearTimeout","clear","publish","useCallback","raw","reconciled","reconcileThreads","sumUnread","sendRead","threadId","get","inFlight","covers","target","markRead","queryId","then","attempts","delete","catch","setTimeout","flushReads","markThreadRead","thread","find","t","id","latest","latestAdminMessageAt","set","fetchThreads","mode","seq","blank","spinner","skeleton","data","getThreads","pruneWatermarks","language","active","fetchCount","epoch","getUnreadCount","total_unread","idle","intervalMs","tick","size","setInterval","Math","max","appStateSub","AppState","addEventListener","state","clearInterval","remove","refresh","reload"],"sourceRoot":"../../src","sources":["useSupportThreads.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactNative","_api","_unread","CHAT_POLL_MS","SHEET_POLL_MS","IDLE_POLL_MS","exports","MIN_POLL_MS","MARK_READ_MAX_ATTEMPTS","MARK_READ_BACKOFF_MS","loadErrorKey","e","SupportApiError","offline","status","__DEV__","console","error","useSupportThreads","config","revenuecatId","enabled","sheetOpen","chatVisible","idlePollMs","threads","setThreads","useState","totalUnread","setTotalUnread","loading","setLoading","refreshing","setRefreshing","errorKey","setErrorKey","serverLanguage","setServerLanguage","languageLoaded","setLanguageLoaded","store","setStore","mounted","useRef","rawThreads","watermarks","Map","reads","requestSeq","appliedSeq","readEpoch","chatVisibleRef","useEffect","current","timers","attempt","values","timer","clearTimeout","clear","publish","useCallback","raw","reconciled","reconcileThreads","sumUnread","sendRead","threadId","get","inFlight","covers","target","markRead","queryId","then","attempts","delete","catch","setTimeout","flushReads","markThreadRead","thread","find","t","id","latest","latestAdminMessageAt","set","markAllRead","fetchThreads","mode","seq","blank","spinner","skeleton","data","getThreads","pruneWatermarks","language","fetchCount","epoch","getUnreadCount","total_unread","idle","intervalMs","tick","size","setInterval","Math","max","appStateSub","AppState","addEventListener","state","clearInterval","remove","refresh","reload"],"sourceRoot":"../../src","sources":["useSupportThreads.ts"],"mappings":"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","ignoreList":[]}
@@ -7,40 +7,11 @@ exports.dayLabel = dayLabel;
7
7
  exports.formatDate = formatDate;
8
8
  exports.formatTime = formatTime;
9
9
  exports.isSameDay = isSameDay;
10
- exports.relativeTime = relativeTime;
10
+ exports.userPlan = userPlan;
11
11
  exports.validateProps = validateProps;
12
12
  // Dates and times follow the language the user picked, not the device's:
13
13
  // a sheet that says "Traduction…" above "2 days ago" reads as broken.
14
14
 
15
- /** "2h ago" relative time — mirrors the web dashboard's formatting. */
16
- function relativeTime(iso, strings) {
17
- const then = new Date(iso).getTime();
18
- const seconds = Math.max(0, Math.floor((Date.now() - then) / 1000));
19
- if (seconds < 60) return strings.t('time.justNow');
20
- const minutes = Math.floor(seconds / 60);
21
- if (minutes < 60) return strings.t('time.minutes', {
22
- count: minutes
23
- });
24
- const hours = Math.floor(minutes / 60);
25
- if (hours < 24) return strings.t('time.hours', {
26
- count: hours
27
- });
28
- const days = Math.floor(hours / 24);
29
- if (days < 7) return strings.t('time.days', {
30
- count: days
31
- });
32
- const weeks = Math.floor(days / 7);
33
- if (weeks < 5) return strings.t('time.weeks', {
34
- count: weeks
35
- });
36
- const months = Math.floor(days / 30);
37
- if (months < 12) return strings.t('time.months', {
38
- count: months
39
- });
40
- return strings.t('time.years', {
41
- count: Math.floor(days / 365)
42
- });
43
- }
44
15
  function formatDate(iso, strings) {
45
16
  return new Date(iso).toLocaleDateString(strings.locale, {
46
17
  year: 'numeric',
@@ -78,6 +49,12 @@ function dayLabel(iso, strings) {
78
49
  })
79
50
  });
80
51
  }
52
+ const PLANS = ['free', 'trial', 'pro'];
53
+
54
+ /** The user's plan, reading the deprecated `isPaid` when `plan` is absent. */
55
+ function userPlan(user) {
56
+ return user.plan ?? (user.isPaid ? 'pro' : 'free');
57
+ }
81
58
 
82
59
  /** Dev-mode prop validation with actionable messages. */
83
60
  function validateProps(props) {
@@ -92,13 +69,16 @@ function validateProps(props) {
92
69
  }
93
70
  const user = props.user;
94
71
  if (!user || typeof user !== 'object') {
95
- return 'SupportButton: `user` is required — { name, isPaid, revenuecatId, appVersion }.';
72
+ return 'SupportButton: `user` is required — { name, plan, revenuecatId, appVersion }.';
96
73
  }
97
74
  if (typeof user.name !== 'string' || user.name.length === 0) {
98
75
  return 'SupportButton: `user.name` is required (string).';
99
76
  }
100
- if (typeof user.isPaid !== 'boolean') {
101
- return 'SupportButton: `user.isPaid` is required (boolean).';
77
+ if (user.plan !== undefined && !PLANS.includes(user.plan)) {
78
+ return 'SupportButton: `user.plan` must be "free", "trial" or "pro".';
79
+ }
80
+ if (user.plan === undefined && typeof user.isPaid !== 'boolean') {
81
+ return 'SupportButton: `user.plan` is required — "free", "trial" or "pro".';
102
82
  }
103
83
  if (typeof user.revenuecatId !== 'string' || user.revenuecatId.length === 0) {
104
84
  return 'SupportButton: `user.revenuecatId` is required (string) — the RevenueCat app user id.';
@@ -1 +1 @@
1
- {"version":3,"names":["relativeTime","iso","strings","then","Date","getTime","seconds","Math","max","floor","now","t","minutes","count","hours","days","weeks","months","formatDate","toLocaleDateString","locale","year","month","day","formatTime","toLocaleTimeString","hour","minute","isSameDay","a","b","first","second","getFullYear","getMonth","getDate","dayLabel","toISOString","yesterday","date","weekday","validateProps","props","appName","length","apiKey","supabaseUrl","test","user","name","isPaid","revenuecatId","appVersion"],"sourceRoot":"../../src","sources":["utils.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["formatDate","iso","strings","Date","toLocaleDateString","locale","year","month","day","formatTime","toLocaleTimeString","hour","minute","isSameDay","a","b","first","second","getFullYear","getMonth","getDate","dayLabel","now","toISOString","t","yesterday","getTime","date","weekday","PLANS","userPlan","user","plan","isPaid","validateProps","props","appName","length","apiKey","supabaseUrl","test","name","undefined","includes","revenuecatId","appVersion"],"sourceRoot":"../../src","sources":["utils.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.SDK_VERSION = void 0;
7
+ /**
8
+ * Sent as `x-sdk-version` on every request. The backend uses its presence to
9
+ * tell 0.4+ (one support chat) from older builds still in the App Store, so
10
+ * keep it in step with package.json.
11
+ */
12
+ const SDK_VERSION = exports.SDK_VERSION = '0.4.0';
13
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["SDK_VERSION","exports"],"sourceRoot":"../../src","sources":["version.ts"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACO,MAAMA,WAAW,GAAAC,OAAA,CAAAD,WAAA,GAAG,OAAO","ignoreList":[]}