@unif/react-native-chat 2.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 (345) hide show
  1. package/LICENSE +20 -0
  2. package/README.md +48 -0
  3. package/lib/module/actions/index.js +2 -0
  4. package/lib/module/actions/index.js.map +1 -0
  5. package/lib/module/actions/types.js +4 -0
  6. package/lib/module/actions/types.js.map +1 -0
  7. package/lib/module/components/Attachments/AttachmentItem.js +108 -0
  8. package/lib/module/components/Attachments/AttachmentItem.js.map +1 -0
  9. package/lib/module/components/Attachments/Attachments.js +60 -0
  10. package/lib/module/components/Attachments/Attachments.js.map +1 -0
  11. package/lib/module/components/Attachments/constants.js +18 -0
  12. package/lib/module/components/Attachments/constants.js.map +1 -0
  13. package/lib/module/components/Attachments/index.js +4 -0
  14. package/lib/module/components/Attachments/index.js.map +1 -0
  15. package/lib/module/components/Attachments/styles.js +83 -0
  16. package/lib/module/components/Attachments/styles.js.map +1 -0
  17. package/lib/module/components/Attachments/types.js +4 -0
  18. package/lib/module/components/Attachments/types.js.map +1 -0
  19. package/lib/module/components/Chat/Chat.js +29 -0
  20. package/lib/module/components/Chat/Chat.js.map +1 -0
  21. package/lib/module/components/Chat/index.js +4 -0
  22. package/lib/module/components/Chat/index.js.map +1 -0
  23. package/lib/module/components/Chat/styles.js +17 -0
  24. package/lib/module/components/Chat/styles.js.map +1 -0
  25. package/lib/module/components/Chat/types.js +4 -0
  26. package/lib/module/components/Chat/types.js.map +1 -0
  27. package/lib/module/components/Citation/Citation.js +32 -0
  28. package/lib/module/components/Citation/Citation.js.map +1 -0
  29. package/lib/module/components/Citation/index.js +4 -0
  30. package/lib/module/components/Citation/index.js.map +1 -0
  31. package/lib/module/components/Citation/styles.js +15 -0
  32. package/lib/module/components/Citation/styles.js.map +1 -0
  33. package/lib/module/components/Citation/types.js +2 -0
  34. package/lib/module/components/Citation/types.js.map +1 -0
  35. package/lib/module/components/Composer/Composer.js +149 -0
  36. package/lib/module/components/Composer/Composer.js.map +1 -0
  37. package/lib/module/components/Composer/constants.js +14 -0
  38. package/lib/module/components/Composer/constants.js.map +1 -0
  39. package/lib/module/components/Composer/index.js +4 -0
  40. package/lib/module/components/Composer/index.js.map +1 -0
  41. package/lib/module/components/Composer/styles.js +43 -0
  42. package/lib/module/components/Composer/styles.js.map +1 -0
  43. package/lib/module/components/Composer/types.js +4 -0
  44. package/lib/module/components/Composer/types.js.map +1 -0
  45. package/lib/module/components/Confirmation/Confirmation.js +56 -0
  46. package/lib/module/components/Confirmation/Confirmation.js.map +1 -0
  47. package/lib/module/components/Confirmation/constants.js +10 -0
  48. package/lib/module/components/Confirmation/constants.js.map +1 -0
  49. package/lib/module/components/Confirmation/index.js +4 -0
  50. package/lib/module/components/Confirmation/index.js.map +1 -0
  51. package/lib/module/components/Confirmation/styles.js +34 -0
  52. package/lib/module/components/Confirmation/styles.js.map +1 -0
  53. package/lib/module/components/Confirmation/types.js +4 -0
  54. package/lib/module/components/Confirmation/types.js.map +1 -0
  55. package/lib/module/components/Feedback/Feedback.js +82 -0
  56. package/lib/module/components/Feedback/Feedback.js.map +1 -0
  57. package/lib/module/components/Feedback/constants.js +15 -0
  58. package/lib/module/components/Feedback/constants.js.map +1 -0
  59. package/lib/module/components/Feedback/index.js +4 -0
  60. package/lib/module/components/Feedback/index.js.map +1 -0
  61. package/lib/module/components/Feedback/styles.js +30 -0
  62. package/lib/module/components/Feedback/styles.js.map +1 -0
  63. package/lib/module/components/Feedback/types.js +4 -0
  64. package/lib/module/components/Feedback/types.js.map +1 -0
  65. package/lib/module/components/Message/MarkdownContent/MarkdownContent.js +68 -0
  66. package/lib/module/components/Message/MarkdownContent/MarkdownContent.js.map +1 -0
  67. package/lib/module/components/Message/MarkdownContent/MarkdownImage/MarkdownImage.js +53 -0
  68. package/lib/module/components/Message/MarkdownContent/MarkdownImage/MarkdownImage.js.map +1 -0
  69. package/lib/module/components/Message/MarkdownContent/MarkdownImage/styles.js +10 -0
  70. package/lib/module/components/Message/MarkdownContent/MarkdownImage/styles.js.map +1 -0
  71. package/lib/module/components/Message/MarkdownContent/MarkdownImage/types.js +2 -0
  72. package/lib/module/components/Message/MarkdownContent/MarkdownImage/types.js.map +1 -0
  73. package/lib/module/components/Message/MarkdownContent/styles.js +85 -0
  74. package/lib/module/components/Message/MarkdownContent/styles.js.map +1 -0
  75. package/lib/module/components/Message/MarkdownContent/types.js +2 -0
  76. package/lib/module/components/Message/MarkdownContent/types.js.map +1 -0
  77. package/lib/module/components/Message/Message.js +87 -0
  78. package/lib/module/components/Message/Message.js.map +1 -0
  79. package/lib/module/components/Message/constants.js +4 -0
  80. package/lib/module/components/Message/constants.js.map +1 -0
  81. package/lib/module/components/Message/index.js +4 -0
  82. package/lib/module/components/Message/index.js.map +1 -0
  83. package/lib/module/components/Message/isNestedAction.js +14 -0
  84. package/lib/module/components/Message/isNestedAction.js.map +1 -0
  85. package/lib/module/components/Message/styles.js +73 -0
  86. package/lib/module/components/Message/styles.js.map +1 -0
  87. package/lib/module/components/Message/types.js +4 -0
  88. package/lib/module/components/Message/types.js.map +1 -0
  89. package/lib/module/components/MessageList/MessageList.js +223 -0
  90. package/lib/module/components/MessageList/MessageList.js.map +1 -0
  91. package/lib/module/components/MessageList/constants.js +4 -0
  92. package/lib/module/components/MessageList/constants.js.map +1 -0
  93. package/lib/module/components/MessageList/index.js +4 -0
  94. package/lib/module/components/MessageList/index.js.map +1 -0
  95. package/lib/module/components/MessageList/styles.js +20 -0
  96. package/lib/module/components/MessageList/styles.js.map +1 -0
  97. package/lib/module/components/MessageList/types.js +4 -0
  98. package/lib/module/components/MessageList/types.js.map +1 -0
  99. package/lib/module/components/MessageList/webPrependAnchor/constants.js +4 -0
  100. package/lib/module/components/MessageList/webPrependAnchor/constants.js.map +1 -0
  101. package/lib/module/components/MessageList/webPrependAnchor/index.js +4 -0
  102. package/lib/module/components/MessageList/webPrependAnchor/index.js.map +1 -0
  103. package/lib/module/components/MessageList/webPrependAnchor/types.js +4 -0
  104. package/lib/module/components/MessageList/webPrependAnchor/types.js.map +1 -0
  105. package/lib/module/components/MessageList/webPrependAnchor/useWebPrependAnchor.js +19 -0
  106. package/lib/module/components/MessageList/webPrependAnchor/useWebPrependAnchor.js.map +1 -0
  107. package/lib/module/components/MessageList/webPrependAnchor/useWebPrependAnchor.web.js +208 -0
  108. package/lib/module/components/MessageList/webPrependAnchor/useWebPrependAnchor.web.js.map +1 -0
  109. package/lib/module/components/Process/Process.js +121 -0
  110. package/lib/module/components/Process/Process.js.map +1 -0
  111. package/lib/module/components/Process/constants.js +17 -0
  112. package/lib/module/components/Process/constants.js.map +1 -0
  113. package/lib/module/components/Process/index.js +4 -0
  114. package/lib/module/components/Process/index.js.map +1 -0
  115. package/lib/module/components/Process/styles.js +77 -0
  116. package/lib/module/components/Process/styles.js.map +1 -0
  117. package/lib/module/components/Process/types.js +4 -0
  118. package/lib/module/components/Process/types.js.map +1 -0
  119. package/lib/module/components/Sources/Sources.js +64 -0
  120. package/lib/module/components/Sources/Sources.js.map +1 -0
  121. package/lib/module/components/Sources/constants.js +4 -0
  122. package/lib/module/components/Sources/constants.js.map +1 -0
  123. package/lib/module/components/Sources/index.js +4 -0
  124. package/lib/module/components/Sources/index.js.map +1 -0
  125. package/lib/module/components/Sources/styles.js +52 -0
  126. package/lib/module/components/Sources/styles.js.map +1 -0
  127. package/lib/module/components/Sources/types.js +4 -0
  128. package/lib/module/components/Sources/types.js.map +1 -0
  129. package/lib/module/components/Suggestions/Suggestions.js +31 -0
  130. package/lib/module/components/Suggestions/Suggestions.js.map +1 -0
  131. package/lib/module/components/Suggestions/index.js +4 -0
  132. package/lib/module/components/Suggestions/index.js.map +1 -0
  133. package/lib/module/components/Suggestions/styles.js +18 -0
  134. package/lib/module/components/Suggestions/styles.js.map +1 -0
  135. package/lib/module/components/Suggestions/types.js +4 -0
  136. package/lib/module/components/Suggestions/types.js.map +1 -0
  137. package/lib/module/index.js +14 -0
  138. package/lib/module/index.js.map +1 -0
  139. package/lib/module/package.json +1 -0
  140. package/lib/typescript/package.json +1 -0
  141. package/lib/typescript/src/actions/index.d.ts +2 -0
  142. package/lib/typescript/src/actions/index.d.ts.map +1 -0
  143. package/lib/typescript/src/actions/types.d.ts +11 -0
  144. package/lib/typescript/src/actions/types.d.ts.map +1 -0
  145. package/lib/typescript/src/components/Attachments/AttachmentItem.d.ts +3 -0
  146. package/lib/typescript/src/components/Attachments/AttachmentItem.d.ts.map +1 -0
  147. package/lib/typescript/src/components/Attachments/Attachments.d.ts +3 -0
  148. package/lib/typescript/src/components/Attachments/Attachments.d.ts.map +1 -0
  149. package/lib/typescript/src/components/Attachments/constants.d.ts +13 -0
  150. package/lib/typescript/src/components/Attachments/constants.d.ts.map +1 -0
  151. package/lib/typescript/src/components/Attachments/index.d.ts +3 -0
  152. package/lib/typescript/src/components/Attachments/index.d.ts.map +1 -0
  153. package/lib/typescript/src/components/Attachments/styles.d.ts +80 -0
  154. package/lib/typescript/src/components/Attachments/styles.d.ts.map +1 -0
  155. package/lib/typescript/src/components/Attachments/types.d.ts +34 -0
  156. package/lib/typescript/src/components/Attachments/types.d.ts.map +1 -0
  157. package/lib/typescript/src/components/Chat/Chat.d.ts +3 -0
  158. package/lib/typescript/src/components/Chat/Chat.d.ts.map +1 -0
  159. package/lib/typescript/src/components/Chat/index.d.ts +3 -0
  160. package/lib/typescript/src/components/Chat/index.d.ts.map +1 -0
  161. package/lib/typescript/src/components/Chat/styles.d.ts +15 -0
  162. package/lib/typescript/src/components/Chat/styles.d.ts.map +1 -0
  163. package/lib/typescript/src/components/Chat/types.d.ts +12 -0
  164. package/lib/typescript/src/components/Chat/types.d.ts.map +1 -0
  165. package/lib/typescript/src/components/Citation/Citation.d.ts +3 -0
  166. package/lib/typescript/src/components/Citation/Citation.d.ts.map +1 -0
  167. package/lib/typescript/src/components/Citation/index.d.ts +3 -0
  168. package/lib/typescript/src/components/Citation/index.d.ts.map +1 -0
  169. package/lib/typescript/src/components/Citation/styles.d.ts +12 -0
  170. package/lib/typescript/src/components/Citation/styles.d.ts.map +1 -0
  171. package/lib/typescript/src/components/Citation/types.d.ts +8 -0
  172. package/lib/typescript/src/components/Citation/types.d.ts.map +1 -0
  173. package/lib/typescript/src/components/Composer/Composer.d.ts +4 -0
  174. package/lib/typescript/src/components/Composer/Composer.d.ts.map +1 -0
  175. package/lib/typescript/src/components/Composer/constants.d.ts +12 -0
  176. package/lib/typescript/src/components/Composer/constants.d.ts.map +1 -0
  177. package/lib/typescript/src/components/Composer/index.d.ts +3 -0
  178. package/lib/typescript/src/components/Composer/index.d.ts.map +1 -0
  179. package/lib/typescript/src/components/Composer/styles.d.ts +40 -0
  180. package/lib/typescript/src/components/Composer/styles.d.ts.map +1 -0
  181. package/lib/typescript/src/components/Composer/types.d.ts +53 -0
  182. package/lib/typescript/src/components/Composer/types.d.ts.map +1 -0
  183. package/lib/typescript/src/components/Confirmation/Confirmation.d.ts +3 -0
  184. package/lib/typescript/src/components/Confirmation/Confirmation.d.ts.map +1 -0
  185. package/lib/typescript/src/components/Confirmation/constants.d.ts +5 -0
  186. package/lib/typescript/src/components/Confirmation/constants.d.ts.map +1 -0
  187. package/lib/typescript/src/components/Confirmation/index.d.ts +3 -0
  188. package/lib/typescript/src/components/Confirmation/index.d.ts.map +1 -0
  189. package/lib/typescript/src/components/Confirmation/styles.d.ts +31 -0
  190. package/lib/typescript/src/components/Confirmation/styles.d.ts.map +1 -0
  191. package/lib/typescript/src/components/Confirmation/types.d.ts +19 -0
  192. package/lib/typescript/src/components/Confirmation/types.d.ts.map +1 -0
  193. package/lib/typescript/src/components/Feedback/Feedback.d.ts +3 -0
  194. package/lib/typescript/src/components/Feedback/Feedback.d.ts.map +1 -0
  195. package/lib/typescript/src/components/Feedback/constants.d.ts +5 -0
  196. package/lib/typescript/src/components/Feedback/constants.d.ts.map +1 -0
  197. package/lib/typescript/src/components/Feedback/index.d.ts +3 -0
  198. package/lib/typescript/src/components/Feedback/index.d.ts.map +1 -0
  199. package/lib/typescript/src/components/Feedback/styles.d.ts +27 -0
  200. package/lib/typescript/src/components/Feedback/styles.d.ts.map +1 -0
  201. package/lib/typescript/src/components/Feedback/types.d.ts +12 -0
  202. package/lib/typescript/src/components/Feedback/types.d.ts.map +1 -0
  203. package/lib/typescript/src/components/Message/MarkdownContent/MarkdownContent.d.ts +3 -0
  204. package/lib/typescript/src/components/Message/MarkdownContent/MarkdownContent.d.ts.map +1 -0
  205. package/lib/typescript/src/components/Message/MarkdownContent/MarkdownImage/MarkdownImage.d.ts +3 -0
  206. package/lib/typescript/src/components/Message/MarkdownContent/MarkdownImage/MarkdownImage.d.ts.map +1 -0
  207. package/lib/typescript/src/components/Message/MarkdownContent/MarkdownImage/styles.d.ts +7 -0
  208. package/lib/typescript/src/components/Message/MarkdownContent/MarkdownImage/styles.d.ts.map +1 -0
  209. package/lib/typescript/src/components/Message/MarkdownContent/MarkdownImage/types.d.ts +9 -0
  210. package/lib/typescript/src/components/Message/MarkdownContent/MarkdownImage/types.d.ts.map +1 -0
  211. package/lib/typescript/src/components/Message/MarkdownContent/styles.d.ts +92 -0
  212. package/lib/typescript/src/components/Message/MarkdownContent/styles.d.ts.map +1 -0
  213. package/lib/typescript/src/components/Message/MarkdownContent/types.d.ts +5 -0
  214. package/lib/typescript/src/components/Message/MarkdownContent/types.d.ts.map +1 -0
  215. package/lib/typescript/src/components/Message/Message.d.ts +3 -0
  216. package/lib/typescript/src/components/Message/Message.d.ts.map +1 -0
  217. package/lib/typescript/src/components/Message/constants.d.ts +2 -0
  218. package/lib/typescript/src/components/Message/constants.d.ts.map +1 -0
  219. package/lib/typescript/src/components/Message/index.d.ts +3 -0
  220. package/lib/typescript/src/components/Message/index.d.ts.map +1 -0
  221. package/lib/typescript/src/components/Message/isNestedAction.d.ts +3 -0
  222. package/lib/typescript/src/components/Message/isNestedAction.d.ts.map +1 -0
  223. package/lib/typescript/src/components/Message/styles.d.ts +70 -0
  224. package/lib/typescript/src/components/Message/styles.d.ts.map +1 -0
  225. package/lib/typescript/src/components/Message/types.d.ts +44 -0
  226. package/lib/typescript/src/components/Message/types.d.ts.map +1 -0
  227. package/lib/typescript/src/components/MessageList/MessageList.d.ts +4 -0
  228. package/lib/typescript/src/components/MessageList/MessageList.d.ts.map +1 -0
  229. package/lib/typescript/src/components/MessageList/constants.d.ts +2 -0
  230. package/lib/typescript/src/components/MessageList/constants.d.ts.map +1 -0
  231. package/lib/typescript/src/components/MessageList/index.d.ts +3 -0
  232. package/lib/typescript/src/components/MessageList/index.d.ts.map +1 -0
  233. package/lib/typescript/src/components/MessageList/styles.d.ts +16 -0
  234. package/lib/typescript/src/components/MessageList/styles.d.ts.map +1 -0
  235. package/lib/typescript/src/components/MessageList/types.d.ts +36 -0
  236. package/lib/typescript/src/components/MessageList/types.d.ts.map +1 -0
  237. package/lib/typescript/src/components/MessageList/webPrependAnchor/constants.d.ts +2 -0
  238. package/lib/typescript/src/components/MessageList/webPrependAnchor/constants.d.ts.map +1 -0
  239. package/lib/typescript/src/components/MessageList/webPrependAnchor/index.d.ts +3 -0
  240. package/lib/typescript/src/components/MessageList/webPrependAnchor/index.d.ts.map +1 -0
  241. package/lib/typescript/src/components/MessageList/webPrependAnchor/types.d.ts +72 -0
  242. package/lib/typescript/src/components/MessageList/webPrependAnchor/types.d.ts.map +1 -0
  243. package/lib/typescript/src/components/MessageList/webPrependAnchor/useWebPrependAnchor.d.ts +3 -0
  244. package/lib/typescript/src/components/MessageList/webPrependAnchor/useWebPrependAnchor.d.ts.map +1 -0
  245. package/lib/typescript/src/components/MessageList/webPrependAnchor/useWebPrependAnchor.web.d.ts +3 -0
  246. package/lib/typescript/src/components/MessageList/webPrependAnchor/useWebPrependAnchor.web.d.ts.map +1 -0
  247. package/lib/typescript/src/components/Process/Process.d.ts +3 -0
  248. package/lib/typescript/src/components/Process/Process.d.ts.map +1 -0
  249. package/lib/typescript/src/components/Process/constants.d.ts +5 -0
  250. package/lib/typescript/src/components/Process/constants.d.ts.map +1 -0
  251. package/lib/typescript/src/components/Process/index.d.ts +3 -0
  252. package/lib/typescript/src/components/Process/index.d.ts.map +1 -0
  253. package/lib/typescript/src/components/Process/styles.d.ts +74 -0
  254. package/lib/typescript/src/components/Process/styles.d.ts.map +1 -0
  255. package/lib/typescript/src/components/Process/types.d.ts +32 -0
  256. package/lib/typescript/src/components/Process/types.d.ts.map +1 -0
  257. package/lib/typescript/src/components/Sources/Sources.d.ts +3 -0
  258. package/lib/typescript/src/components/Sources/Sources.d.ts.map +1 -0
  259. package/lib/typescript/src/components/Sources/constants.d.ts +2 -0
  260. package/lib/typescript/src/components/Sources/constants.d.ts.map +1 -0
  261. package/lib/typescript/src/components/Sources/index.d.ts +3 -0
  262. package/lib/typescript/src/components/Sources/index.d.ts.map +1 -0
  263. package/lib/typescript/src/components/Sources/styles.d.ts +49 -0
  264. package/lib/typescript/src/components/Sources/styles.d.ts.map +1 -0
  265. package/lib/typescript/src/components/Sources/types.d.ts +16 -0
  266. package/lib/typescript/src/components/Sources/types.d.ts.map +1 -0
  267. package/lib/typescript/src/components/Suggestions/Suggestions.d.ts +3 -0
  268. package/lib/typescript/src/components/Suggestions/Suggestions.d.ts.map +1 -0
  269. package/lib/typescript/src/components/Suggestions/index.d.ts +3 -0
  270. package/lib/typescript/src/components/Suggestions/index.d.ts.map +1 -0
  271. package/lib/typescript/src/components/Suggestions/styles.d.ts +14 -0
  272. package/lib/typescript/src/components/Suggestions/styles.d.ts.map +1 -0
  273. package/lib/typescript/src/components/Suggestions/types.d.ts +18 -0
  274. package/lib/typescript/src/components/Suggestions/types.d.ts.map +1 -0
  275. package/lib/typescript/src/index.d.ts +24 -0
  276. package/lib/typescript/src/index.d.ts.map +1 -0
  277. package/package.json +178 -0
  278. package/src/actions/index.ts +1 -0
  279. package/src/actions/types.ts +11 -0
  280. package/src/components/Attachments/AttachmentItem.tsx +139 -0
  281. package/src/components/Attachments/Attachments.tsx +72 -0
  282. package/src/components/Attachments/constants.ts +21 -0
  283. package/src/components/Attachments/index.ts +6 -0
  284. package/src/components/Attachments/styles.ts +54 -0
  285. package/src/components/Attachments/types.ts +38 -0
  286. package/src/components/Chat/Chat.tsx +26 -0
  287. package/src/components/Chat/index.ts +2 -0
  288. package/src/components/Chat/styles.ts +12 -0
  289. package/src/components/Chat/types.ts +11 -0
  290. package/src/components/Citation/Citation.tsx +33 -0
  291. package/src/components/Citation/index.ts +2 -0
  292. package/src/components/Citation/styles.ts +15 -0
  293. package/src/components/Citation/types.ts +7 -0
  294. package/src/components/Composer/Composer.tsx +208 -0
  295. package/src/components/Composer/constants.ts +11 -0
  296. package/src/components/Composer/index.ts +11 -0
  297. package/src/components/Composer/styles.ts +25 -0
  298. package/src/components/Composer/types.ts +61 -0
  299. package/src/components/Confirmation/Confirmation.tsx +63 -0
  300. package/src/components/Confirmation/constants.ts +12 -0
  301. package/src/components/Confirmation/index.ts +2 -0
  302. package/src/components/Confirmation/styles.ts +39 -0
  303. package/src/components/Confirmation/types.ts +21 -0
  304. package/src/components/Feedback/Feedback.tsx +87 -0
  305. package/src/components/Feedback/constants.ts +16 -0
  306. package/src/components/Feedback/index.ts +2 -0
  307. package/src/components/Feedback/styles.ts +30 -0
  308. package/src/components/Feedback/types.ts +13 -0
  309. package/src/components/Message/MarkdownContent/MarkdownContent.tsx +70 -0
  310. package/src/components/Message/MarkdownContent/MarkdownImage/MarkdownImage.tsx +52 -0
  311. package/src/components/Message/MarkdownContent/MarkdownImage/styles.ts +4 -0
  312. package/src/components/Message/MarkdownContent/MarkdownImage/types.ts +8 -0
  313. package/src/components/Message/MarkdownContent/styles.ts +61 -0
  314. package/src/components/Message/MarkdownContent/types.ts +4 -0
  315. package/src/components/Message/Message.tsx +137 -0
  316. package/src/components/Message/constants.ts +2 -0
  317. package/src/components/Message/index.ts +10 -0
  318. package/src/components/Message/isNestedAction.ts +22 -0
  319. package/src/components/Message/styles.ts +42 -0
  320. package/src/components/Message/types.ts +45 -0
  321. package/src/components/MessageList/MessageList.tsx +238 -0
  322. package/src/components/MessageList/constants.ts +1 -0
  323. package/src/components/MessageList/index.ts +6 -0
  324. package/src/components/MessageList/styles.ts +7 -0
  325. package/src/components/MessageList/types.ts +36 -0
  326. package/src/components/MessageList/webPrependAnchor/constants.ts +6 -0
  327. package/src/components/MessageList/webPrependAnchor/index.ts +7 -0
  328. package/src/components/MessageList/webPrependAnchor/types.ts +92 -0
  329. package/src/components/MessageList/webPrependAnchor/useWebPrependAnchor.ts +27 -0
  330. package/src/components/MessageList/webPrependAnchor/useWebPrependAnchor.web.ts +293 -0
  331. package/src/components/Process/Process.tsx +160 -0
  332. package/src/components/Process/constants.ts +22 -0
  333. package/src/components/Process/index.ts +9 -0
  334. package/src/components/Process/styles.ts +77 -0
  335. package/src/components/Process/types.ts +39 -0
  336. package/src/components/Sources/Sources.tsx +70 -0
  337. package/src/components/Sources/constants.ts +1 -0
  338. package/src/components/Sources/index.ts +2 -0
  339. package/src/components/Sources/styles.ts +59 -0
  340. package/src/components/Sources/types.ts +17 -0
  341. package/src/components/Suggestions/Suggestions.tsx +34 -0
  342. package/src/components/Suggestions/index.ts +2 -0
  343. package/src/components/Suggestions/styles.ts +16 -0
  344. package/src/components/Suggestions/types.ts +19 -0
  345. package/src/index.tsx +61 -0
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+
3
+ import { useEffect, useState } from 'react';
4
+ import { Image, View } from 'react-native';
5
+ import { Icon, Thumbnail } from '@unif/react-native-design';
6
+ import { styles } from "./styles.js";
7
+ import { jsx as _jsx } from "react/jsx-runtime";
8
+ export function MarkdownImage({
9
+ uri,
10
+ label
11
+ }) {
12
+ const [width, setWidth] = useState(1);
13
+ const [ratio, setRatio] = useState(undefined);
14
+ useEffect(() => {
15
+ let active = true;
16
+ // 只取资源几何;加载与失败占位仍由 Design Thumbnail 持有。
17
+ Image.getSize(uri, (imageWidth, imageHeight) => {
18
+ if (active && Number.isFinite(imageWidth) && Number.isFinite(imageHeight) && imageWidth > 0 && imageHeight > 0) {
19
+ setRatio({
20
+ uri,
21
+ value: imageWidth / imageHeight
22
+ });
23
+ }
24
+ }, () => {});
25
+ return () => {
26
+ active = false;
27
+ };
28
+ }, [uri]);
29
+ return /*#__PURE__*/_jsx(View, {
30
+ style: styles.root,
31
+ onLayout: ({
32
+ nativeEvent: {
33
+ layout
34
+ }
35
+ }) => setWidth(Math.max(1, layout.width)),
36
+ children: /*#__PURE__*/_jsx(Thumbnail, {
37
+ source: {
38
+ uri
39
+ },
40
+ size: {
41
+ width,
42
+ height: width / (ratio?.uri === uri ? ratio.value : 1),
43
+ borderRadius: 0
44
+ },
45
+ resizeMode: "contain",
46
+ fallback: /*#__PURE__*/_jsx(Icon, {
47
+ name: "image"
48
+ }),
49
+ accessibilityLabel: label || '图片'
50
+ })
51
+ });
52
+ }
53
+ //# sourceMappingURL=MarkdownImage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useEffect","useState","Image","View","Icon","Thumbnail","styles","jsx","_jsx","MarkdownImage","uri","label","width","setWidth","ratio","setRatio","undefined","active","getSize","imageWidth","imageHeight","Number","isFinite","value","style","root","onLayout","nativeEvent","layout","Math","max","children","source","size","height","borderRadius","resizeMode","fallback","name","accessibilityLabel"],"sourceRoot":"../../../../../../src","sources":["components/Message/MarkdownContent/MarkdownImage/MarkdownImage.tsx"],"mappings":";;AAAA,SAASA,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAC3C,SAASC,KAAK,EAAEC,IAAI,QAAQ,cAAc;AAC1C,SAASC,IAAI,EAAEC,SAAS,QAAQ,2BAA2B;AAC3D,SAASC,MAAM,QAAQ,aAAU;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAGlC,OAAO,SAASC,aAAaA,CAAC;EAAEC,GAAG;EAAEC;AAA0B,CAAC,EAAE;EAChE,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAGZ,QAAQ,CAAC,CAAC,CAAC;EACrC,MAAM,CAACa,KAAK,EAAEC,QAAQ,CAAC,GAAGd,QAAQ,CAAyBe,SAAS,CAAC;EACrEhB,SAAS,CAAC,MAAM;IACd,IAAIiB,MAAM,GAAG,IAAI;IACjB;IACAf,KAAK,CAACgB,OAAO,CACXR,GAAG,EACH,CAACS,UAAU,EAAEC,WAAW,KAAK;MAC3B,IACEH,MAAM,IACNI,MAAM,CAACC,QAAQ,CAACH,UAAU,CAAC,IAC3BE,MAAM,CAACC,QAAQ,CAACF,WAAW,CAAC,IAC5BD,UAAU,GAAG,CAAC,IACdC,WAAW,GAAG,CAAC,EACf;QACAL,QAAQ,CAAC;UAAEL,GAAG;UAAEa,KAAK,EAAEJ,UAAU,GAAGC;QAAY,CAAC,CAAC;MACpD;IACF,CAAC,EACD,MAAM,CAAC,CACT,CAAC;IACD,OAAO,MAAM;MACXH,MAAM,GAAG,KAAK;IAChB,CAAC;EACH,CAAC,EAAE,CAACP,GAAG,CAAC,CAAC;EACT,oBACEF,IAAA,CAACL,IAAI;IACHqB,KAAK,EAAElB,MAAM,CAACmB,IAAK;IACnBC,QAAQ,EAAEA,CAAC;MAAEC,WAAW,EAAE;QAAEC;MAAO;IAAE,CAAC,KACpCf,QAAQ,CAACgB,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEF,MAAM,CAAChB,KAAK,CAAC,CACnC;IAAAmB,QAAA,eAEDvB,IAAA,CAACH,SAAS;MACR2B,MAAM,EAAE;QAAEtB;MAAI,CAAE;MAChBuB,IAAI,EAAE;QACJrB,KAAK;QACLsB,MAAM,EAAEtB,KAAK,IAAIE,KAAK,EAAEJ,GAAG,KAAKA,GAAG,GAAGI,KAAK,CAACS,KAAK,GAAG,CAAC,CAAC;QACtDY,YAAY,EAAE;MAChB,CAAE;MACFC,UAAU,EAAC,SAAS;MACpBC,QAAQ,eAAE7B,IAAA,CAACJ,IAAI;QAACkC,IAAI,EAAC;MAAO,CAAE,CAAE;MAChCC,kBAAkB,EAAE5B,KAAK,IAAI;IAAK,CACnC;EAAC,CACE,CAAC;AAEX","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ import { StyleSheet } from 'react-native';
4
+ export const styles = StyleSheet.create({
5
+ root: {
6
+ width: '100%',
7
+ minWidth: 1
8
+ }
9
+ });
10
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["StyleSheet","styles","create","root","width","minWidth"],"sourceRoot":"../../../../../../src","sources":["components/Message/MarkdownContent/MarkdownImage/styles.ts"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,cAAc;AACzC,OAAO,MAAMC,MAAM,GAAGD,UAAU,CAACE,MAAM,CAAC;EACtCC,IAAI,EAAE;IAAEC,KAAK,EAAE,MAAM;IAAEC,QAAQ,EAAE;EAAE;AACrC,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../../../../src","sources":["components/Message/MarkdownContent/MarkdownImage/types.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+
3
+ import { StyleSheet } from 'react-native';
4
+ import { type, space, fontMono } from '@unif/react-native-design';
5
+ export const createStyles = colors => {
6
+ const body = {
7
+ fontSize: type.body,
8
+ lineHeight: type.body * 1.5,
9
+ color: colors.foreground
10
+ };
11
+ return StyleSheet.create({
12
+ text: body,
13
+ em: {
14
+ ...body,
15
+ fontStyle: 'italic'
16
+ },
17
+ strong: {
18
+ ...body,
19
+ fontWeight: 'bold'
20
+ },
21
+ strikethrough: {
22
+ ...body,
23
+ textDecorationLine: 'line-through'
24
+ },
25
+ link: {
26
+ ...body,
27
+ color: colors.primary
28
+ },
29
+ li: body,
30
+ codespan: {
31
+ ...body,
32
+ fontFamily: fontMono,
33
+ backgroundColor: colors.surfaceContainer
34
+ },
35
+ h1: {
36
+ fontSize: type.h1,
37
+ lineHeight: type.h1 * 1.4,
38
+ color: colors.foreground,
39
+ borderBottomColor: colors.outline
40
+ },
41
+ h2: {
42
+ fontSize: type.h2,
43
+ lineHeight: type.h2 * 1.4,
44
+ color: colors.foreground,
45
+ borderBottomColor: colors.outline
46
+ },
47
+ h3: {
48
+ fontSize: type.h3,
49
+ lineHeight: type.h3 * 1.4,
50
+ color: colors.foreground
51
+ },
52
+ h4: {
53
+ fontSize: type.body,
54
+ lineHeight: type.body * 1.4,
55
+ color: colors.foreground
56
+ },
57
+ h5: {
58
+ fontSize: type.sm,
59
+ lineHeight: type.sm * 1.4,
60
+ color: colors.foreground
61
+ },
62
+ h6: {
63
+ fontSize: type.xs,
64
+ lineHeight: type.xs * 1.4,
65
+ color: colors.foreground
66
+ },
67
+ paragraph: {
68
+ paddingVertical: space[1]
69
+ },
70
+ code: {
71
+ padding: space[2],
72
+ backgroundColor: colors.surfaceContainer
73
+ },
74
+ blockquote: {
75
+ borderLeftColor: colors.outline
76
+ },
77
+ hr: {
78
+ borderBottomColor: colors.outline
79
+ },
80
+ table: {
81
+ borderColor: colors.outline
82
+ }
83
+ });
84
+ };
85
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["StyleSheet","type","space","fontMono","createStyles","colors","body","fontSize","lineHeight","color","foreground","create","text","em","fontStyle","strong","fontWeight","strikethrough","textDecorationLine","link","primary","li","codespan","fontFamily","backgroundColor","surfaceContainer","h1","borderBottomColor","outline","h2","h3","h4","h5","sm","h6","xs","paragraph","paddingVertical","code","padding","blockquote","borderLeftColor","hr","table","borderColor"],"sourceRoot":"../../../../../src","sources":["components/Message/MarkdownContent/styles.ts"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,cAAc;AACzC,SAASC,IAAI,EAAEC,KAAK,EAAEC,QAAQ,QAAQ,2BAA2B;AAGjE,OAAO,MAAMC,YAAY,GAAIC,MAAmB,IAAK;EACnD,MAAMC,IAAI,GAAG;IACXC,QAAQ,EAAEN,IAAI,CAACK,IAAI;IACnBE,UAAU,EAAEP,IAAI,CAACK,IAAI,GAAG,GAAG;IAC3BG,KAAK,EAAEJ,MAAM,CAACK;EAChB,CAAC;EACD,OAAOV,UAAU,CAACW,MAAM,CAAC;IACvBC,IAAI,EAAEN,IAAI;IACVO,EAAE,EAAE;MAAE,GAAGP,IAAI;MAAEQ,SAAS,EAAE;IAAS,CAAC;IACpCC,MAAM,EAAE;MAAE,GAAGT,IAAI;MAAEU,UAAU,EAAE;IAAO,CAAC;IACvCC,aAAa,EAAE;MAAE,GAAGX,IAAI;MAAEY,kBAAkB,EAAE;IAAe,CAAC;IAC9DC,IAAI,EAAE;MAAE,GAAGb,IAAI;MAAEG,KAAK,EAAEJ,MAAM,CAACe;IAAQ,CAAC;IACxCC,EAAE,EAAEf,IAAI;IACRgB,QAAQ,EAAE;MACR,GAAGhB,IAAI;MACPiB,UAAU,EAAEpB,QAAQ;MACpBqB,eAAe,EAAEnB,MAAM,CAACoB;IAC1B,CAAC;IACDC,EAAE,EAAE;MACFnB,QAAQ,EAAEN,IAAI,CAACyB,EAAE;MACjBlB,UAAU,EAAEP,IAAI,CAACyB,EAAE,GAAG,GAAG;MACzBjB,KAAK,EAAEJ,MAAM,CAACK,UAAU;MACxBiB,iBAAiB,EAAEtB,MAAM,CAACuB;IAC5B,CAAC;IACDC,EAAE,EAAE;MACFtB,QAAQ,EAAEN,IAAI,CAAC4B,EAAE;MACjBrB,UAAU,EAAEP,IAAI,CAAC4B,EAAE,GAAG,GAAG;MACzBpB,KAAK,EAAEJ,MAAM,CAACK,UAAU;MACxBiB,iBAAiB,EAAEtB,MAAM,CAACuB;IAC5B,CAAC;IACDE,EAAE,EAAE;MACFvB,QAAQ,EAAEN,IAAI,CAAC6B,EAAE;MACjBtB,UAAU,EAAEP,IAAI,CAAC6B,EAAE,GAAG,GAAG;MACzBrB,KAAK,EAAEJ,MAAM,CAACK;IAChB,CAAC;IACDqB,EAAE,EAAE;MACFxB,QAAQ,EAAEN,IAAI,CAACK,IAAI;MACnBE,UAAU,EAAEP,IAAI,CAACK,IAAI,GAAG,GAAG;MAC3BG,KAAK,EAAEJ,MAAM,CAACK;IAChB,CAAC;IACDsB,EAAE,EAAE;MACFzB,QAAQ,EAAEN,IAAI,CAACgC,EAAE;MACjBzB,UAAU,EAAEP,IAAI,CAACgC,EAAE,GAAG,GAAG;MACzBxB,KAAK,EAAEJ,MAAM,CAACK;IAChB,CAAC;IACDwB,EAAE,EAAE;MACF3B,QAAQ,EAAEN,IAAI,CAACkC,EAAE;MACjB3B,UAAU,EAAEP,IAAI,CAACkC,EAAE,GAAG,GAAG;MACzB1B,KAAK,EAAEJ,MAAM,CAACK;IAChB,CAAC;IACD0B,SAAS,EAAE;MAAEC,eAAe,EAAEnC,KAAK,CAAC,CAAC;IAAE,CAAC;IACxCoC,IAAI,EAAE;MAAEC,OAAO,EAAErC,KAAK,CAAC,CAAC,CAAC;MAAEsB,eAAe,EAAEnB,MAAM,CAACoB;IAAiB,CAAC;IACrEe,UAAU,EAAE;MAAEC,eAAe,EAAEpC,MAAM,CAACuB;IAAQ,CAAC;IAC/Cc,EAAE,EAAE;MAAEf,iBAAiB,EAAEtB,MAAM,CAACuB;IAAQ,CAAC;IACzCe,KAAK,EAAE;MAAEC,WAAW,EAAEvC,MAAM,CAACuB;IAAQ;EACvC,CAAC,CAAC;AACJ,CAAC","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../../../src","sources":["components/Message/MarkdownContent/types.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+
3
+ import { Pressable, Text, View } from 'react-native';
4
+ import { Button, Spinner, useThemedStyles } from '@unif/react-native-design';
5
+ import { MarkdownContent } from "./MarkdownContent/MarkdownContent.js";
6
+ import { createStyles } from "./styles.js";
7
+ import { isNestedAction } from "./isNestedAction.js";
8
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
9
+ export function Message(props) {
10
+ const {
11
+ placement = 'start',
12
+ avatar,
13
+ name,
14
+ surface = 'bubble',
15
+ fullWidth = false,
16
+ status = 'idle',
17
+ statusText,
18
+ header,
19
+ footer,
20
+ actions = [],
21
+ onPress,
22
+ onLongPress,
23
+ style,
24
+ testID
25
+ } = props;
26
+ const styles = useThemedStyles(createStyles);
27
+ const hasContent = Boolean(props.text?.length) || props.children !== undefined && props.children !== null && props.children !== false || header !== undefined && header !== null && header !== false || footer !== undefined && footer !== null && footer !== false;
28
+ const waiting = (status === 'pending' || status === 'streaming') && !hasContent;
29
+ const contentStyle = [styles.content, fullWidth && styles.fullWidth, surface === 'bubble' && [styles.bubble, placement === 'end' && styles.outgoing], surface === 'outlined' && styles.outlined, status === 'failed' && styles.failed];
30
+ const content = /*#__PURE__*/_jsxs(_Fragment, {
31
+ children: [header, props.text !== undefined ? props.format === 'markdown' ? /*#__PURE__*/_jsx(MarkdownContent, {
32
+ text: props.text,
33
+ onLinkPress: props.onLinkPress
34
+ }) : /*#__PURE__*/_jsx(Text, {
35
+ selectable: true,
36
+ style: styles.text,
37
+ numberOfLines: props.numberOfLines,
38
+ children: props.text
39
+ }) : props.children, waiting ? /*#__PURE__*/_jsx(View, {
40
+ accessible: true,
41
+ accessibilityLabel: "\u6B63\u5728\u7B49\u5F85\u56DE\u590D",
42
+ accessibilityState: {
43
+ busy: true
44
+ },
45
+ children: /*#__PURE__*/_jsx(Spinner, {})
46
+ }) : null, statusText ? /*#__PURE__*/_jsx(Text, {
47
+ style: [styles.status, status === 'failed' && styles.errorText],
48
+ children: statusText
49
+ }) : null, footer]
50
+ });
51
+ return /*#__PURE__*/_jsxs(View, {
52
+ style: [styles.root, placement === 'end' && styles.end, style],
53
+ testID: testID,
54
+ children: [avatar, /*#__PURE__*/_jsxs(View, {
55
+ style: [styles.column, placement === 'end' && styles.columnEnd, fullWidth && styles.fullWidth],
56
+ children: [name ? /*#__PURE__*/_jsx(Text, {
57
+ style: styles.name,
58
+ children: name
59
+ }) : null, onPress || onLongPress ? /*#__PURE__*/_jsx(Pressable, {
60
+ style: contentStyle,
61
+ onPress: onPress ? event => {
62
+ if (!isNestedAction(event)) onPress();
63
+ } : undefined,
64
+ onLongPress: onLongPress ? event => {
65
+ if (!isNestedAction(event)) onLongPress();
66
+ } : undefined,
67
+ accessible: false,
68
+ children: content
69
+ }) : /*#__PURE__*/_jsx(View, {
70
+ style: contentStyle,
71
+ children: content
72
+ }), actions.length ? /*#__PURE__*/_jsx(View, {
73
+ style: styles.actions,
74
+ children: actions.map(action => /*#__PURE__*/_jsx(Button, {
75
+ label: action.label,
76
+ leftIcon: action.icon,
77
+ disabled: action.disabled,
78
+ loading: action.loading,
79
+ accessibilityHint: action.accessibilityHint,
80
+ variant: "text",
81
+ onPress: action.onPress
82
+ }, action.id))
83
+ }) : null]
84
+ })]
85
+ });
86
+ }
87
+ //# sourceMappingURL=Message.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Pressable","Text","View","Button","Spinner","useThemedStyles","MarkdownContent","createStyles","isNestedAction","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","Message","props","placement","avatar","name","surface","fullWidth","status","statusText","header","footer","actions","onPress","onLongPress","style","testID","styles","hasContent","Boolean","text","length","children","undefined","waiting","contentStyle","content","bubble","outgoing","outlined","failed","format","onLinkPress","selectable","numberOfLines","accessible","accessibilityLabel","accessibilityState","busy","errorText","root","end","column","columnEnd","event","map","action","label","leftIcon","icon","disabled","loading","accessibilityHint","variant","id"],"sourceRoot":"../../../../src","sources":["components/Message/Message.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export const INTERACTIVE_CONTENT_SELECTOR = 'button,a,input,textarea,select,[role="button"],[role="link"],[role="checkbox"],[role="switch"],[role="menuitem"],[role="tab"]';
4
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["INTERACTIVE_CONTENT_SELECTOR"],"sourceRoot":"../../../../src","sources":["components/Message/constants.ts"],"mappings":";;AAAA,OAAO,MAAMA,4BAA4B,GACvC,+HAA+H","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export { Message } from "./Message.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Message"],"sourceRoot":"../../../../src","sources":["components/Message/index.ts"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,cAAW","ignoreList":[]}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ import { INTERACTIVE_CONTENT_SELECTOR } from "./constants.js";
4
+ export function isNestedAction(event) {
5
+ const {
6
+ target,
7
+ currentTarget
8
+ } = event;
9
+ // 原生由 responder 交付实际目标;Web 的 RNGH 按钮仍可能冒泡到 RN Pressable。
10
+ if (typeof target !== 'object' || target === null || !('closest' in target) || typeof target.closest !== 'function' || typeof currentTarget !== 'object' || currentTarget === null || !('contains' in currentTarget) || typeof currentTarget.contains !== 'function') return false;
11
+ const action = target.closest(INTERACTIVE_CONTENT_SELECTOR);
12
+ return Boolean(action && action !== currentTarget && currentTarget.contains(action));
13
+ }
14
+ //# sourceMappingURL=isNestedAction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["INTERACTIVE_CONTENT_SELECTOR","isNestedAction","event","target","currentTarget","closest","contains","action","Boolean"],"sourceRoot":"../../../../src","sources":["components/Message/isNestedAction.ts"],"mappings":";;AACA,SAASA,4BAA4B,QAAQ,gBAAa;AAE1D,OAAO,SAASC,cAAcA,CAACC,KAA4B,EAAW;EACpE,MAAM;IAAEC,MAAM;IAAEC;EAAc,CAAC,GAAGF,KAAK;EACvC;EACA,IACE,OAAOC,MAAM,KAAK,QAAQ,IAC1BA,MAAM,KAAK,IAAI,IACf,EAAE,SAAS,IAAIA,MAAM,CAAC,IACtB,OAAOA,MAAM,CAACE,OAAO,KAAK,UAAU,IACpC,OAAOD,aAAa,KAAK,QAAQ,IACjCA,aAAa,KAAK,IAAI,IACtB,EAAE,UAAU,IAAIA,aAAa,CAAC,IAC9B,OAAOA,aAAa,CAACE,QAAQ,KAAK,UAAU,EAE5C,OAAO,KAAK;EACd,MAAMC,MAAM,GAAGJ,MAAM,CAACE,OAAO,CAACL,4BAA4B,CAAC;EAC3D,OAAOQ,OAAO,CACZD,MAAM,IAAIA,MAAM,KAAKH,aAAa,IAAIA,aAAa,CAACE,QAAQ,CAACC,MAAM,CACrE,CAAC;AACH","ignoreList":[]}
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+
3
+ import { StyleSheet } from 'react-native';
4
+ import { radius, space, type } from '@unif/react-native-design';
5
+ export const createStyles = colors => StyleSheet.create({
6
+ root: {
7
+ flexDirection: 'row',
8
+ alignItems: 'flex-start',
9
+ gap: space[2],
10
+ minWidth: 0,
11
+ paddingVertical: space[2]
12
+ },
13
+ end: {
14
+ flexDirection: 'row-reverse'
15
+ },
16
+ column: {
17
+ flexShrink: 1,
18
+ maxWidth: '100%',
19
+ gap: space[1],
20
+ alignItems: 'flex-start'
21
+ },
22
+ columnEnd: {
23
+ alignItems: 'flex-end'
24
+ },
25
+ fullWidth: {
26
+ flex: 1,
27
+ alignSelf: 'stretch'
28
+ },
29
+ content: {
30
+ minWidth: 0,
31
+ maxWidth: '100%',
32
+ gap: space[2]
33
+ },
34
+ bubble: {
35
+ padding: space[3],
36
+ borderRadius: radius.lg,
37
+ backgroundColor: colors.surface
38
+ },
39
+ outgoing: {
40
+ backgroundColor: colors.primaryContainer
41
+ },
42
+ outlined: {
43
+ padding: space[3],
44
+ borderRadius: radius.lg,
45
+ borderWidth: 1,
46
+ borderColor: colors.outline
47
+ },
48
+ failed: {
49
+ borderWidth: 1,
50
+ borderColor: colors.error
51
+ },
52
+ text: {
53
+ fontSize: type.body,
54
+ color: colors.foreground
55
+ },
56
+ name: {
57
+ fontSize: type.sm,
58
+ color: colors.foregroundMuted
59
+ },
60
+ status: {
61
+ fontSize: type.sm,
62
+ color: colors.foregroundMuted
63
+ },
64
+ errorText: {
65
+ color: colors.error
66
+ },
67
+ actions: {
68
+ flexDirection: 'row',
69
+ flexWrap: 'wrap',
70
+ gap: space[2]
71
+ }
72
+ });
73
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["StyleSheet","radius","space","type","createStyles","colors","create","root","flexDirection","alignItems","gap","minWidth","paddingVertical","end","column","flexShrink","maxWidth","columnEnd","fullWidth","flex","alignSelf","content","bubble","padding","borderRadius","lg","backgroundColor","surface","outgoing","primaryContainer","outlined","borderWidth","borderColor","outline","failed","error","text","fontSize","body","color","foreground","name","sm","foregroundMuted","status","errorText","actions","flexWrap"],"sourceRoot":"../../../../src","sources":["components/Message/styles.ts"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,cAAc;AACzC,SAASC,MAAM,EAAEC,KAAK,EAAEC,IAAI,QAAQ,2BAA2B;AAG/D,OAAO,MAAMC,YAAY,GAAIC,MAAmB,IAC9CL,UAAU,CAACM,MAAM,CAAC;EAChBC,IAAI,EAAE;IACJC,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,YAAY;IACxBC,GAAG,EAAER,KAAK,CAAC,CAAC,CAAC;IACbS,QAAQ,EAAE,CAAC;IACXC,eAAe,EAAEV,KAAK,CAAC,CAAC;EAC1B,CAAC;EACDW,GAAG,EAAE;IAAEL,aAAa,EAAE;EAAc,CAAC;EACrCM,MAAM,EAAE;IACNC,UAAU,EAAE,CAAC;IACbC,QAAQ,EAAE,MAAM;IAChBN,GAAG,EAAER,KAAK,CAAC,CAAC,CAAC;IACbO,UAAU,EAAE;EACd,CAAC;EACDQ,SAAS,EAAE;IAAER,UAAU,EAAE;EAAW,CAAC;EACrCS,SAAS,EAAE;IAAEC,IAAI,EAAE,CAAC;IAAEC,SAAS,EAAE;EAAU,CAAC;EAC5CC,OAAO,EAAE;IAAEV,QAAQ,EAAE,CAAC;IAAEK,QAAQ,EAAE,MAAM;IAAEN,GAAG,EAAER,KAAK,CAAC,CAAC;EAAE,CAAC;EACzDoB,MAAM,EAAE;IACNC,OAAO,EAAErB,KAAK,CAAC,CAAC,CAAC;IACjBsB,YAAY,EAAEvB,MAAM,CAACwB,EAAE;IACvBC,eAAe,EAAErB,MAAM,CAACsB;EAC1B,CAAC;EACDC,QAAQ,EAAE;IAAEF,eAAe,EAAErB,MAAM,CAACwB;EAAiB,CAAC;EACtDC,QAAQ,EAAE;IACRP,OAAO,EAAErB,KAAK,CAAC,CAAC,CAAC;IACjBsB,YAAY,EAAEvB,MAAM,CAACwB,EAAE;IACvBM,WAAW,EAAE,CAAC;IACdC,WAAW,EAAE3B,MAAM,CAAC4B;EACtB,CAAC;EACDC,MAAM,EAAE;IAAEH,WAAW,EAAE,CAAC;IAAEC,WAAW,EAAE3B,MAAM,CAAC8B;EAAM,CAAC;EACrDC,IAAI,EAAE;IAAEC,QAAQ,EAAElC,IAAI,CAACmC,IAAI;IAAEC,KAAK,EAAElC,MAAM,CAACmC;EAAW,CAAC;EACvDC,IAAI,EAAE;IAAEJ,QAAQ,EAAElC,IAAI,CAACuC,EAAE;IAAEH,KAAK,EAAElC,MAAM,CAACsC;EAAgB,CAAC;EAC1DC,MAAM,EAAE;IAAEP,QAAQ,EAAElC,IAAI,CAACuC,EAAE;IAAEH,KAAK,EAAElC,MAAM,CAACsC;EAAgB,CAAC;EAC5DE,SAAS,EAAE;IAAEN,KAAK,EAAElC,MAAM,CAAC8B;EAAM,CAAC;EAClCW,OAAO,EAAE;IAAEtC,aAAa,EAAE,KAAK;IAAEuC,QAAQ,EAAE,MAAM;IAAErC,GAAG,EAAER,KAAK,CAAC,CAAC;EAAE;AACnE,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../../src","sources":["components/Message/types.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,223 @@
1
+ "use strict";
2
+
3
+ import { useImperativeHandle, useLayoutEffect, useRef, useState } from 'react';
4
+ import { FlatList, View } from 'react-native';
5
+ import { Button } from '@unif/react-native-design';
6
+ import { DEFAULT_END_THRESHOLD } from "./constants.js";
7
+ import { styles } from "./styles.js";
8
+ import { useWebPrependAnchor } from "./webPrependAnchor/index.js";
9
+ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
10
+ export function MessageList({
11
+ items,
12
+ keyExtractor,
13
+ renderItem,
14
+ extraData,
15
+ header,
16
+ footer,
17
+ empty,
18
+ renderSeparator,
19
+ initialPosition = 'end',
20
+ followOutput = 'whenAtEnd',
21
+ endThreshold = DEFAULT_END_THRESHOLD,
22
+ showScrollToEnd = true,
23
+ onAtEndChange,
24
+ hasEarlier = false,
25
+ loadingEarlier = false,
26
+ onRequestEarlier,
27
+ keyboardDismissMode = 'on-drag',
28
+ style,
29
+ testID,
30
+ ref
31
+ }) {
32
+ const listRef = useRef(null);
33
+ const measurements = useRef({
34
+ viewport: 0,
35
+ content: 0,
36
+ offset: 0,
37
+ hasContentSize: false
38
+ });
39
+ const initial = useRef(initialPosition);
40
+ const initialized = useRef(false);
41
+ const previousKeys = useRef([]);
42
+ const prependPending = useRef(false);
43
+ const pendingScroll = useRef(undefined);
44
+ const userScrolling = useRef(false);
45
+ const atEndRef = useRef(undefined);
46
+ const [atEnd, setAtEnd] = useState(true);
47
+ const threshold = Number.isFinite(endThreshold) ? Math.max(0, endThreshold) : DEFAULT_END_THRESHOLD;
48
+ const keys = items.map(keyExtractor);
49
+ const {
50
+ getRowNativeID,
51
+ preservingPrependRef,
52
+ cancelPrependPreservation
53
+ } = useWebPrependAnchor({
54
+ listRef,
55
+ itemsIdentity: items,
56
+ keys
57
+ });
58
+ useLayoutEffect(() => {
59
+ const previous = previousKeys.current;
60
+ const added = keys.length - previous.length;
61
+ const onlyPrepended = previous.length > 0 && added > 0 && previous.every((key, index) => keys[index + added] === key);
62
+ const changed = keys.length !== previous.length || keys.some((key, index) => key !== previous[index]);
63
+ if (changed) prependPending.current = onlyPrepended;
64
+ previousKeys.current = keys;
65
+ });
66
+ function ready() {
67
+ const current = measurements.current;
68
+ return current.viewport > 0 && current.hasContentSize;
69
+ }
70
+ function publishPosition() {
71
+ if (!ready()) return;
72
+ const {
73
+ viewport,
74
+ content,
75
+ offset
76
+ } = measurements.current;
77
+ const next = content - viewport - Math.max(0, offset) <= threshold;
78
+ if (next !== atEndRef.current) {
79
+ atEndRef.current = next;
80
+ setAtEnd(next);
81
+ onAtEndChange?.(next);
82
+ }
83
+ }
84
+ function scrollToEnd(options = {}) {
85
+ cancelPrependPreservation();
86
+ const request = {
87
+ animated: options.animated ?? true
88
+ };
89
+ if (!ready()) {
90
+ pendingScroll.current = request;
91
+ return;
92
+ }
93
+ pendingScroll.current = undefined;
94
+ listRef.current?.scrollToOffset({
95
+ offset: Math.max(0, measurements.current.content - measurements.current.viewport),
96
+ animated: request.animated
97
+ });
98
+ if (measurements.current.content <= measurements.current.viewport) publishPosition();
99
+ }
100
+ useImperativeHandle(ref, () => ({
101
+ scrollToEnd
102
+ }));
103
+ function reconcileLayout(contentChanged) {
104
+ if (!ready()) return;
105
+ const request = pendingScroll.current;
106
+ if (items.length > 0 && !initialized.current) {
107
+ initialized.current = true;
108
+ if (request || initial.current === 'end') {
109
+ scrollToEnd(request ?? {
110
+ animated: false
111
+ });
112
+ return;
113
+ }
114
+ publishPosition();
115
+ return;
116
+ }
117
+ if (request) {
118
+ scrollToEnd(request);
119
+ return;
120
+ }
121
+ const prepended = prependPending.current;
122
+ if (contentChanged) prependPending.current = false;
123
+ const shouldFollow = initialized.current && followOutput === 'whenAtEnd' && !userScrolling.current && !prepended && !preservingPrependRef.current && atEndRef.current;
124
+ if (shouldFollow) scrollToEnd({
125
+ animated: false
126
+ });else publishPosition();
127
+ }
128
+ function onScroll(event) {
129
+ const {
130
+ contentOffset,
131
+ contentSize,
132
+ layoutMeasurement
133
+ } = event.nativeEvent;
134
+ const movedUp = contentOffset.y < measurements.current.offset;
135
+ const resizingAtEnd = atEndRef.current && !movedUp && !userScrolling.current && followOutput === 'whenAtEnd' && (measurements.current.content !== contentSize.height || measurements.current.viewport !== layoutMeasurement.height);
136
+ measurements.current = {
137
+ offset: contentOffset.y,
138
+ content: contentSize.height,
139
+ viewport: layoutMeasurement.height,
140
+ hasContentSize: true
141
+ };
142
+ if (!resizingAtEnd) publishPosition();
143
+ }
144
+ const history = hasEarlier && onRequestEarlier;
145
+ const hasHeader = Boolean(header || history);
146
+ return /*#__PURE__*/_jsxs(View, {
147
+ style: [styles.root, style],
148
+ testID: testID,
149
+ children: [/*#__PURE__*/_jsx(FlatList, {
150
+ ref: listRef,
151
+ testID: testID ? `${testID}-list` : undefined,
152
+ style: styles.list,
153
+ data: items,
154
+ keyExtractor: keyExtractor,
155
+ extraData: extraData,
156
+ renderItem: ({
157
+ item,
158
+ index
159
+ }) => /*#__PURE__*/_jsxs(View, {
160
+ nativeID: getRowNativeID(keyExtractor(item)),
161
+ children: [index > 0 && renderSeparator ? renderSeparator(items[index - 1], item) : null, renderItem(item, index)]
162
+ }),
163
+ ListHeaderComponent: hasHeader ? /*#__PURE__*/_jsxs(View, {
164
+ children: [header, history ? /*#__PURE__*/_jsx(Button, {
165
+ label: loadingEarlier ? '正在加载…' : '查看更早消息',
166
+ variant: "text",
167
+ loading: loadingEarlier,
168
+ onPress: onRequestEarlier
169
+ }) : null]
170
+ }) : undefined,
171
+ ListFooterComponent: footer ? /*#__PURE__*/_jsx(View, {
172
+ children: footer
173
+ }) : undefined,
174
+ ListEmptyComponent: empty ? /*#__PURE__*/_jsx(View, {
175
+ children: empty
176
+ }) : undefined,
177
+ maintainVisibleContentPosition: {
178
+ minIndexForVisible: 0
179
+ },
180
+ keyboardDismissMode: keyboardDismissMode,
181
+ keyboardShouldPersistTaps: "handled",
182
+ scrollEventThrottle: 16,
183
+ onLayout: ({
184
+ nativeEvent: {
185
+ layout
186
+ }
187
+ }) => {
188
+ measurements.current.viewport = layout.height;
189
+ reconcileLayout(false);
190
+ },
191
+ onContentSizeChange: (_width, height) => {
192
+ measurements.current.content = height;
193
+ measurements.current.hasContentSize = true;
194
+ reconcileLayout(true);
195
+ },
196
+ onScroll: onScroll,
197
+ onScrollBeginDrag: () => {
198
+ userScrolling.current = true;
199
+ },
200
+ onMomentumScrollBegin: () => {
201
+ userScrolling.current = true;
202
+ },
203
+ onScrollEndDrag: event => {
204
+ onScroll(event);
205
+ if (!event.nativeEvent.velocity?.y) {
206
+ userScrolling.current = false;
207
+ publishPosition();
208
+ }
209
+ },
210
+ onMomentumScrollEnd: event => {
211
+ onScroll(event);
212
+ userScrolling.current = false;
213
+ publishPosition();
214
+ }
215
+ }), showScrollToEnd && items.length > 0 && !atEnd ? /*#__PURE__*/_jsx(Button, {
216
+ label: "\u56DE\u5230\u6700\u65B0\u6D88\u606F",
217
+ variant: "secondary",
218
+ style: styles.returnToEnd,
219
+ onPress: () => scrollToEnd()
220
+ }) : null]
221
+ });
222
+ }
223
+ //# sourceMappingURL=MessageList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useImperativeHandle","useLayoutEffect","useRef","useState","FlatList","View","Button","DEFAULT_END_THRESHOLD","styles","useWebPrependAnchor","jsxs","_jsxs","jsx","_jsx","MessageList","items","keyExtractor","renderItem","extraData","header","footer","empty","renderSeparator","initialPosition","followOutput","endThreshold","showScrollToEnd","onAtEndChange","hasEarlier","loadingEarlier","onRequestEarlier","keyboardDismissMode","style","testID","ref","listRef","measurements","viewport","content","offset","hasContentSize","initial","initialized","previousKeys","prependPending","pendingScroll","undefined","userScrolling","atEndRef","atEnd","setAtEnd","threshold","Number","isFinite","Math","max","keys","map","getRowNativeID","preservingPrependRef","cancelPrependPreservation","itemsIdentity","previous","current","added","length","onlyPrepended","every","key","index","changed","some","ready","publishPosition","next","scrollToEnd","options","request","animated","scrollToOffset","reconcileLayout","contentChanged","prepended","shouldFollow","onScroll","event","contentOffset","contentSize","layoutMeasurement","nativeEvent","movedUp","y","resizingAtEnd","height","history","hasHeader","Boolean","root","children","list","data","item","nativeID","ListHeaderComponent","label","variant","loading","onPress","ListFooterComponent","ListEmptyComponent","maintainVisibleContentPosition","minIndexForVisible","keyboardShouldPersistTaps","scrollEventThrottle","onLayout","layout","onContentSizeChange","_width","onScrollBeginDrag","onMomentumScrollBegin","onScrollEndDrag","velocity","onMomentumScrollEnd","returnToEnd"],"sourceRoot":"../../../../src","sources":["components/MessageList/MessageList.tsx"],"mappings":"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","ignoreList":[]}