@repzo/widget-react-native 1.0.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 (448) hide show
  1. package/README.md +482 -0
  2. package/lib/commonjs/agent-ui-blocks.js +159 -0
  3. package/lib/commonjs/agent-ui-blocks.js.map +1 -0
  4. package/lib/commonjs/api/client.js +267 -0
  5. package/lib/commonjs/api/client.js.map +1 -0
  6. package/lib/commonjs/api/realtime.js +193 -0
  7. package/lib/commonjs/api/realtime.js.map +1 -0
  8. package/lib/commonjs/api/sse-parser.js +58 -0
  9. package/lib/commonjs/api/sse-parser.js.map +1 -0
  10. package/lib/commonjs/controller.js +23 -0
  11. package/lib/commonjs/controller.js.map +1 -0
  12. package/lib/commonjs/device-id.js +75 -0
  13. package/lib/commonjs/device-id.js.map +1 -0
  14. package/lib/commonjs/events.js +49 -0
  15. package/lib/commonjs/events.js.map +1 -0
  16. package/lib/commonjs/i18n.js +106 -0
  17. package/lib/commonjs/i18n.js.map +1 -0
  18. package/lib/commonjs/index.js +98 -0
  19. package/lib/commonjs/index.js.map +1 -0
  20. package/lib/commonjs/locales.js +85 -0
  21. package/lib/commonjs/locales.js.map +1 -0
  22. package/lib/commonjs/package.json +1 -0
  23. package/lib/commonjs/push/push-notifications.js +208 -0
  24. package/lib/commonjs/push/push-notifications.js.map +1 -0
  25. package/lib/commonjs/state/use-widget-state.js +23 -0
  26. package/lib/commonjs/state/use-widget-state.js.map +1 -0
  27. package/lib/commonjs/state/widget-store.js +1682 -0
  28. package/lib/commonjs/state/widget-store.js.map +1 -0
  29. package/lib/commonjs/storage.js +147 -0
  30. package/lib/commonjs/storage.js.map +1 -0
  31. package/lib/commonjs/types.js +44 -0
  32. package/lib/commonjs/types.js.map +1 -0
  33. package/lib/commonjs/ui/WidgetProvider.js +404 -0
  34. package/lib/commonjs/ui/WidgetProvider.js.map +1 -0
  35. package/lib/commonjs/ui/components/AgentUiBlocks.js +864 -0
  36. package/lib/commonjs/ui/components/AgentUiBlocks.js.map +1 -0
  37. package/lib/commonjs/ui/components/Avatar.js +76 -0
  38. package/lib/commonjs/ui/components/Avatar.js.map +1 -0
  39. package/lib/commonjs/ui/components/ConversationRow.js +155 -0
  40. package/lib/commonjs/ui/components/ConversationRow.js.map +1 -0
  41. package/lib/commonjs/ui/components/ErrorBoundary.js +44 -0
  42. package/lib/commonjs/ui/components/ErrorBoundary.js.map +1 -0
  43. package/lib/commonjs/ui/components/Gradient.js +168 -0
  44. package/lib/commonjs/ui/components/Gradient.js.map +1 -0
  45. package/lib/commonjs/ui/components/Launcher.js +125 -0
  46. package/lib/commonjs/ui/components/Launcher.js.map +1 -0
  47. package/lib/commonjs/ui/components/Markdown.js +257 -0
  48. package/lib/commonjs/ui/components/Markdown.js.map +1 -0
  49. package/lib/commonjs/ui/components/OutboundMessageCard.js +157 -0
  50. package/lib/commonjs/ui/components/OutboundMessageCard.js.map +1 -0
  51. package/lib/commonjs/ui/components/WidgetPanel.js +131 -0
  52. package/lib/commonjs/ui/components/WidgetPanel.js.map +1 -0
  53. package/lib/commonjs/ui/components/icons.js +383 -0
  54. package/lib/commonjs/ui/components/icons.js.map +1 -0
  55. package/lib/commonjs/ui/hooks/use-keyboard-overlap.js +113 -0
  56. package/lib/commonjs/ui/hooks/use-keyboard-overlap.js.map +1 -0
  57. package/lib/commonjs/ui/hooks/use-reduce-motion.js +38 -0
  58. package/lib/commonjs/ui/hooks/use-reduce-motion.js.map +1 -0
  59. package/lib/commonjs/ui/hooks/use-widget-insets.js +41 -0
  60. package/lib/commonjs/ui/hooks/use-widget-insets.js.map +1 -0
  61. package/lib/commonjs/ui/screens/chat/ChatView.js +590 -0
  62. package/lib/commonjs/ui/screens/chat/ChatView.js.map +1 -0
  63. package/lib/commonjs/ui/screens/chat/ChatView.styles.js +362 -0
  64. package/lib/commonjs/ui/screens/chat/ChatView.styles.js.map +1 -0
  65. package/lib/commonjs/ui/screens/chat/ChatView.types.js +6 -0
  66. package/lib/commonjs/ui/screens/chat/ChatView.types.js.map +1 -0
  67. package/lib/commonjs/ui/screens/conversations/ConversationsList.js +150 -0
  68. package/lib/commonjs/ui/screens/conversations/ConversationsList.js.map +1 -0
  69. package/lib/commonjs/ui/screens/conversations/ConversationsList.styles.js +118 -0
  70. package/lib/commonjs/ui/screens/conversations/ConversationsList.styles.js.map +1 -0
  71. package/lib/commonjs/ui/screens/conversations/ConversationsList.types.js +6 -0
  72. package/lib/commonjs/ui/screens/conversations/ConversationsList.types.js.map +1 -0
  73. package/lib/commonjs/ui/screens/home/HomeView.js +336 -0
  74. package/lib/commonjs/ui/screens/home/HomeView.js.map +1 -0
  75. package/lib/commonjs/ui/screens/home/HomeView.styles.js +245 -0
  76. package/lib/commonjs/ui/screens/home/HomeView.styles.js.map +1 -0
  77. package/lib/commonjs/ui/screens/home/HomeView.types.js +6 -0
  78. package/lib/commonjs/ui/screens/home/HomeView.types.js.map +1 -0
  79. package/lib/commonjs/ui/screens/home/greeting.js +49 -0
  80. package/lib/commonjs/ui/screens/home/greeting.js.map +1 -0
  81. package/lib/commonjs/ui/screens/pre-chat/PreChatForm.js +229 -0
  82. package/lib/commonjs/ui/screens/pre-chat/PreChatForm.js.map +1 -0
  83. package/lib/commonjs/ui/screens/pre-chat/PreChatForm.styles.js +125 -0
  84. package/lib/commonjs/ui/screens/pre-chat/PreChatForm.styles.js.map +1 -0
  85. package/lib/commonjs/ui/screens/pre-chat/PreChatForm.types.js +6 -0
  86. package/lib/commonjs/ui/screens/pre-chat/PreChatForm.types.js.map +1 -0
  87. package/lib/commonjs/ui/styles/global.js +55 -0
  88. package/lib/commonjs/ui/styles/global.js.map +1 -0
  89. package/lib/commonjs/ui/styles/theme.js +148 -0
  90. package/lib/commonjs/ui/styles/theme.js.map +1 -0
  91. package/lib/commonjs/ui/utils/conversations.js +125 -0
  92. package/lib/commonjs/ui/utils/conversations.js.map +1 -0
  93. package/lib/commonjs/ui/utils/html.js +44 -0
  94. package/lib/commonjs/ui/utils/html.js.map +1 -0
  95. package/lib/commonjs/ui/utils/native-gradient.js +65 -0
  96. package/lib/commonjs/ui/utils/native-gradient.js.map +1 -0
  97. package/lib/commonjs/ui/utils/rtl.js +56 -0
  98. package/lib/commonjs/ui/utils/rtl.js.map +1 -0
  99. package/lib/commonjs/ui/utils/safe-url.js +67 -0
  100. package/lib/commonjs/ui/utils/safe-url.js.map +1 -0
  101. package/lib/module/agent-ui-blocks.js +152 -0
  102. package/lib/module/agent-ui-blocks.js.map +1 -0
  103. package/lib/module/api/client.js +261 -0
  104. package/lib/module/api/client.js.map +1 -0
  105. package/lib/module/api/realtime.js +189 -0
  106. package/lib/module/api/realtime.js.map +1 -0
  107. package/lib/module/api/sse-parser.js +53 -0
  108. package/lib/module/api/sse-parser.js.map +1 -0
  109. package/lib/module/controller.js +19 -0
  110. package/lib/module/controller.js.map +1 -0
  111. package/lib/module/device-id.js +69 -0
  112. package/lib/module/device-id.js.map +1 -0
  113. package/lib/module/events.js +44 -0
  114. package/lib/module/events.js.map +1 -0
  115. package/lib/module/i18n.js +99 -0
  116. package/lib/module/i18n.js.map +1 -0
  117. package/lib/module/index.js +55 -0
  118. package/lib/module/index.js.map +1 -0
  119. package/lib/module/locales.js +80 -0
  120. package/lib/module/locales.js.map +1 -0
  121. package/lib/module/package.json +1 -0
  122. package/lib/module/push/push-notifications.js +204 -0
  123. package/lib/module/push/push-notifications.js.map +1 -0
  124. package/lib/module/state/use-widget-state.js +18 -0
  125. package/lib/module/state/use-widget-state.js.map +1 -0
  126. package/lib/module/state/widget-store.js +1677 -0
  127. package/lib/module/state/widget-store.js.map +1 -0
  128. package/lib/module/storage.js +141 -0
  129. package/lib/module/storage.js.map +1 -0
  130. package/lib/module/types.js +40 -0
  131. package/lib/module/types.js.map +1 -0
  132. package/lib/module/ui/WidgetProvider.js +400 -0
  133. package/lib/module/ui/WidgetProvider.js.map +1 -0
  134. package/lib/module/ui/components/AgentUiBlocks.js +857 -0
  135. package/lib/module/ui/components/AgentUiBlocks.js.map +1 -0
  136. package/lib/module/ui/components/Avatar.js +71 -0
  137. package/lib/module/ui/components/Avatar.js.map +1 -0
  138. package/lib/module/ui/components/ConversationRow.js +150 -0
  139. package/lib/module/ui/components/ConversationRow.js.map +1 -0
  140. package/lib/module/ui/components/ErrorBoundary.js +39 -0
  141. package/lib/module/ui/components/ErrorBoundary.js.map +1 -0
  142. package/lib/module/ui/components/Gradient.js +165 -0
  143. package/lib/module/ui/components/Gradient.js.map +1 -0
  144. package/lib/module/ui/components/Launcher.js +121 -0
  145. package/lib/module/ui/components/Launcher.js.map +1 -0
  146. package/lib/module/ui/components/Markdown.js +253 -0
  147. package/lib/module/ui/components/Markdown.js.map +1 -0
  148. package/lib/module/ui/components/OutboundMessageCard.js +153 -0
  149. package/lib/module/ui/components/OutboundMessageCard.js.map +1 -0
  150. package/lib/module/ui/components/WidgetPanel.js +127 -0
  151. package/lib/module/ui/components/WidgetPanel.js.map +1 -0
  152. package/lib/module/ui/components/icons.js +370 -0
  153. package/lib/module/ui/components/icons.js.map +1 -0
  154. package/lib/module/ui/hooks/use-keyboard-overlap.js +109 -0
  155. package/lib/module/ui/hooks/use-keyboard-overlap.js.map +1 -0
  156. package/lib/module/ui/hooks/use-reduce-motion.js +34 -0
  157. package/lib/module/ui/hooks/use-reduce-motion.js.map +1 -0
  158. package/lib/module/ui/hooks/use-widget-insets.js +37 -0
  159. package/lib/module/ui/hooks/use-widget-insets.js.map +1 -0
  160. package/lib/module/ui/screens/chat/ChatView.js +586 -0
  161. package/lib/module/ui/screens/chat/ChatView.js.map +1 -0
  162. package/lib/module/ui/screens/chat/ChatView.styles.js +358 -0
  163. package/lib/module/ui/screens/chat/ChatView.styles.js.map +1 -0
  164. package/lib/module/ui/screens/chat/ChatView.types.js +4 -0
  165. package/lib/module/ui/screens/chat/ChatView.types.js.map +1 -0
  166. package/lib/module/ui/screens/conversations/ConversationsList.js +146 -0
  167. package/lib/module/ui/screens/conversations/ConversationsList.js.map +1 -0
  168. package/lib/module/ui/screens/conversations/ConversationsList.styles.js +114 -0
  169. package/lib/module/ui/screens/conversations/ConversationsList.styles.js.map +1 -0
  170. package/lib/module/ui/screens/conversations/ConversationsList.types.js +4 -0
  171. package/lib/module/ui/screens/conversations/ConversationsList.types.js.map +1 -0
  172. package/lib/module/ui/screens/home/HomeView.js +332 -0
  173. package/lib/module/ui/screens/home/HomeView.js.map +1 -0
  174. package/lib/module/ui/screens/home/HomeView.styles.js +242 -0
  175. package/lib/module/ui/screens/home/HomeView.styles.js.map +1 -0
  176. package/lib/module/ui/screens/home/HomeView.types.js +4 -0
  177. package/lib/module/ui/screens/home/HomeView.types.js.map +1 -0
  178. package/lib/module/ui/screens/home/greeting.js +44 -0
  179. package/lib/module/ui/screens/home/greeting.js.map +1 -0
  180. package/lib/module/ui/screens/pre-chat/PreChatForm.js +225 -0
  181. package/lib/module/ui/screens/pre-chat/PreChatForm.js.map +1 -0
  182. package/lib/module/ui/screens/pre-chat/PreChatForm.styles.js +121 -0
  183. package/lib/module/ui/screens/pre-chat/PreChatForm.styles.js.map +1 -0
  184. package/lib/module/ui/screens/pre-chat/PreChatForm.types.js +4 -0
  185. package/lib/module/ui/screens/pre-chat/PreChatForm.types.js.map +1 -0
  186. package/lib/module/ui/styles/global.js +51 -0
  187. package/lib/module/ui/styles/global.js.map +1 -0
  188. package/lib/module/ui/styles/theme.js +137 -0
  189. package/lib/module/ui/styles/theme.js.map +1 -0
  190. package/lib/module/ui/utils/conversations.js +115 -0
  191. package/lib/module/ui/utils/conversations.js.map +1 -0
  192. package/lib/module/ui/utils/html.js +39 -0
  193. package/lib/module/ui/utils/html.js.map +1 -0
  194. package/lib/module/ui/utils/native-gradient.js +60 -0
  195. package/lib/module/ui/utils/native-gradient.js.map +1 -0
  196. package/lib/module/ui/utils/rtl.js +49 -0
  197. package/lib/module/ui/utils/rtl.js.map +1 -0
  198. package/lib/module/ui/utils/safe-url.js +59 -0
  199. package/lib/module/ui/utils/safe-url.js.map +1 -0
  200. package/lib/typescript/commonjs/agent-ui-blocks.d.ts +20 -0
  201. package/lib/typescript/commonjs/agent-ui-blocks.d.ts.map +1 -0
  202. package/lib/typescript/commonjs/api/client.d.ts +115 -0
  203. package/lib/typescript/commonjs/api/client.d.ts.map +1 -0
  204. package/lib/typescript/commonjs/api/realtime.d.ts +39 -0
  205. package/lib/typescript/commonjs/api/realtime.d.ts.map +1 -0
  206. package/lib/typescript/commonjs/api/sse-parser.d.ts +13 -0
  207. package/lib/typescript/commonjs/api/sse-parser.d.ts.map +1 -0
  208. package/lib/typescript/commonjs/controller.d.ts +15 -0
  209. package/lib/typescript/commonjs/controller.d.ts.map +1 -0
  210. package/lib/typescript/commonjs/device-id.d.ts +15 -0
  211. package/lib/typescript/commonjs/device-id.d.ts.map +1 -0
  212. package/lib/typescript/commonjs/events.d.ts +41 -0
  213. package/lib/typescript/commonjs/events.d.ts.map +1 -0
  214. package/lib/typescript/commonjs/i18n.d.ts +78 -0
  215. package/lib/typescript/commonjs/i18n.d.ts.map +1 -0
  216. package/lib/typescript/commonjs/index.d.ts +103 -0
  217. package/lib/typescript/commonjs/index.d.ts.map +1 -0
  218. package/lib/typescript/commonjs/locales.d.ts +18 -0
  219. package/lib/typescript/commonjs/locales.d.ts.map +1 -0
  220. package/lib/typescript/commonjs/package.json +1 -0
  221. package/lib/typescript/commonjs/push/push-notifications.d.ts +71 -0
  222. package/lib/typescript/commonjs/push/push-notifications.d.ts.map +1 -0
  223. package/lib/typescript/commonjs/state/use-widget-state.d.ts +10 -0
  224. package/lib/typescript/commonjs/state/use-widget-state.d.ts.map +1 -0
  225. package/lib/typescript/commonjs/state/widget-store.d.ts +227 -0
  226. package/lib/typescript/commonjs/state/widget-store.d.ts.map +1 -0
  227. package/lib/typescript/commonjs/storage.d.ts +42 -0
  228. package/lib/typescript/commonjs/storage.d.ts.map +1 -0
  229. package/lib/typescript/commonjs/types.d.ts +391 -0
  230. package/lib/typescript/commonjs/types.d.ts.map +1 -0
  231. package/lib/typescript/commonjs/ui/WidgetProvider.d.ts +15 -0
  232. package/lib/typescript/commonjs/ui/WidgetProvider.d.ts.map +1 -0
  233. package/lib/typescript/commonjs/ui/components/AgentUiBlocks.d.ts +27 -0
  234. package/lib/typescript/commonjs/ui/components/AgentUiBlocks.d.ts.map +1 -0
  235. package/lib/typescript/commonjs/ui/components/Avatar.d.ts +19 -0
  236. package/lib/typescript/commonjs/ui/components/Avatar.d.ts.map +1 -0
  237. package/lib/typescript/commonjs/ui/components/ConversationRow.d.ts +26 -0
  238. package/lib/typescript/commonjs/ui/components/ConversationRow.d.ts.map +1 -0
  239. package/lib/typescript/commonjs/ui/components/ErrorBoundary.d.ts +27 -0
  240. package/lib/typescript/commonjs/ui/components/ErrorBoundary.d.ts.map +1 -0
  241. package/lib/typescript/commonjs/ui/components/Gradient.d.ts +33 -0
  242. package/lib/typescript/commonjs/ui/components/Gradient.d.ts.map +1 -0
  243. package/lib/typescript/commonjs/ui/components/Launcher.d.ts +18 -0
  244. package/lib/typescript/commonjs/ui/components/Launcher.d.ts.map +1 -0
  245. package/lib/typescript/commonjs/ui/components/Markdown.d.ts +19 -0
  246. package/lib/typescript/commonjs/ui/components/Markdown.d.ts.map +1 -0
  247. package/lib/typescript/commonjs/ui/components/OutboundMessageCard.d.ts +20 -0
  248. package/lib/typescript/commonjs/ui/components/OutboundMessageCard.d.ts.map +1 -0
  249. package/lib/typescript/commonjs/ui/components/WidgetPanel.d.ts +26 -0
  250. package/lib/typescript/commonjs/ui/components/WidgetPanel.d.ts.map +1 -0
  251. package/lib/typescript/commonjs/ui/components/icons.d.ts +38 -0
  252. package/lib/typescript/commonjs/ui/components/icons.d.ts.map +1 -0
  253. package/lib/typescript/commonjs/ui/hooks/use-keyboard-overlap.d.ts +33 -0
  254. package/lib/typescript/commonjs/ui/hooks/use-keyboard-overlap.d.ts.map +1 -0
  255. package/lib/typescript/commonjs/ui/hooks/use-reduce-motion.d.ts +11 -0
  256. package/lib/typescript/commonjs/ui/hooks/use-reduce-motion.d.ts.map +1 -0
  257. package/lib/typescript/commonjs/ui/hooks/use-widget-insets.d.ts +16 -0
  258. package/lib/typescript/commonjs/ui/hooks/use-widget-insets.d.ts.map +1 -0
  259. package/lib/typescript/commonjs/ui/screens/chat/ChatView.d.ts +11 -0
  260. package/lib/typescript/commonjs/ui/screens/chat/ChatView.d.ts.map +1 -0
  261. package/lib/typescript/commonjs/ui/screens/chat/ChatView.styles.d.ts +349 -0
  262. package/lib/typescript/commonjs/ui/screens/chat/ChatView.styles.d.ts.map +1 -0
  263. package/lib/typescript/commonjs/ui/screens/chat/ChatView.types.d.ts +48 -0
  264. package/lib/typescript/commonjs/ui/screens/chat/ChatView.types.d.ts.map +1 -0
  265. package/lib/typescript/commonjs/ui/screens/conversations/ConversationsList.d.ts +10 -0
  266. package/lib/typescript/commonjs/ui/screens/conversations/ConversationsList.d.ts.map +1 -0
  267. package/lib/typescript/commonjs/ui/screens/conversations/ConversationsList.styles.d.ts +113 -0
  268. package/lib/typescript/commonjs/ui/screens/conversations/ConversationsList.styles.d.ts.map +1 -0
  269. package/lib/typescript/commonjs/ui/screens/conversations/ConversationsList.types.d.ts +31 -0
  270. package/lib/typescript/commonjs/ui/screens/conversations/ConversationsList.types.d.ts.map +1 -0
  271. package/lib/typescript/commonjs/ui/screens/home/HomeView.d.ts +17 -0
  272. package/lib/typescript/commonjs/ui/screens/home/HomeView.d.ts.map +1 -0
  273. package/lib/typescript/commonjs/ui/screens/home/HomeView.styles.d.ts +227 -0
  274. package/lib/typescript/commonjs/ui/screens/home/HomeView.styles.d.ts.map +1 -0
  275. package/lib/typescript/commonjs/ui/screens/home/HomeView.types.d.ts +40 -0
  276. package/lib/typescript/commonjs/ui/screens/home/HomeView.types.d.ts.map +1 -0
  277. package/lib/typescript/commonjs/ui/screens/home/greeting.d.ts +19 -0
  278. package/lib/typescript/commonjs/ui/screens/home/greeting.d.ts.map +1 -0
  279. package/lib/typescript/commonjs/ui/screens/pre-chat/PreChatForm.d.ts +7 -0
  280. package/lib/typescript/commonjs/ui/screens/pre-chat/PreChatForm.d.ts.map +1 -0
  281. package/lib/typescript/commonjs/ui/screens/pre-chat/PreChatForm.styles.d.ts +115 -0
  282. package/lib/typescript/commonjs/ui/screens/pre-chat/PreChatForm.styles.d.ts.map +1 -0
  283. package/lib/typescript/commonjs/ui/screens/pre-chat/PreChatForm.types.d.ts +20 -0
  284. package/lib/typescript/commonjs/ui/screens/pre-chat/PreChatForm.types.d.ts.map +1 -0
  285. package/lib/typescript/commonjs/ui/styles/global.d.ts +46 -0
  286. package/lib/typescript/commonjs/ui/styles/global.d.ts.map +1 -0
  287. package/lib/typescript/commonjs/ui/styles/theme.d.ts +103 -0
  288. package/lib/typescript/commonjs/ui/styles/theme.d.ts.map +1 -0
  289. package/lib/typescript/commonjs/ui/utils/conversations.d.ts +41 -0
  290. package/lib/typescript/commonjs/ui/utils/conversations.d.ts.map +1 -0
  291. package/lib/typescript/commonjs/ui/utils/html.d.ts +10 -0
  292. package/lib/typescript/commonjs/ui/utils/html.d.ts.map +1 -0
  293. package/lib/typescript/commonjs/ui/utils/native-gradient.d.ts +61 -0
  294. package/lib/typescript/commonjs/ui/utils/native-gradient.d.ts.map +1 -0
  295. package/lib/typescript/commonjs/ui/utils/rtl.d.ts +33 -0
  296. package/lib/typescript/commonjs/ui/utils/rtl.d.ts.map +1 -0
  297. package/lib/typescript/commonjs/ui/utils/safe-url.d.ts +21 -0
  298. package/lib/typescript/commonjs/ui/utils/safe-url.d.ts.map +1 -0
  299. package/lib/typescript/module/agent-ui-blocks.d.ts +20 -0
  300. package/lib/typescript/module/agent-ui-blocks.d.ts.map +1 -0
  301. package/lib/typescript/module/api/client.d.ts +115 -0
  302. package/lib/typescript/module/api/client.d.ts.map +1 -0
  303. package/lib/typescript/module/api/realtime.d.ts +39 -0
  304. package/lib/typescript/module/api/realtime.d.ts.map +1 -0
  305. package/lib/typescript/module/api/sse-parser.d.ts +13 -0
  306. package/lib/typescript/module/api/sse-parser.d.ts.map +1 -0
  307. package/lib/typescript/module/controller.d.ts +15 -0
  308. package/lib/typescript/module/controller.d.ts.map +1 -0
  309. package/lib/typescript/module/device-id.d.ts +15 -0
  310. package/lib/typescript/module/device-id.d.ts.map +1 -0
  311. package/lib/typescript/module/events.d.ts +41 -0
  312. package/lib/typescript/module/events.d.ts.map +1 -0
  313. package/lib/typescript/module/i18n.d.ts +78 -0
  314. package/lib/typescript/module/i18n.d.ts.map +1 -0
  315. package/lib/typescript/module/index.d.ts +103 -0
  316. package/lib/typescript/module/index.d.ts.map +1 -0
  317. package/lib/typescript/module/locales.d.ts +18 -0
  318. package/lib/typescript/module/locales.d.ts.map +1 -0
  319. package/lib/typescript/module/package.json +1 -0
  320. package/lib/typescript/module/push/push-notifications.d.ts +71 -0
  321. package/lib/typescript/module/push/push-notifications.d.ts.map +1 -0
  322. package/lib/typescript/module/state/use-widget-state.d.ts +10 -0
  323. package/lib/typescript/module/state/use-widget-state.d.ts.map +1 -0
  324. package/lib/typescript/module/state/widget-store.d.ts +227 -0
  325. package/lib/typescript/module/state/widget-store.d.ts.map +1 -0
  326. package/lib/typescript/module/storage.d.ts +42 -0
  327. package/lib/typescript/module/storage.d.ts.map +1 -0
  328. package/lib/typescript/module/types.d.ts +391 -0
  329. package/lib/typescript/module/types.d.ts.map +1 -0
  330. package/lib/typescript/module/ui/WidgetProvider.d.ts +15 -0
  331. package/lib/typescript/module/ui/WidgetProvider.d.ts.map +1 -0
  332. package/lib/typescript/module/ui/components/AgentUiBlocks.d.ts +27 -0
  333. package/lib/typescript/module/ui/components/AgentUiBlocks.d.ts.map +1 -0
  334. package/lib/typescript/module/ui/components/Avatar.d.ts +19 -0
  335. package/lib/typescript/module/ui/components/Avatar.d.ts.map +1 -0
  336. package/lib/typescript/module/ui/components/ConversationRow.d.ts +26 -0
  337. package/lib/typescript/module/ui/components/ConversationRow.d.ts.map +1 -0
  338. package/lib/typescript/module/ui/components/ErrorBoundary.d.ts +27 -0
  339. package/lib/typescript/module/ui/components/ErrorBoundary.d.ts.map +1 -0
  340. package/lib/typescript/module/ui/components/Gradient.d.ts +33 -0
  341. package/lib/typescript/module/ui/components/Gradient.d.ts.map +1 -0
  342. package/lib/typescript/module/ui/components/Launcher.d.ts +18 -0
  343. package/lib/typescript/module/ui/components/Launcher.d.ts.map +1 -0
  344. package/lib/typescript/module/ui/components/Markdown.d.ts +19 -0
  345. package/lib/typescript/module/ui/components/Markdown.d.ts.map +1 -0
  346. package/lib/typescript/module/ui/components/OutboundMessageCard.d.ts +20 -0
  347. package/lib/typescript/module/ui/components/OutboundMessageCard.d.ts.map +1 -0
  348. package/lib/typescript/module/ui/components/WidgetPanel.d.ts +26 -0
  349. package/lib/typescript/module/ui/components/WidgetPanel.d.ts.map +1 -0
  350. package/lib/typescript/module/ui/components/icons.d.ts +38 -0
  351. package/lib/typescript/module/ui/components/icons.d.ts.map +1 -0
  352. package/lib/typescript/module/ui/hooks/use-keyboard-overlap.d.ts +33 -0
  353. package/lib/typescript/module/ui/hooks/use-keyboard-overlap.d.ts.map +1 -0
  354. package/lib/typescript/module/ui/hooks/use-reduce-motion.d.ts +11 -0
  355. package/lib/typescript/module/ui/hooks/use-reduce-motion.d.ts.map +1 -0
  356. package/lib/typescript/module/ui/hooks/use-widget-insets.d.ts +16 -0
  357. package/lib/typescript/module/ui/hooks/use-widget-insets.d.ts.map +1 -0
  358. package/lib/typescript/module/ui/screens/chat/ChatView.d.ts +11 -0
  359. package/lib/typescript/module/ui/screens/chat/ChatView.d.ts.map +1 -0
  360. package/lib/typescript/module/ui/screens/chat/ChatView.styles.d.ts +349 -0
  361. package/lib/typescript/module/ui/screens/chat/ChatView.styles.d.ts.map +1 -0
  362. package/lib/typescript/module/ui/screens/chat/ChatView.types.d.ts +48 -0
  363. package/lib/typescript/module/ui/screens/chat/ChatView.types.d.ts.map +1 -0
  364. package/lib/typescript/module/ui/screens/conversations/ConversationsList.d.ts +10 -0
  365. package/lib/typescript/module/ui/screens/conversations/ConversationsList.d.ts.map +1 -0
  366. package/lib/typescript/module/ui/screens/conversations/ConversationsList.styles.d.ts +113 -0
  367. package/lib/typescript/module/ui/screens/conversations/ConversationsList.styles.d.ts.map +1 -0
  368. package/lib/typescript/module/ui/screens/conversations/ConversationsList.types.d.ts +31 -0
  369. package/lib/typescript/module/ui/screens/conversations/ConversationsList.types.d.ts.map +1 -0
  370. package/lib/typescript/module/ui/screens/home/HomeView.d.ts +17 -0
  371. package/lib/typescript/module/ui/screens/home/HomeView.d.ts.map +1 -0
  372. package/lib/typescript/module/ui/screens/home/HomeView.styles.d.ts +227 -0
  373. package/lib/typescript/module/ui/screens/home/HomeView.styles.d.ts.map +1 -0
  374. package/lib/typescript/module/ui/screens/home/HomeView.types.d.ts +40 -0
  375. package/lib/typescript/module/ui/screens/home/HomeView.types.d.ts.map +1 -0
  376. package/lib/typescript/module/ui/screens/home/greeting.d.ts +19 -0
  377. package/lib/typescript/module/ui/screens/home/greeting.d.ts.map +1 -0
  378. package/lib/typescript/module/ui/screens/pre-chat/PreChatForm.d.ts +7 -0
  379. package/lib/typescript/module/ui/screens/pre-chat/PreChatForm.d.ts.map +1 -0
  380. package/lib/typescript/module/ui/screens/pre-chat/PreChatForm.styles.d.ts +115 -0
  381. package/lib/typescript/module/ui/screens/pre-chat/PreChatForm.styles.d.ts.map +1 -0
  382. package/lib/typescript/module/ui/screens/pre-chat/PreChatForm.types.d.ts +20 -0
  383. package/lib/typescript/module/ui/screens/pre-chat/PreChatForm.types.d.ts.map +1 -0
  384. package/lib/typescript/module/ui/styles/global.d.ts +46 -0
  385. package/lib/typescript/module/ui/styles/global.d.ts.map +1 -0
  386. package/lib/typescript/module/ui/styles/theme.d.ts +103 -0
  387. package/lib/typescript/module/ui/styles/theme.d.ts.map +1 -0
  388. package/lib/typescript/module/ui/utils/conversations.d.ts +41 -0
  389. package/lib/typescript/module/ui/utils/conversations.d.ts.map +1 -0
  390. package/lib/typescript/module/ui/utils/html.d.ts +10 -0
  391. package/lib/typescript/module/ui/utils/html.d.ts.map +1 -0
  392. package/lib/typescript/module/ui/utils/native-gradient.d.ts +61 -0
  393. package/lib/typescript/module/ui/utils/native-gradient.d.ts.map +1 -0
  394. package/lib/typescript/module/ui/utils/rtl.d.ts +33 -0
  395. package/lib/typescript/module/ui/utils/rtl.d.ts.map +1 -0
  396. package/lib/typescript/module/ui/utils/safe-url.d.ts +21 -0
  397. package/lib/typescript/module/ui/utils/safe-url.d.ts.map +1 -0
  398. package/metro.js +40 -0
  399. package/package.json +116 -0
  400. package/src/agent-ui-blocks.ts +302 -0
  401. package/src/api/client.ts +332 -0
  402. package/src/api/realtime.ts +225 -0
  403. package/src/api/sse-parser.ts +51 -0
  404. package/src/controller.ts +20 -0
  405. package/src/device-id.ts +71 -0
  406. package/src/events.ts +74 -0
  407. package/src/i18n.ts +114 -0
  408. package/src/index.tsx +199 -0
  409. package/src/locales.ts +80 -0
  410. package/src/push/push-notifications.ts +254 -0
  411. package/src/state/use-widget-state.ts +20 -0
  412. package/src/state/widget-store.ts +1815 -0
  413. package/src/storage.ts +153 -0
  414. package/src/types.ts +445 -0
  415. package/src/ui/WidgetProvider.tsx +434 -0
  416. package/src/ui/components/AgentUiBlocks.tsx +912 -0
  417. package/src/ui/components/Avatar.tsx +86 -0
  418. package/src/ui/components/ConversationRow.tsx +163 -0
  419. package/src/ui/components/ErrorBoundary.tsx +49 -0
  420. package/src/ui/components/Gradient.tsx +165 -0
  421. package/src/ui/components/Launcher.tsx +128 -0
  422. package/src/ui/components/Markdown.tsx +291 -0
  423. package/src/ui/components/OutboundMessageCard.tsx +154 -0
  424. package/src/ui/components/WidgetPanel.tsx +133 -0
  425. package/src/ui/components/icons.tsx +315 -0
  426. package/src/ui/hooks/use-keyboard-overlap.ts +134 -0
  427. package/src/ui/hooks/use-reduce-motion.ts +39 -0
  428. package/src/ui/hooks/use-widget-insets.ts +44 -0
  429. package/src/ui/screens/chat/ChatView.styles.ts +357 -0
  430. package/src/ui/screens/chat/ChatView.tsx +690 -0
  431. package/src/ui/screens/chat/ChatView.types.ts +46 -0
  432. package/src/ui/screens/conversations/ConversationsList.styles.ts +111 -0
  433. package/src/ui/screens/conversations/ConversationsList.tsx +144 -0
  434. package/src/ui/screens/conversations/ConversationsList.types.ts +33 -0
  435. package/src/ui/screens/home/HomeView.styles.ts +246 -0
  436. package/src/ui/screens/home/HomeView.tsx +336 -0
  437. package/src/ui/screens/home/HomeView.types.ts +42 -0
  438. package/src/ui/screens/home/greeting.ts +50 -0
  439. package/src/ui/screens/pre-chat/PreChatForm.styles.ts +120 -0
  440. package/src/ui/screens/pre-chat/PreChatForm.tsx +221 -0
  441. package/src/ui/screens/pre-chat/PreChatForm.types.ts +22 -0
  442. package/src/ui/styles/global.ts +50 -0
  443. package/src/ui/styles/theme.ts +155 -0
  444. package/src/ui/utils/conversations.ts +122 -0
  445. package/src/ui/utils/html.ts +58 -0
  446. package/src/ui/utils/native-gradient.ts +60 -0
  447. package/src/ui/utils/rtl.ts +43 -0
  448. package/src/ui/utils/safe-url.ts +63 -0
