@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,149 @@
1
+ "use strict";
2
+
3
+ import { forwardRef, useEffect, useImperativeHandle, useRef, useState } from 'react';
4
+ import { Text, View } from 'react-native';
5
+ import { Button, fixed, IconButton, Textarea, useTheme, useThemedStyles } from '@unif/react-native-design';
6
+ import { DEFAULT_MAX_INPUT_HEIGHT, PRIMARY_LABELS, VOICE_LABELS } from "./constants.js";
7
+ import { createStyles } from "./styles.js";
8
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
+ export const Composer = /*#__PURE__*/forwardRef(function ComposerInput({
10
+ value,
11
+ onChangeText,
12
+ primaryAction,
13
+ editable = true,
14
+ disabled = false,
15
+ placeholder = '输入消息…',
16
+ inputAccessibilityLabel = '消息输入框',
17
+ actions = [],
18
+ voice,
19
+ header,
20
+ footer,
21
+ surface = 'card',
22
+ minInputHeight,
23
+ maxInputHeight,
24
+ onFocusChange,
25
+ onHeightChange,
26
+ style,
27
+ testID
28
+ }, ref) {
29
+ const styles = useThemedStyles(createStyles);
30
+ const {
31
+ fontScale
32
+ } = useTheme();
33
+ const inputRef = useRef(null);
34
+ const lastHeight = useRef(undefined);
35
+ const [menuOpen, setMenuOpen] = useState(false);
36
+ const voiceActive = voice !== undefined && voice.status !== 'idle';
37
+ const minHeight = Number.isFinite(minInputHeight) ? Math.max(fixed.hitTarget, minInputHeight) : fixed.hitTarget;
38
+ const defaultMaxHeight = Math.max(minHeight, DEFAULT_MAX_INPUT_HEIGHT * fontScale);
39
+ const maxHeight = Number.isFinite(maxInputHeight) ? Math.max(minHeight, maxInputHeight) : defaultMaxHeight;
40
+ useImperativeHandle(ref, () => ({
41
+ focus: () => {
42
+ if (!disabled && !voiceActive) inputRef.current?.focus();
43
+ },
44
+ blur: () => inputRef.current?.blur()
45
+ }), [disabled, voiceActive]);
46
+ useEffect(() => {
47
+ if (voiceActive) inputRef.current?.blur();
48
+ if (voiceActive || disabled) setMenuOpen(false);
49
+ }, [voiceActive, disabled]);
50
+ const primaryDisabled = disabled || primaryAction.kind === 'busy' || primaryAction.disabled || primaryAction.kind === 'send' && !primaryAction.allowEmpty && value.trim().length === 0;
51
+ return /*#__PURE__*/_jsxs(View, {
52
+ testID: testID,
53
+ style: [styles.root, surface === 'card' && styles.card, style],
54
+ onLayout: ({
55
+ nativeEvent: {
56
+ layout
57
+ }
58
+ }) => {
59
+ if (layout.height !== lastHeight.current) {
60
+ lastHeight.current = layout.height;
61
+ onHeightChange?.(layout.height);
62
+ }
63
+ },
64
+ children: [header, /*#__PURE__*/_jsxs(View, {
65
+ style: [styles.regular, voiceActive && styles.hidden],
66
+ importantForAccessibility: voiceActive ? 'no-hide-descendants' : 'auto',
67
+ children: [/*#__PURE__*/_jsx(Textarea, {
68
+ ref: inputRef,
69
+ value: value,
70
+ onChangeText: onChangeText,
71
+ editable: editable,
72
+ disabled: disabled || voiceActive,
73
+ placeholder: placeholder,
74
+ accessibilityLabel: inputAccessibilityLabel,
75
+ minHeight: minHeight,
76
+ maxHeight: maxHeight,
77
+ submitBehavior: "newline",
78
+ onFocus: () => {
79
+ setMenuOpen(false);
80
+ onFocusChange?.(true);
81
+ },
82
+ onBlur: () => onFocusChange?.(false)
83
+ }), /*#__PURE__*/_jsxs(View, {
84
+ style: styles.toolbar,
85
+ children: [actions.length > 0 ? /*#__PURE__*/_jsx(IconButton, {
86
+ icon: "more-h",
87
+ size: "lg",
88
+ accessibilityLabel: "\u66F4\u591A\u64CD\u4F5C",
89
+ accessibilityState: {
90
+ expanded: menuOpen
91
+ },
92
+ disabled: disabled,
93
+ onPress: () => setMenuOpen(open => !open)
94
+ }) : null, voice ? /*#__PURE__*/_jsx(IconButton, {
95
+ icon: "mic",
96
+ size: "lg",
97
+ accessibilityLabel: "\u5F00\u59CB\u8BED\u97F3\u8F93\u5165",
98
+ disabled: disabled || voice.disabled,
99
+ onPress: voice.onStart
100
+ }) : null, /*#__PURE__*/_jsx(Button, {
101
+ label: primaryAction.label ?? PRIMARY_LABELS[primaryAction.kind],
102
+ size: "lg",
103
+ style: styles.primary,
104
+ disabled: primaryDisabled,
105
+ loading: primaryAction.kind === 'busy',
106
+ onPress: () => {
107
+ if (primaryDisabled) return;
108
+ if (primaryAction.kind === 'send') primaryAction.onPress(value);else if (primaryAction.kind === 'stop') primaryAction.onPress();
109
+ }
110
+ })]
111
+ }), menuOpen && actions.length > 0 ? /*#__PURE__*/_jsx(View, {
112
+ style: styles.menu,
113
+ children: actions.map(action => /*#__PURE__*/_jsx(Button, {
114
+ label: action.label,
115
+ leftIcon: action.icon,
116
+ disabled: disabled || action.disabled,
117
+ loading: action.loading,
118
+ variant: "secondary",
119
+ accessibilityHint: action.accessibilityHint,
120
+ onPress: () => {
121
+ if (disabled || action.disabled || action.loading) return;
122
+ setMenuOpen(false);
123
+ action.onPress();
124
+ }
125
+ }, action.id))
126
+ }) : null]
127
+ }), voice && voice.status !== 'idle' ? /*#__PURE__*/_jsxs(View, {
128
+ style: styles.voice,
129
+ children: [/*#__PURE__*/_jsx(Text, {
130
+ style: styles.transcript,
131
+ accessibilityLiveRegion: "polite",
132
+ children: voice.status === 'starting' ? VOICE_LABELS.starting : voice.transcript || VOICE_LABELS[voice.status]
133
+ }), /*#__PURE__*/_jsxs(View, {
134
+ style: styles.toolbar,
135
+ children: [voice.status === 'listening' ? /*#__PURE__*/_jsx(Button, {
136
+ label: "\u505C\u6B62\u8BED\u97F3\u8F93\u5165",
137
+ disabled: disabled || voice.disabled,
138
+ onPress: voice.onStop
139
+ }) : null, /*#__PURE__*/_jsx(Button, {
140
+ label: "\u53D6\u6D88\u8BED\u97F3\u8F93\u5165",
141
+ variant: "secondary",
142
+ disabled: disabled || voice.disabled,
143
+ onPress: voice.onCancel
144
+ })]
145
+ })]
146
+ }) : null, footer]
147
+ });
148
+ });
149
+ //# sourceMappingURL=Composer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["forwardRef","useEffect","useImperativeHandle","useRef","useState","Text","View","Button","fixed","IconButton","Textarea","useTheme","useThemedStyles","DEFAULT_MAX_INPUT_HEIGHT","PRIMARY_LABELS","VOICE_LABELS","createStyles","jsx","_jsx","jsxs","_jsxs","Composer","ComposerInput","value","onChangeText","primaryAction","editable","disabled","placeholder","inputAccessibilityLabel","actions","voice","header","footer","surface","minInputHeight","maxInputHeight","onFocusChange","onHeightChange","style","testID","ref","styles","fontScale","inputRef","lastHeight","undefined","menuOpen","setMenuOpen","voiceActive","status","minHeight","Number","isFinite","Math","max","hitTarget","defaultMaxHeight","maxHeight","focus","current","blur","primaryDisabled","kind","allowEmpty","trim","length","root","card","onLayout","nativeEvent","layout","height","children","regular","hidden","importantForAccessibility","accessibilityLabel","submitBehavior","onFocus","onBlur","toolbar","icon","size","accessibilityState","expanded","onPress","open","onStart","label","primary","loading","menu","map","action","leftIcon","variant","accessibilityHint","id","transcript","accessibilityLiveRegion","starting","onStop","onCancel"],"sourceRoot":"../../../../src","sources":["components/Composer/Composer.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ export const DEFAULT_MAX_INPUT_HEIGHT = 120;
4
+ export const PRIMARY_LABELS = {
5
+ send: '发送',
6
+ stop: '停止回复',
7
+ busy: '正在处理…'
8
+ };
9
+ export const VOICE_LABELS = {
10
+ starting: '正在准备语音输入…',
11
+ listening: '正在听取…',
12
+ finishing: '正在完成识别…'
13
+ };
14
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DEFAULT_MAX_INPUT_HEIGHT","PRIMARY_LABELS","send","stop","busy","VOICE_LABELS","starting","listening","finishing"],"sourceRoot":"../../../../src","sources":["components/Composer/constants.ts"],"mappings":";;AAAA,OAAO,MAAMA,wBAAwB,GAAG,GAAG;AAC3C,OAAO,MAAMC,cAAc,GAAG;EAC5BC,IAAI,EAAE,IAAI;EACVC,IAAI,EAAE,MAAM;EACZC,IAAI,EAAE;AACR,CAAU;AACV,OAAO,MAAMC,YAAY,GAAG;EAC1BC,QAAQ,EAAE,WAAW;EACrBC,SAAS,EAAE,OAAO;EAClBC,SAAS,EAAE;AACb,CAAU","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export { Composer } from "./Composer.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Composer"],"sourceRoot":"../../../../src","sources":["components/Composer/index.ts"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,eAAY","ignoreList":[]}
@@ -0,0 +1,43 @@
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
+ gap: space[2],
8
+ minWidth: 0
9
+ },
10
+ card: {
11
+ padding: space[3],
12
+ borderRadius: radius.lg,
13
+ backgroundColor: colors.surface
14
+ },
15
+ regular: {
16
+ gap: space[2]
17
+ },
18
+ hidden: {
19
+ display: 'none'
20
+ },
21
+ toolbar: {
22
+ flexDirection: 'row',
23
+ flexWrap: 'wrap',
24
+ alignItems: 'center',
25
+ gap: space[2]
26
+ },
27
+ primary: {
28
+ marginStart: 'auto'
29
+ },
30
+ menu: {
31
+ flexDirection: 'row',
32
+ flexWrap: 'wrap',
33
+ gap: space[2]
34
+ },
35
+ voice: {
36
+ gap: space[3]
37
+ },
38
+ transcript: {
39
+ color: colors.foreground,
40
+ fontSize: type.body
41
+ }
42
+ });
43
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["StyleSheet","radius","space","type","createStyles","colors","create","root","gap","minWidth","card","padding","borderRadius","lg","backgroundColor","surface","regular","hidden","display","toolbar","flexDirection","flexWrap","alignItems","primary","marginStart","menu","voice","transcript","color","foreground","fontSize","body"],"sourceRoot":"../../../../src","sources":["components/Composer/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;IAAEC,GAAG,EAAEN,KAAK,CAAC,CAAC,CAAC;IAAEO,QAAQ,EAAE;EAAE,CAAC;EACpCC,IAAI,EAAE;IACJC,OAAO,EAAET,KAAK,CAAC,CAAC,CAAC;IACjBU,YAAY,EAAEX,MAAM,CAACY,EAAE;IACvBC,eAAe,EAAET,MAAM,CAACU;EAC1B,CAAC;EACDC,OAAO,EAAE;IAAER,GAAG,EAAEN,KAAK,CAAC,CAAC;EAAE,CAAC;EAC1Be,MAAM,EAAE;IAAEC,OAAO,EAAE;EAAO,CAAC;EAC3BC,OAAO,EAAE;IACPC,aAAa,EAAE,KAAK;IACpBC,QAAQ,EAAE,MAAM;IAChBC,UAAU,EAAE,QAAQ;IACpBd,GAAG,EAAEN,KAAK,CAAC,CAAC;EACd,CAAC;EACDqB,OAAO,EAAE;IAAEC,WAAW,EAAE;EAAO,CAAC;EAChCC,IAAI,EAAE;IAAEL,aAAa,EAAE,KAAK;IAAEC,QAAQ,EAAE,MAAM;IAAEb,GAAG,EAAEN,KAAK,CAAC,CAAC;EAAE,CAAC;EAC/DwB,KAAK,EAAE;IAAElB,GAAG,EAAEN,KAAK,CAAC,CAAC;EAAE,CAAC;EACxByB,UAAU,EAAE;IAAEC,KAAK,EAAEvB,MAAM,CAACwB,UAAU;IAAEC,QAAQ,EAAE3B,IAAI,CAAC4B;EAAK;AAC9D,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/Composer/types.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+
3
+ import { Text, View } from 'react-native';
4
+ import { Button, useThemedStyles } from '@unif/react-native-design';
5
+ import { CONFIRMATION_STATUS_TEXT, DEFAULT_CANCEL_LABEL, DEFAULT_CONFIRM_LABEL } from "./constants.js";
6
+ import { createStyles } from "./styles.js";
7
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
+ export function Confirmation({
9
+ title,
10
+ children,
11
+ status,
12
+ onConfirm,
13
+ onCancel,
14
+ confirmLabel = DEFAULT_CONFIRM_LABEL,
15
+ cancelLabel = DEFAULT_CANCEL_LABEL,
16
+ confirmDisabled = false,
17
+ cancelDisabled = false,
18
+ statusText,
19
+ footer,
20
+ style,
21
+ testID
22
+ }) {
23
+ const styles = useThemedStyles(createStyles);
24
+ const resolvedStatusText = status === 'pending' ? statusText : statusText ?? CONFIRMATION_STATUS_TEXT[status];
25
+ return /*#__PURE__*/_jsxs(View, {
26
+ style: [styles.root, style],
27
+ testID: testID,
28
+ children: [/*#__PURE__*/_jsx(Text, {
29
+ style: styles.title,
30
+ children: title
31
+ }), /*#__PURE__*/_jsx(View, {
32
+ children: children
33
+ }), resolvedStatusText ? /*#__PURE__*/_jsx(Text, {
34
+ style: styles.status,
35
+ children: resolvedStatusText
36
+ }) : null, status === 'pending' && (onConfirm || onCancel) ? /*#__PURE__*/_jsxs(View, {
37
+ style: styles.actions,
38
+ children: [onConfirm ? /*#__PURE__*/_jsx(Button, {
39
+ label: confirmLabel,
40
+ onPress: onConfirm,
41
+ disabled: confirmDisabled,
42
+ size: "sm"
43
+ }) : null, onCancel ? /*#__PURE__*/_jsx(Button, {
44
+ label: cancelLabel,
45
+ onPress: onCancel,
46
+ disabled: cancelDisabled,
47
+ size: "sm",
48
+ variant: "outline"
49
+ }) : null]
50
+ }) : null, footer ? /*#__PURE__*/_jsx(View, {
51
+ style: styles.footer,
52
+ children: footer
53
+ }) : null]
54
+ });
55
+ }
56
+ //# sourceMappingURL=Confirmation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Text","View","Button","useThemedStyles","CONFIRMATION_STATUS_TEXT","DEFAULT_CANCEL_LABEL","DEFAULT_CONFIRM_LABEL","createStyles","jsx","_jsx","jsxs","_jsxs","Confirmation","title","children","status","onConfirm","onCancel","confirmLabel","cancelLabel","confirmDisabled","cancelDisabled","statusText","footer","style","testID","styles","resolvedStatusText","root","actions","label","onPress","disabled","size","variant"],"sourceRoot":"../../../../src","sources":["components/Confirmation/Confirmation.tsx"],"mappings":";;AAAA,SAASA,IAAI,EAAEC,IAAI,QAAQ,cAAc;AACzC,SAASC,MAAM,EAAEC,eAAe,QAAQ,2BAA2B;AACnE,SACEC,wBAAwB,EACxBC,oBAAoB,EACpBC,qBAAqB,QAChB,gBAAa;AACpB,SAASC,YAAY,QAAQ,aAAU;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAGxC,OAAO,SAASC,YAAYA,CAAC;EAC3BC,KAAK;EACLC,QAAQ;EACRC,MAAM;EACNC,SAAS;EACTC,QAAQ;EACRC,YAAY,GAAGZ,qBAAqB;EACpCa,WAAW,GAAGd,oBAAoB;EAClCe,eAAe,GAAG,KAAK;EACvBC,cAAc,GAAG,KAAK;EACtBC,UAAU;EACVC,MAAM;EACNC,KAAK;EACLC;AACiB,CAAC,EAAqB;EACvC,MAAMC,MAAM,GAAGvB,eAAe,CAACI,YAAY,CAAC;EAC5C,MAAMoB,kBAAkB,GACtBZ,MAAM,KAAK,SAAS,GAChBO,UAAU,GACTA,UAAU,IAAIlB,wBAAwB,CAACW,MAAM,CAAE;EAEtD,oBACEJ,KAAA,CAACV,IAAI;IAACuB,KAAK,EAAE,CAACE,MAAM,CAACE,IAAI,EAAEJ,KAAK,CAAE;IAACC,MAAM,EAAEA,MAAO;IAAAX,QAAA,gBAChDL,IAAA,CAACT,IAAI;MAACwB,KAAK,EAAEE,MAAM,CAACb,KAAM;MAAAC,QAAA,EAAED;IAAK,CAAO,CAAC,eACzCJ,IAAA,CAACR,IAAI;MAAAa,QAAA,EAAEA;IAAQ,CAAO,CAAC,EACtBa,kBAAkB,gBACjBlB,IAAA,CAACT,IAAI;MAACwB,KAAK,EAAEE,MAAM,CAACX,MAAO;MAAAD,QAAA,EAAEa;IAAkB,CAAO,CAAC,GACrD,IAAI,EACPZ,MAAM,KAAK,SAAS,KAAKC,SAAS,IAAIC,QAAQ,CAAC,gBAC9CN,KAAA,CAACV,IAAI;MAACuB,KAAK,EAAEE,MAAM,CAACG,OAAQ;MAAAf,QAAA,GACzBE,SAAS,gBACRP,IAAA,CAACP,MAAM;QACL4B,KAAK,EAAEZ,YAAa;QACpBa,OAAO,EAAEf,SAAU;QACnBgB,QAAQ,EAAEZ,eAAgB;QAC1Ba,IAAI,EAAC;MAAI,CACV,CAAC,GACA,IAAI,EACPhB,QAAQ,gBACPR,IAAA,CAACP,MAAM;QACL4B,KAAK,EAAEX,WAAY;QACnBY,OAAO,EAAEd,QAAS;QAClBe,QAAQ,EAAEX,cAAe;QACzBY,IAAI,EAAC,IAAI;QACTC,OAAO,EAAC;MAAS,CAClB,CAAC,GACA,IAAI;IAAA,CACJ,CAAC,GACL,IAAI,EACPX,MAAM,gBAAGd,IAAA,CAACR,IAAI;MAACuB,KAAK,EAAEE,MAAM,CAACH,MAAO;MAAAT,QAAA,EAAES;IAAM,CAAO,CAAC,GAAG,IAAI;EAAA,CACxD,CAAC;AAEX","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ export const DEFAULT_CONFIRM_LABEL = '确认';
4
+ export const DEFAULT_CANCEL_LABEL = '取消';
5
+ export const CONFIRMATION_STATUS_TEXT = {
6
+ processing: '正在处理…',
7
+ confirmed: '已确认',
8
+ cancelled: '已取消'
9
+ };
10
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DEFAULT_CONFIRM_LABEL","DEFAULT_CANCEL_LABEL","CONFIRMATION_STATUS_TEXT","processing","confirmed","cancelled"],"sourceRoot":"../../../../src","sources":["components/Confirmation/constants.ts"],"mappings":";;AAEA,OAAO,MAAMA,qBAAqB,GAAG,IAAI;AACzC,OAAO,MAAMC,oBAAoB,GAAG,IAAI;AAExC,OAAO,MAAMC,wBAEZ,GAAG;EACFC,UAAU,EAAE,OAAO;EACnBC,SAAS,EAAE,KAAK;EAChBC,SAAS,EAAE;AACb,CAAC","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export { Confirmation } from "./Confirmation.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Confirmation"],"sourceRoot":"../../../../src","sources":["components/Confirmation/index.ts"],"mappings":";;AAAA,SAASA,YAAY,QAAQ,mBAAgB","ignoreList":[]}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ import { StyleSheet } from 'react-native';
4
+ import { fw, radius, space, type } from '@unif/react-native-design';
5
+ export const createStyles = colors => StyleSheet.create({
6
+ root: {
7
+ gap: space[4],
8
+ padding: space[5],
9
+ borderWidth: 1,
10
+ borderColor: colors.outline,
11
+ borderRadius: radius.xl,
12
+ backgroundColor: colors.surface
13
+ },
14
+ title: {
15
+ color: colors.foreground,
16
+ fontSize: type.h3,
17
+ fontWeight: fw.semi
18
+ },
19
+ status: {
20
+ color: colors.foregroundMuted,
21
+ fontSize: type.sm
22
+ },
23
+ actions: {
24
+ flexDirection: 'row',
25
+ flexWrap: 'wrap',
26
+ gap: space[3]
27
+ },
28
+ footer: {
29
+ paddingTop: space[2],
30
+ borderTopWidth: StyleSheet.hairlineWidth,
31
+ borderTopColor: colors.outline
32
+ }
33
+ });
34
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["StyleSheet","fw","radius","space","type","createStyles","colors","create","root","gap","padding","borderWidth","borderColor","outline","borderRadius","xl","backgroundColor","surface","title","color","foreground","fontSize","h3","fontWeight","semi","status","foregroundMuted","sm","actions","flexDirection","flexWrap","footer","paddingTop","borderTopWidth","hairlineWidth","borderTopColor"],"sourceRoot":"../../../../src","sources":["components/Confirmation/styles.ts"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,cAAc;AACzC,SACEC,EAAE,EACFC,MAAM,EACNC,KAAK,EACLC,IAAI,QAEC,2BAA2B;AAElC,OAAO,MAAMC,YAAY,GAAIC,MAAmB,IAC9CN,UAAU,CAACO,MAAM,CAAC;EAChBC,IAAI,EAAE;IACJC,GAAG,EAAEN,KAAK,CAAC,CAAC,CAAC;IACbO,OAAO,EAAEP,KAAK,CAAC,CAAC,CAAC;IACjBQ,WAAW,EAAE,CAAC;IACdC,WAAW,EAAEN,MAAM,CAACO,OAAO;IAC3BC,YAAY,EAAEZ,MAAM,CAACa,EAAE;IACvBC,eAAe,EAAEV,MAAM,CAACW;EAC1B,CAAC;EACDC,KAAK,EAAE;IACLC,KAAK,EAAEb,MAAM,CAACc,UAAU;IACxBC,QAAQ,EAAEjB,IAAI,CAACkB,EAAE;IACjBC,UAAU,EAAEtB,EAAE,CAACuB;EACjB,CAAC;EACDC,MAAM,EAAE;IACNN,KAAK,EAAEb,MAAM,CAACoB,eAAe;IAC7BL,QAAQ,EAAEjB,IAAI,CAACuB;EACjB,CAAC;EACDC,OAAO,EAAE;IACPC,aAAa,EAAE,KAAK;IACpBC,QAAQ,EAAE,MAAM;IAChBrB,GAAG,EAAEN,KAAK,CAAC,CAAC;EACd,CAAC;EACD4B,MAAM,EAAE;IACNC,UAAU,EAAE7B,KAAK,CAAC,CAAC,CAAC;IACpB8B,cAAc,EAAEjC,UAAU,CAACkC,aAAa;IACxCC,cAAc,EAAE7B,MAAM,CAACO;EACzB;AACF,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/Confirmation/types.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+
3
+ import { Text, View } from 'react-native';
4
+ import { Button, Icon, useColors, useThemedStyles } from '@unif/react-native-design';
5
+ import { FEEDBACK_TONE_ICONS, FEEDBACK_TONE_LABELS } from "./constants.js";
6
+ import { createStyles } from "./styles.js";
7
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
+ function colorsForTone(tone, colors) {
9
+ switch (tone) {
10
+ case 'success':
11
+ return {
12
+ backgroundColor: colors.successContainer,
13
+ iconColor: colors.success
14
+ };
15
+ case 'warning':
16
+ return {
17
+ backgroundColor: colors.primaryContainer,
18
+ iconColor: colors.primary
19
+ };
20
+ case 'error':
21
+ return {
22
+ backgroundColor: colors.errorContainer,
23
+ iconColor: colors.error
24
+ };
25
+ case 'info':
26
+ return {
27
+ backgroundColor: colors.infoContainer,
28
+ iconColor: colors.info
29
+ };
30
+ }
31
+ }
32
+ export function Feedback({
33
+ message,
34
+ title,
35
+ tone = 'info',
36
+ action,
37
+ style,
38
+ testID
39
+ }) {
40
+ const styles = useThemedStyles(createStyles);
41
+ const colors = useColors();
42
+ const toneColors = colorsForTone(tone, colors);
43
+ const toneLabel = FEEDBACK_TONE_LABELS[tone];
44
+ const accessibilityLabel = `${toneLabel}:${title ? `${title}。` : ''}${message}`;
45
+ return /*#__PURE__*/_jsxs(View, {
46
+ style: [styles.root, {
47
+ backgroundColor: toneColors.backgroundColor
48
+ }, style],
49
+ testID: testID,
50
+ children: [/*#__PURE__*/_jsx(Icon, {
51
+ name: FEEDBACK_TONE_ICONS[tone],
52
+ color: toneColors.iconColor
53
+ }), /*#__PURE__*/_jsxs(View, {
54
+ style: styles.content,
55
+ children: [/*#__PURE__*/_jsxs(View, {
56
+ accessible: true,
57
+ accessibilityLabel: accessibilityLabel,
58
+ children: [title ? /*#__PURE__*/_jsx(Text, {
59
+ style: styles.title,
60
+ testID: "feedback-title",
61
+ children: title
62
+ }) : null, /*#__PURE__*/_jsx(Text, {
63
+ style: styles.message,
64
+ children: message
65
+ })]
66
+ }), action ? /*#__PURE__*/_jsx(View, {
67
+ style: styles.action,
68
+ children: /*#__PURE__*/_jsx(Button, {
69
+ label: action.label,
70
+ leftIcon: action.icon,
71
+ onPress: action.onPress,
72
+ disabled: action.disabled,
73
+ loading: action.loading,
74
+ accessibilityHint: action.accessibilityHint,
75
+ size: "sm",
76
+ variant: "outline"
77
+ })
78
+ }) : null]
79
+ })]
80
+ });
81
+ }
82
+ //# sourceMappingURL=Feedback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Text","View","Button","Icon","useColors","useThemedStyles","FEEDBACK_TONE_ICONS","FEEDBACK_TONE_LABELS","createStyles","jsx","_jsx","jsxs","_jsxs","colorsForTone","tone","colors","backgroundColor","successContainer","iconColor","success","primaryContainer","primary","errorContainer","error","infoContainer","info","Feedback","message","title","action","style","testID","styles","toneColors","toneLabel","accessibilityLabel","root","children","name","color","content","accessible","label","leftIcon","icon","onPress","disabled","loading","accessibilityHint","size","variant"],"sourceRoot":"../../../../src","sources":["components/Feedback/Feedback.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ export const FEEDBACK_TONE_LABELS = {
4
+ info: '信息',
5
+ success: '成功',
6
+ warning: '警告',
7
+ error: '错误'
8
+ };
9
+ export const FEEDBACK_TONE_ICONS = {
10
+ info: 'info',
11
+ success: 'success',
12
+ warning: 'warning',
13
+ error: 'error'
14
+ };
15
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["FEEDBACK_TONE_LABELS","info","success","warning","error","FEEDBACK_TONE_ICONS"],"sourceRoot":"../../../../src","sources":["components/Feedback/constants.ts"],"mappings":";;AAGA,OAAO,MAAMA,oBAA4D,GAAG;EAC1EC,IAAI,EAAE,IAAI;EACVC,OAAO,EAAE,IAAI;EACbC,OAAO,EAAE,IAAI;EACbC,KAAK,EAAE;AACT,CAAC;AAED,OAAO,MAAMC,mBAA6D,GAAG;EAC3EJ,IAAI,EAAE,MAAM;EACZC,OAAO,EAAE,SAAS;EAClBC,OAAO,EAAE,SAAS;EAClBC,KAAK,EAAE;AACT,CAAC","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export { Feedback } from "./Feedback.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Feedback"],"sourceRoot":"../../../../src","sources":["components/Feedback/index.ts"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,eAAY","ignoreList":[]}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ import { StyleSheet } from 'react-native';
4
+ import { fw, 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[3],
10
+ padding: space[4],
11
+ borderRadius: radius.lg
12
+ },
13
+ content: {
14
+ flex: 1,
15
+ gap: space[1]
16
+ },
17
+ title: {
18
+ color: colors.foreground,
19
+ fontSize: type.sm,
20
+ fontWeight: fw.semi
21
+ },
22
+ message: {
23
+ color: colors.foregroundMuted,
24
+ fontSize: type.sm
25
+ },
26
+ action: {
27
+ paddingTop: space[3]
28
+ }
29
+ });
30
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["StyleSheet","fw","radius","space","type","createStyles","colors","create","root","flexDirection","alignItems","gap","padding","borderRadius","lg","content","flex","title","color","foreground","fontSize","sm","fontWeight","semi","message","foregroundMuted","action","paddingTop"],"sourceRoot":"../../../../src","sources":["components/Feedback/styles.ts"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,cAAc;AACzC,SAASC,EAAE,EAAEC,MAAM,EAAEC,KAAK,EAAEC,IAAI,QAAQ,2BAA2B;AAGnE,OAAO,MAAMC,YAAY,GAAIC,MAAmB,IAC9CN,UAAU,CAACO,MAAM,CAAC;EAChBC,IAAI,EAAE;IACJC,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,YAAY;IACxBC,GAAG,EAAER,KAAK,CAAC,CAAC,CAAC;IACbS,OAAO,EAAET,KAAK,CAAC,CAAC,CAAC;IACjBU,YAAY,EAAEX,MAAM,CAACY;EACvB,CAAC;EACDC,OAAO,EAAE;IACPC,IAAI,EAAE,CAAC;IACPL,GAAG,EAAER,KAAK,CAAC,CAAC;EACd,CAAC;EACDc,KAAK,EAAE;IACLC,KAAK,EAAEZ,MAAM,CAACa,UAAU;IACxBC,QAAQ,EAAEhB,IAAI,CAACiB,EAAE;IACjBC,UAAU,EAAErB,EAAE,CAACsB;EACjB,CAAC;EACDC,OAAO,EAAE;IACPN,KAAK,EAAEZ,MAAM,CAACmB,eAAe;IAC7BL,QAAQ,EAAEhB,IAAI,CAACiB;EACjB,CAAC;EACDK,MAAM,EAAE;IACNC,UAAU,EAAExB,KAAK,CAAC,CAAC;EACrB;AACF,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/Feedback/types.ts"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+
3
+ import { Children, Fragment, useMemo } from 'react';
4
+ import { Pressable, Text } from 'react-native';
5
+ import { Renderer, useMarkdown } from 'react-native-marked';
6
+ import { useTheme, useThemedStyles } from '@unif/react-native-design';
7
+ import { createStyles } from "./styles.js";
8
+ import { MarkdownImage } from "./MarkdownImage/MarkdownImage.js";
9
+ import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
10
+ export function MarkdownContent({
11
+ text,
12
+ onLinkPress
13
+ }) {
14
+ const {
15
+ scheme
16
+ } = useTheme();
17
+ const styles = useThemedStyles(createStyles);
18
+ const markdown = useMemo(() => {
19
+ const instance = new Renderer();
20
+ // 上游 table 节点未提供 key,保留其渲染并补齐稳定的节点身份。
21
+ const renderTable = instance.table.bind(instance);
22
+ instance.table = (...args) => /*#__PURE__*/_jsx(Fragment, {
23
+ children: renderTable(...args)
24
+ }, instance.getKey());
25
+ instance.image = (uri, alt, _imageStyle, title) => /*#__PURE__*/_jsx(MarkdownImage, {
26
+ uri: uri,
27
+ label: alt || title
28
+ }, instance.getKey());
29
+ instance.link = (children, href, linkStyle, title) => /*#__PURE__*/_jsx(Text, {
30
+ selectable: true,
31
+ style: linkStyle,
32
+ accessibilityRole: onLinkPress ? 'link' : undefined,
33
+ accessibilityLabel: title || (typeof children === 'string' ? children : undefined),
34
+ onPress: onLinkPress ? event => {
35
+ event.stopPropagation();
36
+ onLinkPress(href);
37
+ } : undefined,
38
+ children: children
39
+ }, instance.getKey());
40
+ instance.linkImage = (href, uri, alt, imageStyle, title) => {
41
+ const content = instance.image(uri, alt, imageStyle, title);
42
+ return onLinkPress ? /*#__PURE__*/_jsx(Pressable, {
43
+ accessibilityRole: "link",
44
+ accessibilityLabel: alt || title || '图片链接',
45
+ onPress: event => {
46
+ event.stopPropagation();
47
+ onLinkPress(href);
48
+ },
49
+ children: content
50
+ }, instance.getKey()) : content;
51
+ };
52
+ return {
53
+ renderer: instance,
54
+ text,
55
+ styles
56
+ };
57
+ // Renderer 的 key 计数按每次解析重新开始,流式正文保留已有图片节点。
58
+ }, [onLinkPress, text, styles]);
59
+ const nodes = useMarkdown(markdown.text, {
60
+ renderer: markdown.renderer,
61
+ colorScheme: scheme,
62
+ styles: markdown.styles
63
+ });
64
+ return /*#__PURE__*/_jsx(_Fragment, {
65
+ children: Children.toArray(nodes)
66
+ });
67
+ }
68
+ //# sourceMappingURL=MarkdownContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Children","Fragment","useMemo","Pressable","Text","Renderer","useMarkdown","useTheme","useThemedStyles","createStyles","MarkdownImage","jsx","_jsx","_Fragment","MarkdownContent","text","onLinkPress","scheme","styles","markdown","instance","renderTable","table","bind","args","children","getKey","image","uri","alt","_imageStyle","title","label","link","href","linkStyle","selectable","style","accessibilityRole","undefined","accessibilityLabel","onPress","event","stopPropagation","linkImage","imageStyle","content","renderer","nodes","colorScheme","toArray"],"sourceRoot":"../../../../../src","sources":["components/Message/MarkdownContent/MarkdownContent.tsx"],"mappings":"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","ignoreList":[]}