stream-chat-react-native-core 9.2.0-beta.2 → 9.2.0-beta.3

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 (386) hide show
  1. package/README.md +1 -1
  2. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerContent.js +2 -2
  3. package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerContent.js.map +1 -1
  4. package/lib/commonjs/components/Channel/Channel.js +10 -1
  5. package/lib/commonjs/components/Channel/Channel.js.map +1 -1
  6. package/lib/commonjs/components/Channel/hooks/useMessageListPagination.js +26 -3
  7. package/lib/commonjs/components/Channel/hooks/useMessageListPagination.js.map +1 -1
  8. package/lib/commonjs/components/ChannelList/ChannelList.js +29 -4
  9. package/lib/commonjs/components/ChannelList/ChannelList.js.map +1 -1
  10. package/lib/commonjs/components/ChannelList/hooks/useChannelActions.js +314 -11
  11. package/lib/commonjs/components/ChannelList/hooks/useChannelActions.js.map +1 -1
  12. package/lib/commonjs/components/Message/hooks/useMessageActionHandlers.js +202 -15
  13. package/lib/commonjs/components/Message/hooks/useMessageActionHandlers.js.map +1 -1
  14. package/lib/commonjs/components/MessageInput/MessageComposer.js +1 -1
  15. package/lib/commonjs/components/MessageInput/MessageComposerLeadingView.js +1 -1
  16. package/lib/commonjs/components/MessageInput/MessageComposerLeadingView.js.map +1 -1
  17. package/lib/commonjs/components/MessageInput/MessageInputHeaderView.js +1 -1
  18. package/lib/commonjs/components/MessageInput/MessageInputHeaderView.js.map +1 -1
  19. package/lib/commonjs/components/MessageInput/MessageInputTrailingView.js +1 -1
  20. package/lib/commonjs/components/MessageInput/MessageInputTrailingView.js.map +1 -1
  21. package/lib/commonjs/components/MessageInput/components/AttachmentPreview/AttachmentUploadPreviewList.js +7 -13
  22. package/lib/commonjs/components/MessageInput/components/AttachmentPreview/AttachmentUploadPreviewList.js.map +1 -1
  23. package/lib/commonjs/components/MessageInput/components/AudioRecorder/AudioRecorder.js +27 -6
  24. package/lib/commonjs/components/MessageInput/components/AudioRecorder/AudioRecorder.js.map +1 -1
  25. package/lib/commonjs/components/MessageInput/components/AudioRecorder/AudioRecordingButton.js +29 -9
  26. package/lib/commonjs/components/MessageInput/components/AudioRecorder/AudioRecordingButton.js.map +1 -1
  27. package/lib/commonjs/components/MessageInput/components/OutputButtons/index.js +1 -1
  28. package/lib/commonjs/components/MessageList/MessageFlashList.js +5 -2
  29. package/lib/commonjs/components/MessageList/MessageFlashList.js.map +1 -1
  30. package/lib/commonjs/components/MessageList/MessageList.js +5 -2
  31. package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
  32. package/lib/commonjs/components/MessageMenu/hooks/useFetchReactions.js +23 -2
  33. package/lib/commonjs/components/MessageMenu/hooks/useFetchReactions.js.map +1 -1
  34. package/lib/commonjs/components/Notifications/Notification.js +232 -0
  35. package/lib/commonjs/components/Notifications/Notification.js.map +1 -0
  36. package/lib/commonjs/components/Notifications/NotificationList.js +120 -0
  37. package/lib/commonjs/components/Notifications/NotificationList.js.map +1 -0
  38. package/lib/commonjs/components/Notifications/NotificationTargetContext.js +45 -0
  39. package/lib/commonjs/components/Notifications/NotificationTargetContext.js.map +1 -0
  40. package/lib/commonjs/components/Notifications/hooks/index.js +59 -0
  41. package/lib/commonjs/components/Notifications/hooks/index.js.map +1 -0
  42. package/lib/commonjs/components/Notifications/hooks/useNotificationApi.js +133 -0
  43. package/lib/commonjs/components/Notifications/hooks/useNotificationApi.js.map +1 -0
  44. package/lib/commonjs/components/Notifications/hooks/useNotificationListController.js +133 -0
  45. package/lib/commonjs/components/Notifications/hooks/useNotificationListController.js.map +1 -0
  46. package/lib/commonjs/components/Notifications/hooks/useNotificationTarget.js +26 -0
  47. package/lib/commonjs/components/Notifications/hooks/useNotificationTarget.js.map +1 -0
  48. package/lib/commonjs/components/Notifications/hooks/useNotifications.js +26 -0
  49. package/lib/commonjs/components/Notifications/hooks/useNotifications.js.map +1 -0
  50. package/lib/commonjs/components/Notifications/hooks/useSystemNotifications.js +22 -0
  51. package/lib/commonjs/components/Notifications/hooks/useSystemNotifications.js.map +1 -0
  52. package/lib/commonjs/components/Notifications/index.js +59 -0
  53. package/lib/commonjs/components/Notifications/index.js.map +1 -0
  54. package/lib/commonjs/components/Notifications/notificationTarget.js +220 -0
  55. package/lib/commonjs/components/Notifications/notificationTarget.js.map +1 -0
  56. package/lib/commonjs/components/Notifications/notificationTranslations.js +137 -0
  57. package/lib/commonjs/components/Notifications/notificationTranslations.js.map +1 -0
  58. package/lib/commonjs/components/Poll/components/PollOption.js +14 -9
  59. package/lib/commonjs/components/Poll/components/PollOption.js.map +1 -1
  60. package/lib/commonjs/components/Poll/hooks/usePollState.js +35 -3
  61. package/lib/commonjs/components/Poll/hooks/usePollState.js.map +1 -1
  62. package/lib/commonjs/components/Thread/Thread.js +19 -11
  63. package/lib/commonjs/components/Thread/Thread.js.map +1 -1
  64. package/lib/commonjs/components/ThreadList/ThreadList.js +30 -9
  65. package/lib/commonjs/components/ThreadList/ThreadList.js.map +1 -1
  66. package/lib/commonjs/components/index.js +11 -0
  67. package/lib/commonjs/components/index.js.map +1 -1
  68. package/lib/commonjs/contexts/componentsContext/defaultComponents.js +4 -0
  69. package/lib/commonjs/contexts/componentsContext/defaultComponents.js.map +1 -1
  70. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js +37 -0
  71. package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  72. package/lib/commonjs/contexts/themeContext/utils/theme.js +13 -0
  73. package/lib/commonjs/contexts/themeContext/utils/theme.js.map +1 -1
  74. package/lib/commonjs/hooks/index.js +11 -0
  75. package/lib/commonjs/hooks/index.js.map +1 -1
  76. package/lib/commonjs/hooks/useAudioPlayer.js +34 -1
  77. package/lib/commonjs/hooks/useAudioPlayer.js.map +1 -1
  78. package/lib/commonjs/hooks/useInAppNotificationsState.js.map +1 -1
  79. package/lib/commonjs/hooks/useLazyRef.js +13 -0
  80. package/lib/commonjs/hooks/useLazyRef.js.map +1 -0
  81. package/lib/commonjs/i18n/en.json +60 -1
  82. package/lib/commonjs/i18n/es.json +62 -3
  83. package/lib/commonjs/i18n/fr.json +60 -1
  84. package/lib/commonjs/i18n/he.json +60 -1
  85. package/lib/commonjs/i18n/hi.json +60 -1
  86. package/lib/commonjs/i18n/it.json +60 -1
  87. package/lib/commonjs/i18n/ja.json +60 -1
  88. package/lib/commonjs/i18n/ko.json +60 -1
  89. package/lib/commonjs/i18n/nl.json +60 -1
  90. package/lib/commonjs/i18n/pt-br.json +60 -1
  91. package/lib/commonjs/i18n/ru.json +60 -1
  92. package/lib/commonjs/i18n/tr.json +60 -1
  93. package/lib/commonjs/state-store/audio-player-pool.js +1 -0
  94. package/lib/commonjs/state-store/audio-player-pool.js.map +1 -1
  95. package/lib/commonjs/state-store/audio-player.js +92 -13
  96. package/lib/commonjs/state-store/audio-player.js.map +1 -1
  97. package/lib/commonjs/theme/generated/dark/StreamTokens.android.js +16 -16
  98. package/lib/commonjs/theme/generated/dark/StreamTokens.android.js.map +1 -1
  99. package/lib/commonjs/theme/generated/dark/StreamTokens.ios.js +8 -8
  100. package/lib/commonjs/theme/generated/dark/StreamTokens.ios.js.map +1 -1
  101. package/lib/commonjs/theme/generated/dark/StreamTokens.web.js +8 -8
  102. package/lib/commonjs/theme/generated/dark/StreamTokens.web.js.map +1 -1
  103. package/lib/commonjs/theme/generated/light/StreamTokens.android.js +16 -16
  104. package/lib/commonjs/theme/generated/light/StreamTokens.android.js.map +1 -1
  105. package/lib/commonjs/theme/generated/light/StreamTokens.ios.js +8 -8
  106. package/lib/commonjs/theme/generated/light/StreamTokens.ios.js.map +1 -1
  107. package/lib/commonjs/theme/generated/light/StreamTokens.web.js +8 -8
  108. package/lib/commonjs/theme/generated/light/StreamTokens.web.js.map +1 -1
  109. package/lib/commonjs/utils/animations/createBoundedZoomTransition.js +151 -0
  110. package/lib/commonjs/utils/animations/createBoundedZoomTransition.js.map +1 -0
  111. package/lib/commonjs/utils/{transitions.js → animations/transitions.js} +6 -0
  112. package/lib/commonjs/utils/animations/transitions.js.map +1 -0
  113. package/lib/commonjs/version.json +1 -1
  114. package/lib/module/components/AttachmentPicker/components/AttachmentPickerContent.js +2 -2
  115. package/lib/module/components/AttachmentPicker/components/AttachmentPickerContent.js.map +1 -1
  116. package/lib/module/components/Channel/Channel.js +10 -1
  117. package/lib/module/components/Channel/Channel.js.map +1 -1
  118. package/lib/module/components/Channel/hooks/useMessageListPagination.js +26 -3
  119. package/lib/module/components/Channel/hooks/useMessageListPagination.js.map +1 -1
  120. package/lib/module/components/ChannelList/ChannelList.js +29 -4
  121. package/lib/module/components/ChannelList/ChannelList.js.map +1 -1
  122. package/lib/module/components/ChannelList/hooks/useChannelActions.js +314 -11
  123. package/lib/module/components/ChannelList/hooks/useChannelActions.js.map +1 -1
  124. package/lib/module/components/Message/hooks/useMessageActionHandlers.js +202 -15
  125. package/lib/module/components/Message/hooks/useMessageActionHandlers.js.map +1 -1
  126. package/lib/module/components/MessageInput/MessageComposer.js +1 -1
  127. package/lib/module/components/MessageInput/MessageComposerLeadingView.js +1 -1
  128. package/lib/module/components/MessageInput/MessageComposerLeadingView.js.map +1 -1
  129. package/lib/module/components/MessageInput/MessageInputHeaderView.js +1 -1
  130. package/lib/module/components/MessageInput/MessageInputHeaderView.js.map +1 -1
  131. package/lib/module/components/MessageInput/MessageInputTrailingView.js +1 -1
  132. package/lib/module/components/MessageInput/MessageInputTrailingView.js.map +1 -1
  133. package/lib/module/components/MessageInput/components/AttachmentPreview/AttachmentUploadPreviewList.js +7 -13
  134. package/lib/module/components/MessageInput/components/AttachmentPreview/AttachmentUploadPreviewList.js.map +1 -1
  135. package/lib/module/components/MessageInput/components/AudioRecorder/AudioRecorder.js +27 -6
  136. package/lib/module/components/MessageInput/components/AudioRecorder/AudioRecorder.js.map +1 -1
  137. package/lib/module/components/MessageInput/components/AudioRecorder/AudioRecordingButton.js +29 -9
  138. package/lib/module/components/MessageInput/components/AudioRecorder/AudioRecordingButton.js.map +1 -1
  139. package/lib/module/components/MessageInput/components/OutputButtons/index.js +1 -1
  140. package/lib/module/components/MessageList/MessageFlashList.js +5 -2
  141. package/lib/module/components/MessageList/MessageFlashList.js.map +1 -1
  142. package/lib/module/components/MessageList/MessageList.js +5 -2
  143. package/lib/module/components/MessageList/MessageList.js.map +1 -1
  144. package/lib/module/components/MessageMenu/hooks/useFetchReactions.js +23 -2
  145. package/lib/module/components/MessageMenu/hooks/useFetchReactions.js.map +1 -1
  146. package/lib/module/components/Notifications/Notification.js +232 -0
  147. package/lib/module/components/Notifications/Notification.js.map +1 -0
  148. package/lib/module/components/Notifications/NotificationList.js +120 -0
  149. package/lib/module/components/Notifications/NotificationList.js.map +1 -0
  150. package/lib/module/components/Notifications/NotificationTargetContext.js +45 -0
  151. package/lib/module/components/Notifications/NotificationTargetContext.js.map +1 -0
  152. package/lib/module/components/Notifications/hooks/index.js +59 -0
  153. package/lib/module/components/Notifications/hooks/index.js.map +1 -0
  154. package/lib/module/components/Notifications/hooks/useNotificationApi.js +133 -0
  155. package/lib/module/components/Notifications/hooks/useNotificationApi.js.map +1 -0
  156. package/lib/module/components/Notifications/hooks/useNotificationListController.js +133 -0
  157. package/lib/module/components/Notifications/hooks/useNotificationListController.js.map +1 -0
  158. package/lib/module/components/Notifications/hooks/useNotificationTarget.js +26 -0
  159. package/lib/module/components/Notifications/hooks/useNotificationTarget.js.map +1 -0
  160. package/lib/module/components/Notifications/hooks/useNotifications.js +26 -0
  161. package/lib/module/components/Notifications/hooks/useNotifications.js.map +1 -0
  162. package/lib/module/components/Notifications/hooks/useSystemNotifications.js +22 -0
  163. package/lib/module/components/Notifications/hooks/useSystemNotifications.js.map +1 -0
  164. package/lib/module/components/Notifications/index.js +59 -0
  165. package/lib/module/components/Notifications/index.js.map +1 -0
  166. package/lib/module/components/Notifications/notificationTarget.js +220 -0
  167. package/lib/module/components/Notifications/notificationTarget.js.map +1 -0
  168. package/lib/module/components/Notifications/notificationTranslations.js +137 -0
  169. package/lib/module/components/Notifications/notificationTranslations.js.map +1 -0
  170. package/lib/module/components/Poll/components/PollOption.js +14 -9
  171. package/lib/module/components/Poll/components/PollOption.js.map +1 -1
  172. package/lib/module/components/Poll/hooks/usePollState.js +35 -3
  173. package/lib/module/components/Poll/hooks/usePollState.js.map +1 -1
  174. package/lib/module/components/Thread/Thread.js +19 -11
  175. package/lib/module/components/Thread/Thread.js.map +1 -1
  176. package/lib/module/components/ThreadList/ThreadList.js +30 -9
  177. package/lib/module/components/ThreadList/ThreadList.js.map +1 -1
  178. package/lib/module/components/index.js +11 -0
  179. package/lib/module/components/index.js.map +1 -1
  180. package/lib/module/contexts/componentsContext/defaultComponents.js +4 -0
  181. package/lib/module/contexts/componentsContext/defaultComponents.js.map +1 -1
  182. package/lib/module/contexts/messageInputContext/MessageInputContext.js +37 -0
  183. package/lib/module/contexts/messageInputContext/MessageInputContext.js.map +1 -1
  184. package/lib/module/contexts/themeContext/utils/theme.js +13 -0
  185. package/lib/module/contexts/themeContext/utils/theme.js.map +1 -1
  186. package/lib/module/hooks/index.js +11 -0
  187. package/lib/module/hooks/index.js.map +1 -1
  188. package/lib/module/hooks/useAudioPlayer.js +34 -1
  189. package/lib/module/hooks/useAudioPlayer.js.map +1 -1
  190. package/lib/module/hooks/useInAppNotificationsState.js.map +1 -1
  191. package/lib/module/hooks/useLazyRef.js +13 -0
  192. package/lib/module/hooks/useLazyRef.js.map +1 -0
  193. package/lib/module/i18n/en.json +60 -1
  194. package/lib/module/i18n/es.json +62 -3
  195. package/lib/module/i18n/fr.json +60 -1
  196. package/lib/module/i18n/he.json +60 -1
  197. package/lib/module/i18n/hi.json +60 -1
  198. package/lib/module/i18n/it.json +60 -1
  199. package/lib/module/i18n/ja.json +60 -1
  200. package/lib/module/i18n/ko.json +60 -1
  201. package/lib/module/i18n/nl.json +60 -1
  202. package/lib/module/i18n/pt-br.json +60 -1
  203. package/lib/module/i18n/ru.json +60 -1
  204. package/lib/module/i18n/tr.json +60 -1
  205. package/lib/module/state-store/audio-player-pool.js +1 -0
  206. package/lib/module/state-store/audio-player-pool.js.map +1 -1
  207. package/lib/module/state-store/audio-player.js +92 -13
  208. package/lib/module/state-store/audio-player.js.map +1 -1
  209. package/lib/module/theme/generated/dark/StreamTokens.android.js +16 -16
  210. package/lib/module/theme/generated/dark/StreamTokens.android.js.map +1 -1
  211. package/lib/module/theme/generated/dark/StreamTokens.ios.js +8 -8
  212. package/lib/module/theme/generated/dark/StreamTokens.ios.js.map +1 -1
  213. package/lib/module/theme/generated/dark/StreamTokens.web.js +8 -8
  214. package/lib/module/theme/generated/dark/StreamTokens.web.js.map +1 -1
  215. package/lib/module/theme/generated/light/StreamTokens.android.js +16 -16
  216. package/lib/module/theme/generated/light/StreamTokens.android.js.map +1 -1
  217. package/lib/module/theme/generated/light/StreamTokens.ios.js +8 -8
  218. package/lib/module/theme/generated/light/StreamTokens.ios.js.map +1 -1
  219. package/lib/module/theme/generated/light/StreamTokens.web.js +8 -8
  220. package/lib/module/theme/generated/light/StreamTokens.web.js.map +1 -1
  221. package/lib/module/utils/animations/createBoundedZoomTransition.js +151 -0
  222. package/lib/module/utils/animations/createBoundedZoomTransition.js.map +1 -0
  223. package/lib/module/utils/{transitions.js → animations/transitions.js} +6 -0
  224. package/lib/module/utils/animations/transitions.js.map +1 -0
  225. package/lib/module/version.json +1 -1
  226. package/lib/typescript/components/AttachmentPicker/components/AttachmentPickerContent.d.ts.map +1 -1
  227. package/lib/typescript/components/Channel/Channel.d.ts +1 -0
  228. package/lib/typescript/components/Channel/Channel.d.ts.map +1 -1
  229. package/lib/typescript/components/Channel/hooks/useMessageListPagination.d.ts.map +1 -1
  230. package/lib/typescript/components/ChannelList/ChannelList.d.ts +1 -0
  231. package/lib/typescript/components/ChannelList/ChannelList.d.ts.map +1 -1
  232. package/lib/typescript/components/ChannelList/hooks/useChannelActions.d.ts.map +1 -1
  233. package/lib/typescript/components/Message/hooks/useMessageActionHandlers.d.ts.map +1 -1
  234. package/lib/typescript/components/MessageInput/components/AttachmentPreview/AttachmentUploadPreviewList.d.ts.map +1 -1
  235. package/lib/typescript/components/MessageInput/components/AudioRecorder/AudioRecorder.d.ts.map +1 -1
  236. package/lib/typescript/components/MessageInput/components/AudioRecorder/AudioRecordingButton.d.ts.map +1 -1
  237. package/lib/typescript/components/MessageList/MessageFlashList.d.ts.map +1 -1
  238. package/lib/typescript/components/MessageList/MessageList.d.ts.map +1 -1
  239. package/lib/typescript/components/MessageMenu/hooks/useFetchReactions.d.ts.map +1 -1
  240. package/lib/typescript/components/Notifications/Notification.d.ts +31 -0
  241. package/lib/typescript/components/Notifications/Notification.d.ts.map +1 -0
  242. package/lib/typescript/components/Notifications/NotificationList.d.ts +28 -0
  243. package/lib/typescript/components/Notifications/NotificationList.d.ts.map +1 -0
  244. package/lib/typescript/components/Notifications/NotificationTargetContext.d.ts +14 -0
  245. package/lib/typescript/components/Notifications/NotificationTargetContext.d.ts.map +1 -0
  246. package/lib/typescript/components/Notifications/hooks/index.d.ts +6 -0
  247. package/lib/typescript/components/Notifications/hooks/index.d.ts.map +1 -0
  248. package/lib/typescript/components/Notifications/hooks/useNotificationApi.d.ts +48 -0
  249. package/lib/typescript/components/Notifications/hooks/useNotificationApi.d.ts.map +1 -0
  250. package/lib/typescript/components/Notifications/hooks/useNotificationListController.d.ts +14 -0
  251. package/lib/typescript/components/Notifications/hooks/useNotificationListController.d.ts.map +1 -0
  252. package/lib/typescript/components/Notifications/hooks/useNotificationTarget.d.ts +3 -0
  253. package/lib/typescript/components/Notifications/hooks/useNotificationTarget.d.ts.map +1 -0
  254. package/lib/typescript/components/Notifications/hooks/useNotifications.d.ts +14 -0
  255. package/lib/typescript/components/Notifications/hooks/useNotifications.d.ts.map +1 -0
  256. package/lib/typescript/components/Notifications/hooks/useSystemNotifications.d.ts +9 -0
  257. package/lib/typescript/components/Notifications/hooks/useSystemNotifications.d.ts.map +1 -0
  258. package/lib/typescript/components/Notifications/index.d.ts +6 -0
  259. package/lib/typescript/components/Notifications/index.d.ts.map +1 -0
  260. package/lib/typescript/components/Notifications/notificationTarget.d.ts +55 -0
  261. package/lib/typescript/components/Notifications/notificationTarget.d.ts.map +1 -0
  262. package/lib/typescript/components/Notifications/notificationTranslations.d.ts +7 -0
  263. package/lib/typescript/components/Notifications/notificationTranslations.d.ts.map +1 -0
  264. package/lib/typescript/components/Poll/components/PollOption.d.ts.map +1 -1
  265. package/lib/typescript/components/Poll/hooks/usePollState.d.ts.map +1 -1
  266. package/lib/typescript/components/Thread/Thread.d.ts +1 -0
  267. package/lib/typescript/components/Thread/Thread.d.ts.map +1 -1
  268. package/lib/typescript/components/ThreadList/ThreadList.d.ts +3 -1
  269. package/lib/typescript/components/ThreadList/ThreadList.d.ts.map +1 -1
  270. package/lib/typescript/components/index.d.ts +1 -0
  271. package/lib/typescript/components/index.d.ts.map +1 -1
  272. package/lib/typescript/contexts/componentsContext/defaultComponents.d.ts +3 -0
  273. package/lib/typescript/contexts/componentsContext/defaultComponents.d.ts.map +1 -1
  274. package/lib/typescript/contexts/messageInputContext/MessageInputContext.d.ts.map +1 -1
  275. package/lib/typescript/contexts/themeContext/ThemeContext.d.ts +13 -0
  276. package/lib/typescript/contexts/themeContext/ThemeContext.d.ts.map +1 -1
  277. package/lib/typescript/contexts/themeContext/utils/theme.d.ts +13 -0
  278. package/lib/typescript/contexts/themeContext/utils/theme.d.ts.map +1 -1
  279. package/lib/typescript/hooks/index.d.ts +1 -0
  280. package/lib/typescript/hooks/index.d.ts.map +1 -1
  281. package/lib/typescript/hooks/useAudioPlayer.d.ts.map +1 -1
  282. package/lib/typescript/hooks/useInAppNotificationsState.d.ts +6 -0
  283. package/lib/typescript/hooks/useInAppNotificationsState.d.ts.map +1 -1
  284. package/lib/typescript/hooks/useLazyRef.d.ts +7 -0
  285. package/lib/typescript/hooks/useLazyRef.d.ts.map +1 -0
  286. package/lib/typescript/i18n/en.json +60 -1
  287. package/lib/typescript/i18n/es.json +62 -3
  288. package/lib/typescript/i18n/fr.json +60 -1
  289. package/lib/typescript/i18n/he.json +60 -1
  290. package/lib/typescript/i18n/hi.json +60 -1
  291. package/lib/typescript/i18n/it.json +60 -1
  292. package/lib/typescript/i18n/ja.json +60 -1
  293. package/lib/typescript/i18n/ko.json +60 -1
  294. package/lib/typescript/i18n/nl.json +60 -1
  295. package/lib/typescript/i18n/pt-br.json +60 -1
  296. package/lib/typescript/i18n/ru.json +60 -1
  297. package/lib/typescript/i18n/tr.json +60 -1
  298. package/lib/typescript/state-store/audio-player-pool.d.ts.map +1 -1
  299. package/lib/typescript/state-store/audio-player.d.ts +13 -0
  300. package/lib/typescript/state-store/audio-player.d.ts.map +1 -1
  301. package/lib/typescript/utils/animations/createBoundedZoomTransition.d.ts +21 -0
  302. package/lib/typescript/utils/animations/createBoundedZoomTransition.d.ts.map +1 -0
  303. package/lib/typescript/utils/animations/transitions.d.ts +21 -0
  304. package/lib/typescript/utils/animations/transitions.d.ts.map +1 -0
  305. package/lib/typescript/utils/i18n/Streami18n.d.ts +59 -0
  306. package/lib/typescript/utils/i18n/Streami18n.d.ts.map +1 -1
  307. package/package.json +2 -2
  308. package/src/components/AttachmentPicker/components/AttachmentPickerContent.tsx +3 -3
  309. package/src/components/AttachmentPicker/components/__tests__/AttachmentPickerContent.test.tsx +19 -18
  310. package/src/components/Channel/Channel.tsx +15 -1
  311. package/src/components/Channel/__tests__/useMessageListPagination.test.tsx +34 -2
  312. package/src/components/Channel/hooks/useMessageListPagination.tsx +19 -3
  313. package/src/components/ChannelList/ChannelList.tsx +27 -5
  314. package/src/components/ChannelList/hooks/__tests__/useChannelActions.test.tsx +123 -0
  315. package/src/components/ChannelList/hooks/useChannelActions.ts +181 -12
  316. package/src/components/Message/hooks/__tests__/useMessageActionHandlers.test.tsx +131 -0
  317. package/src/components/Message/hooks/useMessageActionHandlers.ts +133 -23
  318. package/src/components/MessageInput/MessageComposer.tsx +1 -1
  319. package/src/components/MessageInput/MessageComposerLeadingView.tsx +1 -1
  320. package/src/components/MessageInput/MessageInputHeaderView.tsx +1 -1
  321. package/src/components/MessageInput/MessageInputTrailingView.tsx +1 -1
  322. package/src/components/MessageInput/components/AttachmentPreview/AttachmentUploadPreviewList.tsx +1 -10
  323. package/src/components/MessageInput/components/AudioRecorder/AudioRecorder.tsx +10 -2
  324. package/src/components/MessageInput/components/AudioRecorder/AudioRecordingButton.tsx +27 -13
  325. package/src/components/MessageInput/components/OutputButtons/index.tsx +1 -1
  326. package/src/components/MessageList/MessageFlashList.tsx +3 -1
  327. package/src/components/MessageList/MessageList.tsx +3 -1
  328. package/src/components/MessageList/__tests__/MessageList.test.tsx +35 -0
  329. package/src/components/MessageList/__tests__/__snapshots__/ScrollToBottomButton.test.tsx.snap +1 -1
  330. package/src/components/MessageMenu/hooks/useFetchReactions.ts +17 -2
  331. package/src/components/Notifications/Notification.tsx +254 -0
  332. package/src/components/Notifications/NotificationList.tsx +160 -0
  333. package/src/components/Notifications/NotificationTargetContext.tsx +45 -0
  334. package/src/components/Notifications/__tests__/NotificationList.test.tsx +480 -0
  335. package/src/components/Notifications/__tests__/notificationTarget.test.ts +157 -0
  336. package/src/components/Notifications/hooks/__tests__/useNotificationApi.test.tsx +172 -0
  337. package/src/components/Notifications/hooks/__tests__/useNotificationTarget.test.tsx +85 -0
  338. package/src/components/Notifications/hooks/index.ts +5 -0
  339. package/src/components/Notifications/hooks/useNotificationApi.ts +248 -0
  340. package/src/components/Notifications/hooks/useNotificationListController.ts +160 -0
  341. package/src/components/Notifications/hooks/useNotificationTarget.ts +37 -0
  342. package/src/components/Notifications/hooks/useNotifications.ts +43 -0
  343. package/src/components/Notifications/hooks/useSystemNotifications.ts +33 -0
  344. package/src/components/Notifications/index.ts +5 -0
  345. package/src/components/Notifications/notificationTarget.ts +305 -0
  346. package/src/components/Notifications/notificationTranslations.ts +142 -0
  347. package/src/components/Poll/components/PollOption.tsx +10 -6
  348. package/src/components/Poll/hooks/usePollState.ts +26 -2
  349. package/src/components/Thread/Thread.tsx +24 -16
  350. package/src/components/ThreadList/ThreadList.tsx +33 -9
  351. package/src/components/index.ts +2 -0
  352. package/src/contexts/componentsContext/defaultComponents.ts +4 -0
  353. package/src/contexts/messageInputContext/MessageInputContext.tsx +36 -0
  354. package/src/contexts/themeContext/utils/theme.ts +26 -0
  355. package/src/hooks/index.ts +1 -0
  356. package/src/hooks/useAudioPlayer.ts +44 -3
  357. package/src/hooks/useInAppNotificationsState.ts +6 -0
  358. package/src/hooks/useLazyRef.ts +15 -0
  359. package/src/i18n/en.json +60 -1
  360. package/src/i18n/es.json +62 -3
  361. package/src/i18n/fr.json +60 -1
  362. package/src/i18n/he.json +60 -1
  363. package/src/i18n/hi.json +60 -1
  364. package/src/i18n/it.json +60 -1
  365. package/src/i18n/ja.json +60 -1
  366. package/src/i18n/ko.json +60 -1
  367. package/src/i18n/nl.json +60 -1
  368. package/src/i18n/pt-br.json +60 -1
  369. package/src/i18n/ru.json +60 -1
  370. package/src/i18n/tr.json +60 -1
  371. package/src/state-store/__tests__/audio-player.test.ts +45 -0
  372. package/src/state-store/audio-player-pool.ts +1 -0
  373. package/src/state-store/audio-player.ts +108 -16
  374. package/src/theme/generated/dark/StreamTokens.android.ts +16 -16
  375. package/src/theme/generated/dark/StreamTokens.ios.ts +8 -8
  376. package/src/theme/generated/dark/StreamTokens.web.ts +8 -8
  377. package/src/theme/generated/light/StreamTokens.android.ts +16 -16
  378. package/src/theme/generated/light/StreamTokens.ios.ts +8 -8
  379. package/src/theme/generated/light/StreamTokens.web.ts +8 -8
  380. package/src/utils/animations/createBoundedZoomTransition.ts +117 -0
  381. package/src/utils/{transitions.ts → animations/transitions.ts} +6 -0
  382. package/src/version.json +1 -1
  383. package/lib/commonjs/utils/transitions.js.map +0 -1
  384. package/lib/module/utils/transitions.js.map +0 -1
  385. package/lib/typescript/utils/transitions.d.ts +0 -9
  386. package/lib/typescript/utils/transitions.d.ts.map +0 -1
