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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1327) hide show
  1. package/README.md +485 -178
  2. package/lib/Actions.d.ts.map +1 -1
  3. package/lib/Actions.js +121 -42
  4. package/lib/Actions.js.map +1 -1
  5. package/lib/Avatar.d.ts.map +1 -1
  6. package/lib/Avatar.js +171 -86
  7. package/lib/Avatar.js.map +1 -1
  8. package/lib/Bubble/BubbleBody.d.ts +15 -0
  9. package/lib/Bubble/BubbleBody.d.ts.map +1 -0
  10. package/lib/Bubble/BubbleBody.js +218 -0
  11. package/lib/Bubble/BubbleBody.js.map +1 -0
  12. package/lib/Bubble/BubbleContent.d.ts +23 -0
  13. package/lib/Bubble/BubbleContent.d.ts.map +1 -0
  14. package/lib/Bubble/BubbleContent.js +446 -0
  15. package/lib/Bubble/BubbleContent.js.map +1 -0
  16. package/lib/Bubble/BubbleMenu.d.ts +45 -0
  17. package/lib/Bubble/BubbleMenu.d.ts.map +1 -0
  18. package/lib/Bubble/BubbleMenu.js +289 -0
  19. package/lib/Bubble/BubbleMenu.js.map +1 -0
  20. package/lib/Bubble/BubbleMeta.d.ts +17 -0
  21. package/lib/Bubble/BubbleMeta.d.ts.map +1 -0
  22. package/lib/Bubble/BubbleMeta.js +453 -0
  23. package/lib/Bubble/BubbleMeta.js.map +1 -0
  24. package/lib/Bubble/LiftedBubble.d.ts +18 -0
  25. package/lib/Bubble/LiftedBubble.d.ts.map +1 -0
  26. package/lib/Bubble/LiftedBubble.js +109 -0
  27. package/lib/Bubble/LiftedBubble.js.map +1 -0
  28. package/lib/Bubble/PressableBubbleRow.d.ts +33 -0
  29. package/lib/Bubble/PressableBubbleRow.d.ts.map +1 -0
  30. package/lib/Bubble/PressableBubbleRow.js +172 -0
  31. package/lib/Bubble/PressableBubbleRow.js.map +1 -0
  32. package/lib/Bubble/index.d.ts +6 -13
  33. package/lib/Bubble/index.d.ts.map +1 -1
  34. package/lib/Bubble/index.js +379 -509
  35. package/lib/Bubble/index.js.map +1 -1
  36. package/lib/Bubble/layout.d.ts +47 -0
  37. package/lib/Bubble/layout.d.ts.map +1 -0
  38. package/lib/Bubble/layout.js +258 -0
  39. package/lib/Bubble/layout.js.map +1 -0
  40. package/lib/Bubble/styles.d.ts +108 -16
  41. package/lib/Bubble/styles.d.ts.map +1 -1
  42. package/lib/Bubble/styles.js +227 -107
  43. package/lib/Bubble/styles.js.map +1 -1
  44. package/lib/Bubble/types.d.ts +19 -3
  45. package/lib/Bubble/types.d.ts.map +1 -1
  46. package/lib/Bubble/types.js.map +1 -1
  47. package/lib/Chat/Chat.d.ts +5 -0
  48. package/lib/Chat/Chat.d.ts.map +1 -0
  49. package/lib/Chat/Chat.js +464 -0
  50. package/lib/Chat/Chat.js.map +1 -0
  51. package/lib/Chat/ChatBackground.d.ts +16 -0
  52. package/lib/Chat/ChatBackground.d.ts.map +1 -0
  53. package/lib/Chat/ChatBackground.js +43 -0
  54. package/lib/Chat/ChatBackground.js.map +1 -0
  55. package/lib/Chat/ChatKeyboardAvoidingView.js +19 -4
  56. package/lib/Chat/ChatKeyboardAvoidingView.js.map +1 -1
  57. package/lib/Chat/ChatMessageList.d.ts +27 -0
  58. package/lib/Chat/ChatMessageList.d.ts.map +1 -0
  59. package/lib/Chat/ChatMessageList.js +220 -0
  60. package/lib/Chat/ChatMessageList.js.map +1 -0
  61. package/lib/Chat/ChatProviders.d.ts +18 -0
  62. package/lib/Chat/ChatProviders.d.ts.map +1 -0
  63. package/lib/Chat/ChatProviders.js +87 -0
  64. package/lib/Chat/ChatProviders.js.map +1 -0
  65. package/lib/Chat/ChatSafeAreaProvider.d.ts +35 -0
  66. package/lib/Chat/ChatSafeAreaProvider.d.ts.map +1 -0
  67. package/lib/Chat/ChatSafeAreaProvider.js +123 -0
  68. package/lib/Chat/ChatSafeAreaProvider.js.map +1 -0
  69. package/lib/Chat/ChatSelectionBar.d.ts +20 -0
  70. package/lib/Chat/ChatSelectionBar.d.ts.map +1 -0
  71. package/lib/Chat/ChatSelectionBar.js +141 -0
  72. package/lib/Chat/ChatSelectionBar.js.map +1 -0
  73. package/lib/Chat/ChatWrapper.d.ts +11 -0
  74. package/lib/Chat/ChatWrapper.d.ts.map +1 -0
  75. package/lib/Chat/ChatWrapper.js +98 -0
  76. package/lib/Chat/ChatWrapper.js.map +1 -0
  77. package/lib/Chat/ComposerHost.d.ts +20 -0
  78. package/lib/Chat/ComposerHost.d.ts.map +1 -0
  79. package/lib/Chat/ComposerHost.js +118 -0
  80. package/lib/Chat/ComposerHost.js.map +1 -0
  81. package/lib/Chat/index.d.ts +1 -8
  82. package/lib/Chat/index.d.ts.map +1 -1
  83. package/lib/Chat/index.js +1 -337
  84. package/lib/Chat/index.js.map +1 -1
  85. package/lib/Chat/styles.d.ts +14 -2
  86. package/lib/Chat/styles.d.ts.map +1 -1
  87. package/lib/Chat/styles.js +19 -9
  88. package/lib/Chat/styles.js.map +1 -1
  89. package/lib/Chat/types.d.ts +145 -11
  90. package/lib/Chat/types.d.ts.map +1 -1
  91. package/lib/Chat/types.js.map +1 -1
  92. package/lib/Chat/useChatContextValue.d.ts +19 -0
  93. package/lib/Chat/useChatContextValue.d.ts.map +1 -0
  94. package/lib/Chat/useChatContextValue.js +158 -0
  95. package/lib/Chat/useChatContextValue.js.map +1 -0
  96. package/lib/Chat/useChatMedia.d.ts +22 -0
  97. package/lib/Chat/useChatMedia.d.ts.map +1 -0
  98. package/lib/Chat/useChatMedia.js +127 -0
  99. package/lib/Chat/useChatMedia.js.map +1 -0
  100. package/lib/Chat/useChatSelection.d.ts +15 -0
  101. package/lib/Chat/useChatSelection.d.ts.map +1 -0
  102. package/lib/Chat/useChatSelection.js +106 -0
  103. package/lib/Chat/useChatSelection.js.map +1 -0
  104. package/lib/Chat/useComposerHandlers.d.ts +34 -0
  105. package/lib/Chat/useComposerHandlers.d.ts.map +1 -0
  106. package/lib/Chat/useComposerHandlers.js +330 -0
  107. package/lib/Chat/useComposerHandlers.js.map +1 -0
  108. package/lib/Chat/useComposerState.d.ts +27 -0
  109. package/lib/Chat/useComposerState.d.ts.map +1 -0
  110. package/lib/Chat/useComposerState.js +272 -0
  111. package/lib/Chat/useComposerState.js.map +1 -0
  112. package/lib/Chat/useInitialLayout.d.ts +19 -0
  113. package/lib/Chat/useInitialLayout.d.ts.map +1 -0
  114. package/lib/Chat/useInitialLayout.js +70 -0
  115. package/lib/Chat/useInitialLayout.js.map +1 -0
  116. package/lib/Chat/useMessageActions.d.ts +37 -0
  117. package/lib/Chat/useMessageActions.d.ts.map +1 -0
  118. package/lib/Chat/useMessageActions.js +323 -0
  119. package/lib/Chat/useMessageActions.js.map +1 -0
  120. package/lib/Chat/useMessageNavigation.d.ts +21 -0
  121. package/lib/Chat/useMessageNavigation.d.ts.map +1 -0
  122. package/lib/Chat/useMessageNavigation.js +149 -0
  123. package/lib/Chat/useMessageNavigation.js.map +1 -0
  124. package/lib/Chat/useOptionalPeerHints.d.ts +6 -0
  125. package/lib/Chat/useOptionalPeerHints.d.ts.map +1 -0
  126. package/lib/Chat/useOptionalPeerHints.js +63 -0
  127. package/lib/Chat/useOptionalPeerHints.js.map +1 -0
  128. package/lib/Chat/useResolvedReactions.d.ts +31 -0
  129. package/lib/Chat/useResolvedReactions.d.ts.map +1 -0
  130. package/lib/Chat/useResolvedReactions.js +95 -0
  131. package/lib/Chat/useResolvedReactions.js.map +1 -0
  132. package/lib/ChatAvatar.d.ts.map +1 -1
  133. package/lib/ChatAvatar.js +229 -84
  134. package/lib/ChatAvatar.js.map +1 -1
  135. package/lib/ChatContext.js +20 -10
  136. package/lib/ChatContext.js.map +1 -1
  137. package/lib/ChatList/ChatListAvatar.d.ts +21 -0
  138. package/lib/ChatList/ChatListAvatar.d.ts.map +1 -0
  139. package/lib/ChatList/ChatListAvatar.js +178 -0
  140. package/lib/ChatList/ChatListAvatar.js.map +1 -0
  141. package/lib/ChatList/ChatListCell.d.ts +16 -0
  142. package/lib/ChatList/ChatListCell.d.ts.map +1 -0
  143. package/lib/ChatList/ChatListCell.js +506 -0
  144. package/lib/ChatList/ChatListCell.js.map +1 -0
  145. package/lib/ChatList/ChatListShimmer.d.ts +3 -0
  146. package/lib/ChatList/ChatListShimmer.d.ts.map +1 -0
  147. package/lib/ChatList/ChatListShimmer.js +235 -0
  148. package/lib/ChatList/ChatListShimmer.js.map +1 -0
  149. package/lib/ChatList/index.d.ts +16 -0
  150. package/lib/ChatList/index.d.ts.map +1 -0
  151. package/lib/ChatList/index.js +1301 -0
  152. package/lib/ChatList/index.js.map +1 -0
  153. package/lib/ChatList/types.d.ts +128 -0
  154. package/lib/ChatList/types.d.ts.map +1 -0
  155. package/lib/ChatList/types.js +2 -0
  156. package/lib/ChatList/types.js.map +1 -0
  157. package/lib/ChatList/useChatList.d.ts +30 -0
  158. package/lib/ChatList/useChatList.d.ts.map +1 -0
  159. package/lib/ChatList/useChatList.js +211 -0
  160. package/lib/ChatList/useChatList.js.map +1 -0
  161. package/lib/ChatList/utils.d.ts +28 -0
  162. package/lib/ChatList/utils.d.ts.map +1 -0
  163. package/lib/ChatList/utils.js +60 -0
  164. package/lib/ChatList/utils.js.map +1 -0
  165. package/lib/Color.js +19 -19
  166. package/lib/Color.js.map +1 -1
  167. package/lib/Composer.d.ts.map +1 -1
  168. package/lib/Composer.js +148 -70
  169. package/lib/Composer.js.map +1 -1
  170. package/lib/Constant.js +4 -4
  171. package/lib/Constant.js.map +1 -1
  172. package/lib/Day/index.d.ts.map +1 -1
  173. package/lib/Day/index.js +115 -28
  174. package/lib/Day/index.js.map +1 -1
  175. package/lib/Day/styles.d.ts +3 -3
  176. package/lib/Day/styles.d.ts.map +1 -1
  177. package/lib/Day/styles.js +20 -17
  178. package/lib/Day/styles.js.map +1 -1
  179. package/lib/Day/types.js.map +1 -1
  180. package/lib/Icons.d.ts +1 -1
  181. package/lib/Icons.d.ts.map +1 -1
  182. package/lib/Icons.js.map +1 -1
  183. package/lib/InputToolbar/FieldGroup.d.ts +28 -0
  184. package/lib/InputToolbar/FieldGroup.d.ts.map +1 -0
  185. package/lib/InputToolbar/FieldGroup.js +143 -0
  186. package/lib/InputToolbar/FieldGroup.js.map +1 -0
  187. package/lib/InputToolbar/TakePreviewBar.d.ts +17 -0
  188. package/lib/InputToolbar/TakePreviewBar.d.ts.map +1 -0
  189. package/lib/InputToolbar/TakePreviewBar.js +126 -0
  190. package/lib/InputToolbar/TakePreviewBar.js.map +1 -0
  191. package/lib/InputToolbar/animations.d.ts +105 -0
  192. package/lib/InputToolbar/animations.d.ts.map +1 -0
  193. package/lib/InputToolbar/animations.js +238 -0
  194. package/lib/InputToolbar/animations.js.map +1 -0
  195. package/lib/InputToolbar/fragments.d.ts +13 -0
  196. package/lib/InputToolbar/fragments.d.ts.map +1 -0
  197. package/lib/InputToolbar/fragments.js +207 -0
  198. package/lib/InputToolbar/fragments.js.map +1 -0
  199. package/lib/InputToolbar/index.d.ts +7 -0
  200. package/lib/InputToolbar/index.d.ts.map +1 -0
  201. package/lib/InputToolbar/index.js +444 -0
  202. package/lib/InputToolbar/index.js.map +1 -0
  203. package/lib/InputToolbar/recordingOptions.d.ts +14 -0
  204. package/lib/InputToolbar/recordingOptions.d.ts.map +1 -0
  205. package/lib/InputToolbar/recordingOptions.js +38 -0
  206. package/lib/InputToolbar/recordingOptions.js.map +1 -0
  207. package/lib/InputToolbar/styles.d.ts +118 -0
  208. package/lib/InputToolbar/styles.d.ts.map +1 -0
  209. package/lib/InputToolbar/styles.js +139 -0
  210. package/lib/InputToolbar/styles.js.map +1 -0
  211. package/lib/InputToolbar/types.d.ts +77 -0
  212. package/lib/InputToolbar/types.d.ts.map +1 -0
  213. package/lib/InputToolbar/types.js +2 -0
  214. package/lib/InputToolbar/types.js.map +1 -0
  215. package/lib/InputToolbar/useActionsFragment.d.ts +6 -0
  216. package/lib/InputToolbar/useActionsFragment.d.ts.map +1 -0
  217. package/lib/InputToolbar/useActionsFragment.js +139 -0
  218. package/lib/InputToolbar/useActionsFragment.js.map +1 -0
  219. package/lib/InputToolbar/useComposerEditing.d.ts +11 -0
  220. package/lib/InputToolbar/useComposerEditing.d.ts.map +1 -0
  221. package/lib/InputToolbar/useComposerEditing.js +116 -0
  222. package/lib/InputToolbar/useComposerEditing.js.map +1 -0
  223. package/lib/InputToolbar/useEmojiButton.d.ts +14 -0
  224. package/lib/InputToolbar/useEmojiButton.d.ts.map +1 -0
  225. package/lib/InputToolbar/useEmojiButton.js +120 -0
  226. package/lib/InputToolbar/useEmojiButton.js.map +1 -0
  227. package/lib/InputToolbar/useKeyboardInset.d.ts +9 -0
  228. package/lib/InputToolbar/useKeyboardInset.d.ts.map +1 -0
  229. package/lib/InputToolbar/useKeyboardInset.js +25 -0
  230. package/lib/InputToolbar/useKeyboardInset.js.map +1 -0
  231. package/lib/InputToolbar/useRecordMode.d.ts +19 -0
  232. package/lib/InputToolbar/useRecordMode.d.ts.map +1 -0
  233. package/lib/InputToolbar/useRecordMode.js +124 -0
  234. package/lib/InputToolbar/useRecordMode.js.map +1 -0
  235. package/lib/InputToolbar/useRecordTake.d.ts +46 -0
  236. package/lib/InputToolbar/useRecordTake.d.ts.map +1 -0
  237. package/lib/InputToolbar/useRecordTake.js +315 -0
  238. package/lib/InputToolbar/useRecordTake.js.map +1 -0
  239. package/lib/InputToolbar/useReturnAnimations.d.ts +18 -0
  240. package/lib/InputToolbar/useReturnAnimations.d.ts.map +1 -0
  241. package/lib/InputToolbar/useReturnAnimations.js +30 -0
  242. package/lib/InputToolbar/useReturnAnimations.js.map +1 -0
  243. package/lib/InputToolbar/useRightControl.d.ts +40 -0
  244. package/lib/InputToolbar/useRightControl.d.ts.map +1 -0
  245. package/lib/InputToolbar/useRightControl.js +129 -0
  246. package/lib/InputToolbar/useRightControl.js.map +1 -0
  247. package/lib/LoadEarlierMessages.d.ts +2 -0
  248. package/lib/LoadEarlierMessages.d.ts.map +1 -1
  249. package/lib/LoadEarlierMessages.js +153 -40
  250. package/lib/LoadEarlierMessages.js.map +1 -1
  251. package/lib/Message/SwipeToReply.d.ts +23 -0
  252. package/lib/Message/SwipeToReply.d.ts.map +1 -0
  253. package/lib/Message/SwipeToReply.js +337 -0
  254. package/lib/Message/SwipeToReply.js.map +1 -0
  255. package/lib/Message/index.d.ts.map +1 -1
  256. package/lib/Message/index.js +415 -176
  257. package/lib/Message/index.js.map +1 -1
  258. package/lib/Message/styles.d.ts +2 -2
  259. package/lib/Message/styles.js +14 -14
  260. package/lib/Message/styles.js.map +1 -1
  261. package/lib/Message/types.d.ts +5 -0
  262. package/lib/Message/types.d.ts.map +1 -1
  263. package/lib/Message/types.js.map +1 -1
  264. package/lib/MessageAudio.d.ts.map +1 -1
  265. package/lib/MessageAudio.js +647 -107
  266. package/lib/MessageAudio.js.map +1 -1
  267. package/lib/MessageFile.d.ts +11 -0
  268. package/lib/MessageFile.d.ts.map +1 -0
  269. package/lib/MessageFile.js +315 -0
  270. package/lib/MessageFile.js.map +1 -0
  271. package/lib/MessageImage.d.ts +2 -0
  272. package/lib/MessageImage.d.ts.map +1 -1
  273. package/lib/MessageImage.js +430 -161
  274. package/lib/MessageImage.js.map +1 -1
  275. package/lib/MessageLocation.d.ts.map +1 -1
  276. package/lib/MessageLocation.js +180 -68
  277. package/lib/MessageLocation.js.map +1 -1
  278. package/lib/MessageText.d.ts +8 -1
  279. package/lib/MessageText.d.ts.map +1 -1
  280. package/lib/MessageText.js +261 -69
  281. package/lib/MessageText.js.map +1 -1
  282. package/lib/MessageVideo/ExpoVideoPlayer.d.ts +6 -0
  283. package/lib/MessageVideo/ExpoVideoPlayer.d.ts.map +1 -0
  284. package/lib/MessageVideo/ExpoVideoPlayer.js +68 -0
  285. package/lib/MessageVideo/ExpoVideoPlayer.js.map +1 -0
  286. package/lib/MessageVideo/MirroredVideo.d.ts +17 -0
  287. package/lib/MessageVideo/MirroredVideo.d.ts.map +1 -0
  288. package/lib/MessageVideo/MirroredVideo.js +223 -0
  289. package/lib/MessageVideo/MirroredVideo.js.map +1 -0
  290. package/lib/MessageVideo/RoundNotePlayer.d.ts +4 -0
  291. package/lib/MessageVideo/RoundNotePlayer.d.ts.map +1 -0
  292. package/lib/MessageVideo/RoundNotePlayer.js +560 -0
  293. package/lib/MessageVideo/RoundNotePlayer.js.map +1 -0
  294. package/lib/MessageVideo/RoundTranscription.d.ts +27 -0
  295. package/lib/MessageVideo/RoundTranscription.d.ts.map +1 -0
  296. package/lib/MessageVideo/RoundTranscription.js +151 -0
  297. package/lib/MessageVideo/RoundTranscription.js.map +1 -0
  298. package/lib/MessageVideo/VideoTransferOverlay.d.ts +11 -0
  299. package/lib/MessageVideo/VideoTransferOverlay.d.ts.map +1 -0
  300. package/lib/MessageVideo/VideoTransferOverlay.js +88 -0
  301. package/lib/MessageVideo/VideoTransferOverlay.js.map +1 -0
  302. package/lib/MessageVideo/constants.d.ts +13 -0
  303. package/lib/MessageVideo/constants.d.ts.map +1 -0
  304. package/lib/MessageVideo/constants.js +15 -0
  305. package/lib/MessageVideo/constants.js.map +1 -0
  306. package/lib/{MessageVideo.d.ts → MessageVideo/index.d.ts} +2 -2
  307. package/lib/MessageVideo/index.d.ts.map +1 -0
  308. package/lib/MessageVideo/index.js +92 -0
  309. package/lib/MessageVideo/index.js.map +1 -0
  310. package/lib/MessageVideo/liftedMedia.d.ts +13 -0
  311. package/lib/MessageVideo/liftedMedia.d.ts.map +1 -0
  312. package/lib/MessageVideo/liftedMedia.js +106 -0
  313. package/lib/MessageVideo/liftedMedia.js.map +1 -0
  314. package/lib/MessageVideo/styles.d.ts +71 -0
  315. package/lib/MessageVideo/styles.d.ts.map +1 -0
  316. package/lib/MessageVideo/styles.js +78 -0
  317. package/lib/MessageVideo/styles.js.map +1 -0
  318. package/lib/MessageVideo/types.d.ts +27 -0
  319. package/lib/MessageVideo/types.d.ts.map +1 -0
  320. package/lib/MessageVideo/types.js +2 -0
  321. package/lib/MessageVideo/types.js.map +1 -0
  322. package/lib/MessageVideo/useNoteGrow.d.ts +16 -0
  323. package/lib/MessageVideo/useNoteGrow.d.ts.map +1 -0
  324. package/lib/MessageVideo/useNoteGrow.js +122 -0
  325. package/lib/MessageVideo/useNoteGrow.js.map +1 -0
  326. package/lib/MessageVideo/useNotePlayer.d.ts +14 -0
  327. package/lib/MessageVideo/useNotePlayer.d.ts.map +1 -0
  328. package/lib/MessageVideo/useNotePlayer.js +142 -0
  329. package/lib/MessageVideo/useNotePlayer.js.map +1 -0
  330. package/lib/MessageVideo/useRingSeek.d.ts +16 -0
  331. package/lib/MessageVideo/useRingSeek.d.ts.map +1 -0
  332. package/lib/MessageVideo/useRingSeek.js +157 -0
  333. package/lib/MessageVideo/useRingSeek.js.map +1 -0
  334. package/lib/MessageVideo/useRoundNotePlayback.d.ts +46 -0
  335. package/lib/MessageVideo/useRoundNotePlayback.d.ts.map +1 -0
  336. package/lib/MessageVideo/useRoundNotePlayback.js +508 -0
  337. package/lib/MessageVideo/useRoundNotePlayback.js.map +1 -0
  338. package/lib/MessageVideo/useSendFlightReveal.d.ts +9 -0
  339. package/lib/MessageVideo/useSendFlightReveal.d.ts.map +1 -0
  340. package/lib/MessageVideo/useSendFlightReveal.js +85 -0
  341. package/lib/MessageVideo/useSendFlightReveal.js.map +1 -0
  342. package/lib/MessageVideo/videoPlayers.d.ts +8 -0
  343. package/lib/MessageVideo/videoPlayers.d.ts.map +1 -0
  344. package/lib/MessageVideo/videoPlayers.js +33 -0
  345. package/lib/MessageVideo/videoPlayers.js.map +1 -0
  346. package/lib/MessagesContainer/components/DayAnimated/debug.js +38 -24
  347. package/lib/MessagesContainer/components/DayAnimated/debug.js.map +1 -1
  348. package/lib/MessagesContainer/components/DayAnimated/index.d.ts +1 -1
  349. package/lib/MessagesContainer/components/DayAnimated/index.d.ts.map +1 -1
  350. package/lib/MessagesContainer/components/DayAnimated/index.js +244 -112
  351. package/lib/MessagesContainer/components/DayAnimated/index.js.map +1 -1
  352. package/lib/MessagesContainer/components/DayAnimated/styles.d.ts +3 -3
  353. package/lib/MessagesContainer/components/DayAnimated/styles.js +8 -8
  354. package/lib/MessagesContainer/components/DayAnimated/styles.js.map +1 -1
  355. package/lib/MessagesContainer/components/DayAnimated/types.d.ts +4 -2
  356. package/lib/MessagesContainer/components/DayAnimated/types.d.ts.map +1 -1
  357. package/lib/MessagesContainer/components/DayAnimated/types.js.map +1 -1
  358. package/lib/MessagesContainer/components/DayAnimated/useScrollGatedOpacity.d.ts.map +1 -1
  359. package/lib/MessagesContainer/components/DayAnimated/useScrollGatedOpacity.js +34 -25
  360. package/lib/MessagesContainer/components/DayAnimated/useScrollGatedOpacity.js.map +1 -1
  361. package/lib/MessagesContainer/components/Item/index.d.ts +3 -4
  362. package/lib/MessagesContainer/components/Item/index.d.ts.map +1 -1
  363. package/lib/MessagesContainer/components/Item/index.js +289 -119
  364. package/lib/MessagesContainer/components/Item/index.js.map +1 -1
  365. package/lib/MessagesContainer/components/Item/types.d.ts +5 -0
  366. package/lib/MessagesContainer/components/Item/types.d.ts.map +1 -1
  367. package/lib/MessagesContainer/components/Item/types.js.map +1 -1
  368. package/lib/MessagesContainer/components/PageDownCounter.d.ts +14 -0
  369. package/lib/MessagesContainer/components/PageDownCounter.d.ts.map +1 -0
  370. package/lib/MessagesContainer/components/PageDownCounter.js +209 -0
  371. package/lib/MessagesContainer/components/PageDownCounter.js.map +1 -0
  372. package/lib/MessagesContainer/components/ScrollToBottomButton.d.ts +21 -0
  373. package/lib/MessagesContainer/components/ScrollToBottomButton.d.ts.map +1 -0
  374. package/lib/MessagesContainer/components/ScrollToBottomButton.js +195 -0
  375. package/lib/MessagesContainer/components/ScrollToBottomButton.js.map +1 -0
  376. package/lib/MessagesContainer/components/dayLayout.d.ts +2 -2
  377. package/lib/MessagesContainer/components/dayLayout.d.ts.map +1 -1
  378. package/lib/MessagesContainer/components/dayLayout.js +18 -13
  379. package/lib/MessagesContainer/components/dayLayout.js.map +1 -1
  380. package/lib/MessagesContainer/index.d.ts.map +1 -1
  381. package/lib/MessagesContainer/index.js +361 -420
  382. package/lib/MessagesContainer/index.js.map +1 -1
  383. package/lib/MessagesContainer/listState.d.ts +18 -0
  384. package/lib/MessagesContainer/listState.d.ts.map +1 -0
  385. package/lib/MessagesContainer/listState.js +25 -0
  386. package/lib/MessagesContainer/listState.js.map +1 -0
  387. package/lib/MessagesContainer/listTransitions.d.ts +10 -0
  388. package/lib/MessagesContainer/listTransitions.d.ts.map +1 -0
  389. package/lib/MessagesContainer/listTransitions.js +12 -0
  390. package/lib/MessagesContainer/listTransitions.js.map +1 -0
  391. package/lib/MessagesContainer/pageDownReturn.d.ts +11 -0
  392. package/lib/MessagesContainer/pageDownReturn.d.ts.map +1 -0
  393. package/lib/MessagesContainer/pageDownReturn.js +9 -0
  394. package/lib/MessagesContainer/pageDownReturn.js.map +1 -0
  395. package/lib/MessagesContainer/rowConfig.d.ts +39 -0
  396. package/lib/MessagesContainer/rowConfig.d.ts.map +1 -0
  397. package/lib/MessagesContainer/rowConfig.js +161 -0
  398. package/lib/MessagesContainer/rowConfig.js.map +1 -0
  399. package/lib/MessagesContainer/rowStore.d.ts +37 -0
  400. package/lib/MessagesContainer/rowStore.d.ts.map +1 -0
  401. package/lib/MessagesContainer/rowStore.js +140 -0
  402. package/lib/MessagesContainer/rowStore.js.map +1 -0
  403. package/lib/MessagesContainer/styles.d.ts +37 -31
  404. package/lib/MessagesContainer/styles.d.ts.map +1 -1
  405. package/lib/MessagesContainer/styles.js +75 -54
  406. package/lib/MessagesContainer/styles.js.map +1 -1
  407. package/lib/MessagesContainer/types.d.ts +33 -30
  408. package/lib/MessagesContainer/types.d.ts.map +1 -1
  409. package/lib/MessagesContainer/types.js +1 -9
  410. package/lib/MessagesContainer/types.js.map +1 -1
  411. package/lib/MessagesContainer/useCellLayouts.d.ts +17 -0
  412. package/lib/MessagesContainer/useCellLayouts.d.ts.map +1 -0
  413. package/lib/MessagesContainer/useCellLayouts.js +133 -0
  414. package/lib/MessagesContainer/useCellLayouts.js.map +1 -0
  415. package/lib/MessagesContainer/useDaysPositions.d.ts +18 -0
  416. package/lib/MessagesContainer/useDaysPositions.d.ts.map +1 -0
  417. package/lib/MessagesContainer/useDaysPositions.js +109 -0
  418. package/lib/MessagesContainer/useDaysPositions.js.map +1 -0
  419. package/lib/MessagesContainer/useListChrome.d.ts +14 -0
  420. package/lib/MessagesContainer/useListChrome.d.ts.map +1 -0
  421. package/lib/MessagesContainer/useListChrome.js +176 -0
  422. package/lib/MessagesContainer/useListChrome.js.map +1 -0
  423. package/lib/MessagesContainer/useListMetrics.d.ts +32 -0
  424. package/lib/MessagesContainer/useListMetrics.d.ts.map +1 -0
  425. package/lib/MessagesContainer/useListMetrics.js +176 -0
  426. package/lib/MessagesContainer/useListMetrics.js.map +1 -0
  427. package/lib/MessagesContainer/useMessageRows.d.ts +46 -0
  428. package/lib/MessagesContainer/useMessageRows.d.ts.map +1 -0
  429. package/lib/MessagesContainer/useMessageRows.js +228 -0
  430. package/lib/MessagesContainer/useMessageRows.js.map +1 -0
  431. package/lib/MessagesContainer/usePageDownUnread.d.ts +27 -0
  432. package/lib/MessagesContainer/usePageDownUnread.d.ts.map +1 -0
  433. package/lib/MessagesContainer/usePageDownUnread.js +152 -0
  434. package/lib/MessagesContainer/usePageDownUnread.js.map +1 -0
  435. package/lib/MessagesContainer/useScrollActivity.d.ts +13 -0
  436. package/lib/MessagesContainer/useScrollActivity.d.ts.map +1 -0
  437. package/lib/MessagesContainer/useScrollActivity.js +84 -0
  438. package/lib/MessagesContainer/useScrollActivity.js.map +1 -0
  439. package/lib/MessagesContainer/useScrollToBottom.d.ts +26 -0
  440. package/lib/MessagesContainer/useScrollToBottom.d.ts.map +1 -0
  441. package/lib/MessagesContainer/useScrollToBottom.js +164 -0
  442. package/lib/MessagesContainer/useScrollToBottom.js.map +1 -0
  443. package/lib/MessagesContainer/useTapToClosePanels.d.ts +7 -0
  444. package/lib/MessagesContainer/useTapToClosePanels.d.ts.map +1 -0
  445. package/lib/MessagesContainer/useTapToClosePanels.js +55 -0
  446. package/lib/MessagesContainer/useTapToClosePanels.js.map +1 -0
  447. package/lib/MessagesContainer/viewability.d.ts +9 -0
  448. package/lib/MessagesContainer/viewability.d.ts.map +1 -0
  449. package/lib/MessagesContainer/viewability.js +110 -0
  450. package/lib/MessagesContainer/viewability.js.map +1 -0
  451. package/lib/Models.d.ts +188 -3
  452. package/lib/Models.d.ts.map +1 -1
  453. package/lib/Models.js.map +1 -1
  454. package/lib/QuickReplies.js +234 -101
  455. package/lib/QuickReplies.js.map +1 -1
  456. package/lib/Reactions/MessageReactions.d.ts +5 -0
  457. package/lib/Reactions/MessageReactions.d.ts.map +1 -1
  458. package/lib/Reactions/MessageReactions.js +359 -80
  459. package/lib/Reactions/MessageReactions.js.map +1 -1
  460. package/lib/Reactions/ReactionPicker.d.ts +5 -3
  461. package/lib/Reactions/ReactionPicker.d.ts.map +1 -1
  462. package/lib/Reactions/ReactionPicker.js +68 -82
  463. package/lib/Reactions/ReactionPicker.js.map +1 -1
  464. package/lib/Reactions/index.js +1 -0
  465. package/lib/Reactions/index.js.map +1 -1
  466. package/lib/Reactions/types.d.ts +49 -5
  467. package/lib/Reactions/types.d.ts.map +1 -1
  468. package/lib/Reactions/types.js.map +1 -1
  469. package/lib/Reply/index.js.map +1 -1
  470. package/lib/Reply/types.d.ts +19 -3
  471. package/lib/Reply/types.d.ts.map +1 -1
  472. package/lib/Reply/types.js.map +1 -1
  473. package/lib/Send.d.ts +2 -2
  474. package/lib/Send.d.ts.map +1 -1
  475. package/lib/Send.js +218 -47
  476. package/lib/Send.js.map +1 -1
  477. package/lib/SystemMessage.d.ts.map +1 -1
  478. package/lib/SystemMessage.js +106 -37
  479. package/lib/SystemMessage.js.map +1 -1
  480. package/lib/Theme.d.ts +320 -23
  481. package/lib/Theme.d.ts.map +1 -1
  482. package/lib/Theme.js +548 -119
  483. package/lib/Theme.js.map +1 -1
  484. package/lib/Time.d.ts +7 -0
  485. package/lib/Time.d.ts.map +1 -1
  486. package/lib/Time.js +122 -30
  487. package/lib/Time.js.map +1 -1
  488. package/lib/TypingIndicator/index.d.ts +9 -1
  489. package/lib/TypingIndicator/index.d.ts.map +1 -1
  490. package/lib/TypingIndicator/index.js +318 -94
  491. package/lib/TypingIndicator/index.js.map +1 -1
  492. package/lib/TypingIndicator/styles.d.ts +6 -2
  493. package/lib/TypingIndicator/styles.d.ts.map +1 -1
  494. package/lib/TypingIndicator/styles.js +22 -18
  495. package/lib/TypingIndicator/styles.js.map +1 -1
  496. package/lib/TypingIndicator/types.js.map +1 -1
  497. package/lib/attachments/AttachmentButton.d.ts +18 -0
  498. package/lib/attachments/AttachmentButton.d.ts.map +1 -0
  499. package/lib/attachments/AttachmentButton.js +110 -0
  500. package/lib/attachments/AttachmentButton.js.map +1 -0
  501. package/lib/attachments/AttachmentMenu/CaptionBar.d.ts +15 -0
  502. package/lib/attachments/AttachmentMenu/CaptionBar.d.ts.map +1 -0
  503. package/lib/attachments/AttachmentMenu/CaptionBar.js +165 -0
  504. package/lib/attachments/AttachmentMenu/CaptionBar.js.map +1 -0
  505. package/lib/attachments/AttachmentMenu/GalleryCell.d.ts +14 -0
  506. package/lib/attachments/AttachmentMenu/GalleryCell.d.ts.map +1 -0
  507. package/lib/attachments/AttachmentMenu/GalleryCell.js +267 -0
  508. package/lib/attachments/AttachmentMenu/GalleryCell.js.map +1 -0
  509. package/lib/attachments/AttachmentMenu/GalleryGrid.d.ts +18 -0
  510. package/lib/attachments/AttachmentMenu/GalleryGrid.d.ts.map +1 -0
  511. package/lib/attachments/AttachmentMenu/GalleryGrid.js +184 -0
  512. package/lib/attachments/AttachmentMenu/GalleryGrid.js.map +1 -0
  513. package/lib/attachments/AttachmentMenu/TabBar.d.ts +14 -0
  514. package/lib/attachments/AttachmentMenu/TabBar.d.ts.map +1 -0
  515. package/lib/attachments/AttachmentMenu/TabBar.js +127 -0
  516. package/lib/attachments/AttachmentMenu/TabBar.js.map +1 -0
  517. package/lib/attachments/AttachmentMenu/TabButton.d.ts +15 -0
  518. package/lib/attachments/AttachmentMenu/TabButton.d.ts.map +1 -0
  519. package/lib/attachments/AttachmentMenu/TabButton.js +219 -0
  520. package/lib/attachments/AttachmentMenu/TabButton.js.map +1 -0
  521. package/lib/attachments/AttachmentMenu/TabPanel.d.ts +17 -0
  522. package/lib/attachments/AttachmentMenu/TabPanel.d.ts.map +1 -0
  523. package/lib/attachments/AttachmentMenu/TabPanel.js +170 -0
  524. package/lib/attachments/AttachmentMenu/TabPanel.js.map +1 -0
  525. package/lib/attachments/AttachmentMenu/constants.d.ts +54 -0
  526. package/lib/attachments/AttachmentMenu/constants.d.ts.map +1 -0
  527. package/lib/attachments/AttachmentMenu/constants.js +79 -0
  528. package/lib/attachments/AttachmentMenu/constants.js.map +1 -0
  529. package/lib/attachments/AttachmentMenu/index.d.ts +16 -0
  530. package/lib/attachments/AttachmentMenu/index.d.ts.map +1 -0
  531. package/lib/attachments/AttachmentMenu/index.js +498 -0
  532. package/lib/attachments/AttachmentMenu/index.js.map +1 -0
  533. package/lib/attachments/AttachmentMenu/styles.d.ts +259 -0
  534. package/lib/attachments/AttachmentMenu/styles.d.ts.map +1 -0
  535. package/lib/attachments/AttachmentMenu/styles.js +262 -0
  536. package/lib/attachments/AttachmentMenu/styles.js.map +1 -0
  537. package/lib/attachments/AttachmentMenu/useSheetPresence.d.ts +14 -0
  538. package/lib/attachments/AttachmentMenu/useSheetPresence.d.ts.map +1 -0
  539. package/lib/attachments/AttachmentMenu/useSheetPresence.js +74 -0
  540. package/lib/attachments/AttachmentMenu/useSheetPresence.js.map +1 -0
  541. package/lib/attachments/buildMessages.d.ts +36 -0
  542. package/lib/attachments/buildMessages.d.ts.map +1 -0
  543. package/lib/attachments/buildMessages.js +192 -0
  544. package/lib/attachments/buildMessages.js.map +1 -0
  545. package/lib/attachments/gallery.d.ts +28 -0
  546. package/lib/attachments/gallery.d.ts.map +1 -0
  547. package/lib/attachments/gallery.js +245 -0
  548. package/lib/attachments/gallery.js.map +1 -0
  549. package/lib/attachments/types.d.ts +69 -0
  550. package/lib/attachments/types.d.ts.map +1 -0
  551. package/lib/attachments/types.js +2 -0
  552. package/lib/attachments/types.js.map +1 -0
  553. package/lib/colorUtils.d.ts +24 -0
  554. package/lib/colorUtils.d.ts.map +1 -0
  555. package/lib/colorUtils.js +71 -0
  556. package/lib/colorUtils.js.map +1 -0
  557. package/lib/components/AttachmentSheet.d.ts +1 -1
  558. package/lib/components/AttachmentSheet.d.ts.map +1 -1
  559. package/lib/components/AttachmentSheet.js +515 -155
  560. package/lib/components/AttachmentSheet.js.map +1 -1
  561. package/lib/components/BasicMarkdown.d.ts +7 -1
  562. package/lib/components/BasicMarkdown.d.ts.map +1 -1
  563. package/lib/components/BasicMarkdown.js +234 -184
  564. package/lib/components/BasicMarkdown.js.map +1 -1
  565. package/lib/components/BubbleBackground.d.ts +55 -0
  566. package/lib/components/BubbleBackground.d.ts.map +1 -0
  567. package/lib/components/BubbleBackground.js +513 -0
  568. package/lib/components/BubbleBackground.js.map +1 -0
  569. package/lib/components/ChatEmpty.d.ts +18 -0
  570. package/lib/components/ChatEmpty.d.ts.map +1 -0
  571. package/lib/components/ChatEmpty.js +125 -0
  572. package/lib/components/ChatEmpty.js.map +1 -0
  573. package/lib/components/ChatLoadingOverlay.d.ts +10 -0
  574. package/lib/components/ChatLoadingOverlay.d.ts.map +1 -0
  575. package/lib/components/ChatLoadingOverlay.js +89 -0
  576. package/lib/components/ChatLoadingOverlay.js.map +1 -0
  577. package/lib/components/ChatOverlay.d.ts +9 -0
  578. package/lib/components/ChatOverlay.d.ts.map +1 -0
  579. package/lib/components/ChatOverlay.js +60 -0
  580. package/lib/components/ChatOverlay.js.map +1 -0
  581. package/lib/components/ChatWallpaper.d.ts +32 -0
  582. package/lib/components/ChatWallpaper.d.ts.map +1 -0
  583. package/lib/components/ChatWallpaper.js +277 -0
  584. package/lib/components/ChatWallpaper.js.map +1 -0
  585. package/lib/components/ContextMenu/MenuCard.d.ts +21 -0
  586. package/lib/components/ContextMenu/MenuCard.d.ts.map +1 -0
  587. package/lib/components/ContextMenu/MenuCard.js +265 -0
  588. package/lib/components/ContextMenu/MenuCard.js.map +1 -0
  589. package/lib/components/ContextMenu/ReactionButton.d.ts +15 -0
  590. package/lib/components/ContextMenu/ReactionButton.d.ts.map +1 -0
  591. package/lib/components/ContextMenu/ReactionButton.js +116 -0
  592. package/lib/components/ContextMenu/ReactionButton.js.map +1 -0
  593. package/lib/components/ContextMenu/ReactionFlight.d.ts +14 -0
  594. package/lib/components/ContextMenu/ReactionFlight.d.ts.map +1 -0
  595. package/lib/components/ContextMenu/ReactionFlight.js +111 -0
  596. package/lib/components/ContextMenu/ReactionFlight.js.map +1 -0
  597. package/lib/components/ContextMenu/ReactionsBar.d.ts +35 -0
  598. package/lib/components/ContextMenu/ReactionsBar.d.ts.map +1 -0
  599. package/lib/components/ContextMenu/ReactionsBar.js +354 -0
  600. package/lib/components/ContextMenu/ReactionsBar.js.map +1 -0
  601. package/lib/components/ContextMenu/constants.d.ts +68 -0
  602. package/lib/components/ContextMenu/constants.d.ts.map +1 -0
  603. package/lib/components/ContextMenu/constants.js +105 -0
  604. package/lib/components/ContextMenu/constants.js.map +1 -0
  605. package/lib/components/ContextMenu/index.d.ts +12 -0
  606. package/lib/components/ContextMenu/index.d.ts.map +1 -0
  607. package/lib/components/ContextMenu/index.js +476 -0
  608. package/lib/components/ContextMenu/index.js.map +1 -0
  609. package/lib/components/ContextMenu/placement.d.ts +50 -0
  610. package/lib/components/ContextMenu/placement.d.ts.map +1 -0
  611. package/lib/components/ContextMenu/placement.js +117 -0
  612. package/lib/components/ContextMenu/placement.js.map +1 -0
  613. package/lib/components/ContextMenu/styles.d.ts +199 -0
  614. package/lib/components/ContextMenu/styles.d.ts.map +1 -0
  615. package/lib/components/ContextMenu/styles.js +169 -0
  616. package/lib/components/ContextMenu/styles.js.map +1 -0
  617. package/lib/components/ContextMenu/types.d.ts +62 -0
  618. package/lib/components/ContextMenu/types.d.ts.map +1 -0
  619. package/lib/components/ContextMenu/types.js +2 -0
  620. package/lib/components/ContextMenu/types.js.map +1 -0
  621. package/lib/components/ContextMenu/useExpandPanel.d.ts +11 -0
  622. package/lib/components/ContextMenu/useExpandPanel.d.ts.map +1 -0
  623. package/lib/components/ContextMenu/useExpandPanel.js +81 -0
  624. package/lib/components/ContextMenu/useExpandPanel.js.map +1 -0
  625. package/lib/components/ContextMenu/useMenuPresence.d.ts +17 -0
  626. package/lib/components/ContextMenu/useMenuPresence.d.ts.map +1 -0
  627. package/lib/components/ContextMenu/useMenuPresence.js +125 -0
  628. package/lib/components/ContextMenu/useMenuPresence.js.map +1 -0
  629. package/lib/components/FloatingRoundNote.d.ts +13 -0
  630. package/lib/components/FloatingRoundNote.d.ts.map +1 -0
  631. package/lib/components/FloatingRoundNote.js +541 -0
  632. package/lib/components/FloatingRoundNote.js.map +1 -0
  633. package/lib/components/GlassSurface.d.ts +16 -0
  634. package/lib/components/GlassSurface.d.ts.map +1 -0
  635. package/lib/components/GlassSurface.js +114 -0
  636. package/lib/components/GlassSurface.js.map +1 -0
  637. package/lib/components/Icon.js +57 -8
  638. package/lib/components/Icon.js.map +1 -1
  639. package/lib/components/LinkPreviewCard.d.ts +36 -0
  640. package/lib/components/LinkPreviewCard.d.ts.map +1 -0
  641. package/lib/components/LinkPreviewCard.js +416 -0
  642. package/lib/components/LinkPreviewCard.js.map +1 -0
  643. package/lib/components/LucideIcon.d.ts.map +1 -1
  644. package/lib/components/LucideIcon.js +103 -106
  645. package/lib/components/LucideIcon.js.map +1 -1
  646. package/lib/components/MarkdownMessageText.d.ts +17 -2
  647. package/lib/components/MarkdownMessageText.d.ts.map +1 -1
  648. package/lib/components/MarkdownMessageText.js +270 -22
  649. package/lib/components/MarkdownMessageText.js.map +1 -1
  650. package/lib/components/MediaCard.d.ts.map +1 -1
  651. package/lib/components/MediaCard.js +223 -85
  652. package/lib/components/MediaCard.js.map +1 -1
  653. package/lib/components/MediaControls.js +1094 -450
  654. package/lib/components/MediaControls.js.map +1 -1
  655. package/lib/components/MediaLoader.d.ts +21 -0
  656. package/lib/components/MediaLoader.d.ts.map +1 -0
  657. package/lib/components/MediaLoader.js +61 -0
  658. package/lib/components/MediaLoader.js.map +1 -0
  659. package/lib/components/MessageReply.d.ts +2 -2
  660. package/lib/components/MessageReply.d.ts.map +1 -1
  661. package/lib/components/MessageReply.js +266 -83
  662. package/lib/components/MessageReply.js.map +1 -1
  663. package/lib/components/MessageStatus.d.ts +23 -0
  664. package/lib/components/MessageStatus.d.ts.map +1 -0
  665. package/lib/components/MessageStatus.js +499 -0
  666. package/lib/components/MessageStatus.js.map +1 -0
  667. package/lib/components/NoteIndicators.d.ts +25 -0
  668. package/lib/components/NoteIndicators.d.ts.map +1 -0
  669. package/lib/components/NoteIndicators.js +206 -0
  670. package/lib/components/NoteIndicators.js.map +1 -0
  671. package/lib/components/NowPlayingBar.d.ts +15 -0
  672. package/lib/components/NowPlayingBar.d.ts.map +1 -0
  673. package/lib/components/NowPlayingBar.js +261 -0
  674. package/lib/components/NowPlayingBar.js.map +1 -0
  675. package/lib/components/PlayPauseIcon.d.ts +13 -0
  676. package/lib/components/PlayPauseIcon.d.ts.map +1 -0
  677. package/lib/components/PlayPauseIcon.js +187 -0
  678. package/lib/components/PlayPauseIcon.js.map +1 -0
  679. package/lib/components/PlaybackSpeedPill.d.ts +11 -0
  680. package/lib/components/PlaybackSpeedPill.d.ts.map +1 -0
  681. package/lib/components/PlaybackSpeedPill.js +350 -0
  682. package/lib/components/PlaybackSpeedPill.js.map +1 -0
  683. package/lib/components/RadialProgress.d.ts +70 -0
  684. package/lib/components/RadialProgress.d.ts.map +1 -0
  685. package/lib/components/RadialProgress.js +864 -0
  686. package/lib/components/RadialProgress.js.map +1 -0
  687. package/lib/components/RecordButton/LockPill.d.ts +27 -0
  688. package/lib/components/RecordButton/LockPill.d.ts.map +1 -0
  689. package/lib/components/RecordButton/LockPill.js +182 -0
  690. package/lib/components/RecordButton/LockPill.js.map +1 -0
  691. package/lib/components/RecordButton/ModeButton.d.ts +18 -0
  692. package/lib/components/RecordButton/ModeButton.d.ts.map +1 -0
  693. package/lib/components/RecordButton/ModeButton.js +154 -0
  694. package/lib/components/RecordButton/ModeButton.js.map +1 -0
  695. package/lib/components/RecordButton/ResumeButton.d.ts +20 -0
  696. package/lib/components/RecordButton/ResumeButton.d.ts.map +1 -0
  697. package/lib/components/RecordButton/ResumeButton.js +63 -0
  698. package/lib/components/RecordButton/ResumeButton.js.map +1 -0
  699. package/lib/components/RecordButton/Tooltips.d.ts +20 -0
  700. package/lib/components/RecordButton/Tooltips.d.ts.map +1 -0
  701. package/lib/components/RecordButton/Tooltips.js +191 -0
  702. package/lib/components/RecordButton/Tooltips.js.map +1 -0
  703. package/lib/components/RecordButton/ViewOnceButton.d.ts +16 -0
  704. package/lib/components/RecordButton/ViewOnceButton.d.ts.map +1 -0
  705. package/lib/components/RecordButton/ViewOnceButton.js +96 -0
  706. package/lib/components/RecordButton/ViewOnceButton.js.map +1 -0
  707. package/lib/components/RecordButton/constants.d.ts +52 -0
  708. package/lib/components/RecordButton/constants.d.ts.map +1 -0
  709. package/lib/components/RecordButton/constants.js +58 -0
  710. package/lib/components/RecordButton/constants.js.map +1 -0
  711. package/lib/components/RecordButton/index.d.ts +14 -0
  712. package/lib/components/RecordButton/index.d.ts.map +1 -0
  713. package/lib/components/RecordButton/index.js +382 -0
  714. package/lib/components/RecordButton/index.js.map +1 -0
  715. package/lib/components/RecordButton/styles.d.ts +155 -0
  716. package/lib/components/RecordButton/styles.d.ts.map +1 -0
  717. package/lib/components/RecordButton/styles.js +161 -0
  718. package/lib/components/RecordButton/styles.js.map +1 -0
  719. package/lib/components/RecordButton/types.d.ts +63 -0
  720. package/lib/components/RecordButton/types.d.ts.map +1 -0
  721. package/lib/components/RecordButton/types.js +2 -0
  722. package/lib/components/RecordButton/types.js.map +1 -0
  723. package/lib/components/RecordButton/useRecordGesture.d.ts +28 -0
  724. package/lib/components/RecordButton/useRecordGesture.d.ts.map +1 -0
  725. package/lib/components/RecordButton/useRecordGesture.js +263 -0
  726. package/lib/components/RecordButton/useRecordGesture.js.map +1 -0
  727. package/lib/components/RecordButton/useRecordHints.d.ts +27 -0
  728. package/lib/components/RecordButton/useRecordHints.d.ts.map +1 -0
  729. package/lib/components/RecordButton/useRecordHints.js +210 -0
  730. package/lib/components/RecordButton/useRecordHints.js.map +1 -0
  731. package/lib/components/RecordButton/useRecordSlideDistance.d.ts +3 -0
  732. package/lib/components/RecordButton/useRecordSlideDistance.d.ts.map +1 -0
  733. package/lib/components/RecordButton/useRecordSlideDistance.js +15 -0
  734. package/lib/components/RecordButton/useRecordSlideDistance.js.map +1 -0
  735. package/lib/components/RecordButton/useRecordTake.d.ts +41 -0
  736. package/lib/components/RecordButton/useRecordTake.d.ts.map +1 -0
  737. package/lib/components/RecordButton/useRecordTake.js +349 -0
  738. package/lib/components/RecordButton/useRecordTake.js.map +1 -0
  739. package/lib/components/RecordButton/useSendFlight.d.ts +25 -0
  740. package/lib/components/RecordButton/useSendFlight.d.ts.map +1 -0
  741. package/lib/components/RecordButton/useSendFlight.js +162 -0
  742. package/lib/components/RecordButton/useSendFlight.js.map +1 -0
  743. package/lib/components/RecordCircle.d.ts +92 -0
  744. package/lib/components/RecordCircle.d.ts.map +1 -0
  745. package/lib/components/RecordCircle.js +629 -0
  746. package/lib/components/RecordCircle.js.map +1 -0
  747. package/lib/components/RecordingBar.d.ts +24 -0
  748. package/lib/components/RecordingBar.d.ts.map +1 -0
  749. package/lib/components/RecordingBar.js +766 -0
  750. package/lib/components/RecordingBar.js.map +1 -0
  751. package/lib/components/ReplyPreview.js +318 -135
  752. package/lib/components/ReplyPreview.js.map +1 -1
  753. package/lib/components/SelectionBar.d.ts +17 -0
  754. package/lib/components/SelectionBar.d.ts.map +1 -0
  755. package/lib/components/SelectionBar.js +214 -0
  756. package/lib/components/SelectionBar.js.map +1 -0
  757. package/lib/components/SelectionCheckbox.d.ts +12 -0
  758. package/lib/components/SelectionCheckbox.d.ts.map +1 -0
  759. package/lib/components/SelectionCheckbox.js +104 -0
  760. package/lib/components/SelectionCheckbox.js.map +1 -0
  761. package/lib/components/SendIcon.js +60 -26
  762. package/lib/components/SendIcon.js.map +1 -1
  763. package/lib/components/ServiceSpinner.d.ts +17 -0
  764. package/lib/components/ServiceSpinner.d.ts.map +1 -0
  765. package/lib/components/ServiceSpinner.js +77 -0
  766. package/lib/components/ServiceSpinner.js.map +1 -0
  767. package/lib/components/Spinner.d.ts +18 -0
  768. package/lib/components/Spinner.d.ts.map +1 -0
  769. package/lib/components/Spinner.js +169 -0
  770. package/lib/components/Spinner.js.map +1 -0
  771. package/lib/components/StreamingCursor.js +54 -9
  772. package/lib/components/StreamingCursor.js.map +1 -1
  773. package/lib/components/Ticks.d.ts +6 -5
  774. package/lib/components/Ticks.d.ts.map +1 -1
  775. package/lib/components/Ticks.js +272 -82
  776. package/lib/components/Ticks.js.map +1 -1
  777. package/lib/components/TouchableOpacity.d.ts.map +1 -1
  778. package/lib/components/TouchableOpacity.js +153 -51
  779. package/lib/components/TouchableOpacity.js.map +1 -1
  780. package/lib/components/TranscribeButton.d.ts +45 -0
  781. package/lib/components/TranscribeButton.d.ts.map +1 -0
  782. package/lib/components/TranscribeButton.js +549 -0
  783. package/lib/components/TranscribeButton.js.map +1 -0
  784. package/lib/components/TypingStatus.d.ts +29 -0
  785. package/lib/components/TypingStatus.d.ts.map +1 -0
  786. package/lib/components/TypingStatus.js +446 -0
  787. package/lib/components/TypingStatus.js.map +1 -0
  788. package/lib/components/UnreadSeparator.d.ts +8 -0
  789. package/lib/components/UnreadSeparator.d.ts.map +1 -0
  790. package/lib/components/UnreadSeparator.js +101 -0
  791. package/lib/components/UnreadSeparator.js.map +1 -0
  792. package/lib/components/VideoNoteCapture/ProgressRing.d.ts +16 -0
  793. package/lib/components/VideoNoteCapture/ProgressRing.d.ts.map +1 -0
  794. package/lib/components/VideoNoteCapture/ProgressRing.js +75 -0
  795. package/lib/components/VideoNoteCapture/ProgressRing.js.map +1 -0
  796. package/lib/components/VideoNoteCapture/VideoNoteCaptureView.d.ts +31 -0
  797. package/lib/components/VideoNoteCapture/VideoNoteCaptureView.d.ts.map +1 -0
  798. package/lib/components/VideoNoteCapture/VideoNoteCaptureView.js +500 -0
  799. package/lib/components/VideoNoteCapture/VideoNoteCaptureView.js.map +1 -0
  800. package/lib/components/VideoNoteCapture/VideoNotePreviewView.d.ts +12 -0
  801. package/lib/components/VideoNoteCapture/VideoNotePreviewView.d.ts.map +1 -0
  802. package/lib/components/VideoNoteCapture/VideoNotePreviewView.js +105 -0
  803. package/lib/components/VideoNoteCapture/VideoNotePreviewView.js.map +1 -0
  804. package/lib/components/VideoNoteCapture/VideoNoteStage.d.ts +12 -0
  805. package/lib/components/VideoNoteCapture/VideoNoteStage.d.ts.map +1 -0
  806. package/lib/components/VideoNoteCapture/VideoNoteStage.js +95 -0
  807. package/lib/components/VideoNoteCapture/VideoNoteStage.js.map +1 -0
  808. package/lib/components/VideoNoteCapture/constants.d.ts +50 -0
  809. package/lib/components/VideoNoteCapture/constants.d.ts.map +1 -0
  810. package/lib/components/VideoNoteCapture/constants.js +53 -0
  811. package/lib/components/VideoNoteCapture/constants.js.map +1 -0
  812. package/lib/components/VideoNoteCapture/index.d.ts +3 -0
  813. package/lib/components/VideoNoteCapture/index.d.ts.map +1 -0
  814. package/lib/components/VideoNoteCapture/index.js +2 -0
  815. package/lib/components/VideoNoteCapture/index.js.map +1 -0
  816. package/lib/components/VideoNoteCapture/optional.d.ts +6 -0
  817. package/lib/components/VideoNoteCapture/optional.d.ts.map +1 -0
  818. package/lib/components/VideoNoteCapture/optional.js +15 -0
  819. package/lib/components/VideoNoteCapture/optional.js.map +1 -0
  820. package/lib/components/VideoNoteCapture/sessionState.d.ts +10 -0
  821. package/lib/components/VideoNoteCapture/sessionState.d.ts.map +1 -0
  822. package/lib/components/VideoNoteCapture/sessionState.js +19 -0
  823. package/lib/components/VideoNoteCapture/sessionState.js.map +1 -0
  824. package/lib/components/VideoNoteCapture/styles.d.ts +84 -0
  825. package/lib/components/VideoNoteCapture/styles.d.ts.map +1 -0
  826. package/lib/components/VideoNoteCapture/styles.js +86 -0
  827. package/lib/components/VideoNoteCapture/styles.js.map +1 -0
  828. package/lib/components/VideoNoteCapture/types.d.ts +54 -0
  829. package/lib/components/VideoNoteCapture/types.d.ts.map +1 -0
  830. package/lib/components/VideoNoteCapture/types.js +2 -0
  831. package/lib/components/VideoNoteCapture/types.js.map +1 -0
  832. package/lib/components/VideoNoteCapture/useRoundAnimation.d.ts +47 -0
  833. package/lib/components/VideoNoteCapture/useRoundAnimation.d.ts.map +1 -0
  834. package/lib/components/VideoNoteCapture/useRoundAnimation.js +216 -0
  835. package/lib/components/VideoNoteCapture/useRoundAnimation.js.map +1 -0
  836. package/lib/components/VideoNoteCapture/useRoundLayout.d.ts +14 -0
  837. package/lib/components/VideoNoteCapture/useRoundLayout.d.ts.map +1 -0
  838. package/lib/components/VideoNoteCapture/useRoundLayout.js +61 -0
  839. package/lib/components/VideoNoteCapture/useRoundLayout.js.map +1 -0
  840. package/lib/components/VideoNoteCapture/useVideoNoteSession.d.ts +25 -0
  841. package/lib/components/VideoNoteCapture/useVideoNoteSession.d.ts.map +1 -0
  842. package/lib/components/VideoNoteCapture/useVideoNoteSession.js +611 -0
  843. package/lib/components/VideoNoteCapture/useVideoNoteSession.js.map +1 -0
  844. package/lib/components/VideoNoteOverlay.d.ts +42 -11
  845. package/lib/components/VideoNoteOverlay.d.ts.map +1 -1
  846. package/lib/components/VideoNoteOverlay.js +722 -135
  847. package/lib/components/VideoNoteOverlay.js.map +1 -1
  848. package/lib/components/VideoNoteRecorder/LiveVideoNote.d.ts +6 -0
  849. package/lib/components/VideoNoteRecorder/LiveVideoNote.d.ts.map +1 -0
  850. package/lib/components/VideoNoteRecorder/LiveVideoNote.js +205 -0
  851. package/lib/components/VideoNoteRecorder/LiveVideoNote.js.map +1 -0
  852. package/lib/components/VideoNoteRecorder/RecorderChrome.d.ts +35 -0
  853. package/lib/components/VideoNoteRecorder/RecorderChrome.d.ts.map +1 -0
  854. package/lib/components/VideoNoteRecorder/RecorderChrome.js +350 -0
  855. package/lib/components/VideoNoteRecorder/RecorderChrome.js.map +1 -0
  856. package/lib/components/VideoNoteRecorder/UnavailableVideoNote.d.ts +10 -0
  857. package/lib/components/VideoNoteRecorder/UnavailableVideoNote.d.ts.map +1 -0
  858. package/lib/components/VideoNoteRecorder/UnavailableVideoNote.js +52 -0
  859. package/lib/components/VideoNoteRecorder/UnavailableVideoNote.js.map +1 -0
  860. package/lib/components/VideoNoteRecorder/constants.d.ts +16 -0
  861. package/lib/components/VideoNoteRecorder/constants.d.ts.map +1 -0
  862. package/lib/components/VideoNoteRecorder/constants.js +30 -0
  863. package/lib/components/VideoNoteRecorder/constants.js.map +1 -0
  864. package/lib/components/{VideoNoteRecorder.d.ts → VideoNoteRecorder/index.d.ts} +5 -10
  865. package/lib/components/VideoNoteRecorder/index.d.ts.map +1 -0
  866. package/lib/components/VideoNoteRecorder/index.js +26 -0
  867. package/lib/components/VideoNoteRecorder/index.js.map +1 -0
  868. package/lib/components/VideoNoteRecorder/styles.d.ts +159 -0
  869. package/lib/components/VideoNoteRecorder/styles.d.ts.map +1 -0
  870. package/lib/components/VideoNoteRecorder/styles.js +170 -0
  871. package/lib/components/VideoNoteRecorder/styles.js.map +1 -0
  872. package/lib/components/VideoNoteRecorder/types.d.ts +7 -0
  873. package/lib/components/VideoNoteRecorder/types.d.ts.map +1 -0
  874. package/lib/components/VideoNoteRecorder/types.js +2 -0
  875. package/lib/components/VideoNoteRecorder/types.js.map +1 -0
  876. package/lib/components/VideoNoteRecorder/useRecordingTimer.d.ts +10 -0
  877. package/lib/components/VideoNoteRecorder/useRecordingTimer.d.ts.map +1 -0
  878. package/lib/components/VideoNoteRecorder/useRecordingTimer.js +134 -0
  879. package/lib/components/VideoNoteRecorder/useRecordingTimer.js.map +1 -0
  880. package/lib/components/VideoNoteRecorder/useVideoNoteRecording.d.ts +28 -0
  881. package/lib/components/VideoNoteRecorder/useVideoNoteRecording.d.ts.map +1 -0
  882. package/lib/components/VideoNoteRecorder/useVideoNoteRecording.js +287 -0
  883. package/lib/components/VideoNoteRecorder/useVideoNoteRecording.js.map +1 -0
  884. package/lib/components/VideoNoteRecorder/visionCameraHooks.d.ts +6 -0
  885. package/lib/components/VideoNoteRecorder/visionCameraHooks.d.ts.map +1 -0
  886. package/lib/components/VideoNoteRecorder/visionCameraHooks.js +11 -0
  887. package/lib/components/VideoNoteRecorder/visionCameraHooks.js.map +1 -0
  888. package/lib/components/VideoRecordButton.d.ts +1 -1
  889. package/lib/components/VideoRecordButton.d.ts.map +1 -1
  890. package/lib/components/VideoRecordButton.js +221 -92
  891. package/lib/components/VideoRecordButton.js.map +1 -1
  892. package/lib/components/ViewOnceBadge.d.ts +23 -0
  893. package/lib/components/ViewOnceBadge.d.ts.map +1 -0
  894. package/lib/components/ViewOnceBadge.js +233 -0
  895. package/lib/components/ViewOnceBadge.js.map +1 -0
  896. package/lib/components/VoiceMessageInput/RecordedVoicePreview.d.ts +16 -0
  897. package/lib/components/VoiceMessageInput/RecordedVoicePreview.d.ts.map +1 -0
  898. package/lib/components/VoiceMessageInput/RecordedVoicePreview.js +503 -0
  899. package/lib/components/VoiceMessageInput/RecordedVoicePreview.js.map +1 -0
  900. package/lib/components/VoiceMessageInput/constants.d.ts +16 -0
  901. package/lib/components/VoiceMessageInput/constants.d.ts.map +1 -0
  902. package/lib/components/VoiceMessageInput/constants.js +22 -0
  903. package/lib/components/VoiceMessageInput/constants.js.map +1 -0
  904. package/lib/components/VoiceMessageInput/formatElapsed.d.ts +2 -0
  905. package/lib/components/VoiceMessageInput/formatElapsed.d.ts.map +1 -0
  906. package/lib/components/VoiceMessageInput/formatElapsed.js +7 -0
  907. package/lib/components/VoiceMessageInput/formatElapsed.js.map +1 -0
  908. package/lib/components/VoiceMessageInput/index.d.ts +9 -0
  909. package/lib/components/VoiceMessageInput/index.d.ts.map +1 -0
  910. package/lib/components/VoiceMessageInput/index.js +148 -0
  911. package/lib/components/VoiceMessageInput/index.js.map +1 -0
  912. package/lib/components/VoiceMessageInput/previewStyles.d.ts +77 -0
  913. package/lib/components/VoiceMessageInput/previewStyles.d.ts.map +1 -0
  914. package/lib/components/VoiceMessageInput/previewStyles.js +80 -0
  915. package/lib/components/VoiceMessageInput/previewStyles.js.map +1 -0
  916. package/lib/components/VoiceMessageInput/previewWaveform.d.ts +15 -0
  917. package/lib/components/VoiceMessageInput/previewWaveform.d.ts.map +1 -0
  918. package/lib/components/VoiceMessageInput/previewWaveform.js +27 -0
  919. package/lib/components/VoiceMessageInput/previewWaveform.js.map +1 -0
  920. package/lib/components/VoiceMessageInput/recorder.d.ts +18 -0
  921. package/lib/components/VoiceMessageInput/recorder.d.ts.map +1 -0
  922. package/lib/components/VoiceMessageInput/recorder.js +80 -0
  923. package/lib/components/VoiceMessageInput/recorder.js.map +1 -0
  924. package/lib/components/VoiceMessageInput/types.d.ts +56 -0
  925. package/lib/components/VoiceMessageInput/types.d.ts.map +1 -0
  926. package/lib/components/VoiceMessageInput/types.js +2 -0
  927. package/lib/components/VoiceMessageInput/types.js.map +1 -0
  928. package/lib/components/VoiceMessageInput/useLazyRecorder.d.ts +7 -0
  929. package/lib/components/VoiceMessageInput/useLazyRecorder.d.ts.map +1 -0
  930. package/lib/components/VoiceMessageInput/useLazyRecorder.js +61 -0
  931. package/lib/components/VoiceMessageInput/useLazyRecorder.js.map +1 -0
  932. package/lib/components/VoiceMessageInput/useStateReport.d.ts +16 -0
  933. package/lib/components/VoiceMessageInput/useStateReport.d.ts.map +1 -0
  934. package/lib/components/VoiceMessageInput/useStateReport.js +81 -0
  935. package/lib/components/VoiceMessageInput/useStateReport.js.map +1 -0
  936. package/lib/components/VoiceMessageInput/useTakePreviewActions.d.ts +34 -0
  937. package/lib/components/VoiceMessageInput/useTakePreviewActions.d.ts.map +1 -0
  938. package/lib/components/VoiceMessageInput/useTakePreviewActions.js +207 -0
  939. package/lib/components/VoiceMessageInput/useTakePreviewActions.js.map +1 -0
  940. package/lib/components/VoiceMessageInput/useVoiceTake.d.ts +25 -0
  941. package/lib/components/VoiceMessageInput/useVoiceTake.d.ts.map +1 -0
  942. package/lib/components/VoiceMessageInput/useVoiceTake.js +424 -0
  943. package/lib/components/VoiceMessageInput/useVoiceTake.js.map +1 -0
  944. package/lib/components/WaveformPlayer/Bars.d.ts +30 -0
  945. package/lib/components/WaveformPlayer/Bars.d.ts.map +1 -0
  946. package/lib/components/WaveformPlayer/Bars.js +171 -0
  947. package/lib/components/WaveformPlayer/Bars.js.map +1 -0
  948. package/lib/components/WaveformPlayer/VoiceButton.d.ts +23 -0
  949. package/lib/components/WaveformPlayer/VoiceButton.d.ts.map +1 -0
  950. package/lib/components/WaveformPlayer/VoiceButton.js +111 -0
  951. package/lib/components/WaveformPlayer/VoiceButton.js.map +1 -0
  952. package/lib/components/WaveformPlayer/WaveformTrack.d.ts +31 -0
  953. package/lib/components/WaveformPlayer/WaveformTrack.d.ts.map +1 -0
  954. package/lib/components/WaveformPlayer/WaveformTrack.js +199 -0
  955. package/lib/components/WaveformPlayer/WaveformTrack.js.map +1 -0
  956. package/lib/components/WaveformPlayer/audio.d.ts +23 -0
  957. package/lib/components/WaveformPlayer/audio.d.ts.map +1 -0
  958. package/lib/components/WaveformPlayer/audio.js +97 -0
  959. package/lib/components/WaveformPlayer/audio.js.map +1 -0
  960. package/lib/components/WaveformPlayer/index.d.ts +13 -0
  961. package/lib/components/WaveformPlayer/index.d.ts.map +1 -0
  962. package/lib/components/WaveformPlayer/index.js +475 -0
  963. package/lib/components/WaveformPlayer/index.js.map +1 -0
  964. package/lib/components/WaveformPlayer/styles.d.ts +257 -0
  965. package/lib/components/WaveformPlayer/styles.d.ts.map +1 -0
  966. package/lib/components/WaveformPlayer/styles.js +120 -0
  967. package/lib/components/WaveformPlayer/styles.js.map +1 -0
  968. package/lib/components/WaveformPlayer/types.d.ts +32 -0
  969. package/lib/components/WaveformPlayer/types.d.ts.map +1 -0
  970. package/lib/components/WaveformPlayer/types.js +2 -0
  971. package/lib/components/WaveformPlayer/types.js.map +1 -0
  972. package/lib/components/WaveformPlayer/useSendFlightReveal.d.ts +21 -0
  973. package/lib/components/WaveformPlayer/useSendFlightReveal.d.ts.map +1 -0
  974. package/lib/components/WaveformPlayer/useSendFlightReveal.js +105 -0
  975. package/lib/components/WaveformPlayer/useSendFlightReveal.js.map +1 -0
  976. package/lib/components/WaveformPlayer/useVoicePlayback.d.ts +39 -0
  977. package/lib/components/WaveformPlayer/useVoicePlayback.d.ts.map +1 -0
  978. package/lib/components/WaveformPlayer/useVoicePlayback.js +401 -0
  979. package/lib/components/WaveformPlayer/useVoicePlayback.js.map +1 -0
  980. package/lib/components/WaveformPlayer/useVoiceSource.d.ts +38 -0
  981. package/lib/components/WaveformPlayer/useVoiceSource.d.ts.map +1 -0
  982. package/lib/components/WaveformPlayer/useVoiceSource.js +244 -0
  983. package/lib/components/WaveformPlayer/useVoiceSource.js.map +1 -0
  984. package/lib/components/WaveformPlayer/useWaveformMotion.d.ts +16 -0
  985. package/lib/components/WaveformPlayer/useWaveformMotion.d.ts.map +1 -0
  986. package/lib/components/WaveformPlayer/useWaveformMotion.js +135 -0
  987. package/lib/components/WaveformPlayer/useWaveformMotion.js.map +1 -0
  988. package/lib/components/WaveformPlayer/useWaveformScrub.d.ts +16 -0
  989. package/lib/components/WaveformPlayer/useWaveformScrub.d.ts.map +1 -0
  990. package/lib/components/WaveformPlayer/useWaveformScrub.js +168 -0
  991. package/lib/components/WaveformPlayer/useWaveformScrub.js.map +1 -0
  992. package/lib/components/composerPanels.d.ts +13 -0
  993. package/lib/components/composerPanels.d.ts.map +1 -0
  994. package/lib/components/composerPanels.js +22 -0
  995. package/lib/components/composerPanels.js.map +1 -0
  996. package/lib/components/defaultMessageActions.d.ts +30 -0
  997. package/lib/components/defaultMessageActions.d.ts.map +1 -0
  998. package/lib/components/defaultMessageActions.js +124 -0
  999. package/lib/components/defaultMessageActions.js.map +1 -0
  1000. package/lib/components/earpiece.d.ts +56 -0
  1001. package/lib/components/earpiece.d.ts.map +1 -0
  1002. package/lib/components/earpiece.js +218 -0
  1003. package/lib/components/earpiece.js.map +1 -0
  1004. package/lib/components/floatingNoteMath.d.ts +66 -0
  1005. package/lib/components/floatingNoteMath.d.ts.map +1 -0
  1006. package/lib/components/floatingNoteMath.js +143 -0
  1007. package/lib/components/floatingNoteMath.js.map +1 -0
  1008. package/lib/components/haptics.d.ts +5 -0
  1009. package/lib/components/haptics.d.ts.map +1 -0
  1010. package/lib/components/haptics.js +26 -0
  1011. package/lib/components/haptics.js.map +1 -0
  1012. package/lib/components/mediaDownload.d.ts +14 -0
  1013. package/lib/components/mediaDownload.d.ts.map +1 -0
  1014. package/lib/components/mediaDownload.js +43 -0
  1015. package/lib/components/mediaDownload.js.map +1 -0
  1016. package/lib/components/mediaPalette.d.ts +7 -2
  1017. package/lib/components/mediaPalette.d.ts.map +1 -1
  1018. package/lib/components/mediaPalette.js +27 -15
  1019. package/lib/components/mediaPalette.js.map +1 -1
  1020. package/lib/components/mediaPlayback.d.ts +204 -5
  1021. package/lib/components/mediaPlayback.d.ts.map +1 -1
  1022. package/lib/components/mediaPlayback.js +746 -17
  1023. package/lib/components/mediaPlayback.js.map +1 -1
  1024. package/lib/components/mediaTransfer.d.ts +29 -0
  1025. package/lib/components/mediaTransfer.d.ts.map +1 -0
  1026. package/lib/components/mediaTransfer.js +52 -0
  1027. package/lib/components/mediaTransfer.js.map +1 -0
  1028. package/lib/components/mediaViewer/MediaViewer.d.ts +17 -0
  1029. package/lib/components/mediaViewer/MediaViewer.d.ts.map +1 -0
  1030. package/lib/components/mediaViewer/MediaViewer.js +347 -0
  1031. package/lib/components/mediaViewer/MediaViewer.js.map +1 -0
  1032. package/lib/components/mediaViewer/MediaViewerChrome.d.ts +14 -0
  1033. package/lib/components/mediaViewer/MediaViewerChrome.d.ts.map +1 -0
  1034. package/lib/components/mediaViewer/MediaViewerChrome.js +164 -0
  1035. package/lib/components/mediaViewer/MediaViewerChrome.js.map +1 -0
  1036. package/lib/components/mediaViewer/MediaViewerHost.d.ts +10 -0
  1037. package/lib/components/mediaViewer/MediaViewerHost.d.ts.map +1 -0
  1038. package/lib/components/mediaViewer/MediaViewerHost.js +76 -0
  1039. package/lib/components/mediaViewer/MediaViewerHost.js.map +1 -0
  1040. package/lib/components/mediaViewer/MediaViewerPage.d.ts +25 -0
  1041. package/lib/components/mediaViewer/MediaViewerPage.d.ts.map +1 -0
  1042. package/lib/components/mediaViewer/MediaViewerPage.js +194 -0
  1043. package/lib/components/mediaViewer/MediaViewerPage.js.map +1 -0
  1044. package/lib/components/mediaViewer/gallery.d.ts +27 -0
  1045. package/lib/components/mediaViewer/gallery.d.ts.map +1 -0
  1046. package/lib/components/mediaViewer/gallery.js +41 -0
  1047. package/lib/components/mediaViewer/gallery.js.map +1 -0
  1048. package/lib/components/messageHighlight.d.ts +41 -0
  1049. package/lib/components/messageHighlight.d.ts.map +1 -0
  1050. package/lib/components/messageHighlight.js +157 -0
  1051. package/lib/components/messageHighlight.js.map +1 -0
  1052. package/lib/components/messagePress.d.ts +14 -0
  1053. package/lib/components/messagePress.d.ts.map +1 -0
  1054. package/lib/components/messagePress.js +18 -0
  1055. package/lib/components/messagePress.js.map +1 -0
  1056. package/lib/components/messageSelection.d.ts +39 -0
  1057. package/lib/components/messageSelection.d.ts.map +1 -0
  1058. package/lib/components/messageSelection.js +135 -0
  1059. package/lib/components/messageSelection.js.map +1 -0
  1060. package/lib/components/recordingFeedback.d.ts +22 -0
  1061. package/lib/components/recordingFeedback.d.ts.map +1 -0
  1062. package/lib/components/recordingFeedback.js +80 -0
  1063. package/lib/components/recordingFeedback.js.map +1 -0
  1064. package/lib/components/recordingMeter.d.ts +19 -0
  1065. package/lib/components/recordingMeter.d.ts.map +1 -0
  1066. package/lib/components/recordingMeter.js +21 -0
  1067. package/lib/components/recordingMeter.js.map +1 -0
  1068. package/lib/components/roundNoteChrome.d.ts +107 -0
  1069. package/lib/components/roundNoteChrome.d.ts.map +1 -0
  1070. package/lib/components/roundNoteChrome.js +249 -0
  1071. package/lib/components/roundNoteChrome.js.map +1 -0
  1072. package/lib/components/roundNotePlayers.d.ts +78 -0
  1073. package/lib/components/roundNotePlayers.d.ts.map +1 -0
  1074. package/lib/components/roundNotePlayers.js +230 -0
  1075. package/lib/components/roundNotePlayers.js.map +1 -0
  1076. package/lib/components/sendFlight.d.ts +88 -0
  1077. package/lib/components/sendFlight.d.ts.map +1 -0
  1078. package/lib/components/sendFlight.js +146 -0
  1079. package/lib/components/sendFlight.js.map +1 -0
  1080. package/lib/components/viewOnce.d.ts +27 -0
  1081. package/lib/components/viewOnce.d.ts.map +1 -0
  1082. package/lib/components/viewOnce.js +168 -0
  1083. package/lib/components/viewOnce.js.map +1 -0
  1084. package/lib/components/visionCamera.d.ts +45 -0
  1085. package/lib/components/visionCamera.d.ts.map +1 -0
  1086. package/lib/components/visionCamera.js +117 -0
  1087. package/lib/components/visionCamera.js.map +1 -0
  1088. package/lib/components/voiceEditing.d.ts +34 -0
  1089. package/lib/components/voiceEditing.d.ts.map +1 -0
  1090. package/lib/components/voiceEditing.js +159 -0
  1091. package/lib/components/voiceEditing.js.map +1 -0
  1092. package/lib/components/voiceWaveform.d.ts +108 -0
  1093. package/lib/components/voiceWaveform.d.ts.map +1 -0
  1094. package/lib/components/voiceWaveform.js +165 -0
  1095. package/lib/components/voiceWaveform.js.map +1 -0
  1096. package/lib/components/wallpaperGradient.d.ts +16 -0
  1097. package/lib/components/wallpaperGradient.d.ts.map +1 -0
  1098. package/lib/components/wallpaperGradient.js +186 -0
  1099. package/lib/components/wallpaperGradient.js.map +1 -0
  1100. package/lib/components/windowInsets.d.ts +11 -0
  1101. package/lib/components/windowInsets.d.ts.map +1 -0
  1102. package/lib/components/windowInsets.js +44 -0
  1103. package/lib/components/windowInsets.js.map +1 -0
  1104. package/lib/dayjsLocales.js +15 -2
  1105. package/lib/dayjsLocales.js.map +1 -1
  1106. package/lib/emoji/EmojiGrid/BackspaceButton.d.ts +11 -0
  1107. package/lib/emoji/EmojiGrid/BackspaceButton.d.ts.map +1 -0
  1108. package/lib/emoji/EmojiGrid/BackspaceButton.js +111 -0
  1109. package/lib/emoji/EmojiGrid/BackspaceButton.js.map +1 -0
  1110. package/lib/emoji/EmojiGrid/EmojiRow.d.ts +15 -0
  1111. package/lib/emoji/EmojiGrid/EmojiRow.d.ts.map +1 -0
  1112. package/lib/emoji/EmojiGrid/EmojiRow.js +71 -0
  1113. package/lib/emoji/EmojiGrid/EmojiRow.js.map +1 -0
  1114. package/lib/emoji/EmojiGrid/Search.d.ts +29 -0
  1115. package/lib/emoji/EmojiGrid/Search.d.ts.map +1 -0
  1116. package/lib/emoji/EmojiGrid/Search.js +234 -0
  1117. package/lib/emoji/EmojiGrid/Search.js.map +1 -0
  1118. package/lib/emoji/EmojiGrid/TabStrip.d.ts +16 -0
  1119. package/lib/emoji/EmojiGrid/TabStrip.d.ts.map +1 -0
  1120. package/lib/emoji/EmojiGrid/TabStrip.js +237 -0
  1121. package/lib/emoji/EmojiGrid/TabStrip.js.map +1 -0
  1122. package/lib/emoji/EmojiGrid/TonePopup.d.ts +12 -0
  1123. package/lib/emoji/EmojiGrid/TonePopup.d.ts.map +1 -0
  1124. package/lib/emoji/EmojiGrid/TonePopup.js +137 -0
  1125. package/lib/emoji/EmojiGrid/TonePopup.js.map +1 -0
  1126. package/lib/emoji/EmojiGrid/constants.d.ts +29 -0
  1127. package/lib/emoji/EmojiGrid/constants.d.ts.map +1 -0
  1128. package/lib/emoji/EmojiGrid/constants.js +65 -0
  1129. package/lib/emoji/EmojiGrid/constants.js.map +1 -0
  1130. package/lib/emoji/EmojiGrid/index.d.ts +10 -0
  1131. package/lib/emoji/EmojiGrid/index.d.ts.map +1 -0
  1132. package/lib/emoji/EmojiGrid/index.js +450 -0
  1133. package/lib/emoji/EmojiGrid/index.js.map +1 -0
  1134. package/lib/emoji/EmojiGrid/items.d.ts +25 -0
  1135. package/lib/emoji/EmojiGrid/items.d.ts.map +1 -0
  1136. package/lib/emoji/EmojiGrid/items.js +75 -0
  1137. package/lib/emoji/EmojiGrid/items.js.map +1 -0
  1138. package/lib/emoji/EmojiGrid/styles.d.ts +181 -0
  1139. package/lib/emoji/EmojiGrid/styles.d.ts.map +1 -0
  1140. package/lib/emoji/EmojiGrid/styles.js +184 -0
  1141. package/lib/emoji/EmojiGrid/styles.js.map +1 -0
  1142. package/lib/emoji/EmojiGrid/types.d.ts +53 -0
  1143. package/lib/emoji/EmojiGrid/types.d.ts.map +1 -0
  1144. package/lib/emoji/EmojiGrid/types.js +2 -0
  1145. package/lib/emoji/EmojiGrid/types.js.map +1 -0
  1146. package/lib/emoji/EmojiGrid/useTabScroll.d.ts +19 -0
  1147. package/lib/emoji/EmojiGrid/useTabScroll.d.ts.map +1 -0
  1148. package/lib/emoji/EmojiGrid/useTabScroll.js +124 -0
  1149. package/lib/emoji/EmojiGrid/useTabScroll.js.map +1 -0
  1150. package/lib/emoji/EmojiKeyboard.d.ts +79 -0
  1151. package/lib/emoji/EmojiKeyboard.d.ts.map +1 -0
  1152. package/lib/emoji/EmojiKeyboard.js +445 -0
  1153. package/lib/emoji/EmojiKeyboard.js.map +1 -0
  1154. package/lib/emoji/defaultExpandedPicker.d.ts +5 -0
  1155. package/lib/emoji/defaultExpandedPicker.d.ts.map +1 -0
  1156. package/lib/emoji/defaultExpandedPicker.js +11 -0
  1157. package/lib/emoji/defaultExpandedPicker.js.map +1 -0
  1158. package/lib/emoji/emojiData.d.ts +2 -0
  1159. package/lib/emoji/emojiData.d.ts.map +1 -0
  1160. package/lib/emoji/emojiData.js +5 -0
  1161. package/lib/emoji/emojiData.js.map +1 -0
  1162. package/lib/emoji/emojiStore.d.ts +70 -0
  1163. package/lib/emoji/emojiStore.d.ts.map +1 -0
  1164. package/lib/emoji/emojiStore.js +246 -0
  1165. package/lib/emoji/emojiStore.js.map +1 -0
  1166. package/lib/emoji/textEditing.d.ts +20 -0
  1167. package/lib/emoji/textEditing.d.ts.map +1 -0
  1168. package/lib/emoji/textEditing.js +97 -0
  1169. package/lib/emoji/textEditing.js.map +1 -0
  1170. package/lib/emojiOnly.d.ts +11 -0
  1171. package/lib/emojiOnly.d.ts.map +1 -0
  1172. package/lib/emojiOnly.js +79 -0
  1173. package/lib/emojiOnly.js.map +1 -0
  1174. package/lib/gestures/useRowSwipe.d.ts +43 -0
  1175. package/lib/gestures/useRowSwipe.d.ts.map +1 -0
  1176. package/lib/gestures/useRowSwipe.js +74 -0
  1177. package/lib/gestures/useRowSwipe.js.map +1 -0
  1178. package/lib/hooks/useAnimatedPresence.d.ts +22 -0
  1179. package/lib/hooks/useAnimatedPresence.d.ts.map +1 -0
  1180. package/lib/hooks/useAnimatedPresence.js +97 -0
  1181. package/lib/hooks/useAnimatedPresence.js.map +1 -0
  1182. package/lib/hooks/useChatMessages.d.ts +39 -0
  1183. package/lib/hooks/useChatMessages.d.ts.map +1 -0
  1184. package/lib/hooks/useChatMessages.js +125 -0
  1185. package/lib/hooks/useChatMessages.js.map +1 -0
  1186. package/lib/hooks/useColorScheme.d.ts +7 -1
  1187. package/lib/hooks/useColorScheme.d.ts.map +1 -1
  1188. package/lib/hooks/useColorScheme.js +46 -8
  1189. package/lib/hooks/useColorScheme.js.map +1 -1
  1190. package/lib/hooks/useHasKeyboardProvider.js +18 -7
  1191. package/lib/hooks/useHasKeyboardProvider.js.map +1 -1
  1192. package/lib/hooks/useIcons.js +15 -2
  1193. package/lib/hooks/useIcons.js.map +1 -1
  1194. package/lib/hooks/useIsKeyboardVisible.js +39 -17
  1195. package/lib/hooks/useIsKeyboardVisible.js.map +1 -1
  1196. package/lib/hooks/useIsRTL.js +15 -2
  1197. package/lib/hooks/useIsRTL.js.map +1 -1
  1198. package/lib/hooks/useKeyboardVerticalOffset.d.ts +5 -3
  1199. package/lib/hooks/useKeyboardVerticalOffset.d.ts.map +1 -1
  1200. package/lib/hooks/useKeyboardVerticalOffset.js +52 -18
  1201. package/lib/hooks/useKeyboardVerticalOffset.js.map +1 -1
  1202. package/lib/hooks/useLabels.js +15 -2
  1203. package/lib/hooks/useLabels.js.map +1 -1
  1204. package/lib/hooks/useStreamingMessages.js +200 -86
  1205. package/lib/hooks/useStreamingMessages.js.map +1 -1
  1206. package/lib/hooks/useTheme.js +56 -7
  1207. package/lib/hooks/useTheme.js.map +1 -1
  1208. package/lib/hooks/useUpdateLayoutEffect.d.ts.map +1 -1
  1209. package/lib/hooks/useUpdateLayoutEffect.js +35 -11
  1210. package/lib/hooks/useUpdateLayoutEffect.js.map +1 -1
  1211. package/lib/i18n.d.ts +182 -0
  1212. package/lib/i18n.d.ts.map +1 -1
  1213. package/lib/i18n.js +121 -23
  1214. package/lib/i18n.js.map +1 -1
  1215. package/lib/index.d.ts +31 -1
  1216. package/lib/index.d.ts.map +1 -1
  1217. package/lib/index.js +18 -1
  1218. package/lib/index.js.map +1 -1
  1219. package/lib/linkParser.js +318 -185
  1220. package/lib/linkParser.js.map +1 -1
  1221. package/lib/locales/ar.d.ts.map +1 -1
  1222. package/lib/locales/ar.js +110 -19
  1223. package/lib/locales/ar.js.map +1 -1
  1224. package/lib/locales/de.d.ts.map +1 -1
  1225. package/lib/locales/de.js +110 -19
  1226. package/lib/locales/de.js.map +1 -1
  1227. package/lib/locales/es.d.ts.map +1 -1
  1228. package/lib/locales/es.js +110 -19
  1229. package/lib/locales/es.js.map +1 -1
  1230. package/lib/locales/fr.d.ts.map +1 -1
  1231. package/lib/locales/fr.js +110 -19
  1232. package/lib/locales/fr.js.map +1 -1
  1233. package/lib/locales/hi.d.ts.map +1 -1
  1234. package/lib/locales/hi.js +110 -19
  1235. package/lib/locales/hi.js.map +1 -1
  1236. package/lib/locales/id.d.ts.map +1 -1
  1237. package/lib/locales/id.js +110 -19
  1238. package/lib/locales/id.js.map +1 -1
  1239. package/lib/locales/index.js +19 -5
  1240. package/lib/locales/index.js.map +1 -1
  1241. package/lib/locales/it.d.ts.map +1 -1
  1242. package/lib/locales/it.js +110 -19
  1243. package/lib/locales/it.js.map +1 -1
  1244. package/lib/locales/ja.d.ts.map +1 -1
  1245. package/lib/locales/ja.js +110 -19
  1246. package/lib/locales/ja.js.map +1 -1
  1247. package/lib/locales/ko.d.ts.map +1 -1
  1248. package/lib/locales/ko.js +110 -19
  1249. package/lib/locales/ko.js.map +1 -1
  1250. package/lib/locales/nl.d.ts.map +1 -1
  1251. package/lib/locales/nl.js +110 -19
  1252. package/lib/locales/nl.js.map +1 -1
  1253. package/lib/locales/pl.d.ts.map +1 -1
  1254. package/lib/locales/pl.js +110 -19
  1255. package/lib/locales/pl.js.map +1 -1
  1256. package/lib/locales/pt.d.ts.map +1 -1
  1257. package/lib/locales/pt.js +110 -19
  1258. package/lib/locales/pt.js.map +1 -1
  1259. package/lib/locales/ru.d.ts.map +1 -1
  1260. package/lib/locales/ru.js +110 -19
  1261. package/lib/locales/ru.js.map +1 -1
  1262. package/lib/locales/tr.d.ts.map +1 -1
  1263. package/lib/locales/tr.js +110 -19
  1264. package/lib/locales/tr.js.map +1 -1
  1265. package/lib/locales/zh.d.ts.map +1 -1
  1266. package/lib/locales/zh.js +110 -19
  1267. package/lib/locales/zh.js.map +1 -1
  1268. package/lib/logging.d.ts +5 -0
  1269. package/lib/logging.d.ts.map +1 -1
  1270. package/lib/logging.js +13 -1
  1271. package/lib/logging.js.map +1 -1
  1272. package/lib/messageUtils.d.ts +19 -0
  1273. package/lib/messageUtils.d.ts.map +1 -0
  1274. package/lib/messageUtils.js +61 -0
  1275. package/lib/messageUtils.js.map +1 -0
  1276. package/lib/motion.d.ts +21 -0
  1277. package/lib/motion.d.ts.map +1 -0
  1278. package/lib/motion.js +30 -0
  1279. package/lib/motion.js.map +1 -0
  1280. package/lib/optional/index.d.ts +99 -0
  1281. package/lib/optional/index.d.ts.map +1 -0
  1282. package/lib/optional/index.js +284 -0
  1283. package/lib/optional/index.js.map +1 -0
  1284. package/lib/rtl.js +7 -5
  1285. package/lib/rtl.js.map +1 -1
  1286. package/lib/store.d.ts +40 -0
  1287. package/lib/store.d.ts.map +1 -0
  1288. package/lib/store.js +127 -0
  1289. package/lib/store.js.map +1 -0
  1290. package/lib/styles.d.ts +2 -2
  1291. package/lib/styles.d.ts.map +1 -1
  1292. package/lib/styles.js +15 -15
  1293. package/lib/styles.js.map +1 -1
  1294. package/lib/types.js +1 -0
  1295. package/lib/types.js.map +1 -1
  1296. package/lib/utils.d.ts +15 -0
  1297. package/lib/utils.d.ts.map +1 -1
  1298. package/lib/utils.js +199 -94
  1299. package/lib/utils.js.map +1 -1
  1300. package/llms.txt +133 -31
  1301. package/package.json +89 -46
  1302. package/lib/InputToolbar.d.ts +0 -49
  1303. package/lib/InputToolbar.d.ts.map +0 -1
  1304. package/lib/InputToolbar.js +0 -338
  1305. package/lib/InputToolbar.js.map +0 -1
  1306. package/lib/MessageVideo.d.ts.map +0 -1
  1307. package/lib/MessageVideo.js +0 -162
  1308. package/lib/MessageVideo.js.map +0 -1
  1309. package/lib/MessagesContainer/FlashList.d.ts +0 -9
  1310. package/lib/MessagesContainer/FlashList.d.ts.map +0 -1
  1311. package/lib/MessagesContainer/FlashList.js +0 -23
  1312. package/lib/MessagesContainer/FlashList.js.map +0 -1
  1313. package/lib/components/ContextMenu.d.ts +0 -25
  1314. package/lib/components/ContextMenu.d.ts.map +0 -1
  1315. package/lib/components/ContextMenu.js +0 -122
  1316. package/lib/components/ContextMenu.js.map +0 -1
  1317. package/lib/components/VideoNoteRecorder.d.ts.map +0 -1
  1318. package/lib/components/VideoNoteRecorder.js +0 -634
  1319. package/lib/components/VideoNoteRecorder.js.map +0 -1
  1320. package/lib/components/VoiceMessageInput.d.ts +0 -33
  1321. package/lib/components/VoiceMessageInput.d.ts.map +0 -1
  1322. package/lib/components/VoiceMessageInput.js +0 -403
  1323. package/lib/components/VoiceMessageInput.js.map +0 -1
  1324. package/lib/components/WaveformPlayer.d.ts +0 -19
  1325. package/lib/components/WaveformPlayer.d.ts.map +0 -1
  1326. package/lib/components/WaveformPlayer.js +0 -367
  1327. package/lib/components/WaveformPlayer.js.map +0 -1
