@kesha-antonov/react-native-chat 5.0.1 → 6.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 (1327) hide show
  1. package/README.md +485 -178
  2. package/lib/Actions.d.ts.map +1 -1
  3. package/lib/Actions.js +121 -42
  4. package/lib/Actions.js.map +1 -1
  5. package/lib/Avatar.d.ts.map +1 -1
  6. package/lib/Avatar.js +171 -86
  7. package/lib/Avatar.js.map +1 -1
  8. package/lib/Bubble/BubbleBody.d.ts +15 -0
  9. package/lib/Bubble/BubbleBody.d.ts.map +1 -0
  10. package/lib/Bubble/BubbleBody.js +218 -0
  11. package/lib/Bubble/BubbleBody.js.map +1 -0
  12. package/lib/Bubble/BubbleContent.d.ts +23 -0
  13. package/lib/Bubble/BubbleContent.d.ts.map +1 -0
  14. package/lib/Bubble/BubbleContent.js +446 -0
  15. package/lib/Bubble/BubbleContent.js.map +1 -0
  16. package/lib/Bubble/BubbleMenu.d.ts +45 -0
  17. package/lib/Bubble/BubbleMenu.d.ts.map +1 -0
  18. package/lib/Bubble/BubbleMenu.js +289 -0
  19. package/lib/Bubble/BubbleMenu.js.map +1 -0
  20. package/lib/Bubble/BubbleMeta.d.ts +17 -0
  21. package/lib/Bubble/BubbleMeta.d.ts.map +1 -0
  22. package/lib/Bubble/BubbleMeta.js +453 -0
  23. package/lib/Bubble/BubbleMeta.js.map +1 -0
  24. package/lib/Bubble/LiftedBubble.d.ts +18 -0
  25. package/lib/Bubble/LiftedBubble.d.ts.map +1 -0
  26. package/lib/Bubble/LiftedBubble.js +109 -0
  27. package/lib/Bubble/LiftedBubble.js.map +1 -0
  28. package/lib/Bubble/PressableBubbleRow.d.ts +33 -0
  29. package/lib/Bubble/PressableBubbleRow.d.ts.map +1 -0
  30. package/lib/Bubble/PressableBubbleRow.js +172 -0
  31. package/lib/Bubble/PressableBubbleRow.js.map +1 -0
  32. package/lib/Bubble/index.d.ts +6 -13
  33. package/lib/Bubble/index.d.ts.map +1 -1
  34. package/lib/Bubble/index.js +379 -509
  35. package/lib/Bubble/index.js.map +1 -1
  36. package/lib/Bubble/layout.d.ts +47 -0
  37. package/lib/Bubble/layout.d.ts.map +1 -0
  38. package/lib/Bubble/layout.js +258 -0
  39. package/lib/Bubble/layout.js.map +1 -0
  40. package/lib/Bubble/styles.d.ts +108 -16
  41. package/lib/Bubble/styles.d.ts.map +1 -1
  42. package/lib/Bubble/styles.js +227 -107
  43. package/lib/Bubble/styles.js.map +1 -1
  44. package/lib/Bubble/types.d.ts +19 -3
  45. package/lib/Bubble/types.d.ts.map +1 -1
  46. package/lib/Bubble/types.js.map +1 -1
  47. package/lib/Chat/Chat.d.ts +5 -0
  48. package/lib/Chat/Chat.d.ts.map +1 -0
  49. package/lib/Chat/Chat.js +464 -0
  50. package/lib/Chat/Chat.js.map +1 -0
  51. package/lib/Chat/ChatBackground.d.ts +16 -0
  52. package/lib/Chat/ChatBackground.d.ts.map +1 -0
  53. package/lib/Chat/ChatBackground.js +43 -0
  54. package/lib/Chat/ChatBackground.js.map +1 -0
  55. package/lib/Chat/ChatKeyboardAvoidingView.js +19 -4
  56. package/lib/Chat/ChatKeyboardAvoidingView.js.map +1 -1
  57. package/lib/Chat/ChatMessageList.d.ts +27 -0
  58. package/lib/Chat/ChatMessageList.d.ts.map +1 -0
  59. package/lib/Chat/ChatMessageList.js +220 -0
  60. package/lib/Chat/ChatMessageList.js.map +1 -0
  61. package/lib/Chat/ChatProviders.d.ts +18 -0
  62. package/lib/Chat/ChatProviders.d.ts.map +1 -0
  63. package/lib/Chat/ChatProviders.js +87 -0
  64. package/lib/Chat/ChatProviders.js.map +1 -0
  65. package/lib/Chat/ChatSafeAreaProvider.d.ts +35 -0
  66. package/lib/Chat/ChatSafeAreaProvider.d.ts.map +1 -0
  67. package/lib/Chat/ChatSafeAreaProvider.js +123 -0
  68. package/lib/Chat/ChatSafeAreaProvider.js.map +1 -0
  69. package/lib/Chat/ChatSelectionBar.d.ts +20 -0
  70. package/lib/Chat/ChatSelectionBar.d.ts.map +1 -0
  71. package/lib/Chat/ChatSelectionBar.js +141 -0
  72. package/lib/Chat/ChatSelectionBar.js.map +1 -0
  73. package/lib/Chat/ChatWrapper.d.ts +11 -0
  74. package/lib/Chat/ChatWrapper.d.ts.map +1 -0
  75. package/lib/Chat/ChatWrapper.js +98 -0
  76. package/lib/Chat/ChatWrapper.js.map +1 -0
  77. package/lib/Chat/ComposerHost.d.ts +20 -0
  78. package/lib/Chat/ComposerHost.d.ts.map +1 -0
  79. package/lib/Chat/ComposerHost.js +118 -0
  80. package/lib/Chat/ComposerHost.js.map +1 -0
  81. package/lib/Chat/index.d.ts +1 -8
  82. package/lib/Chat/index.d.ts.map +1 -1
  83. package/lib/Chat/index.js +1 -337
  84. package/lib/Chat/index.js.map +1 -1
  85. package/lib/Chat/styles.d.ts +14 -2
  86. package/lib/Chat/styles.d.ts.map +1 -1
  87. package/lib/Chat/styles.js +19 -9
  88. package/lib/Chat/styles.js.map +1 -1
  89. package/lib/Chat/types.d.ts +145 -11
  90. package/lib/Chat/types.d.ts.map +1 -1
  91. package/lib/Chat/types.js.map +1 -1
  92. package/lib/Chat/useChatContextValue.d.ts +19 -0
  93. package/lib/Chat/useChatContextValue.d.ts.map +1 -0
  94. package/lib/Chat/useChatContextValue.js +158 -0
  95. package/lib/Chat/useChatContextValue.js.map +1 -0
  96. package/lib/Chat/useChatMedia.d.ts +22 -0
  97. package/lib/Chat/useChatMedia.d.ts.map +1 -0
  98. package/lib/Chat/useChatMedia.js +127 -0
  99. package/lib/Chat/useChatMedia.js.map +1 -0
  100. package/lib/Chat/useChatSelection.d.ts +15 -0
  101. package/lib/Chat/useChatSelection.d.ts.map +1 -0
  102. package/lib/Chat/useChatSelection.js +106 -0
  103. package/lib/Chat/useChatSelection.js.map +1 -0
  104. package/lib/Chat/useComposerHandlers.d.ts +34 -0
  105. package/lib/Chat/useComposerHandlers.d.ts.map +1 -0
  106. package/lib/Chat/useComposerHandlers.js +330 -0
  107. package/lib/Chat/useComposerHandlers.js.map +1 -0
  108. package/lib/Chat/useComposerState.d.ts +27 -0
  109. package/lib/Chat/useComposerState.d.ts.map +1 -0
  110. package/lib/Chat/useComposerState.js +272 -0
  111. package/lib/Chat/useComposerState.js.map +1 -0
  112. package/lib/Chat/useInitialLayout.d.ts +19 -0
  113. package/lib/Chat/useInitialLayout.d.ts.map +1 -0
  114. package/lib/Chat/useInitialLayout.js +70 -0
  115. package/lib/Chat/useInitialLayout.js.map +1 -0
  116. package/lib/Chat/useMessageActions.d.ts +37 -0
  117. package/lib/Chat/useMessageActions.d.ts.map +1 -0
  118. package/lib/Chat/useMessageActions.js +323 -0
  119. package/lib/Chat/useMessageActions.js.map +1 -0
  120. package/lib/Chat/useMessageNavigation.d.ts +21 -0
  121. package/lib/Chat/useMessageNavigation.d.ts.map +1 -0
  122. package/lib/Chat/useMessageNavigation.js +149 -0
  123. package/lib/Chat/useMessageNavigation.js.map +1 -0
  124. package/lib/Chat/useOptionalPeerHints.d.ts +6 -0
  125. package/lib/Chat/useOptionalPeerHints.d.ts.map +1 -0
  126. package/lib/Chat/useOptionalPeerHints.js +63 -0
  127. package/lib/Chat/useOptionalPeerHints.js.map +1 -0
  128. package/lib/Chat/useResolvedReactions.d.ts +31 -0
  129. package/lib/Chat/useResolvedReactions.d.ts.map +1 -0
  130. package/lib/Chat/useResolvedReactions.js +95 -0
  131. package/lib/Chat/useResolvedReactions.js.map +1 -0
  132. package/lib/ChatAvatar.d.ts.map +1 -1
  133. package/lib/ChatAvatar.js +229 -84
  134. package/lib/ChatAvatar.js.map +1 -1
  135. package/lib/ChatContext.js +20 -10
  136. package/lib/ChatContext.js.map +1 -1
  137. package/lib/ChatList/ChatListAvatar.d.ts +21 -0
  138. package/lib/ChatList/ChatListAvatar.d.ts.map +1 -0
  139. package/lib/ChatList/ChatListAvatar.js +178 -0
  140. package/lib/ChatList/ChatListAvatar.js.map +1 -0
  141. package/lib/ChatList/ChatListCell.d.ts +16 -0
  142. package/lib/ChatList/ChatListCell.d.ts.map +1 -0
  143. package/lib/ChatList/ChatListCell.js +506 -0
  144. package/lib/ChatList/ChatListCell.js.map +1 -0
  145. package/lib/ChatList/ChatListShimmer.d.ts +3 -0
  146. package/lib/ChatList/ChatListShimmer.d.ts.map +1 -0
  147. package/lib/ChatList/ChatListShimmer.js +235 -0
  148. package/lib/ChatList/ChatListShimmer.js.map +1 -0
  149. package/lib/ChatList/index.d.ts +16 -0
  150. package/lib/ChatList/index.d.ts.map +1 -0
  151. package/lib/ChatList/index.js +1301 -0
  152. package/lib/ChatList/index.js.map +1 -0
  153. package/lib/ChatList/types.d.ts +128 -0
  154. package/lib/ChatList/types.d.ts.map +1 -0
  155. package/lib/ChatList/types.js +2 -0
  156. package/lib/ChatList/types.js.map +1 -0
  157. package/lib/ChatList/useChatList.d.ts +30 -0
  158. package/lib/ChatList/useChatList.d.ts.map +1 -0
  159. package/lib/ChatList/useChatList.js +211 -0
  160. package/lib/ChatList/useChatList.js.map +1 -0
  161. package/lib/ChatList/utils.d.ts +28 -0
  162. package/lib/ChatList/utils.d.ts.map +1 -0
  163. package/lib/ChatList/utils.js +60 -0
  164. package/lib/ChatList/utils.js.map +1 -0
  165. package/lib/Color.js +19 -19
  166. package/lib/Color.js.map +1 -1
  167. package/lib/Composer.d.ts.map +1 -1
  168. package/lib/Composer.js +148 -70
  169. package/lib/Composer.js.map +1 -1
  170. package/lib/Constant.js +4 -4
  171. package/lib/Constant.js.map +1 -1
  172. package/lib/Day/index.d.ts.map +1 -1
  173. package/lib/Day/index.js +115 -28
  174. package/lib/Day/index.js.map +1 -1
  175. package/lib/Day/styles.d.ts +3 -3
  176. package/lib/Day/styles.d.ts.map +1 -1
  177. package/lib/Day/styles.js +20 -17
  178. package/lib/Day/styles.js.map +1 -1
  179. package/lib/Day/types.js.map +1 -1
  180. package/lib/Icons.d.ts +1 -1
  181. package/lib/Icons.d.ts.map +1 -1
  182. package/lib/Icons.js.map +1 -1
  183. package/lib/InputToolbar/FieldGroup.d.ts +28 -0
  184. package/lib/InputToolbar/FieldGroup.d.ts.map +1 -0
  185. package/lib/InputToolbar/FieldGroup.js +143 -0
  186. package/lib/InputToolbar/FieldGroup.js.map +1 -0
  187. package/lib/InputToolbar/TakePreviewBar.d.ts +17 -0
  188. package/lib/InputToolbar/TakePreviewBar.d.ts.map +1 -0
  189. package/lib/InputToolbar/TakePreviewBar.js +126 -0
  190. package/lib/InputToolbar/TakePreviewBar.js.map +1 -0
  191. package/lib/InputToolbar/animations.d.ts +105 -0
  192. package/lib/InputToolbar/animations.d.ts.map +1 -0
  193. package/lib/InputToolbar/animations.js +238 -0
  194. package/lib/InputToolbar/animations.js.map +1 -0
  195. package/lib/InputToolbar/fragments.d.ts +13 -0
  196. package/lib/InputToolbar/fragments.d.ts.map +1 -0
  197. package/lib/InputToolbar/fragments.js +207 -0
  198. package/lib/InputToolbar/fragments.js.map +1 -0
  199. package/lib/InputToolbar/index.d.ts +7 -0
  200. package/lib/InputToolbar/index.d.ts.map +1 -0
  201. package/lib/InputToolbar/index.js +444 -0
  202. package/lib/InputToolbar/index.js.map +1 -0
  203. package/lib/InputToolbar/recordingOptions.d.ts +14 -0
  204. package/lib/InputToolbar/recordingOptions.d.ts.map +1 -0
  205. package/lib/InputToolbar/recordingOptions.js +38 -0
  206. package/lib/InputToolbar/recordingOptions.js.map +1 -0
  207. package/lib/InputToolbar/styles.d.ts +118 -0
  208. package/lib/InputToolbar/styles.d.ts.map +1 -0
  209. package/lib/InputToolbar/styles.js +139 -0
  210. package/lib/InputToolbar/styles.js.map +1 -0
  211. package/lib/InputToolbar/types.d.ts +77 -0
  212. package/lib/InputToolbar/types.d.ts.map +1 -0
  213. package/lib/InputToolbar/types.js +2 -0
  214. package/lib/InputToolbar/types.js.map +1 -0
  215. package/lib/InputToolbar/useActionsFragment.d.ts +6 -0
  216. package/lib/InputToolbar/useActionsFragment.d.ts.map +1 -0
  217. package/lib/InputToolbar/useActionsFragment.js +139 -0
  218. package/lib/InputToolbar/useActionsFragment.js.map +1 -0
  219. package/lib/InputToolbar/useComposerEditing.d.ts +11 -0
  220. package/lib/InputToolbar/useComposerEditing.d.ts.map +1 -0
  221. package/lib/InputToolbar/useComposerEditing.js +116 -0
  222. package/lib/InputToolbar/useComposerEditing.js.map +1 -0
  223. package/lib/InputToolbar/useEmojiButton.d.ts +14 -0
  224. package/lib/InputToolbar/useEmojiButton.d.ts.map +1 -0
  225. package/lib/InputToolbar/useEmojiButton.js +120 -0
  226. package/lib/InputToolbar/useEmojiButton.js.map +1 -0
  227. package/lib/InputToolbar/useKeyboardInset.d.ts +9 -0
  228. package/lib/InputToolbar/useKeyboardInset.d.ts.map +1 -0
  229. package/lib/InputToolbar/useKeyboardInset.js +25 -0
  230. package/lib/InputToolbar/useKeyboardInset.js.map +1 -0
  231. package/lib/InputToolbar/useRecordMode.d.ts +19 -0
  232. package/lib/InputToolbar/useRecordMode.d.ts.map +1 -0
  233. package/lib/InputToolbar/useRecordMode.js +124 -0
  234. package/lib/InputToolbar/useRecordMode.js.map +1 -0
  235. package/lib/InputToolbar/useRecordTake.d.ts +46 -0
  236. package/lib/InputToolbar/useRecordTake.d.ts.map +1 -0
  237. package/lib/InputToolbar/useRecordTake.js +315 -0
  238. package/lib/InputToolbar/useRecordTake.js.map +1 -0
  239. package/lib/InputToolbar/useReturnAnimations.d.ts +18 -0
  240. package/lib/InputToolbar/useReturnAnimations.d.ts.map +1 -0
  241. package/lib/InputToolbar/useReturnAnimations.js +30 -0
  242. package/lib/InputToolbar/useReturnAnimations.js.map +1 -0
  243. package/lib/InputToolbar/useRightControl.d.ts +40 -0
  244. package/lib/InputToolbar/useRightControl.d.ts.map +1 -0
  245. package/lib/InputToolbar/useRightControl.js +129 -0
  246. package/lib/InputToolbar/useRightControl.js.map +1 -0
  247. package/lib/LoadEarlierMessages.d.ts +2 -0
  248. package/lib/LoadEarlierMessages.d.ts.map +1 -1
  249. package/lib/LoadEarlierMessages.js +153 -40
  250. package/lib/LoadEarlierMessages.js.map +1 -1
  251. package/lib/Message/SwipeToReply.d.ts +23 -0
  252. package/lib/Message/SwipeToReply.d.ts.map +1 -0
  253. package/lib/Message/SwipeToReply.js +337 -0
  254. package/lib/Message/SwipeToReply.js.map +1 -0
  255. package/lib/Message/index.d.ts.map +1 -1
  256. package/lib/Message/index.js +415 -176
  257. package/lib/Message/index.js.map +1 -1
  258. package/lib/Message/styles.d.ts +2 -2
  259. package/lib/Message/styles.js +14 -14
  260. package/lib/Message/styles.js.map +1 -1
  261. package/lib/Message/types.d.ts +5 -0
  262. package/lib/Message/types.d.ts.map +1 -1
  263. package/lib/Message/types.js.map +1 -1
  264. package/lib/MessageAudio.d.ts.map +1 -1
  265. package/lib/MessageAudio.js +647 -107
  266. package/lib/MessageAudio.js.map +1 -1
  267. package/lib/MessageFile.d.ts +11 -0
  268. package/lib/MessageFile.d.ts.map +1 -0
  269. package/lib/MessageFile.js +315 -0
  270. package/lib/MessageFile.js.map +1 -0
  271. package/lib/MessageImage.d.ts +2 -0
  272. package/lib/MessageImage.d.ts.map +1 -1
  273. package/lib/MessageImage.js +430 -161
  274. package/lib/MessageImage.js.map +1 -1
  275. package/lib/MessageLocation.d.ts.map +1 -1
  276. package/lib/MessageLocation.js +180 -68
  277. package/lib/MessageLocation.js.map +1 -1
  278. package/lib/MessageText.d.ts +8 -1
  279. package/lib/MessageText.d.ts.map +1 -1
  280. package/lib/MessageText.js +261 -69
  281. package/lib/MessageText.js.map +1 -1
  282. package/lib/MessageVideo/ExpoVideoPlayer.d.ts +6 -0
  283. package/lib/MessageVideo/ExpoVideoPlayer.d.ts.map +1 -0
  284. package/lib/MessageVideo/ExpoVideoPlayer.js +68 -0
  285. package/lib/MessageVideo/ExpoVideoPlayer.js.map +1 -0
  286. package/lib/MessageVideo/MirroredVideo.d.ts +17 -0
  287. package/lib/MessageVideo/MirroredVideo.d.ts.map +1 -0
  288. package/lib/MessageVideo/MirroredVideo.js +223 -0
  289. package/lib/MessageVideo/MirroredVideo.js.map +1 -0
  290. package/lib/MessageVideo/RoundNotePlayer.d.ts +4 -0
  291. package/lib/MessageVideo/RoundNotePlayer.d.ts.map +1 -0
  292. package/lib/MessageVideo/RoundNotePlayer.js +560 -0
  293. package/lib/MessageVideo/RoundNotePlayer.js.map +1 -0
  294. package/lib/MessageVideo/RoundTranscription.d.ts +27 -0
  295. package/lib/MessageVideo/RoundTranscription.d.ts.map +1 -0
  296. package/lib/MessageVideo/RoundTranscription.js +151 -0
  297. package/lib/MessageVideo/RoundTranscription.js.map +1 -0
  298. package/lib/MessageVideo/VideoTransferOverlay.d.ts +11 -0
  299. package/lib/MessageVideo/VideoTransferOverlay.d.ts.map +1 -0
  300. package/lib/MessageVideo/VideoTransferOverlay.js +88 -0
  301. package/lib/MessageVideo/VideoTransferOverlay.js.map +1 -0
  302. package/lib/MessageVideo/constants.d.ts +13 -0
  303. package/lib/MessageVideo/constants.d.ts.map +1 -0
  304. package/lib/MessageVideo/constants.js +15 -0
  305. package/lib/MessageVideo/constants.js.map +1 -0
  306. package/lib/{MessageVideo.d.ts → MessageVideo/index.d.ts} +2 -2
  307. package/lib/MessageVideo/index.d.ts.map +1 -0
  308. package/lib/MessageVideo/index.js +92 -0
  309. package/lib/MessageVideo/index.js.map +1 -0
  310. package/lib/MessageVideo/liftedMedia.d.ts +13 -0
  311. package/lib/MessageVideo/liftedMedia.d.ts.map +1 -0
  312. package/lib/MessageVideo/liftedMedia.js +106 -0
  313. package/lib/MessageVideo/liftedMedia.js.map +1 -0
  314. package/lib/MessageVideo/styles.d.ts +71 -0
  315. package/lib/MessageVideo/styles.d.ts.map +1 -0
  316. package/lib/MessageVideo/styles.js +78 -0
  317. package/lib/MessageVideo/styles.js.map +1 -0
  318. package/lib/MessageVideo/types.d.ts +27 -0
  319. package/lib/MessageVideo/types.d.ts.map +1 -0
  320. package/lib/MessageVideo/types.js +2 -0
  321. package/lib/MessageVideo/types.js.map +1 -0
  322. package/lib/MessageVideo/useNoteGrow.d.ts +16 -0
  323. package/lib/MessageVideo/useNoteGrow.d.ts.map +1 -0
  324. package/lib/MessageVideo/useNoteGrow.js +122 -0
  325. package/lib/MessageVideo/useNoteGrow.js.map +1 -0
  326. package/lib/MessageVideo/useNotePlayer.d.ts +14 -0
  327. package/lib/MessageVideo/useNotePlayer.d.ts.map +1 -0
  328. package/lib/MessageVideo/useNotePlayer.js +142 -0
  329. package/lib/MessageVideo/useNotePlayer.js.map +1 -0
  330. package/lib/MessageVideo/useRingSeek.d.ts +16 -0
  331. package/lib/MessageVideo/useRingSeek.d.ts.map +1 -0
  332. package/lib/MessageVideo/useRingSeek.js +157 -0
  333. package/lib/MessageVideo/useRingSeek.js.map +1 -0
  334. package/lib/MessageVideo/useRoundNotePlayback.d.ts +46 -0
  335. package/lib/MessageVideo/useRoundNotePlayback.d.ts.map +1 -0
  336. package/lib/MessageVideo/useRoundNotePlayback.js +508 -0
  337. package/lib/MessageVideo/useRoundNotePlayback.js.map +1 -0
  338. package/lib/MessageVideo/useSendFlightReveal.d.ts +9 -0
  339. package/lib/MessageVideo/useSendFlightReveal.d.ts.map +1 -0
  340. package/lib/MessageVideo/useSendFlightReveal.js +85 -0
  341. package/lib/MessageVideo/useSendFlightReveal.js.map +1 -0
  342. package/lib/MessageVideo/videoPlayers.d.ts +8 -0
  343. package/lib/MessageVideo/videoPlayers.d.ts.map +1 -0
  344. package/lib/MessageVideo/videoPlayers.js +33 -0
  345. package/lib/MessageVideo/videoPlayers.js.map +1 -0
  346. package/lib/MessagesContainer/components/DayAnimated/debug.js +38 -24
  347. package/lib/MessagesContainer/components/DayAnimated/debug.js.map +1 -1
  348. package/lib/MessagesContainer/components/DayAnimated/index.d.ts +1 -1
  349. package/lib/MessagesContainer/components/DayAnimated/index.d.ts.map +1 -1
  350. package/lib/MessagesContainer/components/DayAnimated/index.js +244 -112
  351. package/lib/MessagesContainer/components/DayAnimated/index.js.map +1 -1
  352. package/lib/MessagesContainer/components/DayAnimated/styles.d.ts +3 -3
  353. package/lib/MessagesContainer/components/DayAnimated/styles.js +8 -8
  354. package/lib/MessagesContainer/components/DayAnimated/styles.js.map +1 -1
  355. package/lib/MessagesContainer/components/DayAnimated/types.d.ts +4 -2
  356. package/lib/MessagesContainer/components/DayAnimated/types.d.ts.map +1 -1
  357. package/lib/MessagesContainer/components/DayAnimated/types.js.map +1 -1
  358. package/lib/MessagesContainer/components/DayAnimated/useScrollGatedOpacity.d.ts.map +1 -1
  359. package/lib/MessagesContainer/components/DayAnimated/useScrollGatedOpacity.js +34 -25
  360. package/lib/MessagesContainer/components/DayAnimated/useScrollGatedOpacity.js.map +1 -1
  361. package/lib/MessagesContainer/components/Item/index.d.ts +3 -4
  362. package/lib/MessagesContainer/components/Item/index.d.ts.map +1 -1
  363. package/lib/MessagesContainer/components/Item/index.js +289 -119
  364. package/lib/MessagesContainer/components/Item/index.js.map +1 -1
  365. package/lib/MessagesContainer/components/Item/types.d.ts +5 -0
  366. package/lib/MessagesContainer/components/Item/types.d.ts.map +1 -1
  367. package/lib/MessagesContainer/components/Item/types.js.map +1 -1
  368. package/lib/MessagesContainer/components/PageDownCounter.d.ts +14 -0
  369. package/lib/MessagesContainer/components/PageDownCounter.d.ts.map +1 -0
  370. package/lib/MessagesContainer/components/PageDownCounter.js +209 -0
  371. package/lib/MessagesContainer/components/PageDownCounter.js.map +1 -0
  372. package/lib/MessagesContainer/components/ScrollToBottomButton.d.ts +21 -0
  373. package/lib/MessagesContainer/components/ScrollToBottomButton.d.ts.map +1 -0
  374. package/lib/MessagesContainer/components/ScrollToBottomButton.js +195 -0
  375. package/lib/MessagesContainer/components/ScrollToBottomButton.js.map +1 -0
  376. package/lib/MessagesContainer/components/dayLayout.d.ts +2 -2
  377. package/lib/MessagesContainer/components/dayLayout.d.ts.map +1 -1
  378. package/lib/MessagesContainer/components/dayLayout.js +18 -13
  379. package/lib/MessagesContainer/components/dayLayout.js.map +1 -1
  380. package/lib/MessagesContainer/index.d.ts.map +1 -1
  381. package/lib/MessagesContainer/index.js +361 -420
  382. package/lib/MessagesContainer/index.js.map +1 -1
  383. package/lib/MessagesContainer/listState.d.ts +18 -0
  384. package/lib/MessagesContainer/listState.d.ts.map +1 -0
  385. package/lib/MessagesContainer/listState.js +25 -0
  386. package/lib/MessagesContainer/listState.js.map +1 -0
  387. package/lib/MessagesContainer/listTransitions.d.ts +10 -0
  388. package/lib/MessagesContainer/listTransitions.d.ts.map +1 -0
  389. package/lib/MessagesContainer/listTransitions.js +12 -0
  390. package/lib/MessagesContainer/listTransitions.js.map +1 -0
  391. package/lib/MessagesContainer/pageDownReturn.d.ts +11 -0
  392. package/lib/MessagesContainer/pageDownReturn.d.ts.map +1 -0
  393. package/lib/MessagesContainer/pageDownReturn.js +9 -0
  394. package/lib/MessagesContainer/pageDownReturn.js.map +1 -0
  395. package/lib/MessagesContainer/rowConfig.d.ts +39 -0
  396. package/lib/MessagesContainer/rowConfig.d.ts.map +1 -0
  397. package/lib/MessagesContainer/rowConfig.js +161 -0
  398. package/lib/MessagesContainer/rowConfig.js.map +1 -0
  399. package/lib/MessagesContainer/rowStore.d.ts +37 -0
  400. package/lib/MessagesContainer/rowStore.d.ts.map +1 -0
  401. package/lib/MessagesContainer/rowStore.js +140 -0
  402. package/lib/MessagesContainer/rowStore.js.map +1 -0
  403. package/lib/MessagesContainer/styles.d.ts +37 -31
  404. package/lib/MessagesContainer/styles.d.ts.map +1 -1
  405. package/lib/MessagesContainer/styles.js +75 -54
  406. package/lib/MessagesContainer/styles.js.map +1 -1
  407. package/lib/MessagesContainer/types.d.ts +33 -30
  408. package/lib/MessagesContainer/types.d.ts.map +1 -1
  409. package/lib/MessagesContainer/types.js +1 -9
  410. package/lib/MessagesContainer/types.js.map +1 -1
  411. package/lib/MessagesContainer/useCellLayouts.d.ts +17 -0
  412. package/lib/MessagesContainer/useCellLayouts.d.ts.map +1 -0
  413. package/lib/MessagesContainer/useCellLayouts.js +133 -0
  414. package/lib/MessagesContainer/useCellLayouts.js.map +1 -0
  415. package/lib/MessagesContainer/useDaysPositions.d.ts +18 -0
  416. package/lib/MessagesContainer/useDaysPositions.d.ts.map +1 -0
  417. package/lib/MessagesContainer/useDaysPositions.js +109 -0
  418. package/lib/MessagesContainer/useDaysPositions.js.map +1 -0
  419. package/lib/MessagesContainer/useListChrome.d.ts +14 -0
  420. package/lib/MessagesContainer/useListChrome.d.ts.map +1 -0
  421. package/lib/MessagesContainer/useListChrome.js +176 -0
  422. package/lib/MessagesContainer/useListChrome.js.map +1 -0
  423. package/lib/MessagesContainer/useListMetrics.d.ts +32 -0
  424. package/lib/MessagesContainer/useListMetrics.d.ts.map +1 -0
  425. package/lib/MessagesContainer/useListMetrics.js +176 -0
  426. package/lib/MessagesContainer/useListMetrics.js.map +1 -0
  427. package/lib/MessagesContainer/useMessageRows.d.ts +46 -0
  428. package/lib/MessagesContainer/useMessageRows.d.ts.map +1 -0
  429. package/lib/MessagesContainer/useMessageRows.js +228 -0
  430. package/lib/MessagesContainer/useMessageRows.js.map +1 -0
  431. package/lib/MessagesContainer/usePageDownUnread.d.ts +27 -0
  432. package/lib/MessagesContainer/usePageDownUnread.d.ts.map +1 -0
  433. package/lib/MessagesContainer/usePageDownUnread.js +152 -0
  434. package/lib/MessagesContainer/usePageDownUnread.js.map +1 -0
  435. package/lib/MessagesContainer/useScrollActivity.d.ts +13 -0
  436. package/lib/MessagesContainer/useScrollActivity.d.ts.map +1 -0
  437. package/lib/MessagesContainer/useScrollActivity.js +84 -0
  438. package/lib/MessagesContainer/useScrollActivity.js.map +1 -0
  439. package/lib/MessagesContainer/useScrollToBottom.d.ts +26 -0
  440. package/lib/MessagesContainer/useScrollToBottom.d.ts.map +1 -0
  441. package/lib/MessagesContainer/useScrollToBottom.js +164 -0
  442. package/lib/MessagesContainer/useScrollToBottom.js.map +1 -0
  443. package/lib/MessagesContainer/useTapToClosePanels.d.ts +7 -0
  444. package/lib/MessagesContainer/useTapToClosePanels.d.ts.map +1 -0
  445. package/lib/MessagesContainer/useTapToClosePanels.js +55 -0
  446. package/lib/MessagesContainer/useTapToClosePanels.js.map +1 -0
  447. package/lib/MessagesContainer/viewability.d.ts +9 -0
  448. package/lib/MessagesContainer/viewability.d.ts.map +1 -0
  449. package/lib/MessagesContainer/viewability.js +110 -0
  450. package/lib/MessagesContainer/viewability.js.map +1 -0
  451. package/lib/Models.d.ts +188 -3
  452. package/lib/Models.d.ts.map +1 -1
  453. package/lib/Models.js.map +1 -1
  454. package/lib/QuickReplies.js +234 -101
  455. package/lib/QuickReplies.js.map +1 -1
  456. package/lib/Reactions/MessageReactions.d.ts +5 -0
  457. package/lib/Reactions/MessageReactions.d.ts.map +1 -1
  458. package/lib/Reactions/MessageReactions.js +359 -80
  459. package/lib/Reactions/MessageReactions.js.map +1 -1
  460. package/lib/Reactions/ReactionPicker.d.ts +5 -3
  461. package/lib/Reactions/ReactionPicker.d.ts.map +1 -1
  462. package/lib/Reactions/ReactionPicker.js +68 -82
  463. package/lib/Reactions/ReactionPicker.js.map +1 -1
  464. package/lib/Reactions/index.js +1 -0
  465. package/lib/Reactions/index.js.map +1 -1
  466. package/lib/Reactions/types.d.ts +49 -5
  467. package/lib/Reactions/types.d.ts.map +1 -1
  468. package/lib/Reactions/types.js.map +1 -1
  469. package/lib/Reply/index.js.map +1 -1
  470. package/lib/Reply/types.d.ts +19 -3
  471. package/lib/Reply/types.d.ts.map +1 -1
  472. package/lib/Reply/types.js.map +1 -1
  473. package/lib/Send.d.ts +2 -2
  474. package/lib/Send.d.ts.map +1 -1
  475. package/lib/Send.js +218 -47
  476. package/lib/Send.js.map +1 -1
  477. package/lib/SystemMessage.d.ts.map +1 -1
  478. package/lib/SystemMessage.js +106 -37
  479. package/lib/SystemMessage.js.map +1 -1
  480. package/lib/Theme.d.ts +320 -23
  481. package/lib/Theme.d.ts.map +1 -1
  482. package/lib/Theme.js +548 -119
  483. package/lib/Theme.js.map +1 -1
  484. package/lib/Time.d.ts +7 -0
  485. package/lib/Time.d.ts.map +1 -1
  486. package/lib/Time.js +122 -30
  487. package/lib/Time.js.map +1 -1
  488. package/lib/TypingIndicator/index.d.ts +9 -1
  489. package/lib/TypingIndicator/index.d.ts.map +1 -1
  490. package/lib/TypingIndicator/index.js +318 -94
  491. package/lib/TypingIndicator/index.js.map +1 -1
  492. package/lib/TypingIndicator/styles.d.ts +6 -2
  493. package/lib/TypingIndicator/styles.d.ts.map +1 -1
  494. package/lib/TypingIndicator/styles.js +22 -18
  495. package/lib/TypingIndicator/styles.js.map +1 -1
  496. package/lib/TypingIndicator/types.js.map +1 -1
  497. package/lib/attachments/AttachmentButton.d.ts +18 -0
  498. package/lib/attachments/AttachmentButton.d.ts.map +1 -0
  499. package/lib/attachments/AttachmentButton.js +110 -0
  500. package/lib/attachments/AttachmentButton.js.map +1 -0
  501. package/lib/attachments/AttachmentMenu/CaptionBar.d.ts +15 -0
  502. package/lib/attachments/AttachmentMenu/CaptionBar.d.ts.map +1 -0
  503. package/lib/attachments/AttachmentMenu/CaptionBar.js +165 -0
  504. package/lib/attachments/AttachmentMenu/CaptionBar.js.map +1 -0
  505. package/lib/attachments/AttachmentMenu/GalleryCell.d.ts +14 -0
  506. package/lib/attachments/AttachmentMenu/GalleryCell.d.ts.map +1 -0
  507. package/lib/attachments/AttachmentMenu/GalleryCell.js +267 -0
  508. package/lib/attachments/AttachmentMenu/GalleryCell.js.map +1 -0
  509. package/lib/attachments/AttachmentMenu/GalleryGrid.d.ts +18 -0
  510. package/lib/attachments/AttachmentMenu/GalleryGrid.d.ts.map +1 -0
  511. package/lib/attachments/AttachmentMenu/GalleryGrid.js +184 -0
  512. package/lib/attachments/AttachmentMenu/GalleryGrid.js.map +1 -0
  513. package/lib/attachments/AttachmentMenu/TabBar.d.ts +14 -0
  514. package/lib/attachments/AttachmentMenu/TabBar.d.ts.map +1 -0
  515. package/lib/attachments/AttachmentMenu/TabBar.js +127 -0
  516. package/lib/attachments/AttachmentMenu/TabBar.js.map +1 -0
  517. package/lib/attachments/AttachmentMenu/TabButton.d.ts +15 -0
  518. package/lib/attachments/AttachmentMenu/TabButton.d.ts.map +1 -0
  519. package/lib/attachments/AttachmentMenu/TabButton.js +219 -0
  520. package/lib/attachments/AttachmentMenu/TabButton.js.map +1 -0
  521. package/lib/attachments/AttachmentMenu/TabPanel.d.ts +17 -0
  522. package/lib/attachments/AttachmentMenu/TabPanel.d.ts.map +1 -0
  523. package/lib/attachments/AttachmentMenu/TabPanel.js +170 -0
  524. package/lib/attachments/AttachmentMenu/TabPanel.js.map +1 -0
  525. package/lib/attachments/AttachmentMenu/constants.d.ts +54 -0
  526. package/lib/attachments/AttachmentMenu/constants.d.ts.map +1 -0
  527. package/lib/attachments/AttachmentMenu/constants.js +79 -0
  528. package/lib/attachments/AttachmentMenu/constants.js.map +1 -0
  529. package/lib/attachments/AttachmentMenu/index.d.ts +16 -0
  530. package/lib/attachments/AttachmentMenu/index.d.ts.map +1 -0
  531. package/lib/attachments/AttachmentMenu/index.js +498 -0
  532. package/lib/attachments/AttachmentMenu/index.js.map +1 -0
  533. package/lib/attachments/AttachmentMenu/styles.d.ts +259 -0
  534. package/lib/attachments/AttachmentMenu/styles.d.ts.map +1 -0
  535. package/lib/attachments/AttachmentMenu/styles.js +262 -0
  536. package/lib/attachments/AttachmentMenu/styles.js.map +1 -0
  537. package/lib/attachments/AttachmentMenu/useSheetPresence.d.ts +14 -0
  538. package/lib/attachments/AttachmentMenu/useSheetPresence.d.ts.map +1 -0
  539. package/lib/attachments/AttachmentMenu/useSheetPresence.js +74 -0
  540. package/lib/attachments/AttachmentMenu/useSheetPresence.js.map +1 -0
  541. package/lib/attachments/buildMessages.d.ts +36 -0
  542. package/lib/attachments/buildMessages.d.ts.map +1 -0
  543. package/lib/attachments/buildMessages.js +192 -0
  544. package/lib/attachments/buildMessages.js.map +1 -0
  545. package/lib/attachments/gallery.d.ts +28 -0
  546. package/lib/attachments/gallery.d.ts.map +1 -0
  547. package/lib/attachments/gallery.js +245 -0
  548. package/lib/attachments/gallery.js.map +1 -0
  549. package/lib/attachments/types.d.ts +69 -0
  550. package/lib/attachments/types.d.ts.map +1 -0
  551. package/lib/attachments/types.js +2 -0
  552. package/lib/attachments/types.js.map +1 -0
  553. package/lib/colorUtils.d.ts +24 -0
  554. package/lib/colorUtils.d.ts.map +1 -0
  555. package/lib/colorUtils.js +71 -0
  556. package/lib/colorUtils.js.map +1 -0
  557. package/lib/components/AttachmentSheet.d.ts +1 -1
  558. package/lib/components/AttachmentSheet.d.ts.map +1 -1
  559. package/lib/components/AttachmentSheet.js +515 -155
  560. package/lib/components/AttachmentSheet.js.map +1 -1
  561. package/lib/components/BasicMarkdown.d.ts +7 -1
  562. package/lib/components/BasicMarkdown.d.ts.map +1 -1
  563. package/lib/components/BasicMarkdown.js +234 -184
  564. package/lib/components/BasicMarkdown.js.map +1 -1
  565. package/lib/components/BubbleBackground.d.ts +55 -0
  566. package/lib/components/BubbleBackground.d.ts.map +1 -0
  567. package/lib/components/BubbleBackground.js +513 -0
  568. package/lib/components/BubbleBackground.js.map +1 -0
  569. package/lib/components/ChatEmpty.d.ts +18 -0
  570. package/lib/components/ChatEmpty.d.ts.map +1 -0
  571. package/lib/components/ChatEmpty.js +125 -0
  572. package/lib/components/ChatEmpty.js.map +1 -0
  573. package/lib/components/ChatLoadingOverlay.d.ts +10 -0
  574. package/lib/components/ChatLoadingOverlay.d.ts.map +1 -0
  575. package/lib/components/ChatLoadingOverlay.js +89 -0
  576. package/lib/components/ChatLoadingOverlay.js.map +1 -0
  577. package/lib/components/ChatOverlay.d.ts +9 -0
  578. package/lib/components/ChatOverlay.d.ts.map +1 -0
  579. package/lib/components/ChatOverlay.js +60 -0
  580. package/lib/components/ChatOverlay.js.map +1 -0
  581. package/lib/components/ChatWallpaper.d.ts +32 -0
  582. package/lib/components/ChatWallpaper.d.ts.map +1 -0
  583. package/lib/components/ChatWallpaper.js +277 -0
  584. package/lib/components/ChatWallpaper.js.map +1 -0
  585. package/lib/components/ContextMenu/MenuCard.d.ts +21 -0
  586. package/lib/components/ContextMenu/MenuCard.d.ts.map +1 -0
  587. package/lib/components/ContextMenu/MenuCard.js +265 -0
  588. package/lib/components/ContextMenu/MenuCard.js.map +1 -0
  589. package/lib/components/ContextMenu/ReactionButton.d.ts +15 -0
  590. package/lib/components/ContextMenu/ReactionButton.d.ts.map +1 -0
  591. package/lib/components/ContextMenu/ReactionButton.js +116 -0
  592. package/lib/components/ContextMenu/ReactionButton.js.map +1 -0
  593. package/lib/components/ContextMenu/ReactionFlight.d.ts +14 -0
  594. package/lib/components/ContextMenu/ReactionFlight.d.ts.map +1 -0
  595. package/lib/components/ContextMenu/ReactionFlight.js +111 -0
  596. package/lib/components/ContextMenu/ReactionFlight.js.map +1 -0
  597. package/lib/components/ContextMenu/ReactionsBar.d.ts +35 -0
  598. package/lib/components/ContextMenu/ReactionsBar.d.ts.map +1 -0
  599. package/lib/components/ContextMenu/ReactionsBar.js +354 -0
  600. package/lib/components/ContextMenu/ReactionsBar.js.map +1 -0
  601. package/lib/components/ContextMenu/constants.d.ts +68 -0
  602. package/lib/components/ContextMenu/constants.d.ts.map +1 -0
  603. package/lib/components/ContextMenu/constants.js +105 -0
  604. package/lib/components/ContextMenu/constants.js.map +1 -0
  605. package/lib/components/ContextMenu/index.d.ts +12 -0
  606. package/lib/components/ContextMenu/index.d.ts.map +1 -0
  607. package/lib/components/ContextMenu/index.js +476 -0
  608. package/lib/components/ContextMenu/index.js.map +1 -0
  609. package/lib/components/ContextMenu/placement.d.ts +50 -0
  610. package/lib/components/ContextMenu/placement.d.ts.map +1 -0
  611. package/lib/components/ContextMenu/placement.js +117 -0
  612. package/lib/components/ContextMenu/placement.js.map +1 -0
  613. package/lib/components/ContextMenu/styles.d.ts +199 -0
  614. package/lib/components/ContextMenu/styles.d.ts.map +1 -0
  615. package/lib/components/ContextMenu/styles.js +169 -0
  616. package/lib/components/ContextMenu/styles.js.map +1 -0
  617. package/lib/components/ContextMenu/types.d.ts +62 -0
  618. package/lib/components/ContextMenu/types.d.ts.map +1 -0
  619. package/lib/components/ContextMenu/types.js +2 -0
  620. package/lib/components/ContextMenu/types.js.map +1 -0
  621. package/lib/components/ContextMenu/useExpandPanel.d.ts +11 -0
  622. package/lib/components/ContextMenu/useExpandPanel.d.ts.map +1 -0
  623. package/lib/components/ContextMenu/useExpandPanel.js +81 -0
  624. package/lib/components/ContextMenu/useExpandPanel.js.map +1 -0
  625. package/lib/components/ContextMenu/useMenuPresence.d.ts +17 -0
  626. package/lib/components/ContextMenu/useMenuPresence.d.ts.map +1 -0
  627. package/lib/components/ContextMenu/useMenuPresence.js +125 -0
  628. package/lib/components/ContextMenu/useMenuPresence.js.map +1 -0
  629. package/lib/components/FloatingRoundNote.d.ts +13 -0
  630. package/lib/components/FloatingRoundNote.d.ts.map +1 -0
  631. package/lib/components/FloatingRoundNote.js +541 -0
  632. package/lib/components/FloatingRoundNote.js.map +1 -0
  633. package/lib/components/GlassSurface.d.ts +16 -0
  634. package/lib/components/GlassSurface.d.ts.map +1 -0
  635. package/lib/components/GlassSurface.js +114 -0
  636. package/lib/components/GlassSurface.js.map +1 -0
  637. package/lib/components/Icon.js +57 -8
  638. package/lib/components/Icon.js.map +1 -1
  639. package/lib/components/LinkPreviewCard.d.ts +36 -0
  640. package/lib/components/LinkPreviewCard.d.ts.map +1 -0
  641. package/lib/components/LinkPreviewCard.js +416 -0
  642. package/lib/components/LinkPreviewCard.js.map +1 -0
  643. package/lib/components/LucideIcon.d.ts.map +1 -1
  644. package/lib/components/LucideIcon.js +103 -106
  645. package/lib/components/LucideIcon.js.map +1 -1
  646. package/lib/components/MarkdownMessageText.d.ts +17 -2
  647. package/lib/components/MarkdownMessageText.d.ts.map +1 -1
  648. package/lib/components/MarkdownMessageText.js +270 -22
  649. package/lib/components/MarkdownMessageText.js.map +1 -1
  650. package/lib/components/MediaCard.d.ts.map +1 -1
  651. package/lib/components/MediaCard.js +223 -85
  652. package/lib/components/MediaCard.js.map +1 -1
  653. package/lib/components/MediaControls.js +1094 -450
  654. package/lib/components/MediaControls.js.map +1 -1
  655. package/lib/components/MediaLoader.d.ts +21 -0
  656. package/lib/components/MediaLoader.d.ts.map +1 -0
  657. package/lib/components/MediaLoader.js +61 -0
  658. package/lib/components/MediaLoader.js.map +1 -0
  659. package/lib/components/MessageReply.d.ts +2 -2
  660. package/lib/components/MessageReply.d.ts.map +1 -1
  661. package/lib/components/MessageReply.js +266 -83
  662. package/lib/components/MessageReply.js.map +1 -1
  663. package/lib/components/MessageStatus.d.ts +23 -0
  664. package/lib/components/MessageStatus.d.ts.map +1 -0
  665. package/lib/components/MessageStatus.js +499 -0
  666. package/lib/components/MessageStatus.js.map +1 -0
  667. package/lib/components/NoteIndicators.d.ts +25 -0
  668. package/lib/components/NoteIndicators.d.ts.map +1 -0
  669. package/lib/components/NoteIndicators.js +206 -0
  670. package/lib/components/NoteIndicators.js.map +1 -0
  671. package/lib/components/NowPlayingBar.d.ts +15 -0
  672. package/lib/components/NowPlayingBar.d.ts.map +1 -0
  673. package/lib/components/NowPlayingBar.js +261 -0
  674. package/lib/components/NowPlayingBar.js.map +1 -0
  675. package/lib/components/PlayPauseIcon.d.ts +13 -0
  676. package/lib/components/PlayPauseIcon.d.ts.map +1 -0
  677. package/lib/components/PlayPauseIcon.js +187 -0
  678. package/lib/components/PlayPauseIcon.js.map +1 -0
  679. package/lib/components/PlaybackSpeedPill.d.ts +11 -0
  680. package/lib/components/PlaybackSpeedPill.d.ts.map +1 -0
  681. package/lib/components/PlaybackSpeedPill.js +350 -0
  682. package/lib/components/PlaybackSpeedPill.js.map +1 -0
  683. package/lib/components/RadialProgress.d.ts +70 -0
  684. package/lib/components/RadialProgress.d.ts.map +1 -0
  685. package/lib/components/RadialProgress.js +864 -0
  686. package/lib/components/RadialProgress.js.map +1 -0
  687. package/lib/components/RecordButton/LockPill.d.ts +27 -0
  688. package/lib/components/RecordButton/LockPill.d.ts.map +1 -0
  689. package/lib/components/RecordButton/LockPill.js +182 -0
  690. package/lib/components/RecordButton/LockPill.js.map +1 -0
  691. package/lib/components/RecordButton/ModeButton.d.ts +18 -0
  692. package/lib/components/RecordButton/ModeButton.d.ts.map +1 -0
  693. package/lib/components/RecordButton/ModeButton.js +154 -0
  694. package/lib/components/RecordButton/ModeButton.js.map +1 -0
  695. package/lib/components/RecordButton/ResumeButton.d.ts +20 -0
  696. package/lib/components/RecordButton/ResumeButton.d.ts.map +1 -0
  697. package/lib/components/RecordButton/ResumeButton.js +63 -0
  698. package/lib/components/RecordButton/ResumeButton.js.map +1 -0
  699. package/lib/components/RecordButton/Tooltips.d.ts +20 -0
  700. package/lib/components/RecordButton/Tooltips.d.ts.map +1 -0
  701. package/lib/components/RecordButton/Tooltips.js +191 -0
  702. package/lib/components/RecordButton/Tooltips.js.map +1 -0
  703. package/lib/components/RecordButton/ViewOnceButton.d.ts +16 -0
  704. package/lib/components/RecordButton/ViewOnceButton.d.ts.map +1 -0
  705. package/lib/components/RecordButton/ViewOnceButton.js +96 -0
  706. package/lib/components/RecordButton/ViewOnceButton.js.map +1 -0
  707. package/lib/components/RecordButton/constants.d.ts +52 -0
  708. package/lib/components/RecordButton/constants.d.ts.map +1 -0
  709. package/lib/components/RecordButton/constants.js +58 -0
  710. package/lib/components/RecordButton/constants.js.map +1 -0
  711. package/lib/components/RecordButton/index.d.ts +14 -0
  712. package/lib/components/RecordButton/index.d.ts.map +1 -0
  713. package/lib/components/RecordButton/index.js +382 -0
  714. package/lib/components/RecordButton/index.js.map +1 -0
  715. package/lib/components/RecordButton/styles.d.ts +155 -0
  716. package/lib/components/RecordButton/styles.d.ts.map +1 -0
  717. package/lib/components/RecordButton/styles.js +161 -0
  718. package/lib/components/RecordButton/styles.js.map +1 -0
  719. package/lib/components/RecordButton/types.d.ts +63 -0
  720. package/lib/components/RecordButton/types.d.ts.map +1 -0
  721. package/lib/components/RecordButton/types.js +2 -0
  722. package/lib/components/RecordButton/types.js.map +1 -0
  723. package/lib/components/RecordButton/useRecordGesture.d.ts +28 -0
  724. package/lib/components/RecordButton/useRecordGesture.d.ts.map +1 -0
  725. package/lib/components/RecordButton/useRecordGesture.js +263 -0
  726. package/lib/components/RecordButton/useRecordGesture.js.map +1 -0
  727. package/lib/components/RecordButton/useRecordHints.d.ts +27 -0
  728. package/lib/components/RecordButton/useRecordHints.d.ts.map +1 -0
  729. package/lib/components/RecordButton/useRecordHints.js +210 -0
  730. package/lib/components/RecordButton/useRecordHints.js.map +1 -0
  731. package/lib/components/RecordButton/useRecordSlideDistance.d.ts +3 -0
  732. package/lib/components/RecordButton/useRecordSlideDistance.d.ts.map +1 -0
  733. package/lib/components/RecordButton/useRecordSlideDistance.js +15 -0
  734. package/lib/components/RecordButton/useRecordSlideDistance.js.map +1 -0
  735. package/lib/components/RecordButton/useRecordTake.d.ts +41 -0
  736. package/lib/components/RecordButton/useRecordTake.d.ts.map +1 -0
  737. package/lib/components/RecordButton/useRecordTake.js +349 -0
  738. package/lib/components/RecordButton/useRecordTake.js.map +1 -0
  739. package/lib/components/RecordButton/useSendFlight.d.ts +25 -0
  740. package/lib/components/RecordButton/useSendFlight.d.ts.map +1 -0
  741. package/lib/components/RecordButton/useSendFlight.js +162 -0
  742. package/lib/components/RecordButton/useSendFlight.js.map +1 -0
  743. package/lib/components/RecordCircle.d.ts +92 -0
  744. package/lib/components/RecordCircle.d.ts.map +1 -0
  745. package/lib/components/RecordCircle.js +629 -0
  746. package/lib/components/RecordCircle.js.map +1 -0
  747. package/lib/components/RecordingBar.d.ts +24 -0
  748. package/lib/components/RecordingBar.d.ts.map +1 -0
  749. package/lib/components/RecordingBar.js +766 -0
  750. package/lib/components/RecordingBar.js.map +1 -0
  751. package/lib/components/ReplyPreview.js +318 -135
  752. package/lib/components/ReplyPreview.js.map +1 -1
  753. package/lib/components/SelectionBar.d.ts +17 -0
  754. package/lib/components/SelectionBar.d.ts.map +1 -0
  755. package/lib/components/SelectionBar.js +214 -0
  756. package/lib/components/SelectionBar.js.map +1 -0
  757. package/lib/components/SelectionCheckbox.d.ts +12 -0
  758. package/lib/components/SelectionCheckbox.d.ts.map +1 -0
  759. package/lib/components/SelectionCheckbox.js +104 -0
  760. package/lib/components/SelectionCheckbox.js.map +1 -0
  761. package/lib/components/SendIcon.js +60 -26
  762. package/lib/components/SendIcon.js.map +1 -1
  763. package/lib/components/ServiceSpinner.d.ts +17 -0
  764. package/lib/components/ServiceSpinner.d.ts.map +1 -0
  765. package/lib/components/ServiceSpinner.js +77 -0
  766. package/lib/components/ServiceSpinner.js.map +1 -0
  767. package/lib/components/Spinner.d.ts +18 -0
  768. package/lib/components/Spinner.d.ts.map +1 -0
  769. package/lib/components/Spinner.js +169 -0
  770. package/lib/components/Spinner.js.map +1 -0
  771. package/lib/components/StreamingCursor.js +54 -9
  772. package/lib/components/StreamingCursor.js.map +1 -1
  773. package/lib/components/Ticks.d.ts +6 -5
  774. package/lib/components/Ticks.d.ts.map +1 -1
  775. package/lib/components/Ticks.js +272 -82
  776. package/lib/components/Ticks.js.map +1 -1
  777. package/lib/components/TouchableOpacity.d.ts.map +1 -1
  778. package/lib/components/TouchableOpacity.js +153 -51
  779. package/lib/components/TouchableOpacity.js.map +1 -1
  780. package/lib/components/TranscribeButton.d.ts +45 -0
  781. package/lib/components/TranscribeButton.d.ts.map +1 -0
  782. package/lib/components/TranscribeButton.js +549 -0
  783. package/lib/components/TranscribeButton.js.map +1 -0
  784. package/lib/components/TypingStatus.d.ts +29 -0
  785. package/lib/components/TypingStatus.d.ts.map +1 -0
  786. package/lib/components/TypingStatus.js +446 -0
  787. package/lib/components/TypingStatus.js.map +1 -0
  788. package/lib/components/UnreadSeparator.d.ts +8 -0
  789. package/lib/components/UnreadSeparator.d.ts.map +1 -0
  790. package/lib/components/UnreadSeparator.js +101 -0
  791. package/lib/components/UnreadSeparator.js.map +1 -0
  792. package/lib/components/VideoNoteCapture/ProgressRing.d.ts +16 -0
  793. package/lib/components/VideoNoteCapture/ProgressRing.d.ts.map +1 -0
  794. package/lib/components/VideoNoteCapture/ProgressRing.js +75 -0
  795. package/lib/components/VideoNoteCapture/ProgressRing.js.map +1 -0
  796. package/lib/components/VideoNoteCapture/VideoNoteCaptureView.d.ts +31 -0
  797. package/lib/components/VideoNoteCapture/VideoNoteCaptureView.d.ts.map +1 -0
  798. package/lib/components/VideoNoteCapture/VideoNoteCaptureView.js +500 -0
  799. package/lib/components/VideoNoteCapture/VideoNoteCaptureView.js.map +1 -0
  800. package/lib/components/VideoNoteCapture/VideoNotePreviewView.d.ts +12 -0
  801. package/lib/components/VideoNoteCapture/VideoNotePreviewView.d.ts.map +1 -0
  802. package/lib/components/VideoNoteCapture/VideoNotePreviewView.js +105 -0
  803. package/lib/components/VideoNoteCapture/VideoNotePreviewView.js.map +1 -0
  804. package/lib/components/VideoNoteCapture/VideoNoteStage.d.ts +12 -0
  805. package/lib/components/VideoNoteCapture/VideoNoteStage.d.ts.map +1 -0
  806. package/lib/components/VideoNoteCapture/VideoNoteStage.js +95 -0
  807. package/lib/components/VideoNoteCapture/VideoNoteStage.js.map +1 -0
  808. package/lib/components/VideoNoteCapture/constants.d.ts +50 -0
  809. package/lib/components/VideoNoteCapture/constants.d.ts.map +1 -0
  810. package/lib/components/VideoNoteCapture/constants.js +53 -0
  811. package/lib/components/VideoNoteCapture/constants.js.map +1 -0
  812. package/lib/components/VideoNoteCapture/index.d.ts +3 -0
  813. package/lib/components/VideoNoteCapture/index.d.ts.map +1 -0
  814. package/lib/components/VideoNoteCapture/index.js +2 -0
  815. package/lib/components/VideoNoteCapture/index.js.map +1 -0
  816. package/lib/components/VideoNoteCapture/optional.d.ts +6 -0
  817. package/lib/components/VideoNoteCapture/optional.d.ts.map +1 -0
  818. package/lib/components/VideoNoteCapture/optional.js +15 -0
  819. package/lib/components/VideoNoteCapture/optional.js.map +1 -0
  820. package/lib/components/VideoNoteCapture/sessionState.d.ts +10 -0
  821. package/lib/components/VideoNoteCapture/sessionState.d.ts.map +1 -0
  822. package/lib/components/VideoNoteCapture/sessionState.js +19 -0
  823. package/lib/components/VideoNoteCapture/sessionState.js.map +1 -0
  824. package/lib/components/VideoNoteCapture/styles.d.ts +84 -0
  825. package/lib/components/VideoNoteCapture/styles.d.ts.map +1 -0
  826. package/lib/components/VideoNoteCapture/styles.js +86 -0
  827. package/lib/components/VideoNoteCapture/styles.js.map +1 -0
  828. package/lib/components/VideoNoteCapture/types.d.ts +54 -0
  829. package/lib/components/VideoNoteCapture/types.d.ts.map +1 -0
  830. package/lib/components/VideoNoteCapture/types.js +2 -0
  831. package/lib/components/VideoNoteCapture/types.js.map +1 -0
  832. package/lib/components/VideoNoteCapture/useRoundAnimation.d.ts +47 -0
  833. package/lib/components/VideoNoteCapture/useRoundAnimation.d.ts.map +1 -0
  834. package/lib/components/VideoNoteCapture/useRoundAnimation.js +216 -0
  835. package/lib/components/VideoNoteCapture/useRoundAnimation.js.map +1 -0
  836. package/lib/components/VideoNoteCapture/useRoundLayout.d.ts +14 -0
  837. package/lib/components/VideoNoteCapture/useRoundLayout.d.ts.map +1 -0
  838. package/lib/components/VideoNoteCapture/useRoundLayout.js +61 -0
  839. package/lib/components/VideoNoteCapture/useRoundLayout.js.map +1 -0
  840. package/lib/components/VideoNoteCapture/useVideoNoteSession.d.ts +25 -0
  841. package/lib/components/VideoNoteCapture/useVideoNoteSession.d.ts.map +1 -0
  842. package/lib/components/VideoNoteCapture/useVideoNoteSession.js +611 -0
  843. package/lib/components/VideoNoteCapture/useVideoNoteSession.js.map +1 -0
  844. package/lib/components/VideoNoteOverlay.d.ts +42 -11
  845. package/lib/components/VideoNoteOverlay.d.ts.map +1 -1
  846. package/lib/components/VideoNoteOverlay.js +722 -135
  847. package/lib/components/VideoNoteOverlay.js.map +1 -1
  848. package/lib/components/VideoNoteRecorder/LiveVideoNote.d.ts +6 -0
  849. package/lib/components/VideoNoteRecorder/LiveVideoNote.d.ts.map +1 -0
  850. package/lib/components/VideoNoteRecorder/LiveVideoNote.js +205 -0
  851. package/lib/components/VideoNoteRecorder/LiveVideoNote.js.map +1 -0
  852. package/lib/components/VideoNoteRecorder/RecorderChrome.d.ts +35 -0
  853. package/lib/components/VideoNoteRecorder/RecorderChrome.d.ts.map +1 -0
  854. package/lib/components/VideoNoteRecorder/RecorderChrome.js +350 -0
  855. package/lib/components/VideoNoteRecorder/RecorderChrome.js.map +1 -0
  856. package/lib/components/VideoNoteRecorder/UnavailableVideoNote.d.ts +10 -0
  857. package/lib/components/VideoNoteRecorder/UnavailableVideoNote.d.ts.map +1 -0
  858. package/lib/components/VideoNoteRecorder/UnavailableVideoNote.js +52 -0
  859. package/lib/components/VideoNoteRecorder/UnavailableVideoNote.js.map +1 -0
  860. package/lib/components/VideoNoteRecorder/constants.d.ts +16 -0
  861. package/lib/components/VideoNoteRecorder/constants.d.ts.map +1 -0
  862. package/lib/components/VideoNoteRecorder/constants.js +30 -0
  863. package/lib/components/VideoNoteRecorder/constants.js.map +1 -0
  864. package/lib/components/{VideoNoteRecorder.d.ts → VideoNoteRecorder/index.d.ts} +5 -10
  865. package/lib/components/VideoNoteRecorder/index.d.ts.map +1 -0
  866. package/lib/components/VideoNoteRecorder/index.js +26 -0
  867. package/lib/components/VideoNoteRecorder/index.js.map +1 -0
  868. package/lib/components/VideoNoteRecorder/styles.d.ts +159 -0
  869. package/lib/components/VideoNoteRecorder/styles.d.ts.map +1 -0
  870. package/lib/components/VideoNoteRecorder/styles.js +170 -0
  871. package/lib/components/VideoNoteRecorder/styles.js.map +1 -0
  872. package/lib/components/VideoNoteRecorder/types.d.ts +7 -0
  873. package/lib/components/VideoNoteRecorder/types.d.ts.map +1 -0
  874. package/lib/components/VideoNoteRecorder/types.js +2 -0
  875. package/lib/components/VideoNoteRecorder/types.js.map +1 -0
  876. package/lib/components/VideoNoteRecorder/useRecordingTimer.d.ts +10 -0
  877. package/lib/components/VideoNoteRecorder/useRecordingTimer.d.ts.map +1 -0
  878. package/lib/components/VideoNoteRecorder/useRecordingTimer.js +134 -0
  879. package/lib/components/VideoNoteRecorder/useRecordingTimer.js.map +1 -0
  880. package/lib/components/VideoNoteRecorder/useVideoNoteRecording.d.ts +28 -0
  881. package/lib/components/VideoNoteRecorder/useVideoNoteRecording.d.ts.map +1 -0
  882. package/lib/components/VideoNoteRecorder/useVideoNoteRecording.js +287 -0
  883. package/lib/components/VideoNoteRecorder/useVideoNoteRecording.js.map +1 -0
  884. package/lib/components/VideoNoteRecorder/visionCameraHooks.d.ts +6 -0
  885. package/lib/components/VideoNoteRecorder/visionCameraHooks.d.ts.map +1 -0
  886. package/lib/components/VideoNoteRecorder/visionCameraHooks.js +11 -0
  887. package/lib/components/VideoNoteRecorder/visionCameraHooks.js.map +1 -0
  888. package/lib/components/VideoRecordButton.d.ts +1 -1
  889. package/lib/components/VideoRecordButton.d.ts.map +1 -1
  890. package/lib/components/VideoRecordButton.js +221 -92
  891. package/lib/components/VideoRecordButton.js.map +1 -1
  892. package/lib/components/ViewOnceBadge.d.ts +23 -0
  893. package/lib/components/ViewOnceBadge.d.ts.map +1 -0
  894. package/lib/components/ViewOnceBadge.js +233 -0
  895. package/lib/components/ViewOnceBadge.js.map +1 -0
  896. package/lib/components/VoiceMessageInput/RecordedVoicePreview.d.ts +16 -0
  897. package/lib/components/VoiceMessageInput/RecordedVoicePreview.d.ts.map +1 -0
  898. package/lib/components/VoiceMessageInput/RecordedVoicePreview.js +503 -0
  899. package/lib/components/VoiceMessageInput/RecordedVoicePreview.js.map +1 -0
  900. package/lib/components/VoiceMessageInput/constants.d.ts +16 -0
  901. package/lib/components/VoiceMessageInput/constants.d.ts.map +1 -0
  902. package/lib/components/VoiceMessageInput/constants.js +22 -0
  903. package/lib/components/VoiceMessageInput/constants.js.map +1 -0
  904. package/lib/components/VoiceMessageInput/formatElapsed.d.ts +2 -0
  905. package/lib/components/VoiceMessageInput/formatElapsed.d.ts.map +1 -0
  906. package/lib/components/VoiceMessageInput/formatElapsed.js +7 -0
  907. package/lib/components/VoiceMessageInput/formatElapsed.js.map +1 -0
  908. package/lib/components/VoiceMessageInput/index.d.ts +9 -0
  909. package/lib/components/VoiceMessageInput/index.d.ts.map +1 -0
  910. package/lib/components/VoiceMessageInput/index.js +148 -0
  911. package/lib/components/VoiceMessageInput/index.js.map +1 -0
  912. package/lib/components/VoiceMessageInput/previewStyles.d.ts +77 -0
  913. package/lib/components/VoiceMessageInput/previewStyles.d.ts.map +1 -0
  914. package/lib/components/VoiceMessageInput/previewStyles.js +80 -0
  915. package/lib/components/VoiceMessageInput/previewStyles.js.map +1 -0
  916. package/lib/components/VoiceMessageInput/previewWaveform.d.ts +15 -0
  917. package/lib/components/VoiceMessageInput/previewWaveform.d.ts.map +1 -0
  918. package/lib/components/VoiceMessageInput/previewWaveform.js +27 -0
  919. package/lib/components/VoiceMessageInput/previewWaveform.js.map +1 -0
  920. package/lib/components/VoiceMessageInput/recorder.d.ts +18 -0
  921. package/lib/components/VoiceMessageInput/recorder.d.ts.map +1 -0
  922. package/lib/components/VoiceMessageInput/recorder.js +80 -0
  923. package/lib/components/VoiceMessageInput/recorder.js.map +1 -0
  924. package/lib/components/VoiceMessageInput/types.d.ts +56 -0
  925. package/lib/components/VoiceMessageInput/types.d.ts.map +1 -0
  926. package/lib/components/VoiceMessageInput/types.js +2 -0
  927. package/lib/components/VoiceMessageInput/types.js.map +1 -0
  928. package/lib/components/VoiceMessageInput/useLazyRecorder.d.ts +7 -0
  929. package/lib/components/VoiceMessageInput/useLazyRecorder.d.ts.map +1 -0
  930. package/lib/components/VoiceMessageInput/useLazyRecorder.js +61 -0
  931. package/lib/components/VoiceMessageInput/useLazyRecorder.js.map +1 -0
  932. package/lib/components/VoiceMessageInput/useStateReport.d.ts +16 -0
  933. package/lib/components/VoiceMessageInput/useStateReport.d.ts.map +1 -0
  934. package/lib/components/VoiceMessageInput/useStateReport.js +81 -0
  935. package/lib/components/VoiceMessageInput/useStateReport.js.map +1 -0
  936. package/lib/components/VoiceMessageInput/useTakePreviewActions.d.ts +34 -0
  937. package/lib/components/VoiceMessageInput/useTakePreviewActions.d.ts.map +1 -0
  938. package/lib/components/VoiceMessageInput/useTakePreviewActions.js +207 -0
  939. package/lib/components/VoiceMessageInput/useTakePreviewActions.js.map +1 -0
  940. package/lib/components/VoiceMessageInput/useVoiceTake.d.ts +25 -0
  941. package/lib/components/VoiceMessageInput/useVoiceTake.d.ts.map +1 -0
  942. package/lib/components/VoiceMessageInput/useVoiceTake.js +424 -0
  943. package/lib/components/VoiceMessageInput/useVoiceTake.js.map +1 -0
  944. package/lib/components/WaveformPlayer/Bars.d.ts +30 -0
  945. package/lib/components/WaveformPlayer/Bars.d.ts.map +1 -0
  946. package/lib/components/WaveformPlayer/Bars.js +171 -0
  947. package/lib/components/WaveformPlayer/Bars.js.map +1 -0
  948. package/lib/components/WaveformPlayer/VoiceButton.d.ts +23 -0
  949. package/lib/components/WaveformPlayer/VoiceButton.d.ts.map +1 -0
  950. package/lib/components/WaveformPlayer/VoiceButton.js +111 -0
  951. package/lib/components/WaveformPlayer/VoiceButton.js.map +1 -0
  952. package/lib/components/WaveformPlayer/WaveformTrack.d.ts +31 -0
  953. package/lib/components/WaveformPlayer/WaveformTrack.d.ts.map +1 -0
  954. package/lib/components/WaveformPlayer/WaveformTrack.js +199 -0
  955. package/lib/components/WaveformPlayer/WaveformTrack.js.map +1 -0
  956. package/lib/components/WaveformPlayer/audio.d.ts +23 -0
  957. package/lib/components/WaveformPlayer/audio.d.ts.map +1 -0
  958. package/lib/components/WaveformPlayer/audio.js +97 -0
  959. package/lib/components/WaveformPlayer/audio.js.map +1 -0
  960. package/lib/components/WaveformPlayer/index.d.ts +13 -0
  961. package/lib/components/WaveformPlayer/index.d.ts.map +1 -0
  962. package/lib/components/WaveformPlayer/index.js +475 -0
  963. package/lib/components/WaveformPlayer/index.js.map +1 -0
  964. package/lib/components/WaveformPlayer/styles.d.ts +257 -0
  965. package/lib/components/WaveformPlayer/styles.d.ts.map +1 -0
  966. package/lib/components/WaveformPlayer/styles.js +120 -0
  967. package/lib/components/WaveformPlayer/styles.js.map +1 -0
  968. package/lib/components/WaveformPlayer/types.d.ts +32 -0
  969. package/lib/components/WaveformPlayer/types.d.ts.map +1 -0
  970. package/lib/components/WaveformPlayer/types.js +2 -0
  971. package/lib/components/WaveformPlayer/types.js.map +1 -0
  972. package/lib/components/WaveformPlayer/useSendFlightReveal.d.ts +21 -0
  973. package/lib/components/WaveformPlayer/useSendFlightReveal.d.ts.map +1 -0
  974. package/lib/components/WaveformPlayer/useSendFlightReveal.js +105 -0
  975. package/lib/components/WaveformPlayer/useSendFlightReveal.js.map +1 -0
  976. package/lib/components/WaveformPlayer/useVoicePlayback.d.ts +39 -0
  977. package/lib/components/WaveformPlayer/useVoicePlayback.d.ts.map +1 -0
  978. package/lib/components/WaveformPlayer/useVoicePlayback.js +401 -0
  979. package/lib/components/WaveformPlayer/useVoicePlayback.js.map +1 -0
  980. package/lib/components/WaveformPlayer/useVoiceSource.d.ts +38 -0
  981. package/lib/components/WaveformPlayer/useVoiceSource.d.ts.map +1 -0
  982. package/lib/components/WaveformPlayer/useVoiceSource.js +244 -0
  983. package/lib/components/WaveformPlayer/useVoiceSource.js.map +1 -0
  984. package/lib/components/WaveformPlayer/useWaveformMotion.d.ts +16 -0
  985. package/lib/components/WaveformPlayer/useWaveformMotion.d.ts.map +1 -0
  986. package/lib/components/WaveformPlayer/useWaveformMotion.js +135 -0
  987. package/lib/components/WaveformPlayer/useWaveformMotion.js.map +1 -0
  988. package/lib/components/WaveformPlayer/useWaveformScrub.d.ts +16 -0
  989. package/lib/components/WaveformPlayer/useWaveformScrub.d.ts.map +1 -0
  990. package/lib/components/WaveformPlayer/useWaveformScrub.js +168 -0
  991. package/lib/components/WaveformPlayer/useWaveformScrub.js.map +1 -0
  992. package/lib/components/composerPanels.d.ts +13 -0
  993. package/lib/components/composerPanels.d.ts.map +1 -0
  994. package/lib/components/composerPanels.js +22 -0
  995. package/lib/components/composerPanels.js.map +1 -0
  996. package/lib/components/defaultMessageActions.d.ts +30 -0
  997. package/lib/components/defaultMessageActions.d.ts.map +1 -0
  998. package/lib/components/defaultMessageActions.js +124 -0
  999. package/lib/components/defaultMessageActions.js.map +1 -0
  1000. package/lib/components/earpiece.d.ts +56 -0
  1001. package/lib/components/earpiece.d.ts.map +1 -0
  1002. package/lib/components/earpiece.js +218 -0
  1003. package/lib/components/earpiece.js.map +1 -0
  1004. package/lib/components/floatingNoteMath.d.ts +66 -0
  1005. package/lib/components/floatingNoteMath.d.ts.map +1 -0
  1006. package/lib/components/floatingNoteMath.js +143 -0
  1007. package/lib/components/floatingNoteMath.js.map +1 -0
  1008. package/lib/components/haptics.d.ts +5 -0
  1009. package/lib/components/haptics.d.ts.map +1 -0
  1010. package/lib/components/haptics.js +26 -0
  1011. package/lib/components/haptics.js.map +1 -0
  1012. package/lib/components/mediaDownload.d.ts +14 -0
  1013. package/lib/components/mediaDownload.d.ts.map +1 -0
  1014. package/lib/components/mediaDownload.js +43 -0
  1015. package/lib/components/mediaDownload.js.map +1 -0
  1016. package/lib/components/mediaPalette.d.ts +7 -2
  1017. package/lib/components/mediaPalette.d.ts.map +1 -1
  1018. package/lib/components/mediaPalette.js +27 -15
  1019. package/lib/components/mediaPalette.js.map +1 -1
  1020. package/lib/components/mediaPlayback.d.ts +204 -5
  1021. package/lib/components/mediaPlayback.d.ts.map +1 -1
  1022. package/lib/components/mediaPlayback.js +746 -17
  1023. package/lib/components/mediaPlayback.js.map +1 -1
  1024. package/lib/components/mediaTransfer.d.ts +29 -0
  1025. package/lib/components/mediaTransfer.d.ts.map +1 -0
  1026. package/lib/components/mediaTransfer.js +52 -0
  1027. package/lib/components/mediaTransfer.js.map +1 -0
  1028. package/lib/components/mediaViewer/MediaViewer.d.ts +17 -0
  1029. package/lib/components/mediaViewer/MediaViewer.d.ts.map +1 -0
  1030. package/lib/components/mediaViewer/MediaViewer.js +347 -0
  1031. package/lib/components/mediaViewer/MediaViewer.js.map +1 -0
  1032. package/lib/components/mediaViewer/MediaViewerChrome.d.ts +14 -0
  1033. package/lib/components/mediaViewer/MediaViewerChrome.d.ts.map +1 -0
  1034. package/lib/components/mediaViewer/MediaViewerChrome.js +164 -0
  1035. package/lib/components/mediaViewer/MediaViewerChrome.js.map +1 -0
  1036. package/lib/components/mediaViewer/MediaViewerHost.d.ts +10 -0
  1037. package/lib/components/mediaViewer/MediaViewerHost.d.ts.map +1 -0
  1038. package/lib/components/mediaViewer/MediaViewerHost.js +76 -0
  1039. package/lib/components/mediaViewer/MediaViewerHost.js.map +1 -0
  1040. package/lib/components/mediaViewer/MediaViewerPage.d.ts +25 -0
  1041. package/lib/components/mediaViewer/MediaViewerPage.d.ts.map +1 -0
  1042. package/lib/components/mediaViewer/MediaViewerPage.js +194 -0
  1043. package/lib/components/mediaViewer/MediaViewerPage.js.map +1 -0
  1044. package/lib/components/mediaViewer/gallery.d.ts +27 -0
  1045. package/lib/components/mediaViewer/gallery.d.ts.map +1 -0
  1046. package/lib/components/mediaViewer/gallery.js +41 -0
  1047. package/lib/components/mediaViewer/gallery.js.map +1 -0
  1048. package/lib/components/messageHighlight.d.ts +41 -0
  1049. package/lib/components/messageHighlight.d.ts.map +1 -0
  1050. package/lib/components/messageHighlight.js +157 -0
  1051. package/lib/components/messageHighlight.js.map +1 -0
  1052. package/lib/components/messagePress.d.ts +14 -0
  1053. package/lib/components/messagePress.d.ts.map +1 -0
  1054. package/lib/components/messagePress.js +18 -0
  1055. package/lib/components/messagePress.js.map +1 -0
  1056. package/lib/components/messageSelection.d.ts +39 -0
  1057. package/lib/components/messageSelection.d.ts.map +1 -0
  1058. package/lib/components/messageSelection.js +135 -0
  1059. package/lib/components/messageSelection.js.map +1 -0
  1060. package/lib/components/recordingFeedback.d.ts +22 -0
  1061. package/lib/components/recordingFeedback.d.ts.map +1 -0
  1062. package/lib/components/recordingFeedback.js +80 -0
  1063. package/lib/components/recordingFeedback.js.map +1 -0
  1064. package/lib/components/recordingMeter.d.ts +19 -0
  1065. package/lib/components/recordingMeter.d.ts.map +1 -0
  1066. package/lib/components/recordingMeter.js +21 -0
  1067. package/lib/components/recordingMeter.js.map +1 -0
  1068. package/lib/components/roundNoteChrome.d.ts +107 -0
  1069. package/lib/components/roundNoteChrome.d.ts.map +1 -0
  1070. package/lib/components/roundNoteChrome.js +249 -0
  1071. package/lib/components/roundNoteChrome.js.map +1 -0
  1072. package/lib/components/roundNotePlayers.d.ts +78 -0
  1073. package/lib/components/roundNotePlayers.d.ts.map +1 -0
  1074. package/lib/components/roundNotePlayers.js +230 -0
  1075. package/lib/components/roundNotePlayers.js.map +1 -0
  1076. package/lib/components/sendFlight.d.ts +88 -0
  1077. package/lib/components/sendFlight.d.ts.map +1 -0
  1078. package/lib/components/sendFlight.js +146 -0
  1079. package/lib/components/sendFlight.js.map +1 -0
  1080. package/lib/components/viewOnce.d.ts +27 -0
  1081. package/lib/components/viewOnce.d.ts.map +1 -0
  1082. package/lib/components/viewOnce.js +168 -0
  1083. package/lib/components/viewOnce.js.map +1 -0
  1084. package/lib/components/visionCamera.d.ts +45 -0
  1085. package/lib/components/visionCamera.d.ts.map +1 -0
  1086. package/lib/components/visionCamera.js +117 -0
  1087. package/lib/components/visionCamera.js.map +1 -0
  1088. package/lib/components/voiceEditing.d.ts +34 -0
  1089. package/lib/components/voiceEditing.d.ts.map +1 -0
  1090. package/lib/components/voiceEditing.js +159 -0
  1091. package/lib/components/voiceEditing.js.map +1 -0
  1092. package/lib/components/voiceWaveform.d.ts +108 -0
  1093. package/lib/components/voiceWaveform.d.ts.map +1 -0
  1094. package/lib/components/voiceWaveform.js +165 -0
  1095. package/lib/components/voiceWaveform.js.map +1 -0
  1096. package/lib/components/wallpaperGradient.d.ts +16 -0
  1097. package/lib/components/wallpaperGradient.d.ts.map +1 -0
  1098. package/lib/components/wallpaperGradient.js +186 -0
  1099. package/lib/components/wallpaperGradient.js.map +1 -0
  1100. package/lib/components/windowInsets.d.ts +11 -0
  1101. package/lib/components/windowInsets.d.ts.map +1 -0
  1102. package/lib/components/windowInsets.js +44 -0
  1103. package/lib/components/windowInsets.js.map +1 -0
  1104. package/lib/dayjsLocales.js +15 -2
  1105. package/lib/dayjsLocales.js.map +1 -1
  1106. package/lib/emoji/EmojiGrid/BackspaceButton.d.ts +11 -0
  1107. package/lib/emoji/EmojiGrid/BackspaceButton.d.ts.map +1 -0
  1108. package/lib/emoji/EmojiGrid/BackspaceButton.js +111 -0
  1109. package/lib/emoji/EmojiGrid/BackspaceButton.js.map +1 -0
  1110. package/lib/emoji/EmojiGrid/EmojiRow.d.ts +15 -0
  1111. package/lib/emoji/EmojiGrid/EmojiRow.d.ts.map +1 -0
  1112. package/lib/emoji/EmojiGrid/EmojiRow.js +71 -0
  1113. package/lib/emoji/EmojiGrid/EmojiRow.js.map +1 -0
  1114. package/lib/emoji/EmojiGrid/Search.d.ts +29 -0
  1115. package/lib/emoji/EmojiGrid/Search.d.ts.map +1 -0
  1116. package/lib/emoji/EmojiGrid/Search.js +234 -0
  1117. package/lib/emoji/EmojiGrid/Search.js.map +1 -0
  1118. package/lib/emoji/EmojiGrid/TabStrip.d.ts +16 -0
  1119. package/lib/emoji/EmojiGrid/TabStrip.d.ts.map +1 -0
  1120. package/lib/emoji/EmojiGrid/TabStrip.js +237 -0
  1121. package/lib/emoji/EmojiGrid/TabStrip.js.map +1 -0
  1122. package/lib/emoji/EmojiGrid/TonePopup.d.ts +12 -0
  1123. package/lib/emoji/EmojiGrid/TonePopup.d.ts.map +1 -0
  1124. package/lib/emoji/EmojiGrid/TonePopup.js +137 -0
  1125. package/lib/emoji/EmojiGrid/TonePopup.js.map +1 -0
  1126. package/lib/emoji/EmojiGrid/constants.d.ts +29 -0
  1127. package/lib/emoji/EmojiGrid/constants.d.ts.map +1 -0
  1128. package/lib/emoji/EmojiGrid/constants.js +65 -0
  1129. package/lib/emoji/EmojiGrid/constants.js.map +1 -0
  1130. package/lib/emoji/EmojiGrid/index.d.ts +10 -0
  1131. package/lib/emoji/EmojiGrid/index.d.ts.map +1 -0
  1132. package/lib/emoji/EmojiGrid/index.js +450 -0
  1133. package/lib/emoji/EmojiGrid/index.js.map +1 -0
  1134. package/lib/emoji/EmojiGrid/items.d.ts +25 -0
  1135. package/lib/emoji/EmojiGrid/items.d.ts.map +1 -0
  1136. package/lib/emoji/EmojiGrid/items.js +75 -0
  1137. package/lib/emoji/EmojiGrid/items.js.map +1 -0
  1138. package/lib/emoji/EmojiGrid/styles.d.ts +181 -0
  1139. package/lib/emoji/EmojiGrid/styles.d.ts.map +1 -0
  1140. package/lib/emoji/EmojiGrid/styles.js +184 -0
  1141. package/lib/emoji/EmojiGrid/styles.js.map +1 -0
  1142. package/lib/emoji/EmojiGrid/types.d.ts +53 -0
  1143. package/lib/emoji/EmojiGrid/types.d.ts.map +1 -0
  1144. package/lib/emoji/EmojiGrid/types.js +2 -0
  1145. package/lib/emoji/EmojiGrid/types.js.map +1 -0
  1146. package/lib/emoji/EmojiGrid/useTabScroll.d.ts +19 -0
  1147. package/lib/emoji/EmojiGrid/useTabScroll.d.ts.map +1 -0
  1148. package/lib/emoji/EmojiGrid/useTabScroll.js +124 -0
  1149. package/lib/emoji/EmojiGrid/useTabScroll.js.map +1 -0
  1150. package/lib/emoji/EmojiKeyboard.d.ts +79 -0
  1151. package/lib/emoji/EmojiKeyboard.d.ts.map +1 -0
  1152. package/lib/emoji/EmojiKeyboard.js +445 -0
  1153. package/lib/emoji/EmojiKeyboard.js.map +1 -0
  1154. package/lib/emoji/defaultExpandedPicker.d.ts +5 -0
  1155. package/lib/emoji/defaultExpandedPicker.d.ts.map +1 -0
  1156. package/lib/emoji/defaultExpandedPicker.js +11 -0
  1157. package/lib/emoji/defaultExpandedPicker.js.map +1 -0
  1158. package/lib/emoji/emojiData.d.ts +2 -0
  1159. package/lib/emoji/emojiData.d.ts.map +1 -0
  1160. package/lib/emoji/emojiData.js +5 -0
  1161. package/lib/emoji/emojiData.js.map +1 -0
  1162. package/lib/emoji/emojiStore.d.ts +70 -0
  1163. package/lib/emoji/emojiStore.d.ts.map +1 -0
  1164. package/lib/emoji/emojiStore.js +246 -0
  1165. package/lib/emoji/emojiStore.js.map +1 -0
  1166. package/lib/emoji/textEditing.d.ts +20 -0
  1167. package/lib/emoji/textEditing.d.ts.map +1 -0
  1168. package/lib/emoji/textEditing.js +97 -0
  1169. package/lib/emoji/textEditing.js.map +1 -0
  1170. package/lib/emojiOnly.d.ts +11 -0
  1171. package/lib/emojiOnly.d.ts.map +1 -0
  1172. package/lib/emojiOnly.js +79 -0
  1173. package/lib/emojiOnly.js.map +1 -0
  1174. package/lib/gestures/useRowSwipe.d.ts +43 -0
  1175. package/lib/gestures/useRowSwipe.d.ts.map +1 -0
  1176. package/lib/gestures/useRowSwipe.js +74 -0
  1177. package/lib/gestures/useRowSwipe.js.map +1 -0
  1178. package/lib/hooks/useAnimatedPresence.d.ts +22 -0
  1179. package/lib/hooks/useAnimatedPresence.d.ts.map +1 -0
  1180. package/lib/hooks/useAnimatedPresence.js +97 -0
  1181. package/lib/hooks/useAnimatedPresence.js.map +1 -0
  1182. package/lib/hooks/useChatMessages.d.ts +39 -0
  1183. package/lib/hooks/useChatMessages.d.ts.map +1 -0
  1184. package/lib/hooks/useChatMessages.js +125 -0
  1185. package/lib/hooks/useChatMessages.js.map +1 -0
  1186. package/lib/hooks/useColorScheme.d.ts +7 -1
  1187. package/lib/hooks/useColorScheme.d.ts.map +1 -1
  1188. package/lib/hooks/useColorScheme.js +46 -8
  1189. package/lib/hooks/useColorScheme.js.map +1 -1
  1190. package/lib/hooks/useHasKeyboardProvider.js +18 -7
  1191. package/lib/hooks/useHasKeyboardProvider.js.map +1 -1
  1192. package/lib/hooks/useIcons.js +15 -2
  1193. package/lib/hooks/useIcons.js.map +1 -1
  1194. package/lib/hooks/useIsKeyboardVisible.js +39 -17
  1195. package/lib/hooks/useIsKeyboardVisible.js.map +1 -1
  1196. package/lib/hooks/useIsRTL.js +15 -2
  1197. package/lib/hooks/useIsRTL.js.map +1 -1
  1198. package/lib/hooks/useKeyboardVerticalOffset.d.ts +5 -3
  1199. package/lib/hooks/useKeyboardVerticalOffset.d.ts.map +1 -1
  1200. package/lib/hooks/useKeyboardVerticalOffset.js +52 -18
  1201. package/lib/hooks/useKeyboardVerticalOffset.js.map +1 -1
  1202. package/lib/hooks/useLabels.js +15 -2
  1203. package/lib/hooks/useLabels.js.map +1 -1
  1204. package/lib/hooks/useStreamingMessages.js +200 -86
  1205. package/lib/hooks/useStreamingMessages.js.map +1 -1
  1206. package/lib/hooks/useTheme.js +56 -7
  1207. package/lib/hooks/useTheme.js.map +1 -1
  1208. package/lib/hooks/useUpdateLayoutEffect.d.ts.map +1 -1
  1209. package/lib/hooks/useUpdateLayoutEffect.js +35 -11
  1210. package/lib/hooks/useUpdateLayoutEffect.js.map +1 -1
  1211. package/lib/i18n.d.ts +182 -0
  1212. package/lib/i18n.d.ts.map +1 -1
  1213. package/lib/i18n.js +121 -23
  1214. package/lib/i18n.js.map +1 -1
  1215. package/lib/index.d.ts +31 -1
  1216. package/lib/index.d.ts.map +1 -1
  1217. package/lib/index.js +18 -1
  1218. package/lib/index.js.map +1 -1
  1219. package/lib/linkParser.js +318 -185
  1220. package/lib/linkParser.js.map +1 -1
  1221. package/lib/locales/ar.d.ts.map +1 -1
  1222. package/lib/locales/ar.js +110 -19
  1223. package/lib/locales/ar.js.map +1 -1
  1224. package/lib/locales/de.d.ts.map +1 -1
  1225. package/lib/locales/de.js +110 -19
  1226. package/lib/locales/de.js.map +1 -1
  1227. package/lib/locales/es.d.ts.map +1 -1
  1228. package/lib/locales/es.js +110 -19
  1229. package/lib/locales/es.js.map +1 -1
  1230. package/lib/locales/fr.d.ts.map +1 -1
  1231. package/lib/locales/fr.js +110 -19
  1232. package/lib/locales/fr.js.map +1 -1
  1233. package/lib/locales/hi.d.ts.map +1 -1
  1234. package/lib/locales/hi.js +110 -19
  1235. package/lib/locales/hi.js.map +1 -1
  1236. package/lib/locales/id.d.ts.map +1 -1
  1237. package/lib/locales/id.js +110 -19
  1238. package/lib/locales/id.js.map +1 -1
  1239. package/lib/locales/index.js +19 -5
  1240. package/lib/locales/index.js.map +1 -1
  1241. package/lib/locales/it.d.ts.map +1 -1
  1242. package/lib/locales/it.js +110 -19
  1243. package/lib/locales/it.js.map +1 -1
  1244. package/lib/locales/ja.d.ts.map +1 -1
  1245. package/lib/locales/ja.js +110 -19
  1246. package/lib/locales/ja.js.map +1 -1
  1247. package/lib/locales/ko.d.ts.map +1 -1
  1248. package/lib/locales/ko.js +110 -19
  1249. package/lib/locales/ko.js.map +1 -1
  1250. package/lib/locales/nl.d.ts.map +1 -1
  1251. package/lib/locales/nl.js +110 -19
  1252. package/lib/locales/nl.js.map +1 -1
  1253. package/lib/locales/pl.d.ts.map +1 -1
  1254. package/lib/locales/pl.js +110 -19
  1255. package/lib/locales/pl.js.map +1 -1
  1256. package/lib/locales/pt.d.ts.map +1 -1
  1257. package/lib/locales/pt.js +110 -19
  1258. package/lib/locales/pt.js.map +1 -1
  1259. package/lib/locales/ru.d.ts.map +1 -1
  1260. package/lib/locales/ru.js +110 -19
  1261. package/lib/locales/ru.js.map +1 -1
  1262. package/lib/locales/tr.d.ts.map +1 -1
  1263. package/lib/locales/tr.js +110 -19
  1264. package/lib/locales/tr.js.map +1 -1
  1265. package/lib/locales/zh.d.ts.map +1 -1
  1266. package/lib/locales/zh.js +110 -19
  1267. package/lib/locales/zh.js.map +1 -1
  1268. package/lib/logging.d.ts +5 -0
  1269. package/lib/logging.d.ts.map +1 -1
  1270. package/lib/logging.js +13 -1
  1271. package/lib/logging.js.map +1 -1
  1272. package/lib/messageUtils.d.ts +19 -0
  1273. package/lib/messageUtils.d.ts.map +1 -0
  1274. package/lib/messageUtils.js +61 -0
  1275. package/lib/messageUtils.js.map +1 -0
  1276. package/lib/motion.d.ts +21 -0
  1277. package/lib/motion.d.ts.map +1 -0
  1278. package/lib/motion.js +30 -0
  1279. package/lib/motion.js.map +1 -0
  1280. package/lib/optional/index.d.ts +99 -0
  1281. package/lib/optional/index.d.ts.map +1 -0
  1282. package/lib/optional/index.js +284 -0
  1283. package/lib/optional/index.js.map +1 -0
  1284. package/lib/rtl.js +7 -5
  1285. package/lib/rtl.js.map +1 -1
  1286. package/lib/store.d.ts +40 -0
  1287. package/lib/store.d.ts.map +1 -0
  1288. package/lib/store.js +127 -0
  1289. package/lib/store.js.map +1 -0
  1290. package/lib/styles.d.ts +2 -2
  1291. package/lib/styles.d.ts.map +1 -1
  1292. package/lib/styles.js +15 -15
  1293. package/lib/styles.js.map +1 -1
  1294. package/lib/types.js +1 -0
  1295. package/lib/types.js.map +1 -1
  1296. package/lib/utils.d.ts +15 -0
  1297. package/lib/utils.d.ts.map +1 -1
  1298. package/lib/utils.js +199 -94
  1299. package/lib/utils.js.map +1 -1
  1300. package/llms.txt +133 -31
  1301. package/package.json +89 -46
  1302. package/lib/InputToolbar.d.ts +0 -49
  1303. package/lib/InputToolbar.d.ts.map +0 -1
  1304. package/lib/InputToolbar.js +0 -338
  1305. package/lib/InputToolbar.js.map +0 -1
  1306. package/lib/MessageVideo.d.ts.map +0 -1
  1307. package/lib/MessageVideo.js +0 -162
  1308. package/lib/MessageVideo.js.map +0 -1
  1309. package/lib/MessagesContainer/FlashList.d.ts +0 -9
  1310. package/lib/MessagesContainer/FlashList.d.ts.map +0 -1
  1311. package/lib/MessagesContainer/FlashList.js +0 -23
  1312. package/lib/MessagesContainer/FlashList.js.map +0 -1
  1313. package/lib/components/ContextMenu.d.ts +0 -25
  1314. package/lib/components/ContextMenu.d.ts.map +0 -1
  1315. package/lib/components/ContextMenu.js +0 -122
  1316. package/lib/components/ContextMenu.js.map +0 -1
  1317. package/lib/components/VideoNoteRecorder.d.ts.map +0 -1
  1318. package/lib/components/VideoNoteRecorder.js +0 -634
  1319. package/lib/components/VideoNoteRecorder.js.map +0 -1
  1320. package/lib/components/VoiceMessageInput.d.ts +0 -33
  1321. package/lib/components/VoiceMessageInput.d.ts.map +0 -1
  1322. package/lib/components/VoiceMessageInput.js +0 -403
  1323. package/lib/components/VoiceMessageInput.js.map +0 -1
  1324. package/lib/components/WaveformPlayer.d.ts +0 -19
  1325. package/lib/components/WaveformPlayer.d.ts.map +0 -1
  1326. package/lib/components/WaveformPlayer.js +0 -367
  1327. package/lib/components/WaveformPlayer.js.map +0 -1