@@ -158,6 +158,51 @@ describe('AudioPlayer', () => {
158
158
  expect(playerRef.unloadAsync).toHaveBeenCalledTimes(1);
159
159
  });
160
160
 
161
+ it('reports when playback is requested without an initialized player', () => {
162
+ const onError = jest.fn();
163
+ const player = new AudioPlayer({
164
+ duration: 30,
165
+ id: 'missing-player',
166
+ mimeType: 'audio/mp4',
167
+ onError,
168
+ type: 'audio',
169
+ uri: 'https://example.com/audio.mp4',
170
+ });
171
+
172
+ player.play();
173
+
174
+ expect(onError).toHaveBeenCalledWith({
175
+ errCode: 'not-playable',
176
+ error: undefined,
177
+ });
178
+ });
179
+
180
+ it('reports initialization failures', async () => {
181
+ const error = new Error('initialize failed');
182
+ const onError = jest.fn();
183
+ (NativeHandlers as { Sound: unknown }).Sound = {
184
+ Player: null,
185
+ initializeSound: jest.fn().mockRejectedValue(error),
186
+ };
187
+
188
+ const player = new AudioPlayer({
189
+ duration: 30,
190
+ id: 'failed-initialization-player',
191
+ mimeType: 'audio/mp4',
192
+ onError,
193
+ type: 'audio',
194
+ uri: 'https://example.com/audio.mp4',
195
+ });
196
+
197
+ await flushPromises();
198
+
199
+ expect(player).toBeDefined();
200
+ expect(onError).toHaveBeenCalledWith({
201
+ errCode: 'failed-to-start',
202
+ error,
203
+ });
204
+ });
205
+
161
206
  it('cleans up a stale native player when initialization resolves after removal', async () => {
162
207
  const playerRef = createMockNativePlayerRef();
163
208
  let resolveInitializeSound: (player: typeof playerRef) => void;
@@ -29,6 +29,7 @@ export class AudioPlayerPool {
29
29
  getOrAddPlayer(params: AudioPlayerOptions) {
30
30
  const player = this.pool.get(params.id);
31
31
  if (player) {
32
+ player.setOnError(params.onError);
32
33
  return player;
33
34
  }
34
35
  const newPlayer = new AudioPlayer(params);
@@ -12,6 +12,13 @@ export type AudioDescriptor = {
12
12
  type: 'voiceRecording' | 'audio';
13
13
  };
14
14
 
15
+ export type AudioPlayerErrorCode = 'failed-to-start' | 'not-playable' | 'seek-not-supported';
16
+
17
+ export type AudioPlayerErrorHandler = (params: {
18
+ errCode: AudioPlayerErrorCode;
19
+ error?: Error;
20
+ }) => void;
21
+
15
22
  export type AudioPlayerState = {
16
23
  isPlaying: boolean;
17
24
  duration: number;
@@ -39,6 +46,7 @@ const INITIAL_STATE: AudioPlayerState = {
39
46
  };
40
47
 
41
48
  export type AudioPlayerOptions = AudioDescriptor & {
49
+ onError?: AudioPlayerErrorHandler;
42
50
  playbackRates?: number[];
43
51
  previewVoiceRecording?: boolean;
44
52
  };
@@ -51,6 +59,9 @@ export class AudioPlayer {
51
59
  private type: 'voiceRecording' | 'audio';
52
60
  private isExpoCLI: boolean;
53
61
  private _pool: AudioPlayerPool | null = null;
62
+ private onError?: AudioPlayerErrorHandler;
63
+ private lastPlaybackStatusError?: string;
64
+ private lastSeekNotSupportedNotificationAt?: number;
54
65
 
55
66
  /**
56
67
  * This keeps the composer preview on the recorder-backed player until preview
@@ -62,6 +73,7 @@ export class AudioPlayer {
62
73
  this.isExpoCLI = NativeHandlers.SDK === 'stream-chat-expo';
63
74
  this._id = options.id;
64
75
  this.type = options.type;
76
+ this.onError = options.onError;
65
77
  this.previewVoiceRecording = options.previewVoiceRecording ?? false;
66
78
  const playbackRates = options.playbackRates ?? DEFAULT_PLAYBACK_RATES;
67
79
  this.state = new StateStore<AudioPlayerState>({
@@ -73,6 +85,51 @@ export class AudioPlayer {
73
85
  this.initPlayer({ uri: options.uri });
74
86
  }
75
87
 
88
+ setOnError(onError?: AudioPlayerErrorHandler) {
89
+ this.onError = onError;
90
+ }
91
+
92
+ private getError(error: unknown) {
93
+ if (error instanceof Error) return error;
94
+ if (typeof error === 'string') return new Error(error);
95
+ if (error && typeof error === 'object' && 'message' in error) {
96
+ const message = error.message;
97
+ if (typeof message === 'string') return new Error(message);
98
+ }
99
+ return undefined;
100
+ }
101
+
102
+ private notifyError(errCode: AudioPlayerErrorCode, error?: unknown) {
103
+ if (errCode === 'seek-not-supported') {
104
+ const now = Date.now();
105
+ if (
106
+ typeof this.lastSeekNotSupportedNotificationAt === 'number' &&
107
+ now - this.lastSeekNotSupportedNotificationAt < 1000
108
+ ) {
109
+ return;
110
+ }
111
+ this.lastSeekNotSupportedNotificationAt = now;
112
+ }
113
+
114
+ this.onError?.({
115
+ errCode,
116
+ error: this.getError(error),
117
+ });
118
+ }
119
+
120
+ private handleMaybePromiseError(
121
+ result: unknown,
122
+ errCode: AudioPlayerErrorCode,
123
+ onError?: () => void,
124
+ ) {
125
+ if (!result || typeof (result as Promise<void>).catch !== 'function') return;
126
+
127
+ (result as Promise<void>).catch((error) => {
128
+ onError?.();
129
+ this.notifyError(errCode, error);
130
+ });
131
+ }
132
+
76
133
  initPlayer = async ({ uri, playerRef }: { uri?: string; playerRef?: SoundReturnType }) => {
77
134
  const requestId = ++this.initRequestId;
78
135
 
@@ -84,13 +141,17 @@ export class AudioPlayer {
84
141
  }
85
142
  if (this.previewVoiceRecording) {
86
143
  if (NativeHandlers.Audio?.startPlayer) {
87
- await NativeHandlers.Audio.startPlayer(
88
- uri,
89
- {},
90
- this.onVoiceRecordingPreviewPlaybackStatusUpdate,
91
- );
92
- if (NativeHandlers.Audio?.pausePlayer) {
93
- await NativeHandlers.Audio.pausePlayer();
144
+ try {
145
+ await NativeHandlers.Audio.startPlayer(
146
+ uri,
147
+ {},
148
+ this.onVoiceRecordingPreviewPlaybackStatusUpdate,
149
+ );
150
+ if (NativeHandlers.Audio?.pausePlayer) {
151
+ await NativeHandlers.Audio.pausePlayer();
152
+ }
153
+ } catch (error) {
154
+ this.notifyError('failed-to-start', error);
94
155
  }
95
156
  }
96
157
  return;
@@ -99,11 +160,22 @@ export class AudioPlayer {
99
160
  return;
100
161
  }
101
162
 
102
- const player = await NativeHandlers.Sound.initializeSound(
103
- { uri },
104
- DEFAULT_PLAYER_SETTINGS,
105
- this.onPlaybackStatusUpdate,
106
- );
163
+ let player: SoundReturnType | null | undefined;
164
+ try {
165
+ player = await NativeHandlers.Sound.initializeSound(
166
+ { uri },
167
+ DEFAULT_PLAYER_SETTINGS,
168
+ this.onPlaybackStatusUpdate,
169
+ );
170
+ } catch (error) {
171
+ this.notifyError('failed-to-start', error);
172
+ return;
173
+ }
174
+
175
+ if (!player) {
176
+ this.notifyError('not-playable');
177
+ return;
178
+ }
107
179
 
108
180
  if (requestId !== this.initRequestId) {
109
181
  if (player?.stopAsync) {
@@ -132,7 +204,10 @@ export class AudioPlayer {
132
204
  if (!playbackStatus.isLoaded) {
133
205
  // Update your UI for the unloaded state
134
206
  if (playbackStatus.error) {
135
- console.log(`Encountered a fatal error during playback: ${playbackStatus.error}`);
207
+ if (this.lastPlaybackStatusError !== playbackStatus.error) {
208
+ this.lastPlaybackStatusError = playbackStatus.error;
209
+ this.notifyError('not-playable', playbackStatus.error);
210
+ }
136
211
  }
137
212
  } else {
138
213
  const { durationMillis, positionMillis } = playbackStatus;
@@ -252,7 +327,10 @@ export class AudioPlayer {
252
327
 
253
328
  if (this.previewVoiceRecording) {
254
329
  if (NativeHandlers.Audio?.resumePlayer) {
255
- NativeHandlers.Audio.resumePlayer();
330
+ NativeHandlers.Audio.resumePlayer().catch((error) => {
331
+ this.isPlaying = false;
332
+ this.notifyError('failed-to-start', error);
333
+ });
256
334
  }
257
335
  this.state.partialNext({
258
336
  isPlaying: true,
@@ -261,16 +339,24 @@ export class AudioPlayer {
261
339
  }
262
340
 
263
341
  if (!this.playerRef) {
342
+ this.notifyError('not-playable');
264
343
  return;
265
344
  }
266
345
 
267
346
  if (this.isExpoCLI) {
268
347
  if (this.playerRef?.playAsync) {
269
- this.playerRef.playAsync();
348
+ this.handleMaybePromiseError(this.playerRef.playAsync(), 'failed-to-start', () => {
349
+ this.isPlaying = false;
350
+ });
270
351
  }
271
352
  } else {
272
353
  if (this.playerRef?.resume) {
273
- this.playerRef.resume();
354
+ try {
355
+ this.playerRef.resume();
356
+ } catch (error) {
357
+ this.notifyError('failed-to-start', error);
358
+ return;
359
+ }
274
360
  }
275
361
  }
276
362
  this.state.partialNext({
@@ -329,6 +415,8 @@ export class AudioPlayer {
329
415
  this.position = positionInMillis;
330
416
  if (NativeHandlers.Audio?.seekToPlayer) {
331
417
  await NativeHandlers.Audio.seekToPlayer(positionInMillis);
418
+ } else if (positionInMillis > 0) {
419
+ this.notifyError('seek-not-supported');
332
420
  }
333
421
  return;
334
422
  }
@@ -345,11 +433,15 @@ export class AudioPlayer {
345
433
  } else {
346
434
  if (this.playerRef?.setPositionAsync) {
347
435
  await this.playerRef.setPositionAsync(positionInMillis);
436
+ } else {
437
+ this.notifyError('seek-not-supported');
348
438
  }
349
439
  }
350
440
  } else {
351
441
  if (this.playerRef?.seek) {
352
442
  this.playerRef.seek(positionInSeconds);
443
+ } else if (positionInMillis > 0) {
444
+ this.notifyError('seek-not-supported');
353
445
  }
354
446
  }
355
447
  }
@@ -237,82 +237,82 @@ export const foundations: IStreamTokens['foundations'] = {
237
237
  export const primitives: IStreamTokens['primitives'] = {
238
238
  darkElevation1: {
239
239
  elevation: 2,
240
- shadowColor: 'rgba(0,0,0,0.28)',
240
+ shadowColor: 'rgba(0,0,0,0.42400000000000004)',
241
241
  shadowOffset: {
242
242
  width: 0,
243
243
  height: 1.4878048780487807,
244
244
  },
245
- shadowOpacity: 0.42400000000000004,
245
+ shadowOpacity: 1,
246
246
  shadowRadius: 3.6926829268292685,
247
247
  },
248
248
  darkElevation2: {
249
249
  elevation: 3,
250
- shadowColor: 'rgba(0,0,0,0.30)',
250
+ shadowColor: 'rgba(0,0,0,0.44000000000000006)',
251
251
  shadowOffset: {
252
252
  width: 0,
253
253
  height: 2,
254
254
  },
255
- shadowOpacity: 0.44000000000000006,
255
+ shadowOpacity: 1,
256
256
  shadowRadius: 5.630769230769231,
257
257
  },
258
258
  darkElevation3: {
259
259
  elevation: 6,
260
- shadowColor: 'rgba(0,0,0,0.32)',
260
+ shadowColor: 'rgba(0,0,0,0.4696)',
261
261
  shadowOffset: {
262
262
  width: 0,
263
263
  height: 3.488372093023256,
264
264
  },
265
- shadowOpacity: 0.4696,
265
+ shadowOpacity: 1,
266
266
  shadowRadius: 11.079069767441862,
267
267
  },
268
268
  darkElevation4: {
269
269
  elevation: 8,
270
- shadowColor: 'rgba(0,0,0,0.36)',
270
+ shadowColor: 'rgba(0,0,0,0.5136000000000001)',
271
271
  shadowOffset: {
272
272
  width: 0,
273
273
  height: 5.384615384615384,
274
274
  },
275
- shadowOpacity: 0.5136000000000001,
275
+ shadowOpacity: 1,
276
276
  shadowRadius: 16.892307692307693,
277
277
  },
278
278
  lightElevation1: {
279
279
  elevation: 1,
280
- shadowColor: 'rgba(0,0,0,0.2)',
280
+ shadowColor: 'rgba(0,0,0,0.29599999999999993)',
281
281
  shadowOffset: {
282
282
  width: 0,
283
283
  height: 1,
284
284
  },
285
- shadowOpacity: 0.29599999999999993,
285
+ shadowOpacity: 1,
286
286
  shadowRadius: 2.8285714285714287,
287
287
  },
288
288
  lightElevation2: {
289
289
  elevation: 3,
290
- shadowColor: 'rgba(0,0,0,0.22)',
290
+ shadowColor: 'rgba(0,0,0,0.3136)',
291
291
  shadowOffset: {
292
292
  width: 0,
293
293
  height: 2,
294
294
  },
295
- shadowOpacity: 0.3136,
295
+ shadowOpacity: 1,
296
296
  shadowRadius: 5.68,
297
297
  },
298
298
  lightElevation3: {
299
299
  elevation: 6,
300
- shadowColor: 'rgba(0,0,0,0.24)',
300
+ shadowColor: 'rgba(0,0,0,0.36160000000000003)',
301
301
  shadowOffset: {
302
302
  width: 0,
303
303
  height: 3.5,
304
304
  },
305
- shadowOpacity: 0.36160000000000003,
305
+ shadowOpacity: 1,
306
306
  shadowRadius: 11.100000000000001,
307
307
  },
308
308
  lightElevation4: {
309
309
  elevation: 8,
310
- shadowColor: 'rgba(0,0,0,0.28)',
310
+ shadowColor: 'rgba(0,0,0,0.40959999999999996)',
311
311
  shadowOffset: {
312
312
  width: 0,
313
313
  height: 5.4,
314
314
  },
315
- shadowOpacity: 0.40959999999999996,
315
+ shadowOpacity: 1,
316
316
  shadowRadius: 16.919999999999998,
317
317
  },
318
318
  radius2xl: foundations.radius.radius20,
@@ -237,7 +237,7 @@ export const foundations: IStreamTokens['foundations'] = {
237
237
  export const primitives: IStreamTokens['primitives'] = {
238
238
  darkElevation1: {
239
239
  elevation: 2,
240
- shadowColor: 'rgba(0,0,0,0.20)',
240
+ shadowColor: 'rgb(0,0,0)',
241
241
  shadowOffset: {
242
242
  width: 0,
243
243
  height: 1,
@@ -247,7 +247,7 @@ export const primitives: IStreamTokens['primitives'] = {
247
247
  },
248
248
  darkElevation2: {
249
249
  elevation: 3,
250
- shadowColor: 'rgba(0,0,0,0.22)',
250
+ shadowColor: 'rgb(0,0,0)',
251
251
  shadowOffset: {
252
252
  width: 0,
253
253
  height: 2,
@@ -257,7 +257,7 @@ export const primitives: IStreamTokens['primitives'] = {
257
257
  },
258
258
  darkElevation3: {
259
259
  elevation: 6,
260
- shadowColor: 'rgba(0,0,0,0.24)',
260
+ shadowColor: 'rgb(0,0,0)',
261
261
  shadowOffset: {
262
262
  width: 0,
263
263
  height: 4,
@@ -267,7 +267,7 @@ export const primitives: IStreamTokens['primitives'] = {
267
267
  },
268
268
  darkElevation4: {
269
269
  elevation: 12,
270
- shadowColor: 'rgba(0,0,0,0.28)',
270
+ shadowColor: 'rgb(0,0,0)',
271
271
  shadowOffset: {
272
272
  width: 0,
273
273
  height: 8,
@@ -277,7 +277,7 @@ export const primitives: IStreamTokens['primitives'] = {
277
277
  },
278
278
  lightElevation1: {
279
279
  elevation: 2,
280
- shadowColor: 'rgba(0,0,0,0.12)',
280
+ shadowColor: 'rgb(0,0,0)',
281
281
  shadowOffset: {
282
282
  width: 0,
283
283
  height: 1,
@@ -287,7 +287,7 @@ export const primitives: IStreamTokens['primitives'] = {
287
287
  },
288
288
  lightElevation2: {
289
289
  elevation: 3,
290
- shadowColor: 'rgba(0,0,0,0.14)',
290
+ shadowColor: 'rgb(0,0,0)',
291
291
  shadowOffset: {
292
292
  width: 0,
293
293
  height: 2,
@@ -297,7 +297,7 @@ export const primitives: IStreamTokens['primitives'] = {
297
297
  },
298
298
  lightElevation3: {
299
299
  elevation: 6,
300
- shadowColor: 'rgba(0,0,0,0.16)',
300
+ shadowColor: 'rgb(0,0,0)',
301
301
  shadowOffset: {
302
302
  width: 0,
303
303
  height: 4,
@@ -307,7 +307,7 @@ export const primitives: IStreamTokens['primitives'] = {
307
307
  },
308
308
  lightElevation4: {
309
309
  elevation: 12,
310
- shadowColor: 'rgba(0,0,0,0.20)',
310
+ shadowColor: 'rgb(0,0,0)',
311
311
  shadowOffset: {
312
312
  width: 0,
313
313
  height: 8,
@@ -237,7 +237,7 @@ export const foundations: IStreamTokens['foundations'] = {
237
237
  export const primitives: IStreamTokens['primitives'] = {
238
238
  darkElevation1: {
239
239
  elevation: 3,
240
- shadowColor: 'rgba(0,0,0,0.1)',
240
+ shadowColor: 'rgb(0,0,0)',
241
241
  shadowOffset: {
242
242
  width: 0,
243
243
  height: 2.6666666666666665,
@@ -247,7 +247,7 @@ export const primitives: IStreamTokens['primitives'] = {
247
247
  },
248
248
  darkElevation2: {
249
249
  elevation: 7,
250
- shadowColor: 'rgba(0,0,0,0.12)',
250
+ shadowColor: 'rgb(0,0,0)',
251
251
  shadowOffset: {
252
252
  width: 0,
253
253
  height: 4.5016949152542365,
@@ -257,7 +257,7 @@ export const primitives: IStreamTokens['primitives'] = {
257
257
  },
258
258
  darkElevation3: {
259
259
  elevation: 10,
260
- shadowColor: 'rgba(0,0,0,0.14)',
260
+ shadowColor: 'rgb(0,0,0)',
261
261
  shadowOffset: {
262
262
  width: 0,
263
263
  height: 8.839779005524864,
@@ -267,7 +267,7 @@ export const primitives: IStreamTokens['primitives'] = {
267
267
  },
268
268
  darkElevation4: {
269
269
  elevation: 13,
270
- shadowColor: 'rgba(0,0,0,0.16)',
270
+ shadowColor: 'rgb(0,0,0)',
271
271
  shadowOffset: {
272
272
  width: 0,
273
273
  height: 14.201622247972189,
@@ -277,7 +277,7 @@ export const primitives: IStreamTokens['primitives'] = {
277
277
  },
278
278
  lightElevation1: {
279
279
  elevation: 3,
280
- shadowColor: 'rgba(0,0,0,0.06)',
280
+ shadowColor: 'rgb(0,0,0)',
281
281
  shadowOffset: {
282
282
  width: 0,
283
283
  height: 2.904109589041096,
@@ -287,7 +287,7 @@ export const primitives: IStreamTokens['primitives'] = {
287
287
  },
288
288
  lightElevation2: {
289
289
  elevation: 7,
290
- shadowColor: 'rgba(0,0,0,0.06)',
290
+ shadowColor: 'rgb(0,0,0)',
291
291
  shadowOffset: {
292
292
  width: 0,
293
293
  height: 4.510067114093959,
@@ -297,7 +297,7 @@ export const primitives: IStreamTokens['primitives'] = {
297
297
  },
298
298
  lightElevation3: {
299
299
  elevation: 10,
300
- shadowColor: 'rgba(0,0,0,0.1)',
300
+ shadowColor: 'rgb(0,0,0)',
301
301
  shadowOffset: {
302
302
  width: 0,
303
303
  height: 9.322128851540615,
@@ -307,7 +307,7 @@ export const primitives: IStreamTokens['primitives'] = {
307
307
  },
308
308
  lightElevation4: {
309
309
  elevation: 14,
310
- shadowColor: 'rgba(0,0,0,0.12)',
310
+ shadowColor: 'rgb(0,0,0)',
311
311
  shadowOffset: {
312
312
  width: 0,
313
313
  height: 15.201376936316695,
@@ -237,82 +237,82 @@ export const foundations: IStreamTokens['foundations'] = {
237
237
  export const primitives: IStreamTokens['primitives'] = {
238
238
  darkElevation1: {
239
239
  elevation: 2,
240
- shadowColor: 'rgba(0,0,0,0.28)',
240
+ shadowColor: 'rgba(0,0,0,0.42400000000000004)',
241
241
  shadowOffset: {
242
242
  width: 0,
243
243
  height: 1.4878048780487807,
244
244
  },
245
- shadowOpacity: 0.42400000000000004,
245
+ shadowOpacity: 1,
246
246
  shadowRadius: 3.6926829268292685,
247
247
  },
248
248
  darkElevation2: {
249
249
  elevation: 3,
250
- shadowColor: 'rgba(0,0,0,0.30)',
250
+ shadowColor: 'rgba(0,0,0,0.44000000000000006)',
251
251
  shadowOffset: {
252
252
  width: 0,
253
253
  height: 2,
254
254
  },
255
- shadowOpacity: 0.44000000000000006,
255
+ shadowOpacity: 1,
256
256
  shadowRadius: 5.630769230769231,
257
257
  },
258
258
  darkElevation3: {
259
259
  elevation: 6,
260
- shadowColor: 'rgba(0,0,0,0.32)',
260
+ shadowColor: 'rgba(0,0,0,0.4696)',
261
261
  shadowOffset: {
262
262
  width: 0,
263
263
  height: 3.488372093023256,
264
264
  },
265
- shadowOpacity: 0.4696,
265
+ shadowOpacity: 1,
266
266
  shadowRadius: 11.079069767441862,
267
267
  },
268
268
  darkElevation4: {
269
269
  elevation: 8,
270
- shadowColor: 'rgba(0,0,0,0.36)',
270
+ shadowColor: 'rgba(0,0,0,0.5136000000000001)',
271
271
  shadowOffset: {
272
272
  width: 0,
273
273
  height: 5.384615384615384,
274
274
  },
275
- shadowOpacity: 0.5136000000000001,
275
+ shadowOpacity: 1,
276
276
  shadowRadius: 16.892307692307693,
277
277
  },
278
278
  lightElevation1: {
279
279
  elevation: 1,
280
- shadowColor: 'rgba(0,0,0,0.2)',
280
+ shadowColor: 'rgba(0,0,0,0.29599999999999993)',
281
281
  shadowOffset: {
282
282
  width: 0,
283
283
  height: 1,
284
284
  },
285
- shadowOpacity: 0.29599999999999993,
285
+ shadowOpacity: 1,
286
286
  shadowRadius: 2.8285714285714287,
287
287
  },
288
288
  lightElevation2: {
289
289
  elevation: 3,
290
- shadowColor: 'rgba(0,0,0,0.22)',
290
+ shadowColor: 'rgba(0,0,0,0.3136)',
291
291
  shadowOffset: {
292
292
  width: 0,
293
293
  height: 2,
294
294
  },
295
- shadowOpacity: 0.3136,
295
+ shadowOpacity: 1,
296
296
  shadowRadius: 5.68,
297
297
  },
298
298
  lightElevation3: {
299
299
  elevation: 6,
300
- shadowColor: 'rgba(0,0,0,0.24)',
300
+ shadowColor: 'rgba(0,0,0,0.36160000000000003)',
301
301
  shadowOffset: {
302
302
  width: 0,
303
303
  height: 3.5,
304
304
  },
305
- shadowOpacity: 0.36160000000000003,
305
+ shadowOpacity: 1,
306
306
  shadowRadius: 11.100000000000001,
307
307
  },
308
308
  lightElevation4: {
309
309
  elevation: 8,
310
- shadowColor: 'rgba(0,0,0,0.28)',
310
+ shadowColor: 'rgba(0,0,0,0.40959999999999996)',
311
311
  shadowOffset: {
312
312
  width: 0,
313
313
  height: 5.4,
314
314
  },
315
- shadowOpacity: 0.40959999999999996,
315
+ shadowOpacity: 1,
316
316
  shadowRadius: 16.919999999999998,
317
317
  },
318
318
  radius2xl: foundations.radius.radius20,
@@ -237,7 +237,7 @@ export const foundations: IStreamTokens['foundations'] = {
237
237
  export const primitives: IStreamTokens['primitives'] = {
238
238
  darkElevation1: {
239
239
  elevation: 2,
240
- shadowColor: 'rgba(0,0,0,0.20)',
240
+ shadowColor: 'rgb(0,0,0)',
241
241
  shadowOffset: {
242
242
  width: 0,
243
243
  height: 1,
@@ -247,7 +247,7 @@ export const primitives: IStreamTokens['primitives'] = {
247
247
  },
248
248
  darkElevation2: {
249
249
  elevation: 3,
250
- shadowColor: 'rgba(0,0,0,0.22)',
250
+ shadowColor: 'rgb(0,0,0)',
251
251
  shadowOffset: {
252
252
  width: 0,
253
253
  height: 2,
@@ -257,7 +257,7 @@ export const primitives: IStreamTokens['primitives'] = {
257
257
  },
258
258
  darkElevation3: {
259
259
  elevation: 6,
260
- shadowColor: 'rgba(0,0,0,0.24)',
260
+ shadowColor: 'rgb(0,0,0)',
261
261
  shadowOffset: {
262
262
  width: 0,
263
263
  height: 4,
@@ -267,7 +267,7 @@ export const primitives: IStreamTokens['primitives'] = {
267
267
  },
268
268
  darkElevation4: {
269
269
  elevation: 12,
270
- shadowColor: 'rgba(0,0,0,0.28)',
270
+ shadowColor: 'rgb(0,0,0)',
271
271
  shadowOffset: {
272
272
  width: 0,
273
273
  height: 8,
@@ -277,7 +277,7 @@ export const primitives: IStreamTokens['primitives'] = {
277
277
  },
278
278
  lightElevation1: {
279
279
  elevation: 2,
280
- shadowColor: 'rgba(0,0,0,0.12)',
280
+ shadowColor: 'rgb(0,0,0)',
281
281
  shadowOffset: {
282
282
  width: 0,
283
283
  height: 1,
@@ -287,7 +287,7 @@ export const primitives: IStreamTokens['primitives'] = {
287
287
  },
288
288
  lightElevation2: {
289
289
  elevation: 3,
290
- shadowColor: 'rgba(0,0,0,0.14)',
290
+ shadowColor: 'rgb(0,0,0)',
291
291
  shadowOffset: {
292
292
  width: 0,
293
293
  height: 2,
@@ -297,7 +297,7 @@ export const primitives: IStreamTokens['primitives'] = {
297
297
  },
298
298
  lightElevation3: {
299
299
  elevation: 6,
300
- shadowColor: 'rgba(0,0,0,0.16)',
300
+ shadowColor: 'rgb(0,0,0)',
301
301
  shadowOffset: {
302
302
  width: 0,
303
303
  height: 4,
@@ -307,7 +307,7 @@ export const primitives: IStreamTokens['primitives'] = {
307
307
  },
308
308
  lightElevation4: {
309
309
  elevation: 12,
310
- shadowColor: 'rgba(0,0,0,0.20)',
310
+ shadowColor: 'rgb(0,0,0)',
311
311
  shadowOffset: {
312
312
  width: 0,
313
313
  height: 8,