@@ -0,0 +1,358 @@
1
+ "use strict";
2
+
3
+ /** Styles for the chat thread: header bar, message list, bubbles and composer. */
4
+
5
+ import { StyleSheet } from 'react-native';
6
+ import { fontSize, palette, radius, spacing } from "../../styles/theme.js";
7
+ import { START_ALIGN } from "../../utils/rtl.js";
8
+ export const styles = StyleSheet.create({
9
+ header: {
10
+ flexDirection: 'row',
11
+ alignItems: 'center',
12
+ gap: spacing.md,
13
+ paddingHorizontal: spacing.md,
14
+ paddingVertical: spacing.md,
15
+ minHeight: 72,
16
+ borderBottomWidth: StyleSheet.hairlineWidth
17
+ },
18
+ headerIdentity: {
19
+ flex: 1,
20
+ flexDirection: 'row',
21
+ alignItems: 'center',
22
+ gap: spacing.sm + 2,
23
+ minWidth: 0
24
+ },
25
+ avatarWrapper: {
26
+ position: 'relative'
27
+ },
28
+ onlineDot: {
29
+ position: 'absolute',
30
+ end: -1,
31
+ bottom: -1,
32
+ width: 11,
33
+ height: 11,
34
+ borderRadius: 5.5,
35
+ backgroundColor: palette.online,
36
+ borderWidth: 2,
37
+ borderColor: palette.white
38
+ },
39
+ headerText: {
40
+ flex: 1,
41
+ minWidth: 0
42
+ },
43
+ headerName: {
44
+ textAlign: START_ALIGN,
45
+ fontSize: fontSize.body,
46
+ fontWeight: '700'
47
+ },
48
+ headerStatus: {
49
+ textAlign: START_ALIGN,
50
+ fontSize: fontSize.caption,
51
+ marginTop: 1
52
+ },
53
+ messagesContentEmpty: {
54
+ flexGrow: 1,
55
+ justifyContent: 'center'
56
+ },
57
+ emptyState: {
58
+ alignItems: 'center',
59
+ paddingHorizontal: spacing.xl,
60
+ paddingVertical: spacing.xxl
61
+ },
62
+ emptyIcon: {
63
+ width: 60,
64
+ height: 60,
65
+ borderRadius: 30,
66
+ alignItems: 'center',
67
+ justifyContent: 'center',
68
+ marginBottom: spacing.md
69
+ },
70
+ emptyText: {
71
+ textAlign: 'center',
72
+ color: palette.textSubtle,
73
+ fontSize: fontSize.meta,
74
+ lineHeight: fontSize.meta * 1.4
75
+ },
76
+ messagesContent: {
77
+ padding: spacing.lg,
78
+ paddingBottom: spacing.sm,
79
+ gap: spacing.sm
80
+ },
81
+ loadMore: {
82
+ alignSelf: 'center',
83
+ paddingVertical: spacing.sm,
84
+ paddingHorizontal: spacing.md
85
+ },
86
+ loadMoreLabel: {
87
+ fontSize: fontSize.meta,
88
+ fontWeight: '600'
89
+ },
90
+ stateText: {
91
+ textAlign: 'center',
92
+ paddingVertical: 40,
93
+ paddingHorizontal: spacing.xl,
94
+ color: palette.textSubtle,
95
+ fontSize: fontSize.meta
96
+ },
97
+ messageRow: {
98
+ maxWidth: '100%'
99
+ },
100
+ messageRowLeft: {
101
+ alignItems: 'flex-start'
102
+ },
103
+ senderLabel: {
104
+ textAlign: START_ALIGN,
105
+ fontSize: fontSize.caption,
106
+ fontWeight: '600',
107
+ color: palette.textMuted,
108
+ marginBottom: 3,
109
+ marginStart: spacing.xs
110
+ },
111
+ messageTime: {
112
+ fontSize: 11,
113
+ alignSelf: 'flex-end',
114
+ marginTop: 3
115
+ },
116
+ daySeparator: {
117
+ flexDirection: 'row',
118
+ alignItems: 'center',
119
+ gap: spacing.md,
120
+ paddingVertical: spacing.sm
121
+ },
122
+ dayLine: {
123
+ flex: 1,
124
+ height: StyleSheet.hairlineWidth,
125
+ backgroundColor: palette.border
126
+ },
127
+ dayLabel: {
128
+ fontSize: fontSize.caption,
129
+ fontWeight: '600',
130
+ color: palette.textSubtle
131
+ },
132
+ messageRowRight: {
133
+ alignItems: 'flex-end'
134
+ },
135
+ bubble: {
136
+ maxWidth: '85%',
137
+ paddingHorizontal: spacing.md + 2,
138
+ paddingVertical: spacing.sm + 2
139
+ },
140
+ bubbleVisitor: {
141
+ borderTopLeftRadius: radius.lg + 4,
142
+ borderTopRightRadius: radius.lg + 4,
143
+ borderBottomLeftRadius: radius.lg + 4,
144
+ borderBottomRightRadius: 4
145
+ },
146
+ // `flex-end` already put this bubble on the other side; its tail follows.
147
+ bubbleVisitorRTL: {
148
+ borderBottomLeftRadius: 4,
149
+ borderBottomRightRadius: radius.lg + 4
150
+ },
151
+ bubbleAgent: {
152
+ backgroundColor: palette.surfaceAlt,
153
+ borderTopLeftRadius: radius.lg + 4,
154
+ borderTopRightRadius: radius.lg + 4,
155
+ borderBottomRightRadius: radius.lg + 4,
156
+ borderBottomLeftRadius: 4
157
+ },
158
+ bubbleAgentRTL: {
159
+ borderBottomRightRadius: 4,
160
+ borderBottomLeftRadius: radius.lg + 4
161
+ },
162
+ bubblePending: {
163
+ opacity: 0.7
164
+ },
165
+ bubbleText: {
166
+ fontSize: fontSize.body,
167
+ lineHeight: fontSize.body * 1.45
168
+ },
169
+ attachments: {
170
+ gap: spacing.xs + 2
171
+ },
172
+ attachmentsSpaced: {
173
+ marginTop: spacing.sm
174
+ },
175
+ attachmentImage: {
176
+ width: 180,
177
+ height: 140,
178
+ borderRadius: radius.md
179
+ },
180
+ attachmentFile: {
181
+ borderWidth: StyleSheet.hairlineWidth,
182
+ borderRadius: radius.md,
183
+ paddingHorizontal: spacing.sm + 1,
184
+ paddingVertical: spacing.sm - 1
185
+ },
186
+ attachmentName: {
187
+ fontSize: fontSize.meta
188
+ },
189
+ failedText: {
190
+ fontSize: fontSize.caption,
191
+ marginTop: spacing.xs
192
+ },
193
+ systemRow: {
194
+ alignItems: 'center',
195
+ paddingVertical: spacing.sm
196
+ },
197
+ systemText: {
198
+ maxWidth: '86%',
199
+ textAlign: 'center',
200
+ color: palette.textMuted,
201
+ fontSize: fontSize.caption,
202
+ lineHeight: fontSize.caption * 1.4
203
+ },
204
+ typingRow: {
205
+ flexDirection: 'row',
206
+ alignItems: 'center',
207
+ gap: spacing.sm,
208
+ paddingVertical: spacing.sm
209
+ },
210
+ typingBubble: {
211
+ flexDirection: 'row',
212
+ alignItems: 'center',
213
+ gap: spacing.xs,
214
+ backgroundColor: palette.surfaceAlt,
215
+ borderRadius: radius.lg + 4,
216
+ paddingHorizontal: spacing.md + 2,
217
+ paddingVertical: spacing.sm
218
+ },
219
+ typingDot: {
220
+ width: 6,
221
+ height: 6,
222
+ borderRadius: 3,
223
+ backgroundColor: palette.textSubtle
224
+ },
225
+ typingLabel: {
226
+ fontSize: fontSize.caption,
227
+ color: palette.textMuted
228
+ },
229
+ offlineBanner: {
230
+ paddingHorizontal: spacing.md,
231
+ paddingVertical: spacing.sm,
232
+ backgroundColor: palette.warningBg,
233
+ borderTopWidth: StyleSheet.hairlineWidth,
234
+ borderTopColor: palette.warningBorder
235
+ },
236
+ offlineText: {
237
+ fontSize: fontSize.caption,
238
+ color: palette.warningText,
239
+ textAlign: 'center'
240
+ },
241
+ composerWrapper: {
242
+ paddingHorizontal: spacing.md,
243
+ paddingTop: spacing.md,
244
+ paddingBottom: spacing.md,
245
+ backgroundColor: palette.white,
246
+ borderTopWidth: StyleSheet.hairlineWidth,
247
+ borderTopColor: palette.border
248
+ },
249
+ // A near-white fill behind a hairline made the field disappear into the
250
+ // page; this reads as an input before you tap it.
251
+ composer: {
252
+ flexDirection: 'row',
253
+ alignItems: 'flex-end',
254
+ gap: spacing.sm,
255
+ minHeight: 48,
256
+ backgroundColor: palette.surfaceAlt,
257
+ borderRadius: 24,
258
+ borderWidth: 1,
259
+ borderColor: palette.border,
260
+ paddingLeft: spacing.lg,
261
+ paddingRight: spacing.xs + 2,
262
+ paddingVertical: spacing.xs + 2
263
+ },
264
+ composerFocused: {
265
+ backgroundColor: palette.white
266
+ },
267
+ input: {
268
+ textAlign: START_ALIGN,
269
+ flex: 1,
270
+ fontSize: fontSize.input,
271
+ lineHeight: fontSize.input * 1.4,
272
+ color: palette.ink,
273
+ maxHeight: 120,
274
+ paddingTop: 6,
275
+ paddingBottom: 6,
276
+ padding: 0
277
+ },
278
+ sendButton: {
279
+ width: 36,
280
+ height: 36,
281
+ borderRadius: 18,
282
+ alignItems: 'center',
283
+ justifyContent: 'center'
284
+ },
285
+ sendButtonDisabled: {
286
+ backgroundColor: palette.surfaceAlt
287
+ },
288
+ sendButtonPressed: {
289
+ opacity: 0.85
290
+ },
291
+ procedureCard: {
292
+ width: '100%',
293
+ maxWidth: 320,
294
+ marginTop: spacing.sm,
295
+ borderWidth: StyleSheet.hairlineWidth,
296
+ borderColor: palette.border,
297
+ borderRadius: radius.xl,
298
+ backgroundColor: palette.white,
299
+ padding: spacing.sm + 2
300
+ },
301
+ procedureToggle: {
302
+ flexDirection: 'row',
303
+ alignItems: 'center',
304
+ justifyContent: 'space-between',
305
+ gap: spacing.sm,
306
+ borderRadius: radius.md,
307
+ paddingHorizontal: spacing.md,
308
+ paddingVertical: spacing.md,
309
+ minHeight: 44
310
+ },
311
+ procedureToggleLabel: {
312
+ fontSize: fontSize.meta,
313
+ fontWeight: '600'
314
+ },
315
+ procedureToggleHint: {
316
+ fontSize: fontSize.caption,
317
+ opacity: 0.85
318
+ },
319
+ procedureTitle: {
320
+ fontSize: fontSize.meta,
321
+ fontWeight: '600',
322
+ color: palette.text,
323
+ marginTop: spacing.sm + 2,
324
+ marginBottom: spacing.sm
325
+ },
326
+ procedureFields: {
327
+ gap: spacing.sm
328
+ },
329
+ procedureLabel: {
330
+ fontSize: fontSize.caption,
331
+ color: palette.textMuted,
332
+ marginBottom: spacing.xs
333
+ },
334
+ procedureInput: {
335
+ borderWidth: StyleSheet.hairlineWidth,
336
+ borderColor: palette.disabled,
337
+ borderRadius: radius.md,
338
+ paddingHorizontal: spacing.md,
339
+ paddingVertical: spacing.sm + 2,
340
+ fontSize: fontSize.input,
341
+ color: palette.text,
342
+ minHeight: 44
343
+ },
344
+ procedureSubmit: {
345
+ marginTop: spacing.sm + 2,
346
+ borderRadius: radius.md,
347
+ alignItems: 'center',
348
+ justifyContent: 'center',
349
+ paddingVertical: spacing.md,
350
+ minHeight: 44
351
+ },
352
+ procedureSubmitLabel: {
353
+ color: palette.white,
354
+ fontSize: fontSize.meta,
355
+ fontWeight: '600'
356
+ }
357
+ });
358
+ //# sourceMappingURL=ChatView.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["StyleSheet","fontSize","palette","radius","spacing","START_ALIGN","styles","create","header","flexDirection","alignItems","gap","md","paddingHorizontal","paddingVertical","minHeight","borderBottomWidth","hairlineWidth","headerIdentity","flex","sm","minWidth","avatarWrapper","position","onlineDot","end","bottom","width","height","borderRadius","backgroundColor","online","borderWidth","borderColor","white","headerText","headerName","textAlign","body","fontWeight","headerStatus","caption","marginTop","messagesContentEmpty","flexGrow","justifyContent","emptyState","xl","xxl","emptyIcon","marginBottom","emptyText","color","textSubtle","meta","lineHeight","messagesContent","padding","lg","paddingBottom","loadMore","alignSelf","loadMoreLabel","stateText","messageRow","maxWidth","messageRowLeft","senderLabel","textMuted","marginStart","xs","messageTime","daySeparator","dayLine","border","dayLabel","messageRowRight","bubble","bubbleVisitor","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","bubbleVisitorRTL","bubbleAgent","surfaceAlt","bubbleAgentRTL","bubblePending","opacity","bubbleText","attachments","attachmentsSpaced","attachmentImage","attachmentFile","attachmentName","failedText","systemRow","systemText","typingRow","typingBubble","typingDot","typingLabel","offlineBanner","warningBg","borderTopWidth","borderTopColor","warningBorder","offlineText","warningText","composerWrapper","paddingTop","composer","paddingLeft","paddingRight","composerFocused","input","ink","maxHeight","sendButton","sendButtonDisabled","sendButtonPressed","procedureCard","procedureToggle","procedureToggleLabel","procedureToggleHint","procedureTitle","text","procedureFields","procedureLabel","procedureInput","disabled","procedureSubmit","procedureSubmitLabel"],"sourceRoot":"../../../../../src","sources":["ui/screens/chat/ChatView.styles.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=ChatView.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../../../src","sources":["ui/screens/chat/ChatView.types.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,146 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Messages space — conversation rows plus the floating "new conversation"
5
+ * pill. Port of `client/src/widget/components/ConversationsList.tsx`.
6
+ *
7
+ * Rows are shared with the Home space's recent preview, and both sort for
8
+ * themselves because the store keeps conversations in arrival order.
9
+ */
10
+
11
+ import { useCallback, useMemo, useState } from 'react';
12
+ import { FlatList, Pressable, RefreshControl, Text, View } from 'react-native';
13
+ import { ConversationRow } from "../../components/ConversationRow.js";
14
+ import { ArrowRightIcon, ChatOutlineIcon, CloseIcon } from "../../components/icons.js";
15
+ import { globalStyles } from "../../styles/global.js";
16
+ import { palette, spacing, withAlpha } from "../../styles/theme.js";
17
+ import { sortByRecency } from "../../utils/conversations.js";
18
+ import { flipForRTL } from "../../utils/rtl.js";
19
+ import { styles } from "./ConversationsList.styles.js";
20
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
21
+ export function ConversationsList({
22
+ conversations,
23
+ unreadByConversation,
24
+ color,
25
+ allowNewConversations,
26
+ showPreviousConversations,
27
+ isOnline,
28
+ startConversationLabel,
29
+ labels,
30
+ onSelect,
31
+ onNewConversation,
32
+ onRefresh,
33
+ onClose
34
+ }) {
35
+ const [refreshing, setRefreshing] = useState(false);
36
+ const visibleConversations = useMemo(() => showPreviousConversations ? sortByRecency(conversations) : [], [conversations, showPreviousConversations]);
37
+
38
+ // The realtime stream can drop messages while backgrounded, so let the
39
+ // visitor force the same refresh the app does when it returns to the front.
40
+ const handleRefresh = useCallback(async () => {
41
+ setRefreshing(true);
42
+ try {
43
+ await onRefresh();
44
+ } finally {
45
+ setRefreshing(false);
46
+ }
47
+ }, [onRefresh]);
48
+ const isEmpty = visibleConversations.length === 0;
49
+ return /*#__PURE__*/_jsxs(View, {
50
+ style: globalStyles.screen,
51
+ children: [/*#__PURE__*/_jsxs(View, {
52
+ style: styles.header,
53
+ children: [/*#__PURE__*/_jsxs(View, {
54
+ style: styles.headerCopy,
55
+ children: [/*#__PURE__*/_jsx(Text, {
56
+ style: styles.title,
57
+ children: labels.messages
58
+ }), /*#__PURE__*/_jsxs(View, {
59
+ style: styles.statusLine,
60
+ children: [/*#__PURE__*/_jsx(View, {
61
+ style: [styles.statusDot, {
62
+ backgroundColor: isOnline ? palette.online : palette.textSubtle
63
+ }]
64
+ }), /*#__PURE__*/_jsx(Text, {
65
+ style: styles.statusText,
66
+ children: isOnline ? labels.statusOnline : labels.statusAway
67
+ })]
68
+ })]
69
+ }), /*#__PURE__*/_jsx(Pressable, {
70
+ onPress: onClose,
71
+ accessibilityRole: "button",
72
+ accessibilityLabel: labels.close,
73
+ hitSlop: 12,
74
+ style: styles.close,
75
+ children: /*#__PURE__*/_jsx(CloseIcon, {
76
+ size: 18
77
+ })
78
+ })]
79
+ }), /*#__PURE__*/_jsx(FlatList, {
80
+ data: visibleConversations,
81
+ keyExtractor: item => item.id,
82
+ contentContainerStyle: [styles.listContent, isEmpty && styles.listContentEmpty, {
83
+ paddingBottom: allowNewConversations ? 84 : spacing.xl
84
+ }],
85
+ ItemSeparatorComponent: () => /*#__PURE__*/_jsx(View, {
86
+ style: [globalStyles.divider, styles.divider]
87
+ }),
88
+ refreshControl: showPreviousConversations ? /*#__PURE__*/_jsx(RefreshControl, {
89
+ refreshing: refreshing,
90
+ onRefresh: handleRefresh,
91
+ tintColor: color,
92
+ colors: [color]
93
+ }) : undefined,
94
+ ListEmptyComponent: /*#__PURE__*/_jsxs(View, {
95
+ style: styles.empty,
96
+ children: [/*#__PURE__*/_jsx(View, {
97
+ style: [styles.emptyIcon, {
98
+ backgroundColor: withAlpha(color, 0.08)
99
+ }],
100
+ children: /*#__PURE__*/_jsx(ChatOutlineIcon, {
101
+ size: 30,
102
+ color: color
103
+ })
104
+ }), /*#__PURE__*/_jsx(Text, {
105
+ style: styles.emptyTitle,
106
+ children: showPreviousConversations ? labels.noMessages : labels.historyHidden
107
+ }), allowNewConversations ? /*#__PURE__*/_jsx(Text, {
108
+ style: styles.emptySubtitle,
109
+ children: labels.startBelow
110
+ }) : null]
111
+ }),
112
+ renderItem: ({
113
+ item
114
+ }) => /*#__PURE__*/_jsx(ConversationRow, {
115
+ conversation: item,
116
+ color: color,
117
+ fallbackName: labels.team,
118
+ timeLabels: labels.time,
119
+ unreadCount: unreadByConversation[item.id] ?? 0,
120
+ unreadLabel: labels.unread,
121
+ onPress: () => onSelect(item.id)
122
+ })
123
+ }), allowNewConversations ? /*#__PURE__*/_jsx(View, {
124
+ style: styles.fabWrapper,
125
+ pointerEvents: "box-none",
126
+ children: /*#__PURE__*/_jsxs(Pressable, {
127
+ onPress: onNewConversation,
128
+ accessibilityRole: "button",
129
+ style: ({
130
+ pressed
131
+ }) => [styles.fab, {
132
+ backgroundColor: color
133
+ }, pressed && styles.fabPressed],
134
+ children: [/*#__PURE__*/_jsx(Text, {
135
+ style: styles.fabLabel,
136
+ children: startConversationLabel
137
+ }), /*#__PURE__*/_jsx(ArrowRightIcon, {
138
+ size: 16,
139
+ color: palette.white,
140
+ style: flipForRTL()
141
+ })]
142
+ })
143
+ }) : null]
144
+ });
145
+ }
146
+ //# sourceMappingURL=ConversationsList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useCallback","useMemo","useState","FlatList","Pressable","RefreshControl","Text","View","ConversationRow","ArrowRightIcon","ChatOutlineIcon","CloseIcon","globalStyles","palette","spacing","withAlpha","sortByRecency","flipForRTL","styles","jsx","_jsx","jsxs","_jsxs","ConversationsList","conversations","unreadByConversation","color","allowNewConversations","showPreviousConversations","isOnline","startConversationLabel","labels","onSelect","onNewConversation","onRefresh","onClose","refreshing","setRefreshing","visibleConversations","handleRefresh","isEmpty","length","style","screen","children","header","headerCopy","title","messages","statusLine","statusDot","backgroundColor","online","textSubtle","statusText","statusOnline","statusAway","onPress","accessibilityRole","accessibilityLabel","close","hitSlop","size","data","keyExtractor","item","id","contentContainerStyle","listContent","listContentEmpty","paddingBottom","xl","ItemSeparatorComponent","divider","refreshControl","tintColor","colors","undefined","ListEmptyComponent","empty","emptyIcon","emptyTitle","noMessages","historyHidden","emptySubtitle","startBelow","renderItem","conversation","fallbackName","team","timeLabels","time","unreadCount","unreadLabel","unread","fabWrapper","pointerEvents","pressed","fab","fabPressed","fabLabel","white"],"sourceRoot":"../../../../../src","sources":["ui/screens/conversations/ConversationsList.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+
3
+ /** Styles for the Messages space: centered header, row list and the floating pill. */
4
+
5
+ import { StyleSheet } from 'react-native';
6
+ import { rowDividerInset } from "../../components/ConversationRow.js";
7
+ import { fontSize, palette, radius, shadows, spacing } from "../../styles/theme.js";
8
+ export const styles = StyleSheet.create({
9
+ header: {
10
+ alignItems: 'center',
11
+ justifyContent: 'center',
12
+ // Leaves room for the absolutely-placed close button on both sides so the
13
+ // title stays optically centered.
14
+ paddingHorizontal: spacing.xxl + spacing.lg,
15
+ paddingTop: spacing.lg,
16
+ paddingBottom: spacing.md,
17
+ borderBottomWidth: StyleSheet.hairlineWidth,
18
+ borderBottomColor: palette.borderSoft
19
+ },
20
+ headerCopy: {
21
+ alignItems: 'center',
22
+ gap: 2
23
+ },
24
+ title: {
25
+ fontSize: fontSize.title,
26
+ fontWeight: '600',
27
+ color: palette.ink
28
+ },
29
+ statusLine: {
30
+ flexDirection: 'row',
31
+ alignItems: 'center',
32
+ gap: spacing.xs + 2
33
+ },
34
+ statusDot: {
35
+ width: 7,
36
+ height: 7,
37
+ borderRadius: 3.5
38
+ },
39
+ statusText: {
40
+ fontSize: fontSize.caption,
41
+ color: palette.textMuted
42
+ },
43
+ close: {
44
+ position: 'absolute',
45
+ end: spacing.lg,
46
+ top: 0,
47
+ bottom: 0,
48
+ justifyContent: 'center',
49
+ paddingHorizontal: spacing.xs
50
+ },
51
+ listContent: {
52
+ flexGrow: 1
53
+ },
54
+ listContentEmpty: {
55
+ justifyContent: 'center'
56
+ },
57
+ divider: {
58
+ marginStart: rowDividerInset()
59
+ },
60
+ empty: {
61
+ alignItems: 'center',
62
+ paddingHorizontal: spacing.xxl,
63
+ paddingVertical: 48
64
+ },
65
+ emptyIcon: {
66
+ width: 64,
67
+ height: 64,
68
+ borderRadius: 32,
69
+ alignItems: 'center',
70
+ justifyContent: 'center',
71
+ marginBottom: spacing.lg
72
+ },
73
+ emptyTitle: {
74
+ fontSize: fontSize.body,
75
+ fontWeight: '600',
76
+ color: palette.ink,
77
+ textAlign: 'center'
78
+ },
79
+ emptySubtitle: {
80
+ fontSize: fontSize.meta,
81
+ color: palette.textSubtle,
82
+ marginTop: spacing.xs,
83
+ textAlign: 'center'
84
+ },
85
+ fabWrapper: {
86
+ position: 'absolute',
87
+ left: 0,
88
+ right: 0,
89
+ bottom: spacing.lg,
90
+ alignItems: 'center'
91
+ },
92
+ fab: {
93
+ flexDirection: 'row',
94
+ alignItems: 'center',
95
+ gap: spacing.sm,
96
+ minHeight: 46,
97
+ paddingHorizontal: spacing.xl,
98
+ paddingVertical: spacing.md,
99
+ borderRadius: radius.pill,
100
+ ...shadows.floating
101
+ },
102
+ fabPressed: {
103
+ opacity: 0.9,
104
+ transform: [{
105
+ scale: 0.98
106
+ }]
107
+ },
108
+ fabLabel: {
109
+ color: palette.white,
110
+ fontSize: fontSize.meta,
111
+ fontWeight: '600'
112
+ }
113
+ });
114
+ //# sourceMappingURL=ConversationsList.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["StyleSheet","rowDividerInset","fontSize","palette","radius","shadows","spacing","styles","create","header","alignItems","justifyContent","paddingHorizontal","xxl","lg","paddingTop","paddingBottom","md","borderBottomWidth","hairlineWidth","borderBottomColor","borderSoft","headerCopy","gap","title","fontWeight","color","ink","statusLine","flexDirection","xs","statusDot","width","height","borderRadius","statusText","caption","textMuted","close","position","end","top","bottom","listContent","flexGrow","listContentEmpty","divider","marginStart","empty","paddingVertical","emptyIcon","marginBottom","emptyTitle","body","textAlign","emptySubtitle","meta","textSubtle","marginTop","fabWrapper","left","right","fab","sm","minHeight","xl","pill","floating","fabPressed","opacity","transform","scale","fabLabel","white"],"sourceRoot":"../../../../../src","sources":["ui/screens/conversations/ConversationsList.styles.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=ConversationsList.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../../../src","sources":["ui/screens/conversations/ConversationsList.types.ts"],"mappings":"","ignoreList":[]}