@kesha-antonov/react-native-chat 5.0.1 → 6.0.1

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 +486 -179
  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,143 @@
1
+ /*
2
+ * Geometry of the floating round note:
3
+ * where it docks, how far a drag may take it, and where it settles - or
4
+ * whether it slides out and closes - when the finger lifts. Kept free of React
5
+ * so it runs on the UI thread inside the drag gesture and under Jest alike.
6
+ */
7
+
8
+ /** The floating circle is 120dp. */
9
+ export const FLOATING_NOTE_SIZE = 120;
10
+ /** Distance kept from the edges it docks to (`getSideCoord`). */
11
+ export const FLOATING_NOTE_MARGIN = 10;
12
+ /** Released this close to an edge, it snaps onto it (`animateToBoundsMaybe`). */
13
+ export const FLOATING_NOTE_SNAP = 20;
14
+ /** Show, hide and settle all run 150ms with a decelerate curve. */
15
+ export const FLOATING_NOTE_MS = 150;
16
+ /** It appears from, and shrinks back to, 80% of its size. */
17
+ export const FLOATING_NOTE_HIDDEN_SCALE = 0.8;
18
+ /**
19
+ * How far ahead a release's velocity carries it, in seconds. Deciding on
20
+ * the lift position alone feels stuck; projecting a little lets a flick reach an edge
21
+ * (or fly off it) the way a flick does everywhere else on the platform.
22
+ */
23
+ export const FLOATING_NOTE_FLING_S = 0.1;
24
+
25
+ /** Which edge it is docked to on one axis, or `free` in between. */
26
+
27
+ /**
28
+ * A remembered position that survives the area resizing: the side per axis,
29
+ * or the fraction across it.
30
+ */
31
+
32
+ /** The first position: the top right corner. */
33
+ export const DEFAULT_FLOATING_DOCK = {
34
+ sideX: 'end',
35
+ px: 0,
36
+ sideY: 'start',
37
+ py: 0
38
+ };
39
+ /** One axis of `getSideCoord`: `room` is the area's length less the note's. */
40
+ export const sideCoord = (side, fraction, room) => {
41
+ 'worklet';
42
+
43
+ if (side === 'start') return FLOATING_NOTE_MARGIN;
44
+ if (side === 'end') return room - FLOATING_NOTE_MARGIN;
45
+ return Math.round((room - FLOATING_NOTE_MARGIN * 2) * fraction) + FLOATING_NOTE_MARGIN;
46
+ };
47
+ export const dockPoint = (dock, area, size = FLOATING_NOTE_SIZE) => {
48
+ 'worklet';
49
+
50
+ return {
51
+ x: sideCoord(dock.sideX, dock.px, area.width - size),
52
+ y: sideCoord(dock.sideY, dock.py, area.height - size)
53
+ };
54
+ };
55
+
56
+ /**
57
+ * Where a drag may take it: up to half its width past either side, which is
58
+ * how it gets thrown away, but never past the top or bottom.
59
+ */
60
+ export const clampDrag = (x, y, area, size = FLOATING_NOTE_SIZE) => {
61
+ 'worklet';
62
+
63
+ const overshoot = size / 2;
64
+ return {
65
+ x: Math.min(Math.max(x, -overshoot), area.width - size + overshoot),
66
+ y: Math.min(Math.max(y, 0), Math.max(0, area.height - size))
67
+ };
68
+ };
69
+
70
+ /** Past a side it fades, down to half at the furthest it may go. */
71
+ export const dragAlpha = (x, width, size = FLOATING_NOTE_SIZE) => {
72
+ 'worklet';
73
+
74
+ const overshoot = size / 2;
75
+ if (x < 0) return 1 + x / overshoot * 0.5;
76
+ if (x > width - size) return 1 - (x - width + size) / overshoot * 0.5;
77
+ return 1;
78
+ };
79
+ const fraction = (value, from, to) => {
80
+ 'worklet';
81
+
82
+ return to === from ? 0 : Math.min(1, Math.max(0, (value - from) / (to - from)));
83
+ };
84
+
85
+ /**
86
+ * Where it goes when the finger lifts (`animateToBoundsMaybe`): onto a side
87
+ * when within 20dp of its docked spot or less than a quarter past the edge;
88
+ * out and closed when dragged further past it; otherwise it stays where it was
89
+ * put. Vertically it snaps to the top or bottom spot within 20dp, or stays.
90
+ */
91
+ export const settleFloatingNote = (x, y, velocityX, area, dock, size = FLOATING_NOTE_SIZE) => {
92
+ 'worklet';
93
+
94
+ const flung = clampDrag(x + velocityX * FLOATING_NOTE_FLING_S, y, area, size).x;
95
+ const startX = sideCoord('start', 0, area.width - size);
96
+ const endX = sideCoord('end', 0, area.width - size);
97
+ const startY = sideCoord('start', 0, area.height - size);
98
+ const endY = sideCoord('end', 0, area.height - size);
99
+ const quarter = size / 4;
100
+ let nextX = flung;
101
+ let sideX = 'free';
102
+ let px = fraction(flung, startX, endX);
103
+ if (Math.abs(startX - flung) <= FLOATING_NOTE_SNAP || flung < 0 && flung > -quarter) {
104
+ nextX = startX;
105
+ sideX = 'start';
106
+ px = 0;
107
+ } else if (Math.abs(endX - flung) <= FLOATING_NOTE_SNAP || flung > area.width - size && flung < area.width - size + quarter) {
108
+ nextX = endX;
109
+ sideX = 'end';
110
+ px = 0;
111
+ } else if (dragAlpha(flung, area.width, size) !== 1) {
112
+ return {
113
+ x: flung < 0 ? -size : area.width,
114
+ y,
115
+ isClosing: true,
116
+ dock
117
+ };
118
+ }
119
+ let nextY = y;
120
+ let sideY = 'free';
121
+ let py = fraction(y, startY, endY);
122
+ if (Math.abs(startY - y) <= FLOATING_NOTE_SNAP || y <= startY) {
123
+ nextY = startY;
124
+ sideY = 'start';
125
+ py = 0;
126
+ } else if (Math.abs(endY - y) <= FLOATING_NOTE_SNAP || y >= endY) {
127
+ nextY = endY;
128
+ sideY = 'end';
129
+ py = 0;
130
+ }
131
+ return {
132
+ x: nextX,
133
+ y: nextY,
134
+ isClosing: false,
135
+ dock: {
136
+ sideX,
137
+ px,
138
+ sideY,
139
+ py
140
+ }
141
+ };
142
+ };
143
+ //# sourceMappingURL=floatingNoteMath.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"floatingNoteMath.js","names":["FLOATING_NOTE_SIZE","FLOATING_NOTE_MARGIN","FLOATING_NOTE_SNAP","FLOATING_NOTE_MS","FLOATING_NOTE_HIDDEN_SCALE","FLOATING_NOTE_FLING_S","DEFAULT_FLOATING_DOCK","sideX","px","sideY","py","sideCoord","side","fraction","room","Math","round","dockPoint","dock","area","size","x","width","y","height","clampDrag","overshoot","min","max","dragAlpha","value","from","to","settleFloatingNote","velocityX","flung","startX","endX","startY","endY","quarter","nextX","abs","isClosing","nextY"],"sources":["../../src/components/floatingNoteMath.ts"],"sourcesContent":["/*\n * Geometry of the floating round note:\n * where it docks, how far a drag may take it, and where it settles - or\n * whether it slides out and closes - when the finger lifts. Kept free of React\n * so it runs on the UI thread inside the drag gesture and under Jest alike.\n */\n\n/** The floating circle is 120dp. */\nexport const FLOATING_NOTE_SIZE = 120\n/** Distance kept from the edges it docks to (`getSideCoord`). */\nexport const FLOATING_NOTE_MARGIN = 10\n/** Released this close to an edge, it snaps onto it (`animateToBoundsMaybe`). */\nexport const FLOATING_NOTE_SNAP = 20\n/** Show, hide and settle all run 150ms with a decelerate curve. */\nexport const FLOATING_NOTE_MS = 150\n/** It appears from, and shrinks back to, 80% of its size. */\nexport const FLOATING_NOTE_HIDDEN_SCALE = 0.8\n/**\n * How far ahead a release's velocity carries it, in seconds. Deciding on\n * the lift position alone feels stuck; projecting a little lets a flick reach an edge\n * (or fly off it) the way a flick does everywhere else on the platform.\n */\nexport const FLOATING_NOTE_FLING_S = 0.1\n\n/** Which edge it is docked to on one axis, or `free` in between. */\nexport type DockSide = 'start' | 'end' | 'free'\n\n/**\n * A remembered position that survives the area resizing: the side per axis,\n * or the fraction across it.\n */\nexport interface FloatingDock {\n sideX: DockSide\n px: number\n sideY: DockSide\n py: number\n}\n\n/** The first position: the top right corner. */\nexport const DEFAULT_FLOATING_DOCK: FloatingDock = { sideX: 'end', px: 0, sideY: 'start', py: 0 }\n\nexport interface FloatingArea {\n width: number\n height: number\n}\n\n/** One axis of `getSideCoord`: `room` is the area's length less the note's. */\nexport const sideCoord = (side: DockSide, fraction: number, room: number) => {\n 'worklet'\n if (side === 'start')\n return FLOATING_NOTE_MARGIN\n if (side === 'end')\n return room - FLOATING_NOTE_MARGIN\n return Math.round((room - FLOATING_NOTE_MARGIN * 2) * fraction) + FLOATING_NOTE_MARGIN\n}\n\nexport const dockPoint = (dock: FloatingDock, area: FloatingArea, size = FLOATING_NOTE_SIZE) => {\n 'worklet'\n return {\n x: sideCoord(dock.sideX, dock.px, area.width - size),\n y: sideCoord(dock.sideY, dock.py, area.height - size),\n }\n}\n\n/**\n * Where a drag may take it: up to half its width past either side, which is\n * how it gets thrown away, but never past the top or bottom.\n */\nexport const clampDrag = (x: number, y: number, area: FloatingArea, size = FLOATING_NOTE_SIZE) => {\n 'worklet'\n const overshoot = size / 2\n return {\n x: Math.min(Math.max(x, -overshoot), area.width - size + overshoot),\n y: Math.min(Math.max(y, 0), Math.max(0, area.height - size)),\n }\n}\n\n/** Past a side it fades, down to half at the furthest it may go. */\nexport const dragAlpha = (x: number, width: number, size = FLOATING_NOTE_SIZE) => {\n 'worklet'\n const overshoot = size / 2\n if (x < 0)\n return 1 + (x / overshoot) * 0.5\n if (x > width - size)\n return 1 - ((x - width + size) / overshoot) * 0.5\n return 1\n}\n\nexport interface FloatingSettle {\n x: number\n y: number\n /** It slides out past a side; playback stops once it is gone. */\n isClosing: boolean\n /** The position to remember, unchanged when closing. */\n dock: FloatingDock\n}\n\nconst fraction = (value: number, from: number, to: number) => {\n 'worklet'\n return to === from ? 0 : Math.min(1, Math.max(0, (value - from) / (to - from)))\n}\n\n/**\n * Where it goes when the finger lifts (`animateToBoundsMaybe`): onto a side\n * when within 20dp of its docked spot or less than a quarter past the edge;\n * out and closed when dragged further past it; otherwise it stays where it was\n * put. Vertically it snaps to the top or bottom spot within 20dp, or stays.\n */\nexport const settleFloatingNote = (\n x: number,\n y: number,\n velocityX: number,\n area: FloatingArea,\n dock: FloatingDock,\n size = FLOATING_NOTE_SIZE\n): FloatingSettle => {\n 'worklet'\n const flung = clampDrag(x + velocityX * FLOATING_NOTE_FLING_S, y, area, size).x\n const startX = sideCoord('start', 0, area.width - size)\n const endX = sideCoord('end', 0, area.width - size)\n const startY = sideCoord('start', 0, area.height - size)\n const endY = sideCoord('end', 0, area.height - size)\n const quarter = size / 4\n\n let nextX = flung\n let sideX: DockSide = 'free'\n let px = fraction(flung, startX, endX)\n if (Math.abs(startX - flung) <= FLOATING_NOTE_SNAP || (flung < 0 && flung > -quarter)) {\n nextX = startX\n sideX = 'start'\n px = 0\n } else if (\n Math.abs(endX - flung) <= FLOATING_NOTE_SNAP ||\n (flung > area.width - size && flung < area.width - size + quarter)\n ) {\n nextX = endX\n sideX = 'end'\n px = 0\n } else if (dragAlpha(flung, area.width, size) !== 1) {\n return { x: flung < 0 ? -size : area.width, y, isClosing: true, dock }\n }\n\n let nextY = y\n let sideY: DockSide = 'free'\n let py = fraction(y, startY, endY)\n if (Math.abs(startY - y) <= FLOATING_NOTE_SNAP || y <= startY) {\n nextY = startY\n sideY = 'start'\n py = 0\n } else if (Math.abs(endY - y) <= FLOATING_NOTE_SNAP || y >= endY) {\n nextY = endY\n sideY = 'end'\n py = 0\n }\n\n return { x: nextX, y: nextY, isClosing: false, dock: { sideX, px, sideY, py } }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ /** An impact tick, or nothing when `expo-haptics` is missing. Never throws. */
2
+ export declare const impactHaptic: (style?: "Light" | "Medium" | "Heavy") => void;
3
+ /** The selection tick (`UISelectionFeedbackGenerator`), or nothing. Never throws. */
4
+ export declare const selectionHaptic: () => void;
5
+ //# sourceMappingURL=haptics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"haptics.d.ts","sourceRoot":"","sources":["../../src/components/haptics.ts"],"names":[],"mappings":"AAIA,+EAA+E;AAC/E,eAAO,MAAM,YAAY,GAAI,QAAO,OAAO,GAAG,QAAQ,GAAG,OAAiB,SAQzE,CAAA;AAED,qFAAqF;AACrF,eAAO,MAAM,eAAe,YAQ3B,CAAA"}
@@ -0,0 +1,26 @@
1
+ import { getExpoHaptics } from '../optional';
2
+
3
+ // Optional haptics (`expo-haptics`), resolved on the first tick.
4
+
5
+ /** An impact tick, or nothing when `expo-haptics` is missing. Never throws. */
6
+ export const impactHaptic = (style = 'Light') => {
7
+ try {
8
+ const expoHaptics = getExpoHaptics();
9
+ const result = expoHaptics?.impactAsync?.(expoHaptics?.ImpactFeedbackStyle?.[style]);
10
+ result?.catch?.(() => {});
11
+ } catch {
12
+ // haptics are a nicety; never fail an interaction over them
13
+ }
14
+ };
15
+
16
+ /** The selection tick (`UISelectionFeedbackGenerator`), or nothing. Never throws. */
17
+ export const selectionHaptic = () => {
18
+ try {
19
+ const expoHaptics = getExpoHaptics();
20
+ const result = expoHaptics?.selectionAsync?.();
21
+ result?.catch?.(() => {});
22
+ } catch {
23
+ // haptics are a nicety; never fail an interaction over them
24
+ }
25
+ };
26
+ //# sourceMappingURL=haptics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"haptics.js","names":["getExpoHaptics","impactHaptic","style","expoHaptics","result","impactAsync","ImpactFeedbackStyle","catch","selectionHaptic","selectionAsync"],"sources":["../../src/components/haptics.ts"],"sourcesContent":["import { getExpoHaptics } from '../optional'\n\n// Optional haptics (`expo-haptics`), resolved on the first tick.\n\n/** An impact tick, or nothing when `expo-haptics` is missing. Never throws. */\nexport const impactHaptic = (style: 'Light' | 'Medium' | 'Heavy' = 'Light') => {\n try {\n const expoHaptics = getExpoHaptics()\n const result = expoHaptics?.impactAsync?.(expoHaptics?.ImpactFeedbackStyle?.[style])\n result?.catch?.(() => {})\n } catch {\n // haptics are a nicety; never fail an interaction over them\n }\n}\n\n/** The selection tick (`UISelectionFeedbackGenerator`), or nothing. Never throws. */\nexport const selectionHaptic = () => {\n try {\n const expoHaptics = getExpoHaptics()\n const result = expoHaptics?.selectionAsync?.()\n result?.catch?.(() => {})\n } catch {\n // haptics are a nicety; never fail an interaction over them\n }\n}\n"],"mappings":"AAAA,SAASA,cAAc,QAAQ,aAAa;;AAE5C;;AAEA;AACA,OAAO,MAAMC,YAAY,GAAGA,CAACC,KAAmC,GAAG,OAAO,KAAK;EAC7E,IAAI;IACF,MAAMC,WAAW,GAAGH,cAAc,CAAC,CAAC;IACpC,MAAMI,MAAM,GAAGD,WAAW,EAAEE,WAAW,GAAGF,WAAW,EAAEG,mBAAmB,GAAGJ,KAAK,CAAC,CAAC;IACpFE,MAAM,EAAEG,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC;EAC3B,CAAC,CAAC,MAAM;IACN;EAAA;AAEJ,CAAC;;AAED;AACA,OAAO,MAAMC,eAAe,GAAGA,CAAA,KAAM;EACnC,IAAI;IACF,MAAML,WAAW,GAAGH,cAAc,CAAC,CAAC;IACpC,MAAMI,MAAM,GAAGD,WAAW,EAAEM,cAAc,GAAG,CAAC;IAC9CL,MAAM,EAAEG,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC;EAC3B,CAAC,CAAC,MAAM;IACN;EAAA;AAEJ,CAAC","ignoreList":[]}
@@ -0,0 +1,14 @@
1
+ /** A remote `http(s)` source, which is fetched with progress before it is decoded. */
2
+ export declare const isRemoteUri: (uri: string | undefined) => boolean;
3
+ export interface Download {
4
+ promise: Promise<ArrayBuffer>;
5
+ abort: () => void;
6
+ }
7
+ /**
8
+ * Fetches `uri` into memory, reporting 0..1 as it arrives. `XMLHttpRequest` is
9
+ * the one React Native transport that reports download progress, which is what
10
+ * drives the ring on a voice note being fetched. `onProgress` is not
11
+ * called when the server sends no length.
12
+ */
13
+ export declare const downloadWithProgress: (uri: string, onProgress: (fraction: number) => void) => Download;
14
+ //# sourceMappingURL=mediaDownload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mediaDownload.d.ts","sourceRoot":"","sources":["../../src/components/mediaDownload.ts"],"names":[],"mappings":"AAAA,sFAAsF;AACtF,eAAO,MAAM,WAAW,GAAI,KAAK,MAAM,GAAG,SAAS,YAAuC,CAAA;AAE1F,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;IAC7B,KAAK,EAAE,MAAM,IAAI,CAAA;CAClB;AAED;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,GAAI,KAAK,MAAM,EAAE,YAAY,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,KAAG,QAmC1F,CAAA"}
@@ -0,0 +1,43 @@
1
+ /** A remote `http(s)` source, which is fetched with progress before it is decoded. */
2
+ export const isRemoteUri = uri => !!uri && /^https?:\/\//i.test(uri);
3
+ /**
4
+ * Fetches `uri` into memory, reporting 0..1 as it arrives. `XMLHttpRequest` is
5
+ * the one React Native transport that reports download progress, which is what
6
+ * drives the ring on a voice note being fetched. `onProgress` is not
7
+ * called when the server sends no length.
8
+ */
9
+ export const downloadWithProgress = (uri, onProgress) => {
10
+ const xhr = new XMLHttpRequest();
11
+ let isAborted = false;
12
+ const promise = new Promise((resolve, reject) => {
13
+ xhr.open('GET', uri);
14
+ xhr.responseType = 'arraybuffer';
15
+ xhr.onprogress = event => {
16
+ if (event.lengthComputable && event.total > 0) onProgress(Math.min(1, event.loaded / event.total));
17
+ };
18
+ xhr.onload = () => {
19
+ if (xhr.status >= 200 && xhr.status < 300 && xhr.response) {
20
+ onProgress(1);
21
+ resolve(xhr.response);
22
+ } else {
23
+ reject(new Error(`HTTP ${xhr.status}`));
24
+ }
25
+ };
26
+ xhr.onerror = () => reject(new Error('network'));
27
+ xhr.onabort = () => reject(new Error('aborted'));
28
+ xhr.send();
29
+ });
30
+ return {
31
+ promise,
32
+ abort: () => {
33
+ if (isAborted) return;
34
+ isAborted = true;
35
+ try {
36
+ xhr.abort();
37
+ } catch {
38
+ // already done
39
+ }
40
+ }
41
+ };
42
+ };
43
+ //# sourceMappingURL=mediaDownload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mediaDownload.js","names":["isRemoteUri","uri","test","downloadWithProgress","onProgress","xhr","XMLHttpRequest","isAborted","promise","Promise","resolve","reject","open","responseType","onprogress","event","lengthComputable","total","Math","min","loaded","onload","status","response","Error","onerror","onabort","send","abort"],"sources":["../../src/components/mediaDownload.ts"],"sourcesContent":["/** A remote `http(s)` source, which is fetched with progress before it is decoded. */\nexport const isRemoteUri = (uri: string | undefined) => !!uri && /^https?:\\/\\//i.test(uri)\n\nexport interface Download {\n promise: Promise<ArrayBuffer>\n abort: () => void\n}\n\n/**\n * Fetches `uri` into memory, reporting 0..1 as it arrives. `XMLHttpRequest` is\n * the one React Native transport that reports download progress, which is what\n * drives the ring on a voice note being fetched. `onProgress` is not\n * called when the server sends no length.\n */\nexport const downloadWithProgress = (uri: string, onProgress: (fraction: number) => void): Download => {\n const xhr = new XMLHttpRequest()\n let isAborted = false\n const promise = new Promise<ArrayBuffer>((resolve, reject) => {\n xhr.open('GET', uri)\n xhr.responseType = 'arraybuffer'\n xhr.onprogress = event => {\n if (event.lengthComputable && event.total > 0)\n onProgress(Math.min(1, event.loaded / event.total))\n }\n xhr.onload = () => {\n if (xhr.status >= 200 && xhr.status < 300 && xhr.response) {\n onProgress(1)\n resolve(xhr.response as ArrayBuffer)\n } else {\n reject(new Error(`HTTP ${xhr.status}`))\n }\n }\n xhr.onerror = () => reject(new Error('network'))\n xhr.onabort = () => reject(new Error('aborted'))\n xhr.send()\n })\n return {\n promise,\n abort: () => {\n if (isAborted)\n return\n isAborted = true\n try {\n xhr.abort()\n } catch {\n // already done\n }\n },\n }\n}\n"],"mappings":"AAAA;AACA,OAAO,MAAMA,WAAW,GAAIC,GAAuB,IAAK,CAAC,CAACA,GAAG,IAAI,eAAe,CAACC,IAAI,CAACD,GAAG,CAAC;AAO1F;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAME,oBAAoB,GAAGA,CAACF,GAAW,EAAEG,UAAsC,KAAe;EACrG,MAAMC,GAAG,GAAG,IAAIC,cAAc,CAAC,CAAC;EAChC,IAAIC,SAAS,GAAG,KAAK;EACrB,MAAMC,OAAO,GAAG,IAAIC,OAAO,CAAc,CAACC,OAAO,EAAEC,MAAM,KAAK;IAC5DN,GAAG,CAACO,IAAI,CAAC,KAAK,EAAEX,GAAG,CAAC;IACpBI,GAAG,CAACQ,YAAY,GAAG,aAAa;IAChCR,GAAG,CAACS,UAAU,GAAGC,KAAK,IAAI;MACxB,IAAIA,KAAK,CAACC,gBAAgB,IAAID,KAAK,CAACE,KAAK,GAAG,CAAC,EAC3Cb,UAAU,CAACc,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEJ,KAAK,CAACK,MAAM,GAAGL,KAAK,CAACE,KAAK,CAAC,CAAC;IACvD,CAAC;IACDZ,GAAG,CAACgB,MAAM,GAAG,MAAM;MACjB,IAAIhB,GAAG,CAACiB,MAAM,IAAI,GAAG,IAAIjB,GAAG,CAACiB,MAAM,GAAG,GAAG,IAAIjB,GAAG,CAACkB,QAAQ,EAAE;QACzDnB,UAAU,CAAC,CAAC,CAAC;QACbM,OAAO,CAACL,GAAG,CAACkB,QAAuB,CAAC;MACtC,CAAC,MAAM;QACLZ,MAAM,CAAC,IAAIa,KAAK,CAAC,QAAQnB,GAAG,CAACiB,MAAM,EAAE,CAAC,CAAC;MACzC;IACF,CAAC;IACDjB,GAAG,CAACoB,OAAO,GAAG,MAAMd,MAAM,CAAC,IAAIa,KAAK,CAAC,SAAS,CAAC,CAAC;IAChDnB,GAAG,CAACqB,OAAO,GAAG,MAAMf,MAAM,CAAC,IAAIa,KAAK,CAAC,SAAS,CAAC,CAAC;IAChDnB,GAAG,CAACsB,IAAI,CAAC,CAAC;EACZ,CAAC,CAAC;EACF,OAAO;IACLnB,OAAO;IACPoB,KAAK,EAAEA,CAAA,KAAM;MACX,IAAIrB,SAAS,EACX;MACFA,SAAS,GAAG,IAAI;MAChB,IAAI;QACFF,GAAG,CAACuB,KAAK,CAAC,CAAC;MACb,CAAC,CAAC,MAAM;QACN;MAAA;IAEJ;EACF,CAAC;AACH,CAAC","ignoreList":[]}
@@ -4,8 +4,8 @@ import { ChatTheme } from '../Theme';
4
4
  *