@@ -0,0 +1,611 @@
1
+ import { c as _c } from "react/compiler-runtime";
2
+ import React, { useCallback, useEffect, useLayoutEffect, useRef, useState } from 'react';
3
+ import { createStore } from '../../store';
4
+ import { stopAllPlayback } from '../mediaPlayback';
5
+ import { recordingHaptic } from '../recordingFeedback';
6
+ import { expectSendFlight } from '../sendFlight';
7
+ import { getCameraPermissionStatus, getMicrophonePermissionStatus, isVisionCameraAvailable, requestCameraPermission, requestMicrophonePermission } from '../visionCamera';
8
+ import { DEFAULT_MIN_DURATION_MS, DIM_ANIMATION_MS, FINISH_TIMEOUT_MS, FLIGHT_CLOSE_MS, LIMIT_LEAD_MS, PAUSE_HIDE_LEAD_MS, SLIDE_OUT_MIN_MS } from './constants';
9
+ import { canPreview } from './optional';
10
+ import { buttonPhaseOf, overlayKindOf, ringProgressOf, withFileScheme } from './sessionState';
11
+ import { VideoNoteCaptureView } from './VideoNoteCaptureView';
12
+ import { VideoNotePreviewView } from './VideoNotePreviewView';
13
+ import { VideoNoteStage } from './VideoNoteStage';
14
+
15
+ /**
16
+ * The round video note take, driven by the composer's own record
17
+ * button: hold to record, release to send, slide left to cancel, slide up to
18
+ * lock. The camera opens
19
+ * under the finger and starts recording as soon as it is initialized. A
20
+ * locked take can be paused and resumed: the recorder holds its file open, so
21
+ * the take goes on in the same video. The time limit stops into a looping
22
+ * preview of the finished file instead of sending.
23
+ *
24
+ * Only used when vision-camera's native module is linked; the system-camera
25
+ * fallback keeps its tap-to-open button.
26
+ */
27
+ export function useVideoNoteSession(t0) {
28
+ const $ = _c(79);
29
+ const {
30
+ config,
31
+ onSend,
32
+ elapsedStore: elapsedStoreProp
33
+ } = t0;
34
+ const [phase, setPhaseState] = useState("idle");
35
+ const [isLocked, setIsLocked] = useState(false);
36
+ const [ownElapsedStore] = useState(_temp);
37
+ const elapsedStore = elapsedStoreProp ?? ownElapsedStore;
38
+ const [isPastPauseLead, setIsPastPauseLead] = useState(false);
39
+ const [isFlashOn, setIsFlashOn] = useState(false);
40
+ const [facing, setFacing] = useState("front");
41
+ const [previewUri, setPreviewUri] = useState(null);
42
+ const [isViewOnce, setIsViewOnce] = useState(false);
43
+ const isViewOnceRef = useRef(false);
44
+ const [closing, setClosing] = useState(null);
45
+ const phaseRef = useRef("idle");
46
+ const cameraRef = useRef(null);
47
+ const startedAtRef = useRef(0);
48
+ const durationRef = useRef(0);
49
+ const [takeDurationMs, setTakeDurationMs] = useState(0);
50
+ const abortedRef = useRef(false);
51
+ const timerRef = useRef(null);
52
+ const finishTimeoutRef = useRef(null);
53
+ const closingTimerRef = useRef(null);
54
+ const previewUriRef = useRef(null);
55
+ const elapsedRef = useRef(0);
56
+ const configRef = useRef(config);
57
+ const onSendRef = useRef(onSend);
58
+ let t1;
59
+ if ($[0] !== config || $[1] !== isViewOnce || $[2] !== onSend || $[3] !== previewUri) {
60
+ t1 = () => {
61
+ isViewOnceRef.current = isViewOnce;
62
+ previewUriRef.current = previewUri;
63
+ configRef.current = config;
64
+ onSendRef.current = onSend;
65
+ };
66
+ $[0] = config;
67
+ $[1] = isViewOnce;
68
+ $[2] = onSend;
69
+ $[3] = previewUri;
70
+ $[4] = t1;
71
+ } else {
72
+ t1 = $[4];
73
+ }
74
+ useLayoutEffect(t1);
75
+ const maxMs = (config?.maxDuration ?? 60) * 1000;
76
+ const minDurationMs = config?.minDurationMs ?? DEFAULT_MIN_DURATION_MS;
77
+ let t2;
78
+ if ($[5] === Symbol.for("react.memo_cache_sentinel")) {
79
+ t2 = next => {
80
+ phaseRef.current = next;
81
+ setPhaseState(next);
82
+ };
83
+ $[5] = t2;
84
+ } else {
85
+ t2 = $[5];
86
+ }
87
+ const setPhase = t2;
88
+ let t3;
89
+ if ($[6] === Symbol.for("react.memo_cache_sentinel")) {
90
+ t3 = () => {
91
+ if (timerRef.current) {
92
+ clearInterval(timerRef.current);
93
+ timerRef.current = null;
94
+ }
95
+ if (finishTimeoutRef.current) {
96
+ clearTimeout(finishTimeoutRef.current);
97
+ finishTimeoutRef.current = null;
98
+ }
99
+ };
100
+ $[6] = t3;
101
+ } else {
102
+ t3 = $[6];
103
+ }
104
+ const clearTimers = t3;
105
+ let t4;
106
+ if ($[7] === Symbol.for("react.memo_cache_sentinel")) {
107
+ t4 = t5 => {
108
+ const isFlight = t5 === undefined ? false : t5;
109
+ const was = phaseRef.current;
110
+ if (was !== "idle") {
111
+ const recordedMs = was === "recording" ? Date.now() - startedAtRef.current : was === "preparing" ? 0 : durationRef.current;
112
+ if (closingTimerRef.current) {
113
+ clearTimeout(closingTimerRef.current);
114
+ }
115
+ setClosing({
116
+ kind: was === "preview" && previewUriRef.current ? "preview" : "capture",
117
+ isSlideOut: recordedMs > SLIDE_OUT_MIN_MS,
118
+ uri: previewUriRef.current,
119
+ isFlight,
120
+ fromPhase: was,
121
+ elapsed: elapsedRef.current
122
+ });
123
+ closingTimerRef.current = setTimeout(() => {
124
+ closingTimerRef.current = null;
125
+ setClosing(null);
126
+ }, isFlight ? FLIGHT_CLOSE_MS : DIM_ANIMATION_MS);
127
+ }
128
+ clearTimers();
129
+ startedAtRef.current = 0;
130
+ setPhase("idle");
131
+ setIsLocked(false);
132
+ elapsedRef.current = 0;
133
+ setIsFlashOn(false);
134
+ setPreviewUri(null);
135
+ };
136
+ $[7] = t4;
137
+ } else {
138
+ t4 = $[7];
139
+ }
140
+ const close = t4;
141
+ let t5;
142
+ if ($[8] === Symbol.for("react.memo_cache_sentinel")) {
143
+ t5 = () => {
144
+ cameraRef.current?.stopRecording().catch(_temp2);
145
+ };
146
+ $[8] = t5;
147
+ } else {
148
+ t5 = $[8];
149
+ }
150
+ const stopCapture = t5;
151
+ let t6;
152
+ if ($[9] === Symbol.for("react.memo_cache_sentinel")) {
153
+ t6 = uri => {
154
+ expectSendFlight("round");
155
+ onSendRef.current?.({
156
+ video: uri,
157
+ videoNote: true,
158
+ duration: Math.round(durationRef.current / 1000),
159
+ ...(isViewOnceRef.current ? {
160
+ isViewOnce: true
161
+ } : null)
162
+ }, false);
163
+ };
164
+ $[9] = t6;
165
+ } else {
166
+ t6 = $[9];
167
+ }
168
+ const sendVideo = t6;
169
+ let t7;
170
+ if ($[10] !== elapsedStore || $[11] !== minDurationMs) {
171
+ t7 = outcome => {
172
+ const current = phaseRef.current;
173
+ if (current === "preparing") {
174
+ close();
175
+ if (outcome !== "cancel") {
176
+ configRef.current?.onTooShort?.();
177
+ }
178
+ return;
179
+ }
180
+ if (current !== "recording") {
181
+ return;
182
+ }
183
+ const duration = Date.now() - startedAtRef.current;
184
+ const isTooShort = duration < minDurationMs;
185
+ if (outcome === "cancel" || isTooShort) {
186
+ abortedRef.current = true;
187
+ stopCapture();
188
+ close();
189
+ if (outcome !== "cancel") {
190
+ configRef.current?.onTooShort?.();
191
+ }
192
+ return;
193
+ }
194
+ durationRef.current = duration;
195
+ setTakeDurationMs(duration);
196
+ elapsedStore.set(duration);
197
+ clearTimers();
198
+ setPhase(outcome === "preview" ? "stopping" : "finishing");
199
+ stopCapture();
200
+ finishTimeoutRef.current = setTimeout(() => close(), FINISH_TIMEOUT_MS);
201
+ };
202
+ $[10] = elapsedStore;
203
+ $[11] = minDurationMs;
204
+ $[12] = t7;
205
+ } else {
206
+ t7 = $[12];
207
+ }
208
+ const stopTake = t7;
209
+ const stopTakeRef = useRef(stopTake);
210
+ let t8;
211
+ if ($[13] !== stopTake) {
212
+ t8 = () => {
213
+ stopTakeRef.current = stopTake;
214
+ };
215
+ $[13] = stopTake;
216
+ $[14] = t8;
217
+ } else {
218
+ t8 = $[14];
219
+ }
220
+ useLayoutEffect(t8);
221
+ let t9;
222
+ if ($[15] === Symbol.for("react.memo_cache_sentinel")) {
223
+ t9 = () => {
224
+ if (phaseRef.current !== "idle" || !isVisionCameraAvailable) {
225
+ return;
226
+ }
227
+ stopAllPlayback();
228
+ const hasCamera = getCameraPermissionStatus() === "authorized";
229
+ const hasMicrophone = getMicrophonePermissionStatus() === "authorized";
230
+ if (!hasCamera || !hasMicrophone) {
231
+ (async () => {
232
+ const camera = hasCamera || (await requestCameraPermission());
233
+ const mic = hasMicrophone || (await requestMicrophonePermission());
234
+ if (!camera || !mic) {
235
+ configRef.current?.onPermissionDenied?.();
236
+ }
237
+ })().catch(error => {
238
+ configRef.current?.onError?.(error);
239
+ });
240
+ return;
241
+ }
242
+ abortedRef.current = false;
243
+ if (closingTimerRef.current) {
244
+ clearTimeout(closingTimerRef.current);
245
+ closingTimerRef.current = null;
246
+ }
247
+ setClosing(null);
248
+ setFacing("front");
249
+ setIsViewOnce(false);
250
+ setPhase("preparing");
251
+ };
252
+ $[15] = t9;
253
+ } else {
254
+ t9 = $[15];
255
+ }
256
+ const start = t9;
257
+ let t10;
258
+ if ($[16] !== elapsedStore || $[17] !== maxMs) {
259
+ t10 = fromMs => {
260
+ startedAtRef.current = Date.now() - fromMs;
261
+ setPhase("recording");
262
+ clearTimers();
263
+ timerRef.current = setInterval(() => {
264
+ const ms = Date.now() - startedAtRef.current;
265
+ elapsedRef.current = ms;
266
+ elapsedStore.set(ms);
267
+ setIsPastPauseLead(ms >= maxMs - PAUSE_HIDE_LEAD_MS);
268
+ if (ms >= maxMs - LIMIT_LEAD_MS) {
269
+ stopTakeRef.current(canPreview ? "preview" : "send");
270
+ }
271
+ }, 100);
272
+ };
273
+ $[16] = elapsedStore;
274
+ $[17] = maxMs;
275
+ $[18] = t10;
276
+ } else {
277
+ t10 = $[18];
278
+ }
279
+ const startTicking = t10;
280
+ let t11;
281
+ if ($[19] !== elapsedStore || $[20] !== startTicking) {
282
+ t11 = () => {
283
+ if (phaseRef.current !== "preparing") {
284
+ return;
285
+ }
286
+ const recorder = cameraRef.current;
287
+ if (!recorder) {
288
+ close();
289
+ return;
290
+ }
291
+ ;
292
+ try {
293
+ recorder.startRecording({
294
+ onRecordingFinished: video => {
295
+ if (abortedRef.current) {
296
+ return;
297
+ }
298
+ const uri_0 = withFileScheme(video.path);
299
+ if (phaseRef.current === "stopping") {
300
+ clearTimers();
301
+ setPreviewUri(uri_0);
302
+ setPhase("preview");
303
+ return;
304
+ }
305
+ sendVideo(uri_0);
306
+ close(true);
307
+ },
308
+ onRecordingError: error_1 => {
309
+ if (!abortedRef.current) {
310
+ configRef.current?.onError?.(error_1);
311
+ }
312
+ close();
313
+ }
314
+ });
315
+ } catch (t12) {
316
+ const error_0 = t12;
317
+ configRef.current?.onError?.(error_0);
318
+ close();
319
+ return;
320
+ }
321
+ recordingHaptic();
322
+ elapsedRef.current = 0;
323
+ elapsedStore.set(0);
324
+ setIsPastPauseLead(false);
325
+ startTicking(0);
326
+ };
327
+ $[19] = elapsedStore;
328
+ $[20] = startTicking;
329
+ $[21] = t11;
330
+ } else {
331
+ t11 = $[21];
332
+ }
333
+ const onCameraReady = t11;
334
+ let t12;
335
+ if ($[22] === Symbol.for("react.memo_cache_sentinel")) {
336
+ t12 = error_2 => {
337
+ abortedRef.current = true;
338
+ configRef.current?.onError?.(error_2);
339
+ stopCapture();
340
+ close();
341
+ };
342
+ $[22] = t12;
343
+ } else {
344
+ t12 = $[22];
345
+ }
346
+ const onCameraError = t12;
347
+ let t13;
348
+ if ($[23] === Symbol.for("react.memo_cache_sentinel")) {
349
+ t13 = () => {
350
+ if (phaseRef.current === "preparing" || phaseRef.current === "recording") {
351
+ setIsLocked(true);
352
+ }
353
+ };
354
+ $[23] = t13;
355
+ } else {
356
+ t13 = $[23];
357
+ }
358
+ const lock = t13;
359
+ let t14;
360
+ if ($[24] !== previewUri || $[25] !== stopTake) {
361
+ t14 = cancelled => {
362
+ if (phaseRef.current === "paused") {
363
+ if (cancelled) {
364
+ abortedRef.current = true;
365
+ stopCapture();
366
+ close();
367
+ return;
368
+ }
369
+ setPhase("finishing");
370
+ stopCapture();
371
+ finishTimeoutRef.current = setTimeout(() => close(), FINISH_TIMEOUT_MS);
372
+ return;
373
+ }
374
+ if (phaseRef.current === "preview") {
375
+ const isSent = !cancelled && !!previewUri;
376
+ if (isSent) {
377
+ sendVideo(previewUri);
378
+ }
379
+ close(isSent);
380
+ return;
381
+ }
382
+ stopTake(cancelled ? "cancel" : "send");
383
+ };
384
+ $[24] = previewUri;
385
+ $[25] = stopTake;
386
+ $[26] = t14;
387
+ } else {
388
+ t14 = $[26];
389
+ }
390
+ const finish = t14;
391
+ let t15;
392
+ if ($[27] !== finish) {
393
+ t15 = () => finish(false);
394
+ $[27] = finish;
395
+ $[28] = t15;
396
+ } else {
397
+ t15 = $[28];
398
+ }
399
+ const send = t15;
400
+ let t16;
401
+ if ($[29] !== elapsedStore) {
402
+ t16 = () => {
403
+ if (phaseRef.current !== "recording") {
404
+ return;
405
+ }
406
+ const duration_0 = Date.now() - startedAtRef.current;
407
+ durationRef.current = duration_0;
408
+ setTakeDurationMs(duration_0);
409
+ elapsedRef.current = duration_0;
410
+ elapsedStore.set(duration_0);
411
+ clearTimers();
412
+ setPhase("paused");
413
+ cameraRef.current?.pauseRecording().catch(error_3 => configRef.current?.onError?.(error_3));
414
+ };
415
+ $[29] = elapsedStore;
416
+ $[30] = t16;
417
+ } else {
418
+ t16 = $[30];
419
+ }
420
+ const pause = t16;
421
+ let t17;
422
+ if ($[31] !== startTicking) {
423
+ t17 = () => {
424
+ if (phaseRef.current !== "paused") {
425
+ return;
426
+ }
427
+ setIsLocked(true);
428
+ startTicking(durationRef.current);
429
+ cameraRef.current?.resumeRecording().catch(error_4 => configRef.current?.onError?.(error_4));
430
+ };
431
+ $[31] = startTicking;
432
+ $[32] = t17;
433
+ } else {
434
+ t17 = $[32];
435
+ }
436
+ const resume = t17;
437
+ let t18;
438
+ let t19;
439
+ if ($[33] === Symbol.for("react.memo_cache_sentinel")) {
440
+ t18 = () => () => {
441
+ clearTimers();
442
+ if (closingTimerRef.current) {
443
+ clearTimeout(closingTimerRef.current);
444
+ }
445
+ if (phaseRef.current !== "idle") {
446
+ abortedRef.current = true;
447
+ cameraRef.current?.stopRecording().catch(_temp3);
448
+ }
449
+ };
450
+ t19 = [clearTimers];
451
+ $[33] = t18;
452
+ $[34] = t19;
453
+ } else {
454
+ t18 = $[33];
455
+ t19 = $[34];
456
+ }
457
+ useEffect(t18, t19);
458
+ let t20;
459
+ if ($[35] === Symbol.for("react.memo_cache_sentinel")) {
460
+ t20 = () => {
461
+ setIsViewOnce(_temp4);
462
+ };
463
+ $[35] = t20;
464
+ } else {
465
+ t20 = $[35];
466
+ }
467
+ const toggleViewOnce = t20;
468
+ let t21;
469
+ if ($[36] === Symbol.for("react.memo_cache_sentinel")) {
470
+ t21 = () => {
471
+ setIsFlashOn(_temp5);
472
+ };
473
+ $[36] = t21;
474
+ } else {
475
+ t21 = $[36];
476
+ }
477
+ const toggleFlash = t21;
478
+ let t22;
479
+ if ($[37] === Symbol.for("react.memo_cache_sentinel")) {
480
+ t22 = () => {
481
+ setFacing(_temp6);
482
+ };
483
+ $[37] = t22;
484
+ } else {
485
+ t22 = $[37];
486
+ }
487
+ const flipCamera = t22;
488
+ const isRecording = phase === "recording";
489
+ const isClosing = phase === "idle" && !!closing;
490
+ const isPaused = phase === "paused";
491
+ let t23;
492
+ if ($[38] !== closing || $[39] !== elapsedStore || $[40] !== maxMs || $[41] !== phase) {
493
+ t23 = ringProgressOf(phase, closing, elapsedStore, maxMs);
494
+ $[38] = closing;
495
+ $[39] = elapsedStore;
496
+ $[40] = maxMs;
497
+ $[41] = phase;
498
+ $[42] = t23;
499
+ } else {
500
+ t23 = $[42];
501
+ }
502
+ const progress = t23;
503
+ let t24;
504
+ if ($[43] !== closing || $[44] !== phase || $[45] !== previewUri) {
505
+ t24 = overlayKindOf(phase, closing, previewUri);
506
+ $[43] = closing;
507
+ $[44] = phase;
508
+ $[45] = previewUri;
509
+ $[46] = t24;
510
+ } else {
511
+ t24 = $[46];
512
+ }
513
+ const overlayKind = t24;
514
+ const overlayUri = previewUri ?? closing?.uri ?? null;
515
+ let t25;
516
+ if ($[47] !== closing?.isFlight || $[48] !== closing?.isSlideOut || $[49] !== facing || $[50] !== isClosing || $[51] !== isFlashOn || $[52] !== isPaused || $[53] !== isRecording || $[54] !== onCameraReady || $[55] !== overlayKind || $[56] !== overlayUri || $[57] !== progress) {
517
+ t25 = !overlayKind ? null : <VideoNoteStage isClosing={isClosing}>{overlayKind === "preview" && overlayUri ? <VideoNotePreviewView uri={overlayUri} isClosing={isClosing} isSlideOut={!!closing?.isSlideOut} isFlight={!!closing?.isFlight} /> : <VideoNoteCaptureView cameraRef={cameraRef} facing={facing} isFlashOn={isFlashOn} isRecording={isRecording} isPaused={isPaused} isClosing={isClosing} isSlideOut={!!closing?.isSlideOut} isFlight={!!closing?.isFlight} progress={progress} onReady={onCameraReady} onError={onCameraError} onToggleFlash={toggleFlash} onFlip={flipCamera} />}</VideoNoteStage>;
518
+ $[47] = closing?.isFlight;
519
+ $[48] = closing?.isSlideOut;
520
+ $[49] = facing;
521
+ $[50] = isClosing;
522
+ $[51] = isFlashOn;
523
+ $[52] = isPaused;
524
+ $[53] = isRecording;
525
+ $[54] = onCameraReady;
526
+ $[55] = overlayKind;
527
+ $[56] = overlayUri;
528
+ $[57] = progress;
529
+ $[58] = t25;
530
+ } else {
531
+ t25 = $[58];
532
+ }
533
+ const overlay = t25;
534
+ let t26;
535
+ if ($[59] !== isLocked || $[60] !== phase) {
536
+ t26 = buttonPhaseOf(phase, isLocked);
537
+ $[59] = isLocked;
538
+ $[60] = phase;
539
+ $[61] = t26;
540
+ } else {
541
+ t26 = $[61];
542
+ }
543
+ const buttonPhase = t26;
544
+ const canPause = isRecording && !isPastPauseLead;
545
+ const t27 = phase === "preparing" || phase === "recording" || phase === "preview" || isPaused;
546
+ let t28;
547
+ if ($[62] !== isPaused || $[63] !== phase || $[64] !== takeDurationMs) {
548
+ t28 = phase === "preview" || isPaused ? {
549
+ durationMs: takeDurationMs
550
+ } : null;
551
+ $[62] = isPaused;
552
+ $[63] = phase;
553
+ $[64] = takeDurationMs;
554
+ $[65] = t28;
555
+ } else {
556
+ t28 = $[65];
557
+ }
558
+ const t29 = canPause ? pause : undefined;
559
+ const t30 = isPaused ? resume : undefined;
560
+ const t31 = config?.isViewOnceEnabled ? toggleViewOnce : undefined;
561
+ let t32;
562
+ if ($[66] !== buttonPhase || $[67] !== finish || $[68] !== isLocked || $[69] !== isRecording || $[70] !== isViewOnce || $[71] !== overlay || $[72] !== send || $[73] !== t27 || $[74] !== t28 || $[75] !== t29 || $[76] !== t30 || $[77] !== t31) {
563
+ t32 = {
564
+ isActive: t27,
565
+ isLocked,
566
+ isCapturing: isRecording,
567
+ buttonPhase,
568
+ preview: t28,
569
+ start,
570
+ finish,
571
+ lock,
572
+ pause: t29,
573
+ resume: t30,
574
+ send,
575
+ isViewOnce,
576
+ toggleViewOnce: t31,
577
+ overlay
578
+ };
579
+ $[66] = buttonPhase;
580
+ $[67] = finish;
581
+ $[68] = isLocked;
582
+ $[69] = isRecording;
583
+ $[70] = isViewOnce;
584
+ $[71] = overlay;
585
+ $[72] = send;
586
+ $[73] = t27;
587
+ $[74] = t28;
588
+ $[75] = t29;
589
+ $[76] = t30;
590
+ $[77] = t31;
591
+ $[78] = t32;
592
+ } else {
593
+ t32 = $[78];
594
+ }
595
+ return t32;
596
+ }
597
+ function _temp6(current_2) {
598
+ return current_2 === "front" ? "back" : "front";
599
+ }
600
+ function _temp5(current_1) {
601
+ return !current_1;
602
+ }
603
+ function _temp4(current_0) {
604
+ return !current_0;
605
+ }
606
+ function _temp3() {}
607
+ function _temp2() {}
608
+ function _temp() {
609
+ return createStore(0);
610
+ }
611
+ //# sourceMappingURL=useVideoNoteSession.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useVideoNoteSession.js","names":["React","useCallback","useEffect","useLayoutEffect","useRef","useState","createStore","stopAllPlayback","recordingHaptic","expectSendFlight","getCameraPermissionStatus","getMicrophonePermissionStatus","isVisionCameraAvailable","requestCameraPermission","requestMicrophonePermission","DEFAULT_MIN_DURATION_MS","DIM_ANIMATION_MS","FINISH_TIMEOUT_MS","FLIGHT_CLOSE_MS","LIMIT_LEAD_MS","PAUSE_HIDE_LEAD_MS","SLIDE_OUT_MIN_MS","canPreview","buttonPhaseOf","overlayKindOf","ringProgressOf","withFileScheme","VideoNoteCaptureView","VideoNotePreviewView","VideoNoteStage","useVideoNoteSession","t0","$","_c","config","onSend","elapsedStore","elapsedStoreProp","phase","setPhaseState","isLocked","setIsLocked","ownElapsedStore","_temp","isPastPauseLead","setIsPastPauseLead","isFlashOn","setIsFlashOn","facing","setFacing","previewUri","setPreviewUri","isViewOnce","setIsViewOnce","isViewOnceRef","closing","setClosing","phaseRef","cameraRef","startedAtRef","durationRef","takeDurationMs","setTakeDurationMs","abortedRef","timerRef","finishTimeoutRef","closingTimerRef","previewUriRef","elapsedRef","configRef","onSendRef","t1","current","maxMs","maxDuration","minDurationMs","t2","Symbol","for","next","setPhase","t3","clearInterval","clearTimeout","clearTimers","t4","t5","isFlight","undefined","was","recordedMs","Date","now","kind","isSlideOut","uri","fromPhase","elapsed","setTimeout","close","stopRecording","catch","_temp2","stopCapture","t6","video","videoNote","duration","Math","round","sendVideo","t7","outcome","onTooShort","isTooShort","set","stopTake","stopTakeRef","t8","t9","hasCamera","hasMicrophone","camera","mic","onPermissionDenied","error","onError","start","t10","fromMs","setInterval","ms","startTicking","t11","recorder","startRecording","onRecordingFinished","uri_0","path","onRecordingError","error_1","t12","onCameraReady","error_2","onCameraError","t13","lock","t14","cancelled","isSent","finish","t15","send","t16","duration_0","pauseRecording","error_3","pause","t17","resumeRecording","error_4","resume","t18","t19","_temp3","t20","_temp4","toggleViewOnce","t21","_temp5","toggleFlash","t22","_temp6","flipCamera","isRecording","isClosing","isPaused","t23","progress","t24","overlayKind","overlayUri","t25","overlay","t26","buttonPhase","canPause","t27","t28","durationMs","t29","t30","t31","isViewOnceEnabled","t32","isActive","isCapturing","preview","current_2","current_1","current_0"],"sources":["../../../src/components/VideoNoteCapture/useVideoNoteSession.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useLayoutEffect, useRef, useState } from 'react'\n\nimport { IMessage, VideoRecordingProps } from '../../Models'\nimport { createStore, Store } from '../../store'\nimport { stopAllPlayback } from '../mediaPlayback'\nimport { recordingHaptic } from '../recordingFeedback'\nimport { expectSendFlight } from '../sendFlight'\nimport {\n VideoNoteRecorderController,\n getCameraPermissionStatus,\n getMicrophonePermissionStatus,\n isVisionCameraAvailable,\n requestCameraPermission,\n requestMicrophonePermission,\n} from '../visionCamera'\nimport {\n DEFAULT_MIN_DURATION_MS,\n DIM_ANIMATION_MS,\n FINISH_TIMEOUT_MS,\n FLIGHT_CLOSE_MS,\n LIMIT_LEAD_MS,\n PAUSE_HIDE_LEAD_MS,\n SLIDE_OUT_MIN_MS,\n} from './constants'\nimport { canPreview } from './optional'\nimport { buttonPhaseOf, overlayKindOf, ringProgressOf, withFileScheme } from './sessionState'\nimport { ClosingTake, Phase, VideoNoteSession } from './types'\nimport { VideoNoteCaptureView } from './VideoNoteCaptureView'\nimport { VideoNotePreviewView } from './VideoNotePreviewView'\nimport { VideoNoteStage } from './VideoNoteStage'\n\n/**\n * The round video note take, driven by the composer's own record\n * button: hold to record, release to send, slide left to cancel, slide up to\n * lock. The camera opens\n * under the finger and starts recording as soon as it is initialized. A\n * locked take can be paused and resumed: the recorder holds its file open, so\n * the take goes on in the same video. The time limit stops into a looping\n * preview of the finished file instead of sending.\n *\n * Only used when vision-camera's native module is linked; the system-camera\n * fallback keeps its tap-to-open button.\n */\nexport function useVideoNoteSession<TMessage extends IMessage = IMessage> ({\n config,\n onSend,\n elapsedStore: elapsedStoreProp,\n}: {\n config?: VideoRecordingProps\n onSend?: (message: Partial<TMessage>, shouldResetInputToolbar: boolean) => void\n /**\n * Where the running time goes, ten times a second: a store, so a tick re-renders only what\n * shows it (the bar's timer, the ring) and not the composer. Kept after the take ends.\n */\n elapsedStore?: Store<number>\n}): VideoNoteSession {\n const [phase, setPhaseState] = useState<Phase>('idle')\n const [isLocked, setIsLocked] = useState(false)\n const [ownElapsedStore] = useState(() => createStore(0))\n const elapsedStore = elapsedStoreProp ?? ownElapsedStore\n // Flips once, near the limit, rather than reading the time on every render.\n const [isPastPauseLead, setIsPastPauseLead] = useState(false)\n const [isFlashOn, setIsFlashOn] = useState(false)\n // A note starts on the front camera.\n const [facing, setFacing] = useState<'front' | 'back'>('front')\n const [previewUri, setPreviewUri] = useState<string | null>(null)\n // View-once: off at the start of every take, read on send.\n const [isViewOnce, setIsViewOnce] = useState(false)\n const isViewOnceRef = useRef(false)\n // After a take ends, the overlay stays up a moment longer so the circle can\n // close and the dim fade out.\n const [closing, setClosing] = useState<ClosingTake | null>(null)\n\n const phaseRef = useRef<Phase>('idle')\n const cameraRef = useRef<VideoNoteRecorderController | null>(null)\n const startedAtRef = useRef(0)\n const durationRef = useRef(0)\n // The same take length, for rendering the paused take's preview.\n const [takeDurationMs, setTakeDurationMs] = useState(0)\n // Set when a take is cancelled, so a capture callback that lands afterwards\n // drops its file instead of posting the note.\n const abortedRef = useRef(false)\n const timerRef = useRef<ReturnType<typeof setInterval> | null>(null)\n const finishTimeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null)\n const closingTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null)\n const previewUriRef = useRef<string | null>(null)\n // Mirrors `elapsed` for `close`, which records it so the ring holds its last share.\n const elapsedRef = useRef(0)\n const configRef = useRef(config)\n const onSendRef = useRef(onSend)\n useLayoutEffect(() => {\n isViewOnceRef.current = isViewOnce\n previewUriRef.current = previewUri\n configRef.current = config\n onSendRef.current = onSend\n })\n\n const maxMs = (config?.maxDuration ?? 60) * 1000\n const minDurationMs = config?.minDurationMs ?? DEFAULT_MIN_DURATION_MS\n\n const setPhase = useCallback((next: Phase) => {\n phaseRef.current = next\n setPhaseState(next)\n }, [])\n\n const clearTimers = useCallback(() => {\n if (timerRef.current) {\n clearInterval(timerRef.current)\n timerRef.current = null\n }\n if (finishTimeoutRef.current) {\n clearTimeout(finishTimeoutRef.current)\n finishTimeoutRef.current = null\n }\n }, [])\n\n const close = useCallback((isFlight = false) => {\n const was = phaseRef.current\n if (was !== 'idle') {\n const recordedMs = was === 'recording'\n ? Date.now() - startedAtRef.current\n : was === 'preparing' ? 0 : durationRef.current\n if (closingTimerRef.current)\n clearTimeout(closingTimerRef.current)\n setClosing({\n kind: was === 'preview' && previewUriRef.current ? 'preview' : 'capture',\n isSlideOut: recordedMs > SLIDE_OUT_MIN_MS,\n uri: previewUriRef.current,\n isFlight,\n fromPhase: was,\n elapsed: elapsedRef.current,\n })\n closingTimerRef.current = setTimeout(() => {\n closingTimerRef.current = null\n setClosing(null)\n }, isFlight ? FLIGHT_CLOSE_MS : DIM_ANIMATION_MS)\n }\n\n clearTimers()\n startedAtRef.current = 0\n setPhase('idle')\n setIsLocked(false)\n elapsedRef.current = 0\n setIsFlashOn(false)\n setPreviewUri(null)\n }, [clearTimers, setPhase])\n\n const stopCapture = useCallback(() => {\n cameraRef.current?.stopRecording().catch(() => {})\n }, [])\n\n const sendVideo = useCallback((uri: string) => {\n // Before `onSend`, which is what adds the note the circle flies into.\n expectSendFlight('round')\n onSendRef.current?.({\n video: uri,\n videoNote: true,\n duration: Math.round(durationRef.current / 1000),\n ...(isViewOnceRef.current ? { isViewOnce: true } : null),\n } as Partial<TMessage>, false)\n }, [])\n\n /**\n * Ends a recording take. `send` keeps the camera up until the file is\n * written, then sends it; `preview` waits for the same file and plays it\n * back; `cancel` drops it at once.\n */\n const stopTake = useCallback((outcome: 'send' | 'cancel' | 'preview') => {\n const current = phaseRef.current\n\n // Released before the camera was up: nothing was recorded, so this is a\n // take that was too short, the same as a quick tap on the button.\n if (current === 'preparing') {\n close()\n if (outcome !== 'cancel')\n configRef.current?.onTooShort?.()\n return\n }\n\n if (current !== 'recording')\n return\n\n const duration = Date.now() - startedAtRef.current\n const isTooShort = duration < minDurationMs\n\n if (outcome === 'cancel' || isTooShort) {\n // Cancel closes the camera.\n abortedRef.current = true\n stopCapture()\n close()\n if (outcome !== 'cancel')\n configRef.current?.onTooShort?.()\n return\n }\n\n durationRef.current = duration\n setTakeDurationMs(duration)\n elapsedStore.set(duration)\n clearTimers()\n setPhase(outcome === 'preview' ? 'stopping' : 'finishing')\n stopCapture()\n finishTimeoutRef.current = setTimeout(() => close(), FINISH_TIMEOUT_MS)\n }, [close, clearTimers, setPhase, stopCapture, minDurationMs, elapsedStore])\n\n const stopTakeRef = useRef(stopTake)\n useLayoutEffect(() => {\n stopTakeRef.current = stopTake\n })\n\n const start = useCallback(() => {\n if (phaseRef.current !== 'idle' || !isVisionCameraAvailable)\n return\n\n // Recording takes the audio over: pause whatever note is\n // playing so it does not end up in the take.\n stopAllPlayback()\n\n const hasCamera = getCameraPermissionStatus() === 'authorized'\n const hasMicrophone = getMicrophonePermissionStatus() === 'authorized'\n\n // The permission prompt takes the finger off the button anyway, so ask and\n // stop here; the next hold records.\n if (!hasCamera || !hasMicrophone) {\n // `.catch` rather than try/catch: the compiler cannot lower the `||` and optional\n // calls inside a `try`.\n ;(async () => {\n const camera = hasCamera || await requestCameraPermission()\n const mic = hasMicrophone || await requestMicrophonePermission()\n if (!camera || !mic)\n configRef.current?.onPermissionDenied?.()\n })().catch(error => {\n configRef.current?.onError?.(error)\n })\n return\n }\n\n abortedRef.current = false\n if (closingTimerRef.current) {\n clearTimeout(closingTimerRef.current)\n closingTimerRef.current = null\n }\n setClosing(null)\n // Reset here rather than on close, so the closing circle does not flip.\n setFacing('front')\n setIsViewOnce(false)\n setPhase('preparing')\n }, [setPhase])\n\n /** Runs the take's clock from `fromMs`, as recording starts or resumes. */\n const startTicking = useCallback((fromMs: number) => {\n startedAtRef.current = Date.now() - fromMs\n setPhase('recording')\n clearTimers()\n timerRef.current = setInterval(() => {\n const ms = Date.now() - startedAtRef.current\n elapsedRef.current = ms\n elapsedStore.set(ms)\n setIsPastPauseLead(ms >= maxMs - PAUSE_HIDE_LEAD_MS)\n // Out of time: stop into the preview, or send without a player for it.\n if (ms >= maxMs - LIMIT_LEAD_MS)\n stopTakeRef.current(canPreview ? 'preview' : 'send')\n }, 100)\n }, [clearTimers, setPhase, maxMs, elapsedStore])\n\n // The overlay's camera is ready: start the take. A flip mid-take\n // re-initializes the camera too, which this ignores.\n const onCameraReady = useCallback(() => {\n if (phaseRef.current !== 'preparing')\n return\n\n const recorder = cameraRef.current\n if (!recorder) {\n close()\n return\n }\n\n try {\n recorder.startRecording({\n onRecordingFinished: (video: { path: string }) => {\n if (abortedRef.current)\n return\n\n const uri = withFileScheme(video.path)\n if (phaseRef.current === 'stopping') {\n clearTimers()\n setPreviewUri(uri)\n setPhase('preview')\n return\n }\n\n sendVideo(uri)\n close(true)\n },\n onRecordingError: (error: unknown) => {\n if (!abortedRef.current)\n configRef.current?.onError?.(error)\n\n close()\n },\n })\n } catch (error) {\n configRef.current?.onError?.(error)\n close()\n return\n }\n\n // Tick when the round take actually starts recording.\n recordingHaptic()\n elapsedRef.current = 0\n elapsedStore.set(0)\n setIsPastPauseLead(false)\n startTicking(0)\n }, [close, clearTimers, setPhase, sendVideo, elapsedStore, startTicking])\n\n const onCameraError = useCallback((error: unknown) => {\n abortedRef.current = true\n configRef.current?.onError?.(error)\n stopCapture()\n close()\n }, [close, stopCapture])\n\n const lock = useCallback(() => {\n if (phaseRef.current === 'preparing' || phaseRef.current === 'recording')\n setIsLocked(true)\n }, [])\n\n const finish = useCallback((cancelled: boolean) => {\n // Paused with the recorder holding the file open: finish it, or drop it.\n if (phaseRef.current === 'paused') {\n if (cancelled) {\n abortedRef.current = true\n stopCapture()\n close()\n return\n }\n setPhase('finishing')\n stopCapture()\n finishTimeoutRef.current = setTimeout(() => close(), FINISH_TIMEOUT_MS)\n return\n }\n\n if (phaseRef.current === 'preview') {\n const isSent = !cancelled && !!previewUri\n if (isSent)\n sendVideo(previewUri)\n\n close(isSent)\n return\n }\n\n stopTake(cancelled ? 'cancel' : 'send')\n }, [stopTake, previewUri, sendVideo, close, setPhase, stopCapture])\n\n const send = useCallback(() => finish(false), [finish])\n\n // Pause holds the recording open (vision-camera's recorder pauses natively), so Resume carries on\n // in the same file: nothing can join two takes afterwards. The camera stays live meanwhile.\n const pause = useCallback(() => {\n if (phaseRef.current !== 'recording')\n return\n const duration = Date.now() - startedAtRef.current\n durationRef.current = duration\n setTakeDurationMs(duration)\n elapsedRef.current = duration\n elapsedStore.set(duration)\n clearTimers()\n setPhase('paused')\n cameraRef.current?.pauseRecording().catch(error => configRef.current?.onError?.(error))\n }, [clearTimers, setPhase, elapsedStore])\n\n const resume = useCallback(() => {\n if (phaseRef.current !== 'paused')\n return\n // The resume button plays its own tick.\n setIsLocked(true)\n startTicking(durationRef.current)\n cameraRef.current?.resumeRecording().catch(error => configRef.current?.onError?.(error))\n }, [startTicking])\n\n // Leaving the chat mid-take must not leave the camera recording into an\n // orphaned file.\n useEffect(() => () => {\n clearTimers()\n if (closingTimerRef.current)\n clearTimeout(closingTimerRef.current)\n if (phaseRef.current !== 'idle') {\n abortedRef.current = true\n cameraRef.current?.stopRecording().catch(() => {})\n }\n }, [clearTimers])\n\n const toggleViewOnce = useCallback(() => {\n setIsViewOnce(current => !current)\n }, [])\n\n const toggleFlash = useCallback(() => {\n setIsFlashOn(current => !current)\n }, [])\n\n // Flipping the camera works mid-take, thanks to\n // vision-camera's persistent recorder (`enablePersistentRecorder` below):\n // Android records with CameraX's persistent recording, which survives the\n // camera being rebound, and iOS keeps appending the new camera's frames to\n // the same asset writer.\n const flipCamera = useCallback(() => {\n setFacing(current => (current === 'front' ? 'back' : 'front'))\n }, [])\n\n const isRecording = phase === 'recording'\n const isClosing = phase === 'idle' && !!closing\n\n const isPaused = phase === 'paused'\n const progress = ringProgressOf(phase, closing, elapsedStore, maxMs)\n\n const overlayKind = overlayKindOf(phase, closing, previewUri)\n const overlayUri = previewUri ?? closing?.uri ?? null\n\n const overlay = !overlayKind\n ? null\n : (\n // One stage across capture -> preview -> closed, so the dim fades in\n // once and out once.\n <VideoNoteStage isClosing={isClosing}>\n {overlayKind === 'preview' && overlayUri\n ? (\n <VideoNotePreviewView\n uri={overlayUri}\n isClosing={isClosing}\n isSlideOut={!!closing?.isSlideOut}\n isFlight={!!closing?.isFlight}\n />\n )\n : (\n <VideoNoteCaptureView\n cameraRef={cameraRef}\n facing={facing}\n isFlashOn={isFlashOn}\n isRecording={isRecording}\n isPaused={isPaused}\n isClosing={isClosing}\n isSlideOut={!!closing?.isSlideOut}\n isFlight={!!closing?.isFlight}\n progress={progress}\n onReady={onCameraReady}\n onError={onCameraError}\n onToggleFlash={toggleFlash}\n onFlip={flipCamera}\n />\n )}\n </VideoNoteStage>\n )\n\n const buttonPhase = buttonPhaseOf(phase, isLocked)\n\n const canPause = isRecording && !isPastPauseLead\n\n return {\n isActive: phase === 'preparing' || phase === 'recording' || phase === 'preview' || isPaused,\n isLocked,\n isCapturing: isRecording,\n buttonPhase,\n preview: phase === 'preview' || isPaused ? { durationMs: takeDurationMs } : null,\n start,\n finish,\n lock,\n pause: canPause ? pause : undefined,\n resume: isPaused ? resume : undefined,\n send,\n isViewOnce,\n toggleViewOnce: config?.isViewOnceEnabled ? toggleViewOnce : undefined,\n overlay,\n }\n}\n"],"mappings":"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","ignoreList":[]}