@kesha-antonov/react-native-chat 5.0.0 → 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 (1329) hide show
  1. package/README.md +533 -179
  2. package/lib/Actions.d.ts.map +1 -1
  3. package/lib/Actions.js +121 -42
  4. package/lib/Actions.js.map +1 -1
  5. package/lib/Avatar.d.ts.map +1 -1
  6. package/lib/Avatar.js +171 -86
  7. package/lib/Avatar.js.map +1 -1
  8. package/lib/Bubble/BubbleBody.d.ts +15 -0
  9. package/lib/Bubble/BubbleBody.d.ts.map +1 -0
  10. package/lib/Bubble/BubbleBody.js +218 -0
  11. package/lib/Bubble/BubbleBody.js.map +1 -0
  12. package/lib/Bubble/BubbleContent.d.ts +23 -0
  13. package/lib/Bubble/BubbleContent.d.ts.map +1 -0
  14. package/lib/Bubble/BubbleContent.js +446 -0
  15. package/lib/Bubble/BubbleContent.js.map +1 -0
  16. package/lib/Bubble/BubbleMenu.d.ts +45 -0
  17. package/lib/Bubble/BubbleMenu.d.ts.map +1 -0
  18. package/lib/Bubble/BubbleMenu.js +289 -0
  19. package/lib/Bubble/BubbleMenu.js.map +1 -0
  20. package/lib/Bubble/BubbleMeta.d.ts +17 -0
  21. package/lib/Bubble/BubbleMeta.d.ts.map +1 -0
  22. package/lib/Bubble/BubbleMeta.js +453 -0
  23. package/lib/Bubble/BubbleMeta.js.map +1 -0
  24. package/lib/Bubble/LiftedBubble.d.ts +18 -0
  25. package/lib/Bubble/LiftedBubble.d.ts.map +1 -0
  26. package/lib/Bubble/LiftedBubble.js +109 -0
  27. package/lib/Bubble/LiftedBubble.js.map +1 -0
  28. package/lib/Bubble/PressableBubbleRow.d.ts +33 -0
  29. package/lib/Bubble/PressableBubbleRow.d.ts.map +1 -0
  30. package/lib/Bubble/PressableBubbleRow.js +172 -0
  31. package/lib/Bubble/PressableBubbleRow.js.map +1 -0
  32. package/lib/Bubble/index.d.ts +6 -0
  33. package/lib/Bubble/index.d.ts.map +1 -1
  34. package/lib/Bubble/index.js +380 -494
  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 -156
  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 +290 -99
  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 +154 -48
  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.d.ts +2 -1
  1220. package/lib/linkParser.d.ts.map +1 -1
  1221. package/lib/linkParser.js +323 -185
  1222. package/lib/linkParser.js.map +1 -1
  1223. package/lib/locales/ar.d.ts.map +1 -1
  1224. package/lib/locales/ar.js +110 -19
  1225. package/lib/locales/ar.js.map +1 -1
  1226. package/lib/locales/de.d.ts.map +1 -1
  1227. package/lib/locales/de.js +110 -19
  1228. package/lib/locales/de.js.map +1 -1
  1229. package/lib/locales/es.d.ts.map +1 -1
  1230. package/lib/locales/es.js +110 -19
  1231. package/lib/locales/es.js.map +1 -1
  1232. package/lib/locales/fr.d.ts.map +1 -1
  1233. package/lib/locales/fr.js +110 -19
  1234. package/lib/locales/fr.js.map +1 -1
  1235. package/lib/locales/hi.d.ts.map +1 -1
  1236. package/lib/locales/hi.js +110 -19
  1237. package/lib/locales/hi.js.map +1 -1
  1238. package/lib/locales/id.d.ts.map +1 -1
  1239. package/lib/locales/id.js +110 -19
  1240. package/lib/locales/id.js.map +1 -1
  1241. package/lib/locales/index.js +19 -5
  1242. package/lib/locales/index.js.map +1 -1
  1243. package/lib/locales/it.d.ts.map +1 -1
  1244. package/lib/locales/it.js +110 -19
  1245. package/lib/locales/it.js.map +1 -1
  1246. package/lib/locales/ja.d.ts.map +1 -1
  1247. package/lib/locales/ja.js +110 -19
  1248. package/lib/locales/ja.js.map +1 -1
  1249. package/lib/locales/ko.d.ts.map +1 -1
  1250. package/lib/locales/ko.js +110 -19
  1251. package/lib/locales/ko.js.map +1 -1
  1252. package/lib/locales/nl.d.ts.map +1 -1
  1253. package/lib/locales/nl.js +110 -19
  1254. package/lib/locales/nl.js.map +1 -1
  1255. package/lib/locales/pl.d.ts.map +1 -1
  1256. package/lib/locales/pl.js +110 -19
  1257. package/lib/locales/pl.js.map +1 -1
  1258. package/lib/locales/pt.d.ts.map +1 -1
  1259. package/lib/locales/pt.js +110 -19
  1260. package/lib/locales/pt.js.map +1 -1
  1261. package/lib/locales/ru.d.ts.map +1 -1
  1262. package/lib/locales/ru.js +110 -19
  1263. package/lib/locales/ru.js.map +1 -1
  1264. package/lib/locales/tr.d.ts.map +1 -1
  1265. package/lib/locales/tr.js +110 -19
  1266. package/lib/locales/tr.js.map +1 -1
  1267. package/lib/locales/zh.d.ts.map +1 -1
  1268. package/lib/locales/zh.js +110 -19
  1269. package/lib/locales/zh.js.map +1 -1
  1270. package/lib/logging.d.ts +5 -0
  1271. package/lib/logging.d.ts.map +1 -1
  1272. package/lib/logging.js +13 -1
  1273. package/lib/logging.js.map +1 -1
  1274. package/lib/messageUtils.d.ts +19 -0
  1275. package/lib/messageUtils.d.ts.map +1 -0
  1276. package/lib/messageUtils.js +61 -0
  1277. package/lib/messageUtils.js.map +1 -0
  1278. package/lib/motion.d.ts +21 -0
  1279. package/lib/motion.d.ts.map +1 -0
  1280. package/lib/motion.js +30 -0
  1281. package/lib/motion.js.map +1 -0
  1282. package/lib/optional/index.d.ts +99 -0
  1283. package/lib/optional/index.d.ts.map +1 -0
  1284. package/lib/optional/index.js +284 -0
  1285. package/lib/optional/index.js.map +1 -0
  1286. package/lib/rtl.js +7 -5
  1287. package/lib/rtl.js.map +1 -1
  1288. package/lib/store.d.ts +40 -0
  1289. package/lib/store.d.ts.map +1 -0
  1290. package/lib/store.js +127 -0
  1291. package/lib/store.js.map +1 -0
  1292. package/lib/styles.d.ts +2 -2
  1293. package/lib/styles.d.ts.map +1 -1
  1294. package/lib/styles.js +15 -15
  1295. package/lib/styles.js.map +1 -1
  1296. package/lib/types.js +1 -0
  1297. package/lib/types.js.map +1 -1
  1298. package/lib/utils.d.ts +15 -0
  1299. package/lib/utils.d.ts.map +1 -1
  1300. package/lib/utils.js +199 -94
  1301. package/lib/utils.js.map +1 -1
  1302. package/llms.txt +133 -31
  1303. package/package.json +89 -46
  1304. package/lib/InputToolbar.d.ts +0 -49
  1305. package/lib/InputToolbar.d.ts.map +0 -1
  1306. package/lib/InputToolbar.js +0 -338
  1307. package/lib/InputToolbar.js.map +0 -1
  1308. package/lib/MessageVideo.d.ts.map +0 -1
  1309. package/lib/MessageVideo.js +0 -162
  1310. package/lib/MessageVideo.js.map +0 -1
  1311. package/lib/MessagesContainer/FlashList.d.ts +0 -9
  1312. package/lib/MessagesContainer/FlashList.d.ts.map +0 -1
  1313. package/lib/MessagesContainer/FlashList.js +0 -23
  1314. package/lib/MessagesContainer/FlashList.js.map +0 -1
  1315. package/lib/components/ContextMenu.d.ts +0 -25
  1316. package/lib/components/ContextMenu.d.ts.map +0 -1
  1317. package/lib/components/ContextMenu.js +0 -122
  1318. package/lib/components/ContextMenu.js.map +0 -1
  1319. package/lib/components/VideoNoteRecorder.d.ts.map +0 -1
  1320. package/lib/components/VideoNoteRecorder.js +0 -634
  1321. package/lib/components/VideoNoteRecorder.js.map +0 -1
  1322. package/lib/components/VoiceMessageInput.d.ts +0 -33
  1323. package/lib/components/VoiceMessageInput.d.ts.map +0 -1
  1324. package/lib/components/VoiceMessageInput.js +0 -403
  1325. package/lib/components/VoiceMessageInput.js.map +0 -1
  1326. package/lib/components/WaveformPlayer.d.ts +0 -19
  1327. package/lib/components/WaveformPlayer.d.ts.map +0 -1
  1328. package/lib/components/WaveformPlayer.js +0 -367
  1329. package/lib/components/WaveformPlayer.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RadialProgress.js","names":["React","useEffect","useRef","useState","StyleSheet","View","Animated","Easing","cancelAnimation","useAnimatedProps","useAnimatedReaction","useAnimatedStyle","useDerivedValue","useSharedValue","withRepeat","withTiming","getSvg","PlayPauseIcon","svg","Svg","default","AnimatedPath","Path","createAnimatedComponent","PLAY","PAUSE","DOWNLOAD","CANCEL","NONE","ICON_CODES","play","pause","download","cancel","none","INTRINSIC","STAGE1","STAGE2","STAGE3","RADIAL_SPIN_MS","RAD_OFFSET_START","RADIAL_PROGRESS_MS","DECELERATE","out","quad","transitionDuration","from","to","spinRing","rad","value","duration","easing","linear","isPlayPause","icon","f","Math","round","arcPath","cx","cy","rx","ry","start","sweep","abs","clamped","max","min","point","deg","a","PI","cos","sin","dir","mid","line","x1","y1","x2","y2","crossLines","c","d","k","r","p","x","y","cross","ax","ay","bx","by","cx2","cy2","dx","dy","radialFrame","current","next","t","saved","progress","size","isMini","scale","animating","arrow","arrowAlpha","crossAlpha","arc","arcAlpha","glyphScale","glyphAlpha","arrowLines","arcStart","arcSweep","arcRadius","yStart","yEnd","yEnd2","yStart2","transition","y3","cur","back","p3","p1","p2","push","rotation","iconScale","alpha","inset","FallbackStroke","t0","$","_c","frame","isCross","index","color","width","style","lines","i","length","opacity","hypot","left","top","transform","rotate","atan2","t1","t2","height","borderRadius","backgroundColor","t3","styles","stroke","FallbackRing","radius","diameter","offset","ringStyle","firstHalfStyle","secondHalfStyle","borderWidth","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","halfRing","t4","ring","t5","t6","t7","half","t8","t9","t10","t11","t12","t13","t14","Symbol","for","t15","t16","t17","RadialProgress","glyphSize","undefined","code","target","previousIcon","fallbackProgress","progressSource","numericProgress","initialIcon","finished","set","value_0","get","arrowProps","crossProps","r_0","arcProps","r_1","glyphStyle","result","circleStyle","isAnimating","strokeWidth","circle","glyph","root","absoluteFill","center","t18","t19","t20","map","index_0","t21","create","overflow","alignItems","justifyContent","position"],"sources":["../../src/components/RadialProgress.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react'\nimport { StyleProp, StyleSheet, View, ViewStyle } from 'react-native'\nimport Animated, {\n Easing,\n SharedValue,\n cancelAnimation,\n useAnimatedProps,\n useAnimatedReaction,\n useAnimatedStyle,\n useDerivedValue,\n useSharedValue,\n withRepeat,\n withTiming,\n} from 'react-native-reanimated'\n\nimport { getSvg } from '../optional'\nimport { PlayPauseIcon } from './PlayPauseIcon'\n\n/*\n * The media button: a filled circle drawing a glyph and a progress arc. The geometry and\n * timings below are specified in a 48-unit box.\n */\n\nconst svg = getSvg()\nconst Svg: any = svg ? svg.Svg ?? svg.default : null\nconst AnimatedPath: any = svg?.Path ? Animated.createAnimatedComponent(svg.Path) : null\n\n/** What the button shows. */\nexport type MediaActionIcon = 'play' | 'pause' | 'download' | 'cancel' | 'none'\n\nconst PLAY = 0\nconst PAUSE = 1\nconst DOWNLOAD = 2\nconst CANCEL = 3\nconst NONE = 4\n\nconst ICON_CODES: Record<MediaActionIcon, number> = {\n play: PLAY,\n pause: PAUSE,\n download: DOWNLOAD,\n cancel: CANCEL,\n none: NONE,\n}\n\n/** The drawable's own size; everything scales by `size / 48`. */\nconst INTRINSIC = 48\n\n/** Download -> cancel runs in three stages. */\nconst STAGE1 = 0.5\nconst STAGE2 = 0.2\nconst STAGE3 = 0.3\n\n/** The arc turns once every 2.5s. */\nexport const RADIAL_SPIN_MS = 2500\n/** And starts at 112 degrees whenever the cancel icon is set. */\nconst RAD_OFFSET_START = 112\n/** Progress eases toward its target over 200ms, decelerating. */\nexport const RADIAL_PROGRESS_MS = 200\nconst DECELERATE = Easing.out(Easing.quad)\n\n/** The transition length for a pair of icons. */\nexport const transitionDuration = (from: MediaActionIcon, to: MediaActionIcon) => {\n if ((from === 'play' && to === 'pause') || (from === 'pause' && to === 'play'))\n return 300\n if (from === 'download' && to === 'cancel')\n return 400\n return 220\n}\n\n/** Restarts the ring's turn from 112 degrees. */\nconst spinRing = (rad: SharedValue<number>) => {\n rad.value = RAD_OFFSET_START\n rad.value = withRepeat(\n withTiming(RAD_OFFSET_START + 360, { duration: RADIAL_SPIN_MS, easing: Easing.linear }),\n -1,\n false\n )\n}\n\nconst isPlayPause = (icon: number) => {\n 'worklet'\n return icon === PLAY || icon === PAUSE\n}\n\nconst f = (value: number) => {\n 'worklet'\n return Math.round(value * 100) / 100\n}\n\n/** An SVG elliptical arc, Android's `drawArc(rect, start, sweep)`: degrees, clockwise from 3 o'clock. */\nexport const arcPath = (cx: number, cy: number, rx: number, ry: number, start: number, sweep: number) => {\n 'worklet'\n if (Math.abs(sweep) < 0.01)\n return ''\n\n // Two halves, so a full ring never has its ends land on the same point (which SVG\n // draws as nothing, or a dot with round caps).\n const clamped = Math.max(-360, Math.min(360, sweep))\n const point = (deg: number) => {\n const a = (deg * Math.PI) / 180\n return `${f(cx + rx * Math.cos(a))} ${f(cy + ry * Math.sin(a))}`\n }\n const dir = clamped > 0 ? 1 : 0\n const mid = start + clamped / 2\n return `M${point(start)} A${f(rx)} ${f(ry)} 0 0 ${dir} ${point(mid)} `\n + `A${f(rx)} ${f(ry)} 0 0 ${dir} ${point(start + clamped)} `\n}\n\nconst line = (x1: number, y1: number, x2: number, y2: number) => {\n 'worklet'\n return `M${f(x1)} ${f(y1)} L${f(x2)} ${f(y2)} `\n}\n\n/** The two strokes of an ✕ of half-size `d`, scaled by `k` and turned `deg` about the centre. */\nconst crossLines = (c: number, d: number, k: number, deg: number) => {\n 'worklet'\n if (d <= 0 || k <= 0)\n return []\n\n const r = (deg * Math.PI) / 180\n const cos = Math.cos(r) * k\n const sin = Math.sin(r) * k\n const p = (x: number, y: number) => [c + x * cos - y * sin, c + x * sin + y * cos]\n return [...p(-d, -d), ...p(d, d), ...p(d, -d), ...p(-d, d)]\n}\n\nconst cross = (c: number, d: number, k: number, deg: number) => {\n 'worklet'\n if (d <= 0 || k <= 0)\n return ''\n\n const r = (deg * Math.PI) / 180\n const cos = Math.cos(r) * k\n const sin = Math.sin(r) * k\n const p = (x: number, y: number) => [c + x * cos - y * sin, c + x * sin + y * cos]\n const [ax, ay] = p(-d, -d)\n const [bx, by] = p(d, d)\n const [cx2, cy2] = p(d, -d)\n const [dx, dy] = p(-d, d)\n return line(ax, ay, bx, by) + line(cx2, cy2, dx, dy)\n}\n\nexport interface RadialFrame {\n /** Download arrow strokes (and the curl it makes into the ring), and their alpha. */\n arrow: string\n arrowAlpha: number\n /** The cancel ✕, and its alpha. */\n cross: string\n crossAlpha: number\n /** The progress arc, and its alpha. */\n arc: string\n arcAlpha: number\n /** The play/pause glyph's scale and alpha. */\n glyphScale: number\n glyphAlpha: number\n /**\n * The same strokes as numbers, for drawing without react-native-svg: the arrow's straight\n * strokes and the ✕'s, as flat `x1 y1 x2 y2` runs, and the arc's start, sweep and radius.\n */\n arrowLines: number[]\n crossLines: number[]\n arcStart: number\n arcSweep: number\n arcRadius: number\n}\n\n/**\n * One frame of the media action icon for a drawable `size` across. `t` is\n * `transitionProgress` (1 at rest), `saved` the `savedTransitionProgress` the transition\n * started from, `progress` the eased `animatedDownloadProgress` and `rad` the arc's\n * `downloadRadOffset`.\n */\nexport const radialFrame = (\n current: number,\n next: number,\n t: number,\n saved: number,\n progress: number,\n rad: number,\n size: number,\n isMini: boolean\n): RadialFrame => {\n 'worklet'\n const scale = size / INTRINSIC\n const c = size / 2\n const animating = current !== next && t < 1\n const out: RadialFrame = {\n arrow: '',\n arrowAlpha: 0,\n cross: '',\n crossAlpha: 0,\n arc: '',\n arcAlpha: 0,\n glyphScale: 0,\n glyphAlpha: 0,\n arrowLines: [],\n crossLines: [],\n arcStart: 0,\n arcSweep: 0,\n arcRadius: 0,\n }\n\n // The download arrow.\n if (current === DOWNLOAD || next === DOWNLOAD) {\n const yStart = c - 9 * scale\n const yEnd = c + 9 * scale\n const yEnd2 = c + 12 * scale\n let yStart2: number\n let transition: number\n if (current === CANCEL && next === DOWNLOAD) {\n out.arrowAlpha = Math.min(1, t / 0.5)\n transition = t\n yStart2 = c + 12 * scale\n } else {\n if (next !== CANCEL && next !== DOWNLOAD) {\n out.arrowAlpha = Math.min(1, saved / 0.5) * (1 - t)\n transition = saved\n } else {\n out.arrowAlpha = 1\n transition = t\n }\n yStart2 = c + 1 * scale\n }\n\n let y1: number\n let y2: number\n let x1: number\n let x2: number\n let y3: number\n if (animating) {\n let p = transition\n if (next === DOWNLOAD || p <= STAGE1) {\n let cur: number\n let back: number\n if (next === DOWNLOAD) {\n back = transition\n cur = 1 - back\n } else {\n cur = transition / STAGE1\n back = 1 - cur\n }\n y1 = yStart + (yStart2 - yStart) * cur\n y2 = yEnd + (yEnd2 - yEnd) * cur\n x1 = c - 8 * back * scale\n x2 = c + 8 * back * scale\n y3 = y2 - 8 * back * scale\n } else {\n // The stem curls into the start of the ring, then the ✕ turns in.\n let d = 13 * scale * scale + (isMini ? 2 : 0)\n p -= STAGE1\n const p3 = p / (STAGE2 + STAGE3)\n let p1: number\n let p2: number\n if (p > STAGE2) {\n p1 = 1\n p2 = (p - STAGE2) / STAGE3\n } else {\n p1 = p / STAGE2\n p2 = 0\n }\n const start = 100 * p2\n out.arrow += arcPath(c - d / 2, yEnd2, d / 2, d / 2, start, 104 * p3 - start)\n\n y1 = yStart2 + (yEnd2 - yStart2) * p1\n y2 = y3 = yEnd2\n x1 = x2 = c\n\n if (p2 > 0) {\n d = 7 * p2 * scale\n out.cross = cross(c, d, 1, -45 * (1 - p2))\n out.crossLines = crossLines(c, d, 1, -45 * (1 - p2))\n out.crossAlpha = p2\n }\n }\n } else {\n y1 = yStart\n y2 = yEnd\n x1 = c - 8 * scale\n x2 = c + 8 * scale\n y3 = y2 - 8 * scale\n }\n if (y1 !== y2) {\n out.arrow += line(c, y1, c, y2)\n out.arrowLines.push(c, y1, c, y2)\n }\n if (x1 !== c) {\n out.arrow += line(x1, y3, c, y2) + line(x2, y3, c, y2)\n out.arrowLines.push(x1, y3, c, y2, x2, y3, c, y2)\n }\n }\n\n // The cancel ✕ and the progress ring.\n if (current === CANCEL || (current === NONE && next === CANCEL)) {\n let d: number\n let rotation = 0\n let iconScale = 1\n let alpha: number\n if (next === DOWNLOAD) {\n if (t <= STAGE3 + STAGE2) {\n const back = 1 - t / (STAGE3 + STAGE2)\n d = 7 * back * scale\n alpha = back\n } else {\n d = 0\n alpha = 0\n }\n } else if (isPlayPause(next)) {\n const back = 1 - t\n iconScale = 1 - t\n d = 7 * back * scale\n alpha = Math.min(1, back * 2)\n } else if (next === NONE) {\n const back = 1 - t\n d = 7 * scale\n alpha = back\n iconScale = back\n } else if (next === CANCEL) {\n if (current === NONE) \n iconScale = t\n else \n rotation = 45 * (1 - t)\n \n d = 7 * scale\n alpha = t\n } else {\n d = 7 * scale\n alpha = 1\n }\n if (current === next) {\n rotation = 0\n iconScale = 1\n alpha = 1\n d = 7 * scale\n }\n\n out.cross = cross(c, d, iconScale, rotation)\n out.crossLines = crossLines(c, d, iconScale, rotation)\n out.crossAlpha = alpha\n if (alpha > 0) {\n // At least 4 degrees, so a download that has not started still shows a dot.\n const sweep = Math.max(4, 360 * progress)\n const inset = isMini ? 2 : 4\n const r = c - inset\n out.arc = arcPath(c, c, r, r, rad, sweep)\n out.arcAlpha = alpha\n out.arcStart = rad\n out.arcSweep = sweep\n out.arcRadius = r\n }\n }\n\n // Play / pause, drawn by `PlayPauseIcon`; here only how much of it shows.\n if (isPlayPause(current) || isPlayPause(next)) \n if (isPlayPause(current) && isPlayPause(next)) {\n out.glyphScale = 1\n out.glyphAlpha = 1\n } else if (isPlayPause(next)) {\n out.glyphAlpha = animating ? t : 1\n // From the cancel ✕ it grows from nothing; from the arrow it is full size at half way.\n out.glyphScale = !animating\n ? 1\n : current === NONE || current === CANCEL\n ? t\n : Math.min(1, t / 0.5)\n } else {\n out.glyphAlpha = animating ? 1 - t : 0\n out.glyphScale = animating ? Math.max(0, 1 - t / 0.5) : 0\n }\n \n\n return out\n}\n\n/** One straight stroke of the frame with round caps, for drawing without react-native-svg. */\nfunction FallbackStroke ({ frame, isCross, index, color, width }: {\n frame: SharedValue<RadialFrame>\n isCross: boolean\n index: number\n color: string\n width: number\n}) {\n const style = useAnimatedStyle(() => {\n const lines = isCross ? frame.value.crossLines : frame.value.arrowLines\n const i = index * 4\n if (lines.length < i + 4)\n return { opacity: 0, width: 0 }\n\n const x1 = lines[i]\n const y1 = lines[i + 1]\n const x2 = lines[i + 2]\n const y2 = lines[i + 3]\n const length = Math.hypot(x2 - x1, y2 - y1) + width\n return {\n opacity: isCross ? frame.value.crossAlpha : frame.value.arrowAlpha,\n width: length,\n left: (x1 + x2) / 2 - length / 2,\n top: (y1 + y2) / 2 - width / 2,\n transform: [{ rotate: `${Math.atan2(y2 - y1, x2 - x1)}rad` }],\n }\n })\n return <Animated.View style={[styles.stroke, { height: width, borderRadius: width / 2, backgroundColor: color }, style]} />\n}\n\n/**\n * The progress arc without react-native-svg: two half rings, each clipped to its half of the\n * circle and turned in from the other side, and the whole turned to the arc's start.\n */\nfunction FallbackRing ({ frame, color, width, size, isMini }: {\n frame: SharedValue<RadialFrame>\n color: string\n width: number\n size: number\n isMini: boolean\n}) {\n const radius = size / 2 - (isMini ? 2 : 4)\n const diameter = radius * 2 + width\n const offset = size / 2 - diameter / 2\n // Drawn from 12 o'clock; Android's arcs start at 3.\n const ringStyle = useAnimatedStyle(() => ({\n opacity: frame.value.arcAlpha,\n transform: [{ rotate: `${frame.value.arcStart + 90}deg` }],\n }))\n const firstHalfStyle = useAnimatedStyle(() => ({\n transform: [{ rotate: `${45 + Math.min(frame.value.arcSweep, 180) - 180}deg` }],\n }))\n // Hidden until it is needed: parked on the far side, its ends sit on the clip's edge and\n // antialias into a hairline there.\n const secondHalfStyle = useAnimatedStyle(() => ({\n opacity: frame.value.arcSweep > 180 ? 1 : 0,\n transform: [{ rotate: `${45 + Math.max(frame.value.arcSweep, 180) - 180}deg` }],\n }))\n const halfRing = {\n width: diameter,\n height: diameter,\n borderRadius: diameter / 2,\n borderWidth: width,\n borderTopColor: color,\n borderRightColor: color,\n borderBottomColor: 'transparent',\n borderLeftColor: 'transparent',\n }\n return (\n <Animated.View style={[styles.ring, { left: offset, top: offset, width: diameter, height: diameter }, ringStyle]}>\n <View style={[styles.half, { left: diameter / 2, width: diameter / 2, height: diameter }]}>\n <Animated.View style={[styles.halfRing, halfRing, { left: -diameter / 2 }, firstHalfStyle]} />\n </View>\n <View style={[styles.half, { left: 0, width: diameter / 2, height: diameter }]}>\n <Animated.View style={[styles.halfRing, halfRing, { left: 0 }, secondHalfStyle]} />\n </View>\n </Animated.View>\n )\n}\n\nexport interface RadialProgressProps {\n /** The glyph. A change animates from the previous one. */\n icon: MediaActionIcon\n /**\n * Download or upload progress, 0..1, drawn as the ring while `icon` is `cancel`.\n * A shared value is followed on the UI thread without re-rendering.\n */\n progress?: number | SharedValue<number>\n /** Circle diameter: 44 for a voice note or file, 48 over a photo or video. */\n size?: number\n /** The glyph and ring. */\n color: string\n /** The filled circle behind them; omit for none. */\n backgroundColor?: string\n /** The mini variant: 2-wide strokes and a ring 2 in from the edge. */\n isMini?: boolean\n /** Glyph size of the play/pause icon. Default 18 for a 44 circle, scaled with `size`. */\n glyphSize?: number\n style?: StyleProp<ViewStyle>\n}\n\n/**\n * The media button: a filled circle with a\n * play, pause, download or cancel glyph, and while cancelable a ring that grows with\n * `progress` and turns once every 2.5s. Every animation runs on the UI thread.\n */\nexport function RadialProgress ({\n icon,\n progress = 0,\n size = 44,\n color,\n backgroundColor,\n isMini = false,\n glyphSize,\n style,\n}: RadialProgressProps) {\n const code = ICON_CODES[icon]\n const current = useSharedValue(code)\n const next = useSharedValue(code)\n const t = useSharedValue(1)\n const saved = useSharedValue(1)\n const arc = useSharedValue(0)\n const target = useSharedValue(typeof progress === 'number' ? progress : 0)\n const rad = useSharedValue(RAD_OFFSET_START)\n const previousIcon = useRef(icon)\n const fallbackProgress = useSharedValue(0)\n const progressSource = typeof progress === 'number' ? fallbackProgress : progress\n const numericProgress = typeof progress === 'number' ? progress : null\n\n const [initialIcon] = useState(icon)\n\n // The ring turns from the moment the cancel icon is set; mounted on it, too.\n useEffect(() => {\n if (initialIcon === 'cancel')\n spinRing(rad)\n\n return () => cancelAnimation(rad)\n }, [initialIcon, rad])\n\n useEffect(() => {\n const from = previousIcon.current\n if (from === icon)\n return\n\n previousIcon.current = icon\n const duration = transitionDuration(from, icon)\n // A new icon mid-transition starts from the icon being animated to.\n if (t.value < 1)\n current.value = next.value\n saved.value = t.value\n next.value = ICON_CODES[icon]\n if (icon === 'cancel') {\n arc.value = 0\n spinRing(rad)\n }\n t.value = 0\n t.value = withTiming(1, { duration, easing: Easing.linear }, finished => {\n if (!finished)\n return\n\n current.value = next.value\n if (next.value !== CANCEL)\n cancelAnimation(rad)\n })\n }, [icon, arc, current, next, rad, saved, t])\n\n // A number prop feeds the target from the JS side; a shared value from the UI thread.\n useEffect(() => {\n if (numericProgress != null)\n target.value = numericProgress\n }, [numericProgress, target])\n\n useAnimatedReaction(\n () => progressSource.value,\n value => {\n if (numericProgress == null)\n target.set(value)\n }\n )\n\n useAnimatedReaction(\n () => target.value,\n value => {\n // A drop jumps; a rise eases over 200ms from where the ring is.\n if (value <= arc.get()) {\n cancelAnimation(arc)\n arc.set(value)\n return\n }\n arc.set(withTiming(value, { duration: RADIAL_PROGRESS_MS, easing: DECELERATE }))\n }\n )\n\n // The frame is computed once per change and read by each path. The values are read here, in\n // the derived value's own worklet, so it is subscribed to all of them; the paths subscribe to\n // the derived value. Computing the frame in each of the three paths (and once more for the\n // fallback) built every SVG path string four times a frame while the ring spun.\n const frame = useDerivedValue(() =>\n radialFrame(current.value, next.value, t.value, saved.value, arc.value, rad.value, size, isMini))\n const arrowProps = useAnimatedProps(() => {\n const r = frame.value\n return { d: r.arrow || 'M0 0', opacity: r.arrowAlpha }\n })\n const crossProps = useAnimatedProps(() => {\n const r = frame.value\n return { d: r.cross || 'M0 0', opacity: r.crossAlpha }\n })\n const arcProps = useAnimatedProps(() => {\n const r = frame.value\n return { d: r.arc || 'M0 0', opacity: r.arcAlpha }\n })\n\n const glyphStyle = useAnimatedStyle(() => {\n const result = radialFrame(current.value, next.value, t.value, saved.value, 0, 0, size, isMini)\n return { opacity: result.glyphAlpha, transform: [{ scale: result.glyphScale }] }\n })\n\n // The circle fades in from no icon and out to it.\n const circleStyle = useAnimatedStyle(() => {\n const isAnimating = current.value !== next.value && t.value < 1\n if (!isAnimating)\n return { opacity: next.value === NONE ? 0 : 1 }\n if (current.value === NONE)\n return { opacity: t.value }\n return { opacity: next.value === NONE ? 1 - t.value : 1 }\n })\n\n // The stroke drops to 2 when the button is under 0.7 of its intrinsic size.\n const strokeWidth = isMini || size / INTRINSIC < 0.7 ? 2 : 3\n const circle = { width: size, height: size, borderRadius: size / 2 }\n const glyph = glyphSize ?? Math.round((18 * size) / 44)\n\n return (\n <View\n pointerEvents='none'\n style={[styles.root, circle, style]}\n >\n {backgroundColor != null && (\n <Animated.View style={[StyleSheet.absoluteFill, { backgroundColor, borderRadius: size / 2 }, circleStyle]} />\n )}\n <Animated.View style={[StyleSheet.absoluteFill, styles.center, glyphStyle]}>\n <PlayPauseIcon isPlaying={icon === 'pause'} color={color} size={glyph} />\n </Animated.View>\n {Svg && AnimatedPath && (\n <Svg width={size} height={size} style={StyleSheet.absoluteFill}>\n <AnimatedPath\n animatedProps={arrowProps}\n stroke={color}\n strokeWidth={strokeWidth}\n strokeLinecap='round'\n fill='none'\n />\n <AnimatedPath\n animatedProps={crossProps}\n stroke={color}\n strokeWidth={strokeWidth}\n strokeLinecap='round'\n fill='none'\n />\n <AnimatedPath\n animatedProps={arcProps}\n stroke={color}\n strokeWidth={strokeWidth}\n strokeLinecap='round'\n fill='none'\n />\n </Svg>\n )}\n {!Svg && (\n <>\n <FallbackRing frame={frame} color={color} width={strokeWidth} size={size} isMini={isMini} />\n {[0, 1, 2].map(index => (\n <FallbackStroke key={`arrow${index}`} frame={frame} isCross={false} index={index} color={color} width={strokeWidth} />\n ))}\n {[0, 1].map(index => (\n <FallbackStroke key={`cross${index}`} frame={frame} isCross index={index} color={color} width={strokeWidth} />\n ))}\n </>\n )}\n </View>\n )\n}\n\nconst styles = StyleSheet.create({\n root: {\n overflow: 'hidden',\n },\n center: {\n alignItems: 'center',\n justifyContent: 'center',\n },\n stroke: {\n position: 'absolute',\n },\n ring: {\n position: 'absolute',\n },\n half: {\n position: 'absolute',\n top: 0,\n overflow: 'hidden',\n },\n halfRing: {\n position: 'absolute',\n top: 0,\n },\n})\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,27 @@
1
+ import React from 'react';
2
+ import { SharedValue } from 'react-native-reanimated';
3
+ import { RecordButtonStyles } from './styles';
4
+ interface LockPillProps {
5
+ lockDistance: number;
6
+ /** How far the finger is up, capped at the lock distance. */
7
+ fingerUp: SharedValue<number>;
8
+ pauseMorph: SharedValue<number>;
9
+ /** The circle's entry, which the pill rises with. */
10
+ enter: SharedValue<number>;
11
+ lockHide: SharedValue<number>;
12
+ bob: SharedValue<number>;
13
+ lockedSV: SharedValue<number>;
14
+ lockTilt: SharedValue<number>;
15
+ isLocked: boolean;
16
+ isVideo: boolean;
17
+ /** Locked: the lock has become the pause button. Omitted, it is only drawn. */
18
+ onPause?: () => void;
19
+ styles: RecordButtonStyles;
20
+ }
21
+ /**
22
+ * The lock above the button: a padlock and an arrow while the finger can still
23
+ * slide up, the pause button once the take is locked.
24
+ */
25
+ export declare function LockPill({ lockDistance, fingerUp, pauseMorph, enter, lockHide, bob, lockedSV, lockTilt, isLocked, isVideo, onPause, styles, }: LockPillProps): React.JSX.Element;
26
+ export {};
27
+ //# sourceMappingURL=LockPill.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LockPill.d.ts","sourceRoot":"","sources":["../../../src/components/RecordButton/LockPill.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAiB,EAAE,WAAW,EAAoB,MAAM,yBAAyB,CAAA;AAMjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAE7C,UAAU,aAAa;IACrB,YAAY,EAAE,MAAM,CAAA;IACpB,6DAA6D;IAC7D,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAC7B,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAC/B,qDAAqD;IACrD,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAC1B,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAC7B,GAAG,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IACxB,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAC7B,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAC7B,QAAQ,EAAE,OAAO,CAAA;IACjB,OAAO,EAAE,OAAO,CAAA;IAChB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,MAAM,EAAE,kBAAkB,CAAA;CAC3B;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAE,EACxB,YAAY,EACZ,QAAQ,EACR,UAAU,EACV,KAAK,EACL,QAAQ,EACR,GAAG,EACH,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,OAAO,EACP,MAAM,GACP,EAAE,aAAa,qBAkEf"}
@@ -0,0 +1,182 @@
1
+ import { c as _c } from "react/compiler-runtime";
2
+ import React from 'react';
3
+ import { Pressable, StyleSheet, View } from 'react-native';
4
+ import Animated, { useAnimatedStyle } from 'react-native-reanimated';
5
+ import { Icon } from '../Icon';
6
+ import { ChevronIcon, LockIcon, PauseIcon } from '../MediaControls';
7
+ import { entryCurve } from '../RecordCircle';
8
+ import { LOCK_BOB, LOCK_EXTRA_HEIGHT, LOCK_RISE, LOCK_WIDTH } from './constants';
9
+ /**
10
+ * The lock above the button: a padlock and an arrow while the finger can still
11
+ * slide up, the pause button once the take is locked.
12
+ */
13
+ export function LockPill(t0) {
14
+ const $ = _c(38);
15
+ const {
16
+ lockDistance,
17
+ fingerUp,
18
+ pauseMorph,
19
+ enter,
20
+ lockHide,
21
+ bob,
22
+ lockedSV,
23
+ lockTilt,
24
+ isLocked,
25
+ isVideo,
26
+ onPause,
27
+ styles
28
+ } = t0;
29
+ const lockStyle = useAnimatedStyle(() => {
30
+ const moveProgress = 1 - Math.min(lockDistance, fingerUp.value) / lockDistance;
31
+ const unlocked = 1 - pauseMorph.value;
32
+ const sc = entryCurve(enter.value);
33
+ const scale = Math.max(0, sc * (1 - lockHide.value));
34
+ return {
35
+ height: LOCK_WIDTH + LOCK_EXTRA_HEIGHT * moveProgress * unlocked,
36
+ opacity: scale > 0.01 ? 1 : 0,
37
+ transform: [{
38
+ translateY: LOCK_RISE * (1 - Math.min(1, sc)) + LOCK_RISE * lockHide.value - Math.min(lockDistance, fingerUp.value) - LOCK_BOB * bob.value * moveProgress * unlocked
39
+ }, {
40
+ scale
41
+ }]
42
+ };
43
+ });
44
+ const padlockStyle = useAnimatedStyle(() => {
45
+ const moveProgress_0 = 1 - Math.min(lockDistance, fingerUp.value) / lockDistance;
46
+ const morph = pauseMorph.value;
47
+ const tilt = lockedSV.value > 0 ? lockTilt.value : 9 * (1 - moveProgress_0);
48
+ return {
49
+ opacity: 1 - morph,
50
+ transform: [{
51
+ rotate: `${tilt}deg`
52
+ }, {
53
+ scale: 1 - 0.5 * morph
54
+ }]
55
+ };
56
+ });
57
+ const lockArrowStyle = useAnimatedStyle(() => {
58
+ const moveProgress_1 = 1 - Math.min(lockDistance, fingerUp.value) / lockDistance;
59
+ return {
60
+ opacity: moveProgress_1 * (1 - pauseMorph.value)
61
+ };
62
+ });
63
+ const pauseIconStyle = useAnimatedStyle(() => ({
64
+ opacity: pauseMorph.value,
65
+ transform: [{
66
+ scale: 0.5 + 0.5 * pauseMorph.value
67
+ }]
68
+ }));
69
+ let t1;
70
+ if ($[0] !== lockStyle || $[1] !== styles.lockPill) {
71
+ t1 = [styles.lockPill, lockStyle];
72
+ $[0] = lockStyle;
73
+ $[1] = styles.lockPill;
74
+ $[2] = t1;
75
+ } else {
76
+ t1 = $[2];
77
+ }
78
+ const t2 = isLocked ? "box-none" : "none";
79
+ let t3;
80
+ if ($[3] !== styles.lockColor.color) {
81
+ t3 = <LockIcon color={styles.lockColor.color} size={15} />;
82
+ $[3] = styles.lockColor.color;
83
+ $[4] = t3;
84
+ } else {
85
+ t3 = $[4];
86
+ }
87
+ let t4;
88
+ if ($[5] !== styles.lockColor.color || $[6] !== t3) {
89
+ t4 = <Icon name="lock" color={styles.lockColor.color} size={15} fallback={t3} />;
90
+ $[5] = styles.lockColor.color;
91
+ $[6] = t3;
92
+ $[7] = t4;
93
+ } else {
94
+ t4 = $[7];
95
+ }
96
+ let t5;
97
+ if ($[8] !== padlockStyle || $[9] !== t4) {
98
+ t5 = <Animated.View style={padlockStyle}>{t4}</Animated.View>;
99
+ $[8] = padlockStyle;
100
+ $[9] = t4;
101
+ $[10] = t5;
102
+ } else {
103
+ t5 = $[10];
104
+ }
105
+ let t6;
106
+ if ($[11] !== pauseIconStyle || $[12] !== styles.lockSlotOverlay) {
107
+ t6 = [styles.lockSlotOverlay, pauseIconStyle];
108
+ $[11] = pauseIconStyle;
109
+ $[12] = styles.lockSlotOverlay;
110
+ $[13] = t6;
111
+ } else {
112
+ t6 = $[13];
113
+ }
114
+ let t7;
115
+ if ($[14] !== styles.lockColor.color) {
116
+ t7 = <PauseIcon color={styles.lockColor.color} size={14} />;
117
+ $[14] = styles.lockColor.color;
118
+ $[15] = t7;
119
+ } else {
120
+ t7 = $[15];
121
+ }
122
+ let t8;
123
+ if ($[16] !== t6 || $[17] !== t7) {
124
+ t8 = <Animated.View style={t6}>{t7}</Animated.View>;
125
+ $[16] = t6;
126
+ $[17] = t7;
127
+ $[18] = t8;
128
+ } else {
129
+ t8 = $[18];
130
+ }
131
+ let t9;
132
+ if ($[19] !== styles.lockSlot || $[20] !== t5 || $[21] !== t8) {
133
+ t9 = <View style={styles.lockSlot}>{t5}{t8}</View>;
134
+ $[19] = styles.lockSlot;
135
+ $[20] = t5;
136
+ $[21] = t8;
137
+ $[22] = t9;
138
+ } else {
139
+ t9 = $[22];
140
+ }
141
+ let t10;
142
+ if ($[23] !== styles.lockColor.color) {
143
+ t10 = <ChevronIcon color={styles.lockColor.color} size={12} direction="up" />;
144
+ $[23] = styles.lockColor.color;
145
+ $[24] = t10;
146
+ } else {
147
+ t10 = $[24];
148
+ }
149
+ let t11;
150
+ if ($[25] !== lockArrowStyle || $[26] !== t10) {
151
+ t11 = <Animated.View style={lockArrowStyle}>{t10}</Animated.View>;
152
+ $[25] = lockArrowStyle;
153
+ $[26] = t10;
154
+ $[27] = t11;
155
+ } else {
156
+ t11 = $[27];
157
+ }
158
+ let t12;
159
+ if ($[28] !== isLocked || $[29] !== isVideo || $[30] !== onPause) {
160
+ t12 = isLocked && onPause && <Pressable onPress={onPause} hitSlop={8} accessibilityRole="button" accessibilityLabel={isVideo ? "pause video recording" : "pause recording"} style={StyleSheet.absoluteFill} />;
161
+ $[28] = isLocked;
162
+ $[29] = isVideo;
163
+ $[30] = onPause;
164
+ $[31] = t12;
165
+ } else {
166
+ t12 = $[31];
167
+ }
168
+ let t13;
169
+ if ($[32] !== t1 || $[33] !== t11 || $[34] !== t12 || $[35] !== t2 || $[36] !== t9) {
170
+ t13 = <Animated.View style={t1} pointerEvents={t2}>{t9}{t11}{t12}</Animated.View>;
171
+ $[32] = t1;
172
+ $[33] = t11;
173
+ $[34] = t12;
174
+ $[35] = t2;
175
+ $[36] = t9;
176
+ $[37] = t13;
177
+ } else {
178
+ t13 = $[37];
179
+ }
180
+ return t13;
181
+ }
182
+ //# sourceMappingURL=LockPill.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LockPill.js","names":["React","Pressable","StyleSheet","View","Animated","useAnimatedStyle","Icon","ChevronIcon","LockIcon","PauseIcon","entryCurve","LOCK_BOB","LOCK_EXTRA_HEIGHT","LOCK_RISE","LOCK_WIDTH","LockPill","t0","$","_c","lockDistance","fingerUp","pauseMorph","enter","lockHide","bob","lockedSV","lockTilt","isLocked","isVideo","onPause","styles","lockStyle","moveProgress","Math","min","value","unlocked","sc","scale","max","height","opacity","transform","translateY","padlockStyle","moveProgress_0","morph","tilt","rotate","lockArrowStyle","moveProgress_1","pauseIconStyle","t1","lockPill","t2","t3","lockColor","color","t4","t5","t6","lockSlotOverlay","t7","t8","t9","lockSlot","t10","t11","t12","absoluteFill","t13"],"sources":["../../../src/components/RecordButton/LockPill.tsx"],"sourcesContent":["import React from 'react'\nimport { Pressable, StyleSheet, View } from 'react-native'\nimport Animated, { SharedValue, useAnimatedStyle } from 'react-native-reanimated'\n\nimport { Icon } from '../Icon'\nimport { ChevronIcon, LockIcon, PauseIcon } from '../MediaControls'\nimport { entryCurve } from '../RecordCircle'\nimport { LOCK_BOB, LOCK_EXTRA_HEIGHT, LOCK_RISE, LOCK_WIDTH } from './constants'\nimport { RecordButtonStyles } from './styles'\n\ninterface LockPillProps {\n lockDistance: number\n /** How far the finger is up, capped at the lock distance. */\n fingerUp: SharedValue<number>\n pauseMorph: SharedValue<number>\n /** The circle's entry, which the pill rises with. */\n enter: SharedValue<number>\n lockHide: SharedValue<number>\n bob: SharedValue<number>\n lockedSV: SharedValue<number>\n lockTilt: SharedValue<number>\n isLocked: boolean\n isVideo: boolean\n /** Locked: the lock has become the pause button. Omitted, it is only drawn. */\n onPause?: () => void\n styles: RecordButtonStyles\n}\n\n/**\n * The lock above the button: a padlock and an arrow while the finger can still\n * slide up, the pause button once the take is locked.\n */\nexport function LockPill ({\n lockDistance,\n fingerUp,\n pauseMorph,\n enter,\n lockHide,\n bob,\n lockedSV,\n lockTilt,\n isLocked,\n isVideo,\n onPause,\n styles,\n}: LockPillProps) {\n // `ControlsView`: the lock rises with the circle's entry curve, follows the\n // finger up 1:1, bobs while idle, and is 14 taller while it shows its arrow.\n const lockStyle = useAnimatedStyle(() => {\n const moveProgress = 1 - Math.min(lockDistance, fingerUp.value) / lockDistance\n const unlocked = 1 - pauseMorph.value\n const sc = entryCurve(enter.value)\n const scale = Math.max(0, sc * (1 - lockHide.value))\n return {\n height: LOCK_WIDTH + LOCK_EXTRA_HEIGHT * moveProgress * unlocked,\n opacity: scale > 0.01 ? 1 : 0,\n transform: [\n {\n translateY: LOCK_RISE * (1 - Math.min(1, sc)) + LOCK_RISE * lockHide.value -\n Math.min(lockDistance, fingerUp.value) - LOCK_BOB * bob.value * moveProgress * unlocked,\n },\n { scale },\n ],\n }\n })\n\n const padlockStyle = useAnimatedStyle(() => {\n const moveProgress = 1 - Math.min(lockDistance, fingerUp.value) / lockDistance\n const morph = pauseMorph.value\n const tilt = lockedSV.value > 0 ? lockTilt.value : 9 * (1 - moveProgress)\n return {\n opacity: 1 - morph,\n transform: [{ rotate: `${tilt}deg` }, { scale: 1 - 0.5 * morph }],\n }\n })\n\n const lockArrowStyle = useAnimatedStyle(() => {\n const moveProgress = 1 - Math.min(lockDistance, fingerUp.value) / lockDistance\n return { opacity: moveProgress * (1 - pauseMorph.value) }\n })\n\n const pauseIconStyle = useAnimatedStyle(() => ({\n opacity: pauseMorph.value,\n transform: [{ scale: 0.5 + 0.5 * pauseMorph.value }],\n }))\n\n return (\n <Animated.View style={[styles.lockPill, lockStyle]} pointerEvents={isLocked ? 'box-none' : 'none'}>\n <View style={styles.lockSlot}>\n <Animated.View style={padlockStyle}>\n <Icon name='lock' color={styles.lockColor.color} size={15} fallback={<LockIcon color={styles.lockColor.color} size={15} />} />\n </Animated.View>\n <Animated.View style={[styles.lockSlotOverlay, pauseIconStyle]}>\n <PauseIcon color={styles.lockColor.color} size={14} />\n </Animated.View>\n </View>\n <Animated.View style={lockArrowStyle}>\n <ChevronIcon color={styles.lockColor.color} size={12} direction='up' />\n </Animated.View>\n {/* Locked: the lock has become the pause button. */}\n {isLocked && onPause && (\n <Pressable\n onPress={onPause}\n hitSlop={8}\n accessibilityRole='button'\n accessibilityLabel={isVideo ? 'pause video recording' : 'pause recording'}\n style={StyleSheet.absoluteFill}\n />\n )}\n </Animated.View>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ import { SharedValue } from 'react-native-reanimated';
3
+ import { RecordButtonStyles } from './styles';
4
+ import type { useRecordGesture } from './useRecordGesture';
5
+ /** Mic <-> camera: 0 shows the mic, 1 the camera, animated between on a toggle. */
6
+ export declare function useModeMorph(mode: 'voice' | 'video'): SharedValue<number>;
7
+ interface ModeButtonProps {
8
+ gesture: ReturnType<typeof useRecordGesture>;
9
+ /** 1 while the button shows, 0 while it hides under the big circle. */
10
+ buttonShown: SharedValue<number>;
11
+ modeSV: SharedValue<number>;
12
+ isVideo: boolean;
13
+ styles: RecordButtonStyles;
14
+ }
15
+ /** The 36pt button a take is held on, with its mic and camera icons. */
16
+ export declare function ModeButton({ gesture, buttonShown, modeSV, isVideo, styles }: ModeButtonProps): React.JSX.Element;
17
+ export {};
18
+ //# sourceMappingURL=ModeButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModeButton.d.ts","sourceRoot":"","sources":["../../../src/components/RecordButton/ModeButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAA;AAExC,OAAiB,EAAgB,WAAW,EAAgD,MAAM,yBAAyB,CAAA;AAI3H,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAC7C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAQ1D,mFAAmF;AACnF,wBAAgB,YAAY,CAAE,IAAI,EAAE,OAAO,GAAG,OAAO,uBAWpD;AAED,UAAU,eAAe;IACvB,OAAO,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAA;IAC5C,uEAAuE;IACvE,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAChC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAC3B,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,kBAAkB,CAAA;CAC3B;AAED,wEAAwE;AACxE,wBAAgB,UAAU,CAAE,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,eAAe,qBAgC7F"}
@@ -0,0 +1,154 @@
1
+ import { c as _c } from "react/compiler-runtime";
2
+ import React, { useEffect } from 'react';
3
+ import { GestureDetector } from 'react-native-gesture-handler';
4
+ import Animated, { ReduceMotion, useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';
5
+ import { Icon } from '../Icon';
6
+ import { CameraIcon, MicIcon } from '../MediaControls';
7
+ /**
8
+ * The idle button's icon last shown, so a remount caused by the voice / video
9
+ * toggle can cross-swap from the previous icon instead of snapping.
10
+ */
11
+ let lastShownMode = null;
12
+
13
+ /** Mic <-> camera: 0 shows the mic, 1 the camera, animated between on a toggle. */
14
+ export function useModeMorph(mode) {
15
+ const $ = _c(4);
16
+ const isVideo = mode !== "voice";
17
+ const modeSV = useSharedValue(lastShownMode === null || lastShownMode === mode ? isVideo ? 1 : 0 : isVideo ? 0 : 1);
18
+ let t0;
19
+ let t1;
20
+ if ($[0] !== mode || $[1] !== modeSV) {
21
+ t0 = () => {
22
+ lastShownMode = mode;
23
+ modeSV.set(withTiming(mode === "video" ? 1 : 0, {
24
+ duration: 150,
25
+ reduceMotion: ReduceMotion.System
26
+ }));
27
+ };
28
+ t1 = [mode, modeSV];
29
+ $[0] = mode;
30
+ $[1] = modeSV;
31
+ $[2] = t0;
32
+ $[3] = t1;
33
+ } else {
34
+ t0 = $[2];
35
+ t1 = $[3];
36
+ }
37
+ useEffect(t0, t1);
38
+ return modeSV;
39
+ }
40
+ /** The 36pt button a take is held on, with its mic and camera icons. */
41
+ export function ModeButton(t0) {
42
+ const $ = _c(23);
43
+ const {
44
+ gesture,
45
+ buttonShown,
46
+ modeSV,
47
+ isVideo,
48
+ styles
49
+ } = t0;
50
+ const buttonStyle = useAnimatedStyle(() => ({
51
+ opacity: buttonShown.value,
52
+ transform: [{
53
+ scale: 0.6 + 0.4 * buttonShown.value
54
+ }]
55
+ }));
56
+ const micStyle = useAnimatedStyle(() => {
57
+ const out = Math.min(1, modeSV.value * 2);
58
+ return {
59
+ opacity: 1 - out,
60
+ transform: [{
61
+ scale: 1 - 0.9 * out
62
+ }]
63
+ };
64
+ });
65
+ const cameraStyle = useAnimatedStyle(() => {
66
+ const into = Math.max(0, modeSV.value * 2 - 1);
67
+ return {
68
+ opacity: into,
69
+ transform: [{
70
+ scale: 0.1 + 0.9 * into
71
+ }]
72
+ };
73
+ });
74
+ const t1 = isVideo ? "record video message" : "record voice message";
75
+ let t2;
76
+ if ($[0] !== buttonStyle || $[1] !== styles.button) {
77
+ t2 = [styles.button, buttonStyle];
78
+ $[0] = buttonStyle;
79
+ $[1] = styles.button;
80
+ $[2] = t2;
81
+ } else {
82
+ t2 = $[2];
83
+ }
84
+ let t3;
85
+ if ($[3] !== micStyle || $[4] !== styles.modeIcon) {
86
+ t3 = [styles.modeIcon, micStyle];
87
+ $[3] = micStyle;
88
+ $[4] = styles.modeIcon;
89
+ $[5] = t3;
90
+ } else {
91
+ t3 = $[5];
92
+ }
93
+ let t4;
94
+ if ($[6] === Symbol.for("react.memo_cache_sentinel")) {
95
+ t4 = <Icon name="mic" color="#fff" size={22} fallback={<MicIcon color="#fff" size={22} />} />;
96
+ $[6] = t4;
97
+ } else {
98
+ t4 = $[6];
99
+ }
100
+ let t5;
101
+ if ($[7] !== t3) {
102
+ t5 = <Animated.View style={t3}>{t4}</Animated.View>;
103
+ $[7] = t3;
104
+ $[8] = t5;
105
+ } else {
106
+ t5 = $[8];
107
+ }
108
+ let t6;
109
+ if ($[9] !== cameraStyle || $[10] !== styles.modeIcon) {
110
+ t6 = [styles.modeIcon, cameraStyle];
111
+ $[9] = cameraStyle;
112
+ $[10] = styles.modeIcon;
113
+ $[11] = t6;
114
+ } else {
115
+ t6 = $[11];
116
+ }
117
+ let t7;
118
+ if ($[12] === Symbol.for("react.memo_cache_sentinel")) {
119
+ t7 = <Icon name="camera" color="#fff" size={22} fallback={<CameraIcon color="#fff" size={22} />} />;
120
+ $[12] = t7;
121
+ } else {
122
+ t7 = $[12];
123
+ }
124
+ let t8;
125
+ if ($[13] !== t6) {
126
+ t8 = <Animated.View style={t6}>{t7}</Animated.View>;
127
+ $[13] = t6;
128
+ $[14] = t8;
129
+ } else {
130
+ t8 = $[14];
131
+ }
132
+ let t9;
133
+ if ($[15] !== t1 || $[16] !== t2 || $[17] !== t5 || $[18] !== t8) {
134
+ t9 = <Animated.View accessibilityRole="button" accessibilityLabel={t1} style={t2}>{t5}{t8}</Animated.View>;
135
+ $[15] = t1;
136
+ $[16] = t2;
137
+ $[17] = t5;
138
+ $[18] = t8;
139
+ $[19] = t9;
140
+ } else {
141
+ t9 = $[19];
142
+ }
143
+ let t10;
144
+ if ($[20] !== gesture || $[21] !== t9) {
145
+ t10 = <GestureDetector gesture={gesture}>{t9}</GestureDetector>;
146
+ $[20] = gesture;
147
+ $[21] = t9;
148
+ $[22] = t10;
149
+ } else {
150
+ t10 = $[22];
151
+ }
152
+ return t10;
153
+ }
154
+ //# sourceMappingURL=ModeButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModeButton.js","names":["React","useEffect","GestureDetector","Animated","ReduceMotion","useAnimatedStyle","useSharedValue","withTiming","Icon","CameraIcon","MicIcon","lastShownMode","useModeMorph","mode","$","_c","isVideo","modeSV","t0","t1","set","duration","reduceMotion","System","ModeButton","gesture","buttonShown","styles","buttonStyle","opacity","value","transform","scale","micStyle","out","Math","min","cameraStyle","into","max","t2","button","t3","modeIcon","t4","Symbol","for","t5","t6","t7","t8","t9","t10"],"sources":["../../../src/components/RecordButton/ModeButton.tsx"],"sourcesContent":["import React, { useEffect } from 'react'\nimport { GestureDetector } from 'react-native-gesture-handler'\nimport Animated, { ReduceMotion, SharedValue, useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated'\n\nimport { Icon } from '../Icon'\nimport { CameraIcon, MicIcon } from '../MediaControls'\nimport { RecordButtonStyles } from './styles'\nimport type { useRecordGesture } from './useRecordGesture'\n\n/**\n * The idle button's icon last shown, so a remount caused by the voice / video\n * toggle can cross-swap from the previous icon instead of snapping.\n */\nlet lastShownMode: 'voice' | 'video' | null = null\n\n/** Mic <-> camera: 0 shows the mic, 1 the camera, animated between on a toggle. */\nexport function useModeMorph (mode: 'voice' | 'video') {\n const isVideo = mode !== 'voice'\n const modeSV = useSharedValue(lastShownMode === null || lastShownMode === mode ? (isVideo ? 1 : 0) : (isVideo ? 0 : 1))\n\n // Mic <-> camera: a quick scale and fade cross-swap when the mode toggles.\n useEffect(() => {\n lastShownMode = mode\n modeSV.set(withTiming(mode === 'video' ? 1 : 0, { duration: 150, reduceMotion: ReduceMotion.System }))\n }, [mode, modeSV])\n\n return modeSV\n}\n\ninterface ModeButtonProps {\n gesture: ReturnType<typeof useRecordGesture>\n /** 1 while the button shows, 0 while it hides under the big circle. */\n buttonShown: SharedValue<number>\n modeSV: SharedValue<number>\n isVideo: boolean\n styles: RecordButtonStyles\n}\n\n/** The 36pt button a take is held on, with its mic and camera icons. */\nexport function ModeButton ({ gesture, buttonShown, modeSV, isVideo, styles }: ModeButtonProps) {\n // Hidden under the big circle while a take records, back once it has left.\n const buttonStyle = useAnimatedStyle(() => ({\n opacity: buttonShown.value,\n transform: [{ scale: 0.6 + 0.4 * buttonShown.value }],\n }))\n\n const micStyle = useAnimatedStyle(() => {\n const out = Math.min(1, modeSV.value * 2)\n return { opacity: 1 - out, transform: [{ scale: 1 - 0.9 * out }] }\n })\n const cameraStyle = useAnimatedStyle(() => {\n const into = Math.max(0, modeSV.value * 2 - 1)\n return { opacity: into, transform: [{ scale: 0.1 + 0.9 * into }] }\n })\n\n return (\n <GestureDetector gesture={gesture}>\n <Animated.View\n accessibilityRole='button'\n accessibilityLabel={isVideo ? 'record video message' : 'record voice message'}\n style={[styles.button, buttonStyle]}\n >\n <Animated.View style={[styles.modeIcon, micStyle]}>\n <Icon name='mic' color='#fff' size={22} fallback={<MicIcon color='#fff' size={22} />} />\n </Animated.View>\n <Animated.View style={[styles.modeIcon, cameraStyle]}>\n <Icon name='camera' color='#fff' size={22} fallback={<CameraIcon color='#fff' size={22} />} />\n </Animated.View>\n </Animated.View>\n </GestureDetector>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,20 @@
1
+ import React from 'react';
2
+ import { RecordButtonStyles } from './styles';
3
+ export declare const AnimatedPressable: import("react-native-reanimated/lib/typescript/createAnimatedComponent").AnimatedComponentType<Readonly<Omit<import("react-native").PressableProps, "ref"> & {
4
+ ref?: React.Ref<import("react-native").PressableInstance> | undefined;
5
+ }>, (props: Omit<import("react-native").PressableProps, "ref"> & {
6
+ ref?: React.Ref<import("react-native").PressableInstance> | undefined;
7
+ }) => React.ReactNode, object>;
8
+ interface ResumeButtonProps {
9
+ isVideo: boolean;
10
+ onResume: () => void;
11
+ styles: RecordButtonStyles;
12
+ }
13
+ /**
14
+ * Previewing: the pause button turns into one that records on, its
15
+ * icon fading in as the bars fade out. It is
16
+ * drawn in the lock's own grey, not red.
17
+ */
18
+ export declare function ResumeButton({ isVideo, onResume, styles }: ResumeButtonProps): React.JSX.Element;
19
+ export {};
20
+ //# sourceMappingURL=ResumeButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResumeButton.d.ts","sourceRoot":"","sources":["../../../src/components/RecordButton/ResumeButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAQzB,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAE7C,eAAO,MAAM,iBAAiB;;;OAgC65G,CAAC;8BAhCh3G,CAAA;AAE5E,UAAU,iBAAiB;IACzB,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,MAAM,EAAE,kBAAkB,CAAA;CAC3B;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,iBAAiB,qBAkB7E"}