5
5
  * The accent cannot be used for both positions: in the default light theme
6
6
  * `colors.accent` and `colors.outgoingBubble` are the same azure, so an accent
7
- * circle on an outgoing bubble is invisible (1:1 contrast). Telegram solves this
8
- * the same way - the control inverts on the sender's side.
7
+ * circle on an outgoing bubble is invisible (1:1 contrast), so the control inverts on
8
+ * the sender's side.
9
9
  */
10
10
  export interface MediaPalette {
11
11
  /** Filled circle behind the play/pause glyph. */
@@ -19,5 +19,10 @@ export interface MediaPalette {
19
19
  /** Duration and other meta text. */
20
20
  meta: string;
21
21
  }
22
+ /**
23
+ * The voice colors: the play
24
+ * button and played bars in the bubble's fill color, unplayed bars in its track color. On the
25
+ * day theme's green bubble they are greens; on the night gradient, white.
26
+ */
22
27
  export declare const getMediaPalette: (theme: ChatTheme, position: "left" | "right") => MediaPalette;
23
28
  //# sourceMappingURL=mediaPalette.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mediaPalette.d.ts","sourceRoot":"","sources":["../../src/components/mediaPalette.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAEpC;;;;;;;GAOG;AACH,MAAM,WAAW,YAAY;IAC3B,iDAAiD;IACjD,OAAO,EAAE,MAAM,CAAA;IACf,wBAAwB;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,uDAAuD;IACvD,QAAQ,EAAE,MAAM,CAAA;IAChB,wBAAwB;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,oCAAoC;IACpC,IAAI,EAAE,MAAM,CAAA;CACb;AAED,eAAO,MAAM,eAAe,GAC1B,OAAO,SAAS,EAChB,UAAU,MAAM,GAAG,OAAO,KACzB,YAeE,CAAA"}
1
+ {"version":3,"file":"mediaPalette.d.ts","sourceRoot":"","sources":["../../src/components/mediaPalette.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAEpC;;;;;;;GAOG;AACH,MAAM,WAAW,YAAY;IAC3B,iDAAiD;IACjD,OAAO,EAAE,MAAM,CAAA;IACf,wBAAwB;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,uDAAuD;IACvD,QAAQ,EAAE,MAAM,CAAA;IAChB,wBAAwB;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,oCAAoC;IACpC,IAAI,EAAE,MAAM,CAAA;CACb;AAED;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAC1B,OAAO,SAAS,EAChB,UAAU,MAAM,GAAG,OAAO,KACzB,YAeE,CAAA"}
@@ -1,16 +1,28 @@
1
- export const getMediaPalette = (theme, position) => position === 'right'
2
- ? {
3
- control: theme.colors.outgoingText,
4
- glyph: theme.colors.outgoingBubble,
5
- progress: theme.colors.outgoingText,
6
- track: 'rgba(255, 255, 255, 0.45)',
7
- meta: theme.colors.outgoingText,
8
- }
9
- : {
10
- control: theme.colors.accent,
11
- glyph: '#FFFFFF',
12
- progress: theme.colors.accent,
13
- track: 'rgba(0, 0, 0, 0.20)',
14
- meta: theme.colors.incomingMeta,
15
- };
1
+ /**
2
+ * Colors for the play/pause control and progress track inside a media bubble.
3
+ *
4
+ * The accent cannot be used for both positions: in the default light theme
5
+ * `colors.accent` and `colors.outgoingBubble` are the same azure, so an accent
6
+ * circle on an outgoing bubble is invisible (1:1 contrast), so the control inverts on
7
+ * the sender's side.
8
+ */
9
+
10
+ /**
11
+ * The voice colors: the play
12
+ * button and played bars in the bubble's fill color, unplayed bars in its track color. On the
13
+ * day theme's green bubble they are greens; on the night gradient, white.
14
+ */
15
+ export const getMediaPalette = (theme, position) => position === 'right' ? {
16
+ control: theme.colors.outgoingVoiceFill,
17
+ glyph: theme.colors.outgoingBubble,
18
+ progress: theme.colors.outgoingVoiceFill,
19
+ track: theme.colors.outgoingVoiceTrack,
20
+ meta: theme.colors.outgoingMeta
21
+ } : {
22
+ control: theme.colors.incomingVoiceFill,
23
+ glyph: '#FFFFFF',
24
+ progress: theme.colors.incomingVoiceFill,
25
+ track: theme.colors.incomingVoiceTrack,
26
+ meta: theme.colors.incomingMeta
27
+ };
16
28
  //# sourceMappingURL=mediaPalette.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mediaPalette.js","sourceRoot":"","sources":["../../src/components/mediaPalette.ts"],"names":[],"mappings":"AAuBA,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,KAAgB,EAChB,QAA0B,EACZ,EAAE,CAChB,QAAQ,KAAK,OAAO;IAClB,CAAC,CAAC;QACA,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,YAAY;QAClC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,cAAc;QAClC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,YAAY;QACnC,KAAK,EAAE,2BAA2B;QAClC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,YAAY;KAChC;IACD,CAAC,CAAC;QACA,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM;QAC5B,KAAK,EAAE,SAAS;QAChB,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM;QAC7B,KAAK,EAAE,qBAAqB;QAC5B,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,YAAY;KAChC,CAAA"}
1
+ {"version":3,"file":"mediaPalette.js","names":["getMediaPalette","theme","position","control","colors","outgoingVoiceFill","glyph","outgoingBubble","progress","track","outgoingVoiceTrack","meta","outgoingMeta","incomingVoiceFill","incomingVoiceTrack","incomingMeta"],"sources":["../../src/components/mediaPalette.ts"],"sourcesContent":["import { ChatTheme } from '../Theme'\n\n/**\n * Colors for the play/pause control and progress track inside a media bubble.\n *\n * The accent cannot be used for both positions: in the default light theme\n * `colors.accent` and `colors.outgoingBubble` are the same azure, so an accent\n * circle on an outgoing bubble is invisible (1:1 contrast), so the control inverts on\n * the sender's side.\n */\nexport interface MediaPalette {\n /** Filled circle behind the play/pause glyph. */\n control: string\n /** The glyph itself. */\n glyph: string\n /** Played portion of the waveform / progress track. */\n progress: string\n /** Unplayed portion. */\n track: string\n /** Duration and other meta text. */\n meta: string\n}\n\n/**\n * The voice colors: the play\n * button and played bars in the bubble's fill color, unplayed bars in its track color. On the\n * day theme's green bubble they are greens; on the night gradient, white.\n */\nexport const getMediaPalette = (\n theme: ChatTheme,\n position: 'left' | 'right'\n): MediaPalette =>\n position === 'right'\n ? {\n control: theme.colors.outgoingVoiceFill,\n glyph: theme.colors.outgoingBubble,\n progress: theme.colors.outgoingVoiceFill,\n track: theme.colors.outgoingVoiceTrack,\n meta: theme.colors.outgoingMeta,\n }\n : {\n control: theme.colors.incomingVoiceFill,\n glyph: '#FFFFFF',\n progress: theme.colors.incomingVoiceFill,\n track: theme.colors.incomingVoiceTrack,\n meta: theme.colors.incomingMeta,\n }\n"],"mappings":"AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAcA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMA,eAAe,GAAGA,CAC7BC,KAAgB,EAChBC,QAA0B,KAE1BA,QAAQ,KAAK,OAAO,GAChB;EACAC,OAAO,EAAEF,KAAK,CAACG,MAAM,CAACC,iBAAiB;EACvCC,KAAK,EAAEL,KAAK,CAACG,MAAM,CAACG,cAAc;EAClCC,QAAQ,EAAEP,KAAK,CAACG,MAAM,CAACC,iBAAiB;EACxCI,KAAK,EAAER,KAAK,CAACG,MAAM,CAACM,kBAAkB;EACtCC,IAAI,EAAEV,KAAK,CAACG,MAAM,CAACQ;AACrB,CAAC,GACC;EACAT,OAAO,EAAEF,KAAK,CAACG,MAAM,CAACS,iBAAiB;EACvCP,KAAK,EAAE,SAAS;EAChBE,QAAQ,EAAEP,KAAK,CAACG,MAAM,CAACS,iBAAiB;EACxCJ,KAAK,EAAER,KAAK,CAACG,MAAM,CAACU,kBAAkB;EACtCH,IAAI,EAAEV,KAAK,CAACG,MAAM,CAACW;AACrB,CAAC","ignoreList":[]}
@@ -1,22 +1,221 @@
1
+ import { NotePlayer, NotePlayerCache } from './roundNotePlayers';
1
2
  /**
2
3
  * Module-level registry so only one piece of media plays at a time.
3
4
  *
4
5
  * Every voice note and round video note owns its own player, and nothing
5
6
  * coordinated them: starting a second note left the first one playing, and a
6
- * chat with several round notes played all of them at once. Telegram always
7
- * stops the current one when a new one starts.
7
+ * chat with several round notes played all of them at once. Now the current
8
+ * one always stops when a new one starts.
8
9
  *
9
10
  * Deliberately not React context - bubbles are recycled by the list, and the
10
11
  * registry has to outlive individual mounts to stop a player whose row has
11
12
  * already scrolled away.
12
13
  */
13
- type StopHandler = () => void;
14
+ /**
15
+ * Why a player is told to stop. `replaced`: another note started, so this one
16
+ * is no longer current and resets its progress. `paused`: something else took the audio (a
17
+ * recording), so it pauses and stays current.
18
+ */
19
+ export type StopReason = 'replaced' | 'paused';
20
+ type StopHandler = (reason: StopReason) => void;
14
21
  /**
15
22
  * Claim playback for `id`, stopping whatever else was playing.
16
- * Call when a player actually starts.
23
+ * Call when a player actually starts. A paused note may keep its claim, so a
24
+ * later note can still reset it.
17
25
  */
18
26
  export declare const claimPlayback: (id: string, stop: StopHandler) => void;
19
- /** Give up the claim (on pause, completion or unmount). */
27
+ /** Give up the claim (on completion, reset or unmount). */
20
28
  export declare const releasePlayback: (id: string) => void;
29
+ /**
30
+ * Pause whatever is playing. Recording calls this first: opening the mic takes
31
+ * audio focus, which pauses the playing note - otherwise it would bleed straight into the new take. The
32
+ * paused note keeps its claim and stays current.
33
+ */
34
+ export declare const stopAllPlayback: () => void;
35
+ /** A tap of the speed pill cycles through these. */
36
+ export declare const PLAYBACK_RATES: readonly [1, 1.5, 2];
37
+ /**
38
+ * The presets a long press on the speed pill offers: Slow, Normal, Medium,
39
+ * Fast, Very fast and Super fast.
40
+ */
41
+ export declare const PLAYBACK_RATE_PRESETS: readonly [0.5, 1, 1.2, 1.5, 1.7, 2];
42
+ export declare const getPlaybackRate: () => number;
43
+ export declare const setPlaybackRate: (rate: number) => void;
44
+ /** The next step on the speed pill after `rate`. */
45
+ export declare const nextPlaybackRate: (rate: number) => 2 | 1 | 1.5;
46
+ /** The shared playback speed, re-rendering when any note changes it. */
47
+ export declare const usePlaybackRate: () => number;
48
+ export declare const subscribePlaybackRate: (listener: (rate: number) => void) => () => void;
49
+ /** What a message needs for the "play the next note" lookup. */
50
+ interface PlaylistMessage {
51
+ _id: string | number;
52
+ audio?: string;
53
+ video?: string;
54
+ videoNote?: boolean;
55
+ isMediaUnread?: boolean;
56
+ }
57
+ /** Chat-level playback options, from the `mediaPlayback` prop. */
58
+ export interface MediaPlaybackOptions {
59
+ isAutoPlayNextEnabled: boolean;
60
+ isRoundVideoAutoplayEnabled: boolean;
61
+ onMediaRead?: (message: any) => void;
62
+ isNearEar?: boolean;
63
+ onTranscribe?: (message: any) => void;
64
+ onViewOnceEnd?: (message: any) => void;
65
+ isFloatingRoundNoteEnabled?: boolean;
66
+ }
67
+ /** A mounted player the controller can start when the previous note ends. */
68
+ interface PlaylistEntry {
69
+ play: () => void;
70
+ }
71
+ /**
72
+ * Per-chat coordinator for auto-playing the next note. When a voice or round
73
+ * note finishes on its own, playback moves on to the next newer voice/round
74
+ * message in the chat, so a run of notes plays as one.
75
+ *
76
+ * The chat feeds it the current messages on every render (a ref write, no
77
+ * re-render), and players register by message id while they are mounted. The
78
+ * next note can only be started if its row is mounted - the list virtualizes,
79
+ * but the next note sits right below the current one, so it nearly always is.
80
+ */
81
+ export interface MediaPlaybackController {
82
+ setMessages: (messages: readonly PlaylistMessage[], isInverted: boolean) => void;
83
+ setOptions: (options: MediaPlaybackOptions) => void;
84
+ getOptions: () => MediaPlaybackOptions;
85
+ /** Notified when `isNearEar` flips (raise to listen). */
86
+ subscribeNearEar: (listener: () => void) => () => void;
87
+ register: (messageId: string | number, entry: PlaylistEntry) => () => void;
88
+ /** Called by a player whose note reached its end without being paused. */
89
+ onEnded: (messageId: string | number) => void;
90
+ /**
91
+ * An incoming unread note started playing: report it, since playing
92
+ * marks the content read.
93
+ */
94
+ markRead: (messageId: string | number) => void;
95
+ /**
96
+ * The round note grown to play, if any. Its row hides the sender's avatar
97
+ * meanwhile.
98
+ */
99
+ setGrownNote: (messageId: string | number | null, timeShift?: number) => void;
100
+ getGrownNote: () => string | number | null;
101
+ /**
102
+ * How far the grown note's right edge moved from where it rests, so the
103
+ * bubble can carry the sent time along with the circle.
104
+ */
105
+ getGrownTimeShift: () => number;
106
+ subscribeGrownNote: (listener: () => void) => () => void;
107
+ /**
108
+ * The note that owns playback, playing or paused, for the "now playing" bar
109
+ * at the top of the chat.
110
+ */
111
+ setNowPlaying: (entry: NowPlayingEntry | null) => void;
112
+ /** Clears the bar only if `messageId` still owns it. */
113
+ clearNowPlaying: (messageId: string | number) => void;
114
+ getNowPlaying: () => NowPlayingEntry | null;
115
+ subscribeNowPlaying: (listener: () => void) => () => void;
116
+ getMessage: (messageId: string | number) => PlaylistMessage | undefined;
117
+ /** Set by the chat: scrolls the list so a message sits mid-screen. */
118
+ setScroller: (scroll: ((messageId: string | number) => void) | null) => void;
119
+ /**
120
+ * Centres a message in the list, used when a round note starts playing.
121
+ */
122
+ scrollToMessage: (messageId: string | number) => void;
123
+ /**
124
+ * The messages whose rows are at least partly on screen, from the list's
125
+ * viewability. The playing round note floats once its row is no longer
126
+ * among them.
127
+ */
128
+ setViewableMessages: (messageIds: readonly (string | number)[]) => void;
129
+ /** `undefined` until the list first reports, so nothing floats before layout. */
130
+ isMessageViewable: (messageId: string | number) => boolean | undefined;
131
+ subscribeViewable: (listener: () => void) => () => void;
132
+ /** The round note drawn floating over the list, while its view is mounted. */
133
+ setFloatingNote: (messageId: string | number | null) => void;
134
+ getFloatingNote: () => string | number | null;
135
+ subscribeFloatingNote: (listener: () => void) => () => void;
136
+ /** Round note players, which outlive their rows while the note is current. */
137
+ notePlayers: NotePlayerCache;
138
+ }
139
+ /** What the "now playing" bar shows and controls. */
140
+ export interface NowPlayingEntry {
141
+ messageId: string | number;
142
+ kind: 'voice' | 'round';
143
+ isPlaying: boolean;
144
+ toggle: () => void;
145
+ stop: () => void;
146
+ /** A round note's expo-video player, so the floating note shows the same video. */
147
+ player?: unknown;
148
+ }
149
+ export declare const createMediaPlaybackController: () => MediaPlaybackController;
150
+ export declare const MediaPlaybackContext: import("react").Context<MediaPlaybackController | null>;
151
+ /**
152
+ * Inside the long-press copy of a message: the chat's playback, to show (never drive). The copy
153
+ * sits over its hidden original while the menu is open; its media mirrors what the original is
154
+ * playing, as Telegram's lifted message does, instead of starting a player of its own.
155
+ */
156
+ export declare const LiftedPlaybackContext: import("react").Context<MediaPlaybackController | null>;
157
+ /**
158
+ * The horizontal shift of each grown round note, by its player key, so a lifted copy of it sits
159
+ * exactly over the original.
160
+ */
161
+ export declare const noteGrowShifts: Map<string, number>;
162
+ /** A lifted copy started (or stopped) showing the media under `key`. */
163
+ export declare const setMediaLifted: (key: string, isLifted: boolean) => void;
164
+ /** Whether a lifted copy is showing the media under `key`. */
165
+ export declare const useIsMediaLifted: (key: string) => boolean;
166
+ /**
167
+ * Registers a player for auto-play-next and returns the `onEnded` callback it
168
+ * should fire when its note finishes on its own. A no-op outside a `Chat`, or
169
+ * when the message id is unknown.
170
+ */
171
+ export declare const usePlaylistEntry: (messageId: string | number | undefined, play: () => void) => import("react").RefObject<() => void>;
172
+ /**
173
+ * Whether round notes loop silently in the list, and a callback that reports
174
+ * an incoming unread note as read. Both are no-ops outside a `Chat`.
175
+ */
176
+ export declare const useNotePlaybackOptions: (messageId: string | number | undefined) => {
177
+ isRoundVideoAutoplayEnabled: boolean;
178
+ isNearEar: boolean;
179
+ onTranscribe: ((message: any) => void) | undefined;
180
+ onViewOnceEnd: ((message: any) => void) | undefined;
181
+ markReadRef: import("react").RefObject<() => void>;
182
+ };
183
+ /** Whether this message's round note is grown to play; false outside a `Chat`. */
184
+ export declare const useIsNoteGrown: (messageId: string | number | undefined) => boolean;
185
+ /** Reports this note growing or shrinking back, so its row can hide the avatar. */
186
+ export declare const useReportNoteGrown: (messageId: string | number | undefined, isGrown: boolean, timeShift?: number) => void;
187
+ /** How far this message's grown round note moved its right edge; 0 at rest. */
188
+ export declare const useNoteTimeShift: (messageId: string | number | undefined) => number;
189
+ /**
190
+ * Puts this note in the "now playing" bar while it owns playback, playing or
191
+ * paused, and takes it out when it stops, is replaced or unmounts.
192
+ */
193
+ export declare const useReportNowPlaying: (messageId: string | number | undefined, kind: "voice" | "round", isCurrent: boolean, isPlaying: boolean, toggle: () => void, stop: () => void, player?: unknown) => void;
194
+ /** Centres a message in the chat's list; a no-op outside a `Chat`. */
195
+ export declare const useScrollToMessage: () => (messageId: string | number | undefined) => void;
196
+ /** The note in the "now playing" bar, or null; null outside a `Chat`. */
197
+ export declare const useNowPlaying: () => NowPlayingEntry | null;
198
+ /** The phone is held to the ear (raise to listen); false outside a `Chat`. */
199
+ export declare const useIsNearEar: () => boolean;
200
+ /**
201
+ * Whether a message's row is on screen: `undefined` outside a `Chat` or before
202
+ * the list has reported, so callers can tell "scrolled away" from "unknown".
203
+ */
204
+ export declare const useIsMessageViewable: (messageId: string | number | undefined) => boolean | undefined;
205
+ /** Whether this message's round note is currently drawn floating over the list. */
206
+ export declare const useIsNoteFloating: (messageId: string | number | undefined) => boolean;
207
+ /** The chat's round note players, or a shared cache outside a `Chat`. */
208
+ export declare const useNotePlayerCache: () => NotePlayerCache;
209
+ /**
210
+ * Hands a current round note whose row is unmounting over to a detached
211
+ * session, so it keeps playing (and floating) until it ends, another note
212
+ * starts, or its row mounts again and takes it back. Without a `Chat`, or
213
+ * while the chat itself is going away, the note just stops.
214
+ */
215
+ export declare const detachRoundNoteFromRow: (controller: MediaPlaybackController | null, cache: NotePlayerCache, cacheKey: string | number, messageId: string | number | undefined, player: NotePlayer, isPlaying: boolean,
216
+ /** False for a note that must not outlive its row (a view-once one). */
217
+ canFloat?: boolean) => void;
218
+ /** The chat's playback controller, or `null` outside a `Chat`. */
219
+ export declare const useMediaPlaybackController: () => MediaPlaybackController | null;
21
220
  export {};
22
221
  //# sourceMappingURL=mediaPlayback.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mediaPlayback.d.ts","sourceRoot":"","sources":["../../src/components/mediaPlayback.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,KAAK,WAAW,GAAG,MAAM,IAAI,CAAA;AAI7B;;;GAGG;AACH,eAAO,MAAM,aAAa,GAAI,IAAI,MAAM,EAAE,MAAM,WAAW,SAW1D,CAAA;AAED,2DAA2D;AAC3D,eAAO,MAAM,eAAe,GAAI,IAAI,MAAM,SAEzC,CAAA"}
1
+ {"version":3,"file":"mediaPlayback.d.ts","sourceRoot":"","sources":["../../src/components/mediaPlayback.ts"],"names":[],"mappings":"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"}