@@ -0,0 +1,60 @@
1
+ import dayjs from 'dayjs';
2
+ const timeOf = message => message?.createdAt ? new Date(message.createdAt).getTime() : 0;
3
+
4
+ /** Pinned chats first, in the order given, then the rest by their newest message. */
5
+ export function sortChats(chats) {
6
+ const pinned = chats.filter(chat => chat.isPinned);
7
+ const rest = chats.filter(chat => !chat.isPinned).sort((a, b) => timeOf(b.lastMessage) - timeOf(a.lastMessage));
8
+ return [...pinned, ...rest];
9
+ }
10
+
11
+ /** The default search: the title or the last message's text contains the query. */
12
+ export function matchesChatQuery(chat, query) {
13
+ const needle = query.trim().toLowerCase();
14
+ if (!needle) return true;
15
+ return chat.title.toLowerCase().includes(needle) || !!chat.lastMessage?.text?.toLowerCase().includes(needle);
16
+ }
17
+
18
+ /**
19
+ * The time on a row: the time today, the weekday within a week, the day and month this year,
20
+ * and the full date before that.
21
+ */
22
+ export function formatChatListDate(date, locale) {
23
+ const value = locale ? dayjs(date).locale(locale) : dayjs(date);
24
+ const now = dayjs();
25
+ if (value.isSame(now, 'day')) return value.format('LT');
26
+ if (now.diff(value, 'day') < 7) return value.format('ddd');
27
+ if (value.isSame(now, 'year')) return value.format('MMM D');
28
+ return value.format('L');
29
+ }
30
+
31
+ /** Initials: the first letters of the first two words. */
32
+ export function getInitials(title) {
33
+ // A chat whose title has not loaded yet draws an empty circle rather than throwing.
34
+ const words = (title ?? '').replace(/[^\p{L}\p{N}\s]/gu, '').trim().split(/\s+/).filter(Boolean);
35
+ return words.slice(0, 2).map(word => word[0]).join('').toUpperCase();
36
+ }
37
+ const firstName = name => (name ?? '').split(' ')[0];
38
+
39
+ /** Markdown as plain text, for a one-line preview: links keep their text, markers go. */
40
+ export function stripMarkdown(text) {
41
+ return text.replace(/```[\s\S]*?```/g, match => match.replace(/```\w*/g, '')).replace(/!?\[([^\]]*)\]\([^)]*\)/g, '$1').replace(/^\s{0,3}(#{1,6}|>|[-*+]|\d+\.)\s+/gm, '').replace(/(\*\*|__|~~|`)(.+?)\1/g, '$2').replace(/(^|[^\w*])[*_]([^*_\n]+)[*_](?=[^\w*]|$)/g, '$1$2');
42
+ }
43
+
44
+ /** The second line of a row for its newest message. */
45
+ export function getChatPreview(chat, labels, user) {
46
+ const message = chat.lastMessage;
47
+ if (!message) return {
48
+ text: ''
49
+ };
50
+ const isMine = user != null && message.user?._id === user._id;
51
+ const prefix = chat.kind === 'group' && !message.system ? `${isMine ? labels.chatListYou : firstName(message.user?.name)}: ` : undefined;
52
+ const attachment = message.image ? labels.chatListPhoto : message.videoNote ? labels.videoMessage : message.video ? labels.video : message.audio ? labels.voiceMessage : message.file ? message.file.name || labels.chatListFile : message.location ? labels.location : undefined;
53
+ return {
54
+ prefix,
55
+ attachment: attachment && message.text ? undefined : attachment,
56
+ text: message.text ? stripMarkdown(message.text).replace(/\s+/g, ' ').trim() : '',
57
+ thumbnail: message.image
58
+ };
59
+ }
60
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","names":["dayjs","timeOf","message","createdAt","Date","getTime","sortChats","chats","pinned","filter","chat","isPinned","rest","sort","a","b","lastMessage","matchesChatQuery","query","needle","trim","toLowerCase","title","includes","text","formatChatListDate","date","locale","value","now","isSame","format","diff","getInitials","words","replace","split","Boolean","slice","map","word","join","toUpperCase","firstName","name","stripMarkdown","match","getChatPreview","labels","user","isMine","_id","prefix","kind","system","chatListYou","undefined","attachment","image","chatListPhoto","videoNote","videoMessage","video","audio","voiceMessage","file","chatListFile","location","thumbnail"],"sources":["../../src/ChatList/utils.ts"],"sourcesContent":["import dayjs from 'dayjs'\n\nimport { ChatLabels } from '../i18n'\nimport { IMessage, User } from '../Models'\nimport { ChatListItem } from './types'\n\nconst timeOf = (message?: IMessage) => (message?.createdAt ? new Date(message.createdAt).getTime() : 0)\n\n/** Pinned chats first, in the order given, then the rest by their newest message. */\nexport function sortChats<TChat extends ChatListItem> (chats: TChat[]): TChat[] {\n const pinned = chats.filter(chat => chat.isPinned)\n const rest = chats\n .filter(chat => !chat.isPinned)\n .sort((a, b) => timeOf(b.lastMessage) - timeOf(a.lastMessage))\n return [...pinned, ...rest]\n}\n\n/** The default search: the title or the last message's text contains the query. */\nexport function matchesChatQuery (chat: ChatListItem, query: string): boolean {\n const needle = query.trim().toLowerCase()\n if (!needle)\n return true\n return chat.title.toLowerCase().includes(needle) ||\n !!chat.lastMessage?.text?.toLowerCase().includes(needle)\n}\n\n/**\n * The time on a row: the time today, the weekday within a week, the day and month this year,\n * and the full date before that.\n */\nexport function formatChatListDate (date: Date | number, locale?: string): string {\n const value = locale ? dayjs(date).locale(locale) : dayjs(date)\n const now = dayjs()\n if (value.isSame(now, 'day'))\n return value.format('LT')\n if (now.diff(value, 'day') < 7)\n return value.format('ddd')\n if (value.isSame(now, 'year'))\n return value.format('MMM D')\n return value.format('L')\n}\n\n/** Initials: the first letters of the first two words. */\nexport function getInitials (title: string | undefined): string {\n // A chat whose title has not loaded yet draws an empty circle rather than throwing.\n const words = (title ?? '').replace(/[^\\p{L}\\p{N}\\s]/gu, '').trim().split(/\\s+/).filter(Boolean)\n return words.slice(0, 2).map(word => word[0]).join('').toUpperCase()\n}\n\nexport interface ChatPreview {\n /** \"You: \" or \"Anna: \" in groups. */\n prefix?: string\n /** \"Photo\", \"Voice message\"... when the message has no text. */\n attachment?: string\n text: string\n /** A photo's thumbnail, drawn before the text. */\n thumbnail?: string\n}\n\nconst firstName = (name?: string) => (name ?? '').split(' ')[0]\n\n/** Markdown as plain text, for a one-line preview: links keep their text, markers go. */\nexport function stripMarkdown (text: string): string {\n return text\n .replace(/```[\\s\\S]*?```/g, match => match.replace(/```\\w*/g, ''))\n .replace(/!?\\[([^\\]]*)\\]\\([^)]*\\)/g, '$1')\n .replace(/^\\s{0,3}(#{1,6}|>|[-*+]|\\d+\\.)\\s+/gm, '')\n .replace(/(\\*\\*|__|~~|`)(.+?)\\1/g, '$2')\n .replace(/(^|[^\\w*])[*_]([^*_\\n]+)[*_](?=[^\\w*]|$)/g, '$1$2')\n}\n\n/** The second line of a row for its newest message. */\nexport function getChatPreview (chat: ChatListItem, labels: ChatLabels, user?: User): ChatPreview {\n const message = chat.lastMessage\n if (!message)\n return { text: '' }\n\n const isMine = user != null && message.user?._id === user._id\n const prefix = chat.kind === 'group' && !message.system\n ? `${isMine ? labels.chatListYou : firstName(message.user?.name)}: `\n : undefined\n\n const attachment = message.image\n ? labels.chatListPhoto\n : message.videoNote\n ? labels.videoMessage\n : message.video\n ? labels.video\n : message.audio\n ? labels.voiceMessage\n : message.file\n ? message.file.name || labels.chatListFile\n : message.location\n ? labels.location\n : undefined\n\n return {\n prefix,\n attachment: attachment && message.text ? undefined : attachment,\n text: message.text ? stripMarkdown(message.text).replace(/\\s+/g, ' ').trim() : '',\n thumbnail: message.image,\n }\n}\n"],"mappings":"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","ignoreList":[]}
package/lib/Color.js CHANGED
@@ -1,22 +1,22 @@
1
1
  export const Color = {
2
- defaultColor: '#b2b2b2',
3
- backgroundTransparent: 'transparent',
4
- // Modern azure accent (Telegram-style), replacing the old Messenger blue.
5
- // Also exposed as `theme.colors.accent`; kept here for components that read
6
- // Color directly (reply preview, swipe-to-reply icon) so the accent stays
7
- // consistent across the whole UI.
8
- defaultBlue: '#3390EC',
9
- leftBubbleBackground: '#FFFFFF',
10
- black: '#000',
11
- white: '#fff',
12
- carrot: '#e67e22',
13
- emerald: '#2ecc71',
14
- peterRiver: '#3498db',
15
- wisteria: '#8e44ad',
16
- alizarin: '#e74c3c',
17
- turquoise: '#1abc9c',
18
- midnightBlue: '#2c3e50',
19
- optionTintColor: '#007AFF',
20
- timeTextColor: '#aaa',
2
+ defaultColor: '#b2b2b2',
3
+ backgroundTransparent: 'transparent',
4
+ // Modern azure accent, replacing the old Messenger blue.
5
+ // Also exposed as `theme.colors.accent`; kept here for components that read
6
+ // Color directly (reply preview, swipe-to-reply icon) so the accent stays
7
+ // consistent across the whole UI.
8
+ defaultBlue: '#3390EC',
9
+ leftBubbleBackground: '#FFFFFF',
10
+ black: '#000',
11
+ white: '#fff',
12
+ carrot: '#e67e22',
13
+ emerald: '#2ecc71',
14
+ peterRiver: '#3498db',
15
+ wisteria: '#8e44ad',
16
+ alizarin: '#e74c3c',
17
+ turquoise: '#1abc9c',
18
+ midnightBlue: '#2c3e50',
19
+ optionTintColor: '#007AFF',
20
+ timeTextColor: '#aaa'
21
21
  };
22
22
  //# sourceMappingURL=Color.js.map
package/lib/Color.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Color.js","sourceRoot":"","sources":["../src/Color.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,YAAY,EAAE,SAAS;IACvB,qBAAqB,EAAE,aAAa;IACpC,0EAA0E;IAC1E,4EAA4E;IAC5E,0EAA0E;IAC1E,kCAAkC;IAClC,WAAW,EAAE,SAAS;IACtB,oBAAoB,EAAE,SAAS;IAC/B,KAAK,EAAE,MAAM;IACb,KAAK,EAAE,MAAM;IACb,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,SAAS;IAClB,UAAU,EAAE,SAAS;IACrB,QAAQ,EAAE,SAAS;IACnB,QAAQ,EAAE,SAAS;IACnB,SAAS,EAAE,SAAS;IACpB,YAAY,EAAE,SAAS;IACvB,eAAe,EAAE,SAAS;IAC1B,aAAa,EAAE,MAAM;CACtB,CAAA"}
1
+ {"version":3,"file":"Color.js","names":["Color","defaultColor","backgroundTransparent","defaultBlue","leftBubbleBackground","black","white","carrot","emerald","peterRiver","wisteria","alizarin","turquoise","midnightBlue","optionTintColor","timeTextColor"],"sources":["../src/Color.ts"],"sourcesContent":["export const Color = {\n defaultColor: '#b2b2b2',\n backgroundTransparent: 'transparent',\n // Modern azure accent, replacing the old Messenger blue.\n // Also exposed as `theme.colors.accent`; kept here for components that read\n // Color directly (reply preview, swipe-to-reply icon) so the accent stays\n // consistent across the whole UI.\n defaultBlue: '#3390EC',\n leftBubbleBackground: '#FFFFFF',\n black: '#000',\n white: '#fff',\n carrot: '#e67e22',\n emerald: '#2ecc71',\n peterRiver: '#3498db',\n wisteria: '#8e44ad',\n alizarin: '#e74c3c',\n turquoise: '#1abc9c',\n midnightBlue: '#2c3e50',\n optionTintColor: '#007AFF',\n timeTextColor: '#aaa',\n}\n"],"mappings":"AAAA,OAAO,MAAMA,KAAK,GAAG;EACnBC,YAAY,EAAE,SAAS;EACvBC,qBAAqB,EAAE,aAAa;EACpC;EACA;EACA;EACA;EACAC,WAAW,EAAE,SAAS;EACtBC,oBAAoB,EAAE,SAAS;EAC/BC,KAAK,EAAE,MAAM;EACbC,KAAK,EAAE,MAAM;EACbC,MAAM,EAAE,SAAS;EACjBC,OAAO,EAAE,SAAS;EAClBC,UAAU,EAAE,SAAS;EACrBC,QAAQ,EAAE,SAAS;EACnBC,QAAQ,EAAE,SAAS;EACnBC,SAAS,EAAE,SAAS;EACpBC,YAAY,EAAE,SAAS;EACvBC,eAAe,EAAE,SAAS;EAC1BC,aAAa,EAAE;AACjB,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"Composer.d.ts","sourceRoot":"","sources":["../src/Composer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsB,MAAM,OAAO,CAAA;AAC1C,OAAO,EAEL,cAAc,EAEf,MAAM,cAAc,CAAA;AAMrB,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAGnC,MAAM,WAAW,aAAa;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,cAAc,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAA;IACxC;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,yDAAyD;IACzD,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,MAAM,CAAC,CACL,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,EAAE,EACjD,uBAAuB,EAAE,OAAO,GAC/B,IAAI,CAAA;CACR;AAWD,wBAAgB,QAAQ,CAAE,EACxB,IAAS,EACT,cAAc,EACd,WAAkB,EAClB,cAAsB,EACtB,MAAM,GACP,EAAE,aAAa,GAAG,KAAK,CAAC,YAAY,CAyDpC"}
1
+ {"version":3,"file":"Composer.d.ts","sourceRoot":"","sources":["../src/Composer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsB,MAAM,OAAO,CAAA;AAC1C,OAAO,EAEL,cAAc,EAEf,MAAM,cAAc,CAAA;AAMrB,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAGnC,MAAM,WAAW,aAAa;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,cAAc,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAA;IACxC;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,yDAAyD;IACzD,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,MAAM,CAAC,CACL,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,EAAE,EACjD,uBAAuB,EAAE,OAAO,GAC/B,IAAI,CAAA;CACR;AAOD,wBAAgB,QAAQ,CAAE,EACxB,IAAS,EACT,cAAc,EACd,WAAkB,EAClB,cAAsB,EACtB,MAAM,GACP,EAAE,aAAa,GAAG,KAAK,CAAC,YAAY,CA2DpC"}
package/lib/Composer.js CHANGED
@@ -1,81 +1,159 @@
1
+ import { c as _c } from "react/compiler-runtime";
1
2
  import React, { useCallback } from 'react';
2
- import { StyleSheet, View, } from 'react-native';
3
+ import { StyleSheet, View } from 'react-native';
3
4
  import { TextInput } from 'react-native-gesture-handler';
4
5
  import { useColorScheme } from './hooks/useColorScheme';
5
6
  import { useIsRTL } from './hooks/useIsRTL';
6
7
  import { useLabels } from './hooks/useLabels';
7
8
  import { useTheme, useThemedStyles } from './hooks/useTheme';
8
- // Static text-input metrics. lineHeight matches typography.message.lineHeight
9
- // (21) so composed text and sent bubbles share identical metrics. The vertical
10
- // padding is derived from the bar height (see createStyles) so a single line of
11
- // text is vertically centered in the field.
12
- const TEXT_INPUT_METRICS = {
13
- fontSize: 16,
14
- lineHeight: 21,
15
- };
16
- export function Composer({ text = '', textInputProps, isMultiline = true, isTextOptional = false, onSend, }) {
17
- const colorScheme = useColorScheme();
18
- const theme = useTheme();
19
- const labels = useLabels();
20
- const styles = useThemedStyles(createStyles);
21
- const isDark = colorScheme === 'dark';
22
- const isRTL = useIsRTL();
23
- const maxHeight = theme.composer.maxHeight;
24
- const placeholder = textInputProps?.placeholder ?? labels.placeholder;
25
- // A single line fills the bar height so its text sits centered (symmetric
26
- // padding); it grows from there up to maxHeight.
27
- const ONE_LINE = theme.composer.minHeight;
28
- // Single-line mode: the return key sends, mirroring the send button exactly.
29
- const handleSubmitEditing = useCallback(() => {
30
- const trimmedText = text.trim();
31
- if (onSend && (trimmedText.length || isTextOptional))
32
- onSend({ text: trimmedText }, true);
33
- }, [text, onSend, isTextOptional]);
34
- return (<View style={styles.field}>
35
- <TextInput testID={placeholder} accessible accessibilityLabel={placeholder} placeholderTextColor={textInputProps?.placeholderTextColor ?? theme.colors.placeholder} value={text} enablesReturnKeyAutomatically underlineColorAndroid='transparent' keyboardAppearance={isDark ? 'dark' : 'default'} multiline={isMultiline} placeholder={placeholder} {...(isMultiline
36
- ? null
37
- : {
38
- returnKeyType: 'send',
39
- onSubmitEditing: handleSubmitEditing,
40
- // Keep the keyboard up after sending, the way a chat should behave.
41
- submitBehavior: 'submit',
42
- })} {...textInputProps} style={[
43
- styles.textInput,
44
- stylesWeb.textInput,
45
- { minHeight: ONE_LINE, maxHeight },
46
- // Otherwise an empty RTL-locale field has nothing to auto-detect
47
- // direction from: the caret and placeholder would default to LTR.
48
- isRTL && { writingDirection: 'rtl', textAlign: 'right' },
49
- textInputProps?.style,
50
- ]}/>
51
- </View>);
9
+ // The input text is 18, from `theme.typography.composer`. The vertical
10
+ // padding is derived from the island height (see createStyles) so a single line of text is
11
+ // vertically centered in it.
12
+ const DEFAULT_LINE_HEIGHT = 21;
13
+ export function Composer(t0) {
14
+ const $ = _c(30);
15
+ const {
16
+ text: t1,
17
+ textInputProps,
18
+ isMultiline: t2,
19
+ isTextOptional: t3,
20
+ onSend
21
+ } = t0;
22
+ const text = t1 === undefined ? "" : t1;
23
+ const isMultiline = t2 === undefined ? true : t2;
24
+ const isTextOptional = t3 === undefined ? false : t3;
25
+ const colorScheme = useColorScheme();
26
+ const theme = useTheme();
27
+ const labels = useLabels();
28
+ const styles = useThemedStyles(createStyles);
29
+ const isDark = colorScheme === "dark";
30
+ const isRTL = useIsRTL();
31
+ const maxHeight = theme.composer.maxHeight;
32
+ const placeholder = textInputProps?.placeholder ?? labels.placeholder;
33
+ const ONE_LINE = theme.composer.minHeight;
34
+ let t4;
35
+ if ($[0] !== isTextOptional || $[1] !== onSend || $[2] !== text) {
36
+ t4 = () => {
37
+ const trimmedText = text.trim();
38
+ if (onSend && (trimmedText.length || isTextOptional)) {
39
+ onSend({
40
+ text: trimmedText
41
+ }, true);
42
+ }
43
+ };
44
+ $[0] = isTextOptional;
45
+ $[1] = onSend;
46
+ $[2] = text;
47
+ $[3] = t4;
48
+ } else {
49
+ t4 = $[3];
50
+ }
51
+ const handleSubmitEditing = t4;
52
+ const t5 = textInputProps?.placeholderTextColor ?? theme.colors.placeholder;
53
+ const t6 = isDark ? "dark" : "default";
54
+ let t7;
55
+ if ($[4] !== handleSubmitEditing || $[5] !== isMultiline) {
56
+ t7 = isMultiline ? null : {
57
+ returnKeyType: "send",
58
+ onSubmitEditing: handleSubmitEditing,
59
+ submitBehavior: "submit"
60
+ };
61
+ $[4] = handleSubmitEditing;
62
+ $[5] = isMultiline;
63
+ $[6] = t7;
64
+ } else {
65
+ t7 = $[6];
66
+ }
67
+ let t8;
68
+ if ($[7] !== ONE_LINE || $[8] !== maxHeight) {
69
+ t8 = {
70
+ minHeight: ONE_LINE,
71
+ maxHeight
72
+ };
73
+ $[7] = ONE_LINE;
74
+ $[8] = maxHeight;
75
+ $[9] = t8;
76
+ } else {
77
+ t8 = $[9];
78
+ }
79
+ let t9;
80
+ if ($[10] !== isRTL) {
81
+ t9 = isRTL && {
82
+ writingDirection: "rtl",
83
+ textAlign: "right"
84
+ };
85
+ $[10] = isRTL;
86
+ $[11] = t9;
87
+ } else {
88
+ t9 = $[11];
89
+ }
90
+ const t10 = textInputProps?.style;
91
+ let t11;
92
+ if ($[12] !== styles.textInput || $[13] !== t10 || $[14] !== t8 || $[15] !== t9) {
93
+ t11 = [styles.textInput, stylesWeb.textInput, t8, t9, t10];
94
+ $[12] = styles.textInput;
95
+ $[13] = t10;
96
+ $[14] = t8;
97
+ $[15] = t9;
98
+ $[16] = t11;
99
+ } else {
100
+ t11 = $[16];
101
+ }
102
+ let t12;
103
+ if ($[17] !== isMultiline || $[18] !== placeholder || $[19] !== t11 || $[20] !== t5 || $[21] !== t6 || $[22] !== t7 || $[23] !== text || $[24] !== textInputProps || $[25] !== theme.colors.inputCursor) {
104
+ t12 = <TextInput testID={placeholder} accessible={true} accessibilityLabel={placeholder} placeholderTextColor={t5} selectionColor={theme.colors.inputCursor} cursorColor={theme.colors.inputCursor} value={text} enablesReturnKeyAutomatically={true} underlineColorAndroid="transparent" keyboardAppearance={t6} multiline={isMultiline} placeholder={placeholder} {...t7} {...textInputProps} style={t11} />;
105
+ $[17] = isMultiline;
106
+ $[18] = placeholder;
107
+ $[19] = t11;
108
+ $[20] = t5;
109
+ $[21] = t6;
110
+ $[22] = t7;
111
+ $[23] = text;
112
+ $[24] = textInputProps;
113
+ $[25] = theme.colors.inputCursor;
114
+ $[26] = t12;
115
+ } else {
116
+ t12 = $[26];
117
+ }
118
+ let t13;
119
+ if ($[27] !== styles.field || $[28] !== t12) {
120
+ t13 = <View style={styles.field}>{t12}</View>;
121
+ $[27] = styles.field;
122
+ $[28] = t12;
123
+ $[29] = t13;
124
+ } else {
125
+ t13 = $[29];
126
+ }
127
+ return t13;
52
128
  }
53
- const createStyles = (theme) => {
54
- // Center a single line vertically: split the leftover space (bar height minus
55
- // one line of text) into equal top/bottom padding.
56
- const paddingVertical = Math.max(4, (theme.composer.minHeight - TEXT_INPUT_METRICS.lineHeight) / 2);
57
- return StyleSheet.create({
58
- // Transparent slot: the rounded pill is provided by the InputToolbar field
59
- // group so the inset emoji/attachment buttons share the pill surface.
60
- field: {
61
- flex: 1,
62
- justifyContent: 'center',
63
- minHeight: theme.composer.minHeight,
64
- },
65
- textInput: {
66
- fontSize: TEXT_INPUT_METRICS.fontSize,
67
- lineHeight: TEXT_INPUT_METRICS.lineHeight,
68
- paddingTop: paddingVertical,
69
- paddingBottom: paddingVertical,
70
- paddingHorizontal: 0,
71
- color: theme.colors.inputText,
72
- },
73
- });
129
+ const createStyles = theme => {
130
+ // Center a single line vertically: split the leftover space (bar height minus
131
+ // one line of text) into equal top/bottom padding.
132
+ const lineHeight = theme.typography.composer.lineHeight ?? DEFAULT_LINE_HEIGHT;
133
+ const paddingVertical = Math.max(4, (theme.composer.minHeight - lineHeight) / 2);
134
+ return StyleSheet.create({
135
+ // Transparent slot: the rounded pill is provided by the InputToolbar field
136
+ // group so the inset emoji/attachment buttons share the pill surface.
137
+ field: {
138
+ flex: 1,
139
+ justifyContent: 'center',
140
+ minHeight: theme.composer.minHeight
141
+ },
142
+ textInput: {
143
+ fontSize: theme.typography.composer.fontSize,
144
+ lineHeight,
145
+ fontWeight: theme.typography.composer.fontWeight,
146
+ paddingTop: paddingVertical,
147
+ paddingBottom: paddingVertical,
148
+ paddingHorizontal: 0,
149
+ color: theme.colors.inputText
150
+ }
151
+ });
74
152
  };
75
153
  const stylesWeb = StyleSheet.create({
76
- textInput: {
77
- /* @ts-expect-error - web-specific styles */
78
- outlineStyle: 'none',
79
- },
154
+ textInput: {
155
+ /* @ts-expect-error - web-specific styles */
156
+ outlineStyle: 'none'
157
+ }
80
158
  });
81
159
  //# sourceMappingURL=Composer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Composer.js","sourceRoot":"","sources":["../src/Composer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Composer.js","names":["React","useCallback","StyleSheet","View","TextInput","useColorScheme","useIsRTL","useLabels","useTheme","useThemedStyles","DEFAULT_LINE_HEIGHT","Composer","t0","$","_c","text","t1","textInputProps","isMultiline","t2","isTextOptional","t3","onSend","undefined","colorScheme","theme","labels","styles","createStyles","isDark","isRTL","maxHeight","composer","placeholder","ONE_LINE","minHeight","t4","trimmedText","trim","length","handleSubmitEditing","t5","placeholderTextColor","colors","t6","t7","returnKeyType","onSubmitEditing","submitBehavior","t8","t9","writingDirection","textAlign","t10","style","t11","textInput","stylesWeb","t12","inputCursor","t13","field","lineHeight","typography","paddingVertical","Math","max","create","flex","justifyContent","fontSize","fontWeight","paddingTop","paddingBottom","paddingHorizontal","color","inputText","outlineStyle"],"sources":["../src/Composer.tsx"],"sourcesContent":["import React, { useCallback } from 'react'\nimport {\n StyleSheet,\n TextInputProps,\n View,\n} from 'react-native'\nimport { TextInput } from 'react-native-gesture-handler'\nimport { useColorScheme } from './hooks/useColorScheme'\nimport { useIsRTL } from './hooks/useIsRTL'\nimport { useLabels } from './hooks/useLabels'\nimport { useTheme, useThemedStyles } from './hooks/useTheme'\nimport { IMessage } from './Models'\nimport { ChatTheme } from './Theme'\n\nexport interface ComposerProps {\n composerHeight?: number\n text?: string\n textInputProps?: Partial<TextInputProps>\n /**\n * Whether the field accepts multiple lines.\n *\n * `true` (default) keeps the return key inserting a newline - send with the\n * send button. `false` turns the return key into Send, which is what a\n * single-line composer should do. Previously the field was always multiline\n * with no submit handler, so the return key could never send at all.\n */\n isMultiline?: boolean\n /** Allow sending an empty message (media-only sends). */\n isTextOptional?: boolean\n onSend?(\n messages: Partial<IMessage> | Partial<IMessage>[],\n shouldResetInputToolbar: boolean,\n ): void\n}\n\n// The input text is 18, from `theme.typography.composer`. The vertical\n// padding is derived from the island height (see createStyles) so a single line of text is\n// vertically centered in it.\nconst DEFAULT_LINE_HEIGHT = 21\n\nexport function Composer ({\n text = '',\n textInputProps,\n isMultiline = true,\n isTextOptional = false,\n onSend,\n}: ComposerProps): React.ReactElement {\n const colorScheme = useColorScheme()\n const theme = useTheme()\n const labels = useLabels()\n const styles = useThemedStyles(createStyles)\n const isDark = colorScheme === 'dark'\n const isRTL = useIsRTL()\n\n const maxHeight = theme.composer.maxHeight\n const placeholder = textInputProps?.placeholder ?? labels.placeholder\n\n // A single line fills the bar height so its text sits centered (symmetric\n // padding); it grows from there up to maxHeight.\n const ONE_LINE = theme.composer.minHeight\n\n // Single-line mode: the return key sends, mirroring the send button exactly.\n const handleSubmitEditing = useCallback(() => {\n const trimmedText = text.trim()\n\n if (onSend && (trimmedText.length || isTextOptional))\n onSend({ text: trimmedText } as Partial<IMessage>, true)\n }, [text, onSend, isTextOptional])\n\n return (\n <View style={styles.field}>\n <TextInput\n testID={placeholder}\n accessible\n accessibilityLabel={placeholder}\n placeholderTextColor={textInputProps?.placeholderTextColor ?? theme.colors.placeholder}\n selectionColor={theme.colors.inputCursor}\n cursorColor={theme.colors.inputCursor}\n value={text}\n enablesReturnKeyAutomatically\n underlineColorAndroid='transparent'\n keyboardAppearance={isDark ? 'dark' : 'default'}\n multiline={isMultiline}\n placeholder={placeholder}\n {...(isMultiline\n ? null\n : {\n returnKeyType: 'send' as const,\n onSubmitEditing: handleSubmitEditing,\n // Keep the keyboard up after sending, the way a chat should behave.\n submitBehavior: 'submit' as const,\n })}\n {...textInputProps}\n style={[\n styles.textInput,\n stylesWeb.textInput,\n { minHeight: ONE_LINE, maxHeight },\n // Otherwise an empty RTL-locale field has nothing to auto-detect\n // direction from: the caret and placeholder would default to LTR.\n isRTL && { writingDirection: 'rtl', textAlign: 'right' },\n textInputProps?.style,\n ]}\n />\n </View>\n )\n}\n\nconst createStyles = (theme: ChatTheme) => {\n // Center a single line vertically: split the leftover space (bar height minus\n // one line of text) into equal top/bottom padding.\n const lineHeight = theme.typography.composer.lineHeight ?? DEFAULT_LINE_HEIGHT\n const paddingVertical = Math.max(4, (theme.composer.minHeight - lineHeight) / 2)\n\n return StyleSheet.create({\n // Transparent slot: the rounded pill is provided by the InputToolbar field\n // group so the inset emoji/attachment buttons share the pill surface.\n field: {\n flex: 1,\n justifyContent: 'center',\n minHeight: theme.composer.minHeight,\n },\n textInput: {\n fontSize: theme.typography.composer.fontSize,\n lineHeight,\n fontWeight: theme.typography.composer.fontWeight,\n paddingTop: paddingVertical,\n paddingBottom: paddingVertical,\n paddingHorizontal: 0,\n color: theme.colors.inputText,\n },\n })\n}\n\nconst stylesWeb = StyleSheet.create({\n textInput: {\n /* @ts-expect-error - web-specific styles */\n outlineStyle: 'none',\n },\n})\n"],"mappings":"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","ignoreList":[]}
package/lib/Constant.js CHANGED
@@ -1,9 +1,9 @@
1
1
  export const DATE_FORMAT = 'D MMMM';
2
2
  export const TIME_FORMAT = 'LT';
3
3
  export const TEST_ID = {
4
- WRAPPER: 'GC_WRAPPER',
5
- CONTENT: 'GC_CONTENT',
6
- LOADING_WRAPPER: 'GC_LOADING_CONTAINER',
7
- SEND_TOUCHABLE: 'GC_SEND_TOUCHABLE',
4
+ WRAPPER: 'GC_WRAPPER',
5
+ CONTENT: 'GC_CONTENT',
6
+ LOADING_WRAPPER: 'GC_LOADING_CONTAINER',
7
+ SEND_TOUCHABLE: 'GC_SEND_TOUCHABLE'
8
8
  };
9
9
  //# sourceMappingURL=Constant.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Constant.js","sourceRoot":"","sources":["../src/Constant.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG,QAAQ,CAAA;AACnC,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAA;AAE/B,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,OAAO,EAAE,YAAY;IACrB,OAAO,EAAE,YAAY;IACrB,eAAe,EAAE,sBAAsB;IACvC,cAAc,EAAE,mBAAmB;CACpC,CAAA"}
1
+ {"version":3,"file":"Constant.js","names":["DATE_FORMAT","TIME_FORMAT","TEST_ID","WRAPPER","CONTENT","LOADING_WRAPPER","SEND_TOUCHABLE"],"sources":["../src/Constant.ts"],"sourcesContent":["export const DATE_FORMAT = 'D MMMM'\nexport const TIME_FORMAT = 'LT'\n\nexport const TEST_ID = {\n WRAPPER: 'GC_WRAPPER',\n CONTENT: 'GC_CONTENT',\n LOADING_WRAPPER: 'GC_LOADING_CONTAINER',\n SEND_TOUCHABLE: 'GC_SEND_TOUCHABLE',\n}\n"],"mappings":"AAAA,OAAO,MAAMA,WAAW,GAAG,QAAQ;AACnC,OAAO,MAAMC,WAAW,GAAG,IAAI;AAE/B,OAAO,MAAMC,OAAO,GAAG;EACrBC,OAAO,EAAE,YAAY;EACrBC,OAAO,EAAE,YAAY;EACrBC,eAAe,EAAE,sBAAsB;EACvCC,cAAc,EAAE;AAClB,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Day/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAA;AAatC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAElC,cAAc,SAAS,CAAA;AAKvB,wBAAgB,GAAG,CAAE,EACnB,UAAwB,EACxB,kBAAkB,EAClB,SAAS,EACT,cAAc,EACd,YAAY,EACZ,SAAS,GACV,EAAE,QAAQ,4BAoCV"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Day/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAczB,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAElC,cAAc,SAAS,CAAA;AA0CvB,wBAAgB,GAAG,CAAE,EACnB,UAAwB,EACxB,kBAAkB,EAClB,SAAS,EACT,cAAc,EACd,YAAY,EACZ,SAAS,GACV,EAAE,QAAQ,4BAqBV"}
package/lib/Day/index.js CHANGED
@@ -1,4 +1,5 @@
1
- import React, { useMemo } from 'react';
1
+ import { c as _c } from "react/compiler-runtime";
2
+ import React from 'react';
2
3
  import { View, Text } from 'react-native';
3
4
  import dayjs from 'dayjs';
4
5
  import calendar from 'dayjs/plugin/calendar';
@@ -8,36 +9,122 @@ import { DATE_FORMAT } from '../Constant';
8
9
  import { useLabels } from '../hooks/useLabels';
9
10
  import { useThemedStyles } from '../hooks/useTheme';
10
11
  import stylesCommon from '../styles';
12
+ import { localDayKey } from '../utils';
11
13
  import { createDayStyles } from './styles';
12
14
  export * from './types';
13
15
  dayjs.extend(relativeTime);
14
16
  dayjs.extend(calendar);
15
- export function Day({ dateFormat = DATE_FORMAT, dateFormatCalendar, createdAt, containerStyle, wrapperStyle, textProps, }) {
16
- const { getLocale } = useChatContext();
17
- const labels = useLabels();
18
- const styles = useThemedStyles(createDayStyles);
19
- const dateStr = useMemo(() => {
20
- if (createdAt == null)
21
- return null;
22
- const now = dayjs().startOf('day');
23
- const date = dayjs(createdAt).locale(getLocale()).startOf('day');
24
- if (!now.isSame(date, 'year'))
25
- return date.format('D MMMM YYYY');
26
- if (now.diff(date, 'days') < 1)
27
- return date.calendar(now, {
28
- sameDay: `[${labels.today}]`,
29
- ...dateFormatCalendar,
30
- });
31
- return date.format(dateFormat);
32
- }, [createdAt, dateFormat, getLocale, dateFormatCalendar, labels.today]);
33
- if (!dateStr)
34
- return null;
35
- return (<View style={[stylesCommon.centerItems, styles.container, containerStyle]}>
36
- <View style={[styles.wrapper, wrapperStyle]}>
37
- <Text {...textProps} style={[styles.text, textProps?.style]}>
38
- {dateStr}
39
- </Text>
40
- </View>
41
- </View>);
17
+
18
+ // A separator's label depends only on its day, today, the locale and the format, yet dayjs
19
+ // builds, localises and formats two dates for it - a few milliseconds per separator on every
20
+ // mount while a chat opens or a list scrolls. The common case (no custom calendar formats) is
21
+ // cached by those inputs.
22
+ const dayCache = new Map();
23
+ const DAY_CACHE_MAX = 500;
24
+ function formatDayLabel(createdAt, locale, dateFormat, todayLabel, dateFormatCalendar) {
25
+ const key = dateFormatCalendar ? undefined : `${localDayKey(createdAt)}|${localDayKey(Date.now())}|${locale}|${dateFormat}|${todayLabel}`;
26
+ const cached = key && dayCache.get(key);
27
+ if (cached) return cached;
28
+ const now = dayjs().startOf('day');
29
+ const date = dayjs(createdAt).locale(locale).startOf('day');
30
+ const label = !now.isSame(date, 'year') ? date.format('D MMMM YYYY') : now.diff(date, 'days') < 1 ? date.calendar(now, {
31
+ sameDay: `[${todayLabel}]`,
32
+ ...dateFormatCalendar
33
+ }) : date.format(dateFormat);
34
+ if (key) {
35
+ if (dayCache.size >= DAY_CACHE_MAX) dayCache.clear();
36
+ dayCache.set(key, label);
37
+ }
38
+ return label;
39
+ }
40
+ export function Day(t0) {
41
+ const $ = _c(25);
42
+ const {
43
+ dateFormat: t1,
44
+ dateFormatCalendar,
45
+ createdAt,
46
+ containerStyle,
47
+ wrapperStyle,
48
+ textProps
49
+ } = t0;
50
+ const dateFormat = t1 === undefined ? DATE_FORMAT : t1;
51
+ const {
52
+ getLocale
53
+ } = useChatContext();
54
+ const labels = useLabels();
55
+ const styles = useThemedStyles(createDayStyles);
56
+ let t2;
57
+ if ($[0] !== createdAt || $[1] !== dateFormat || $[2] !== dateFormatCalendar || $[3] !== getLocale || $[4] !== labels) {
58
+ t2 = createdAt == null ? null : formatDayLabel(createdAt, getLocale(), dateFormat, labels.today, dateFormatCalendar);
59
+ $[0] = createdAt;
60
+ $[1] = dateFormat;
61
+ $[2] = dateFormatCalendar;
62
+ $[3] = getLocale;
63
+ $[4] = labels;
64
+ $[5] = t2;
65
+ } else {
66
+ t2 = $[5];
67
+ }
68
+ const dateStr = t2;
69
+ if (!dateStr) {
70
+ return null;
71
+ }
72
+ let t3;
73
+ if ($[6] !== containerStyle || $[7] !== styles.container) {
74
+ t3 = [stylesCommon.centerItems, styles.container, containerStyle];
75
+ $[6] = containerStyle;
76
+ $[7] = styles.container;
77
+ $[8] = t3;
78
+ } else {
79
+ t3 = $[8];
80
+ }
81
+ let t4;
82
+ if ($[9] !== styles.wrapper || $[10] !== wrapperStyle) {
83
+ t4 = [styles.wrapper, wrapperStyle];
84
+ $[9] = styles.wrapper;
85
+ $[10] = wrapperStyle;
86
+ $[11] = t4;
87
+ } else {
88
+ t4 = $[11];
89
+ }
90
+ const t5 = textProps?.style;
91
+ let t6;
92
+ if ($[12] !== styles.text || $[13] !== t5) {
93
+ t6 = [styles.text, t5];
94
+ $[12] = styles.text;
95
+ $[13] = t5;
96
+ $[14] = t6;
97
+ } else {
98
+ t6 = $[14];
99
+ }
100
+ let t7;
101
+ if ($[15] !== dateStr || $[16] !== t6 || $[17] !== textProps) {
102
+ t7 = <Text {...textProps} style={t6}>{dateStr}</Text>;
103
+ $[15] = dateStr;
104
+ $[16] = t6;
105
+ $[17] = textProps;
106
+ $[18] = t7;
107
+ } else {
108
+ t7 = $[18];
109
+ }
110
+ let t8;
111
+ if ($[19] !== t4 || $[20] !== t7) {
112
+ t8 = <View style={t4}>{t7}</View>;
113
+ $[19] = t4;
114
+ $[20] = t7;
115
+ $[21] = t8;
116
+ } else {
117
+ t8 = $[21];
118
+ }
119
+ let t9;
120
+ if ($[22] !== t3 || $[23] !== t8) {
121
+ t9 = <View style={t3}>{t8}</View>;
122
+ $[22] = t3;
123
+ $[23] = t8;
124
+ $[24] = t9;
125
+ } else {
126
+ t9 = $[24];
127
+ }
128
+ return t9;
42
129
  }
43
130
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Day/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,EACL,IAAI,EACJ,IAAI,EAAE,MAAM,cAAc,CAAA;AAC5B,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,QAAQ,MAAM,uBAAuB,CAAA;AAC5C,OAAO,YAAY,MAAM,2BAA2B,CAAA;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,YAAY,MAAM,WAAW,CAAA;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAG1C,cAAc,SAAS,CAAA;AAEvB,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;AAC1B,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;AAEtB,MAAM,UAAU,GAAG,CAAE,EACnB,UAAU,GAAG,WAAW,EACxB,kBAAkB,EAClB,SAAS,EACT,cAAc,EACd,YAAY,EACZ,SAAS,GACA;IACT,MAAM,EAAE,SAAS,EAAE,GAAG,cAAc,EAAE,CAAA;IACtC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAC1B,MAAM,MAAM,GAAG,eAAe,CAAC,eAAe,CAAC,CAAA;IAE/C,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE;QAC3B,IAAI,SAAS,IAAI,IAAI;YACnB,OAAO,IAAI,CAAA;QAEb,MAAM,GAAG,GAAG,KAAK,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAClC,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAEhE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC;YAC3B,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;QAEnC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC;YAC5B,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE;gBACxB,OAAO,EAAE,IAAI,MAAM,CAAC,KAAK,GAAG;gBAC5B,GAAG,kBAAkB;aACtB,CAAC,CAAA;QAEJ,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;IAChC,CAAC,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;IAExE,IAAI,CAAC,OAAO;QACV,OAAO,IAAI,CAAA;IAEb,OAAO,CACL,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CACxE;MAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAC1C;QAAA,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAC1D;UAAA,CAAC,OAAO,CACV;QAAA,EAAE,IAAI,CACR;MAAA,EAAE,IAAI,CACR;IAAA,EAAE,IAAI,CAAC,CACR,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"index.js","names":["React","View","Text","dayjs","calendar","relativeTime","useChatContext","DATE_FORMAT","useLabels","useThemedStyles","stylesCommon","localDayKey","createDayStyles","extend","dayCache","Map","DAY_CACHE_MAX","formatDayLabel","createdAt","locale","dateFormat","todayLabel","dateFormatCalendar","key","undefined","Date","now","cached","get","startOf","date","label","isSame","format","diff","sameDay","size","clear","set","Day","t0","$","_c","t1","containerStyle","wrapperStyle","textProps","getLocale","labels","styles","t2","today","dateStr","t3","container","centerItems","t4","wrapper","t5","style","t6","text","t7","t8","t9"],"sources":["../../src/Day/index.tsx"],"sourcesContent":["import React from 'react'\nimport {\n View,\n Text } from 'react-native'\nimport dayjs from 'dayjs'\nimport calendar from 'dayjs/plugin/calendar'\nimport relativeTime from 'dayjs/plugin/relativeTime'\nimport { useChatContext } from '../ChatContext'\nimport { DATE_FORMAT } from '../Constant'\nimport { useLabels } from '../hooks/useLabels'\nimport { useThemedStyles } from '../hooks/useTheme'\nimport stylesCommon from '../styles'\nimport { localDayKey } from '../utils'\nimport { createDayStyles } from './styles'\nimport { DayProps } from './types'\n\nexport * from './types'\n\ndayjs.extend(relativeTime)\ndayjs.extend(calendar)\n\n// A separator's label depends only on its day, today, the locale and the format, yet dayjs\n// builds, localises and formats two dates for it - a few milliseconds per separator on every\n// mount while a chat opens or a list scrolls. The common case (no custom calendar formats) is\n// cached by those inputs.\nconst dayCache = new Map<string, string>()\nconst DAY_CACHE_MAX = 500\n\nfunction formatDayLabel (\n createdAt: NonNullable<DayProps['createdAt']>,\n locale: string,\n dateFormat: string,\n todayLabel: string,\n dateFormatCalendar: DayProps['dateFormatCalendar']\n) {\n const key = dateFormatCalendar\n ? undefined\n : `${localDayKey(createdAt)}|${localDayKey(Date.now())}|${locale}|${dateFormat}|${todayLabel}`\n const cached = key && dayCache.get(key)\n if (cached)\n return cached\n\n const now = dayjs().startOf('day')\n const date = dayjs(createdAt).locale(locale).startOf('day')\n const label = !now.isSame(date, 'year')\n ? date.format('D MMMM YYYY')\n : now.diff(date, 'days') < 1\n ? date.calendar(now, { sameDay: `[${todayLabel}]`, ...dateFormatCalendar })\n : date.format(dateFormat)\n\n if (key) {\n if (dayCache.size >= DAY_CACHE_MAX)\n dayCache.clear()\n dayCache.set(key, label)\n }\n return label\n}\n\nexport function Day ({\n dateFormat = DATE_FORMAT,\n dateFormatCalendar,\n createdAt,\n containerStyle,\n wrapperStyle,\n textProps,\n}: DayProps) {\n const { getLocale } = useChatContext()\n const labels = useLabels()\n const styles = useThemedStyles(createDayStyles)\n\n const dateStr = createdAt == null\n ? null\n : formatDayLabel(createdAt, getLocale(), dateFormat, labels.today, dateFormatCalendar)\n\n if (!dateStr)\n return null\n\n return (\n <View style={[stylesCommon.centerItems, styles.container, containerStyle]}>\n <View style={[styles.wrapper, wrapperStyle]}>\n <Text {...textProps} style={[styles.text, textProps?.style]}>\n {dateStr}\n </Text>\n </View>\n </View>\n )\n}\n"],"mappings":"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","ignoreList":[]}