@planningcenter/chat-react-native 3.42.2-qa-staging.2 → 3.42.2-qa-821.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (632) hide show
  1. package/build/components/conversation/attachments/attachment_card.d.ts +3 -3
  2. package/build/components/conversation/attachments/attachment_card.d.ts.map +1 -1
  3. package/build/components/conversation/attachments/attachment_card.js +3 -7
  4. package/build/components/conversation/attachments/attachment_card.js.map +1 -1
  5. package/build/components/conversation/attachments/attachment_deleting_overlay.d.ts +1 -2
  6. package/build/components/conversation/attachments/attachment_deleting_overlay.d.ts.map +1 -1
  7. package/build/components/conversation/attachments/attachment_deleting_overlay.js +12 -7
  8. package/build/components/conversation/attachments/attachment_deleting_overlay.js.map +1 -1
  9. package/build/components/conversation/attachments/audio_attachment.d.ts +1 -2
  10. package/build/components/conversation/attachments/audio_attachment.d.ts.map +1 -1
  11. package/build/components/conversation/attachments/audio_attachment.js +6 -23
  12. package/build/components/conversation/attachments/audio_attachment.js.map +1 -1
  13. package/build/components/conversation/attachments/expanded_link.d.ts +1 -2
  14. package/build/components/conversation/attachments/expanded_link.d.ts.map +1 -1
  15. package/build/components/conversation/attachments/expanded_link.js +2 -8
  16. package/build/components/conversation/attachments/expanded_link.js.map +1 -1
  17. package/build/components/conversation/attachments/generic_file_attachment.d.ts +1 -2
  18. package/build/components/conversation/attachments/generic_file_attachment.d.ts.map +1 -1
  19. package/build/components/conversation/attachments/generic_file_attachment.js +2 -12
  20. package/build/components/conversation/attachments/generic_file_attachment.js.map +1 -1
  21. package/build/components/conversation/attachments/giphy_attachment.d.ts +1 -2
  22. package/build/components/conversation/attachments/giphy_attachment.d.ts.map +1 -1
  23. package/build/components/conversation/attachments/giphy_attachment.js +2 -7
  24. package/build/components/conversation/attachments/giphy_attachment.js.map +1 -1
  25. package/build/components/conversation/attachments/image_attachment.d.ts +1 -2
  26. package/build/components/conversation/attachments/image_attachment.d.ts.map +1 -1
  27. package/build/components/conversation/attachments/image_attachment.js +16 -53
  28. package/build/components/conversation/attachments/image_attachment.js.map +1 -1
  29. package/build/components/conversation/attachments/video_attachment.d.ts +1 -2
  30. package/build/components/conversation/attachments/video_attachment.d.ts.map +1 -1
  31. package/build/components/conversation/attachments/video_attachment.js +3 -13
  32. package/build/components/conversation/attachments/video_attachment.js.map +1 -1
  33. package/build/components/conversation/conversation_start_banner.d.ts +1 -2
  34. package/build/components/conversation/conversation_start_banner.d.ts.map +1 -1
  35. package/build/components/conversation/conversation_start_banner.js +2 -14
  36. package/build/components/conversation/conversation_start_banner.js.map +1 -1
  37. package/build/components/conversation/empty_conversation_blank_state.d.ts +1 -1
  38. package/build/components/conversation/empty_conversation_blank_state.d.ts.map +1 -1
  39. package/build/components/conversation/empty_conversation_blank_state.js +2 -9
  40. package/build/components/conversation/empty_conversation_blank_state.js.map +1 -1
  41. package/build/components/conversation/jump_to_bottom_button.d.ts +1 -1
  42. package/build/components/conversation/jump_to_bottom_button.d.ts.map +1 -1
  43. package/build/components/conversation/jump_to_bottom_button.js +2 -10
  44. package/build/components/conversation/jump_to_bottom_button.js.map +1 -1
  45. package/build/components/conversation/message.d.ts +1 -2
  46. package/build/components/conversation/message.d.ts.map +1 -1
  47. package/build/components/conversation/message.js +2 -53
  48. package/build/components/conversation/message.js.map +1 -1
  49. package/build/components/conversation/message_attachments.d.ts +1 -2
  50. package/build/components/conversation/message_attachments.d.ts.map +1 -1
  51. package/build/components/conversation/message_attachments.js +17 -21
  52. package/build/components/conversation/message_attachments.js.map +1 -1
  53. package/build/components/conversation/message_form/message_form_attachment_file.d.ts +1 -2
  54. package/build/components/conversation/message_form/message_form_attachment_file.d.ts.map +1 -1
  55. package/build/components/conversation/message_form/message_form_attachment_file.js +2 -2
  56. package/build/components/conversation/message_form/message_form_attachment_file.js.map +1 -1
  57. package/build/components/conversation/message_form/message_form_attachment_image.d.ts +1 -2
  58. package/build/components/conversation/message_form/message_form_attachment_image.d.ts.map +1 -1
  59. package/build/components/conversation/message_form/message_form_attachment_image.js +2 -2
  60. package/build/components/conversation/message_form/message_form_attachment_image.js.map +1 -1
  61. package/build/components/conversation/message_form/message_form_attachment_video.d.ts +1 -2
  62. package/build/components/conversation/message_form/message_form_attachment_video.d.ts.map +1 -1
  63. package/build/components/conversation/message_form/message_form_attachment_video.js +2 -2
  64. package/build/components/conversation/message_form/message_form_attachment_video.js.map +1 -1
  65. package/build/components/conversation/message_form.d.ts +5 -6
  66. package/build/components/conversation/message_form.d.ts.map +1 -1
  67. package/build/components/conversation/message_form.js +20 -82
  68. package/build/components/conversation/message_form.js.map +1 -1
  69. package/build/components/conversation/message_markdown.d.ts +1 -2
  70. package/build/components/conversation/message_markdown.d.ts.map +1 -1
  71. package/build/components/conversation/message_markdown.js +8 -16
  72. package/build/components/conversation/message_markdown.js.map +1 -1
  73. package/build/components/conversation/message_reaction.d.ts +1 -2
  74. package/build/components/conversation/message_reaction.d.ts.map +1 -1
  75. package/build/components/conversation/message_reaction.js +3 -5
  76. package/build/components/conversation/message_reaction.js.map +1 -1
  77. package/build/components/conversation/message_read_receipts.d.ts +1 -2
  78. package/build/components/conversation/message_read_receipts.d.ts.map +1 -1
  79. package/build/components/conversation/message_read_receipts.js +3 -13
  80. package/build/components/conversation/message_read_receipts.js.map +1 -1
  81. package/build/components/conversation/messages_disabled_banners.d.ts +3 -3
  82. package/build/components/conversation/messages_disabled_banners.d.ts.map +1 -1
  83. package/build/components/conversation/messages_disabled_banners.js +5 -8
  84. package/build/components/conversation/messages_disabled_banners.js.map +1 -1
  85. package/build/components/conversation/reply_connectors.d.ts +2 -2
  86. package/build/components/conversation/reply_connectors.d.ts.map +1 -1
  87. package/build/components/conversation/reply_connectors.js +18 -50
  88. package/build/components/conversation/reply_connectors.js.map +1 -1
  89. package/build/components/conversation/reply_shadow_message.d.ts +1 -2
  90. package/build/components/conversation/reply_shadow_message.d.ts.map +1 -1
  91. package/build/components/conversation/reply_shadow_message.js +16 -46
  92. package/build/components/conversation/reply_shadow_message.js.map +1 -1
  93. package/build/components/conversation/system_message.d.ts +1 -2
  94. package/build/components/conversation/system_message.d.ts.map +1 -1
  95. package/build/components/conversation/system_message.js +3 -12
  96. package/build/components/conversation/system_message.js.map +1 -1
  97. package/build/components/conversation/typing_indicator.d.ts +1 -2
  98. package/build/components/conversation/typing_indicator.d.ts.map +1 -1
  99. package/build/components/conversation/typing_indicator.js +3 -13
  100. package/build/components/conversation/typing_indicator.js.map +1 -1
  101. package/build/components/conversations/conversation_actions.d.ts +2 -2
  102. package/build/components/conversations/conversation_actions.d.ts.map +1 -1
  103. package/build/components/conversations/conversation_actions.js +4 -10
  104. package/build/components/conversations/conversation_actions.js.map +1 -1
  105. package/build/components/conversations/conversation_preview.d.ts +2 -3
  106. package/build/components/conversations/conversation_preview.d.ts.map +1 -1
  107. package/build/components/conversations/conversation_preview.js +12 -76
  108. package/build/components/conversations/conversation_preview.js.map +1 -1
  109. package/build/components/conversations/conversations.d.ts +1 -1
  110. package/build/components/conversations/conversations.d.ts.map +1 -1
  111. package/build/components/conversations/conversations.js +16 -17
  112. package/build/components/conversations/conversations.js.map +1 -1
  113. package/build/components/conversations/conversations_blank_state.d.ts +1 -2
  114. package/build/components/conversations/conversations_blank_state.d.ts.map +1 -1
  115. package/build/components/conversations/conversations_blank_state.js +2 -12
  116. package/build/components/conversations/conversations_blank_state.js.map +1 -1
  117. package/build/components/conversations/mute_indicator.d.ts +1 -2
  118. package/build/components/conversations/mute_indicator.d.ts.map +1 -1
  119. package/build/components/conversations/mute_indicator.js +2 -2
  120. package/build/components/conversations/mute_indicator.js.map +1 -1
  121. package/build/components/conversations/swipeable_toggle_button.d.ts +1 -2
  122. package/build/components/conversations/swipeable_toggle_button.d.ts.map +1 -1
  123. package/build/components/conversations/swipeable_toggle_button.js +3 -10
  124. package/build/components/conversations/swipeable_toggle_button.js.map +1 -1
  125. package/build/components/conversations/unread_count_badge.d.ts +2 -4
  126. package/build/components/conversations/unread_count_badge.d.ts.map +1 -1
  127. package/build/components/conversations/unread_count_badge.js +7 -12
  128. package/build/components/conversations/unread_count_badge.js.map +1 -1
  129. package/build/components/display/action_button.d.ts +1 -1
  130. package/build/components/display/action_button.d.ts.map +1 -1
  131. package/build/components/display/action_button.js +3 -13
  132. package/build/components/display/action_button.js.map +1 -1
  133. package/build/components/display/adult_requirement_notice.d.ts +1 -2
  134. package/build/components/display/adult_requirement_notice.d.ts.map +1 -1
  135. package/build/components/display/adult_requirement_notice.js +2 -4
  136. package/build/components/display/adult_requirement_notice.js.map +1 -1
  137. package/build/components/display/avatar.d.ts +1 -2
  138. package/build/components/display/avatar.d.ts.map +1 -1
  139. package/build/components/display/avatar.js +2 -7
  140. package/build/components/display/avatar.js.map +1 -1
  141. package/build/components/display/avatar_group.d.ts +1 -2
  142. package/build/components/display/avatar_group.d.ts.map +1 -1
  143. package/build/components/display/avatar_group.js +2 -9
  144. package/build/components/display/avatar_group.js.map +1 -1
  145. package/build/components/display/badge.d.ts +1 -2
  146. package/build/components/display/badge.d.ts.map +1 -1
  147. package/build/components/display/badge.js +6 -37
  148. package/build/components/display/badge.js.map +1 -1
  149. package/build/components/display/banner.d.ts +3 -3
  150. package/build/components/display/banner.d.ts.map +1 -1
  151. package/build/components/display/banner.js +4 -11
  152. package/build/components/display/banner.js.map +1 -1
  153. package/build/components/display/banner_collapsible.d.ts +2 -2
  154. package/build/components/display/banner_collapsible.d.ts.map +1 -1
  155. package/build/components/display/banner_collapsible.js +2 -10
  156. package/build/components/display/banner_collapsible.js.map +1 -1
  157. package/build/components/display/button.d.ts +1 -2
  158. package/build/components/display/button.d.ts.map +1 -1
  159. package/build/components/display/button.js +3 -14
  160. package/build/components/display/button.js.map +1 -1
  161. package/build/components/display/child_notice.d.ts +1 -2
  162. package/build/components/display/child_notice.d.ts.map +1 -1
  163. package/build/components/display/child_notice.js +3 -15
  164. package/build/components/display/child_notice.js.map +1 -1
  165. package/build/components/display/conversation_avatar.d.ts +1 -2
  166. package/build/components/display/conversation_avatar.d.ts.map +1 -1
  167. package/build/components/display/conversation_avatar.js +5 -9
  168. package/build/components/display/conversation_avatar.js.map +1 -1
  169. package/build/components/display/emoji_avatar.d.ts +1 -2
  170. package/build/components/display/emoji_avatar.d.ts.map +1 -1
  171. package/build/components/display/emoji_avatar.js +2 -12
  172. package/build/components/display/emoji_avatar.js.map +1 -1
  173. package/build/components/display/file_attachment_preview.d.ts +1 -1
  174. package/build/components/display/file_attachment_preview.d.ts.map +1 -1
  175. package/build/components/display/file_attachment_preview.js +3 -17
  176. package/build/components/display/file_attachment_preview.js.map +1 -1
  177. package/build/components/display/heading.d.ts +1 -2
  178. package/build/components/display/heading.d.ts.map +1 -1
  179. package/build/components/display/heading.js +2 -4
  180. package/build/components/display/heading.js.map +1 -1
  181. package/build/components/display/icon.d.ts +1 -2
  182. package/build/components/display/icon.d.ts.map +1 -1
  183. package/build/components/display/icon.js +4 -4
  184. package/build/components/display/icon.js.map +1 -1
  185. package/build/components/display/icon_avatar.d.ts +1 -2
  186. package/build/components/display/icon_avatar.d.ts.map +1 -1
  187. package/build/components/display/icon_avatar.js +2 -12
  188. package/build/components/display/icon_avatar.js.map +1 -1
  189. package/build/components/display/icon_button.d.ts +1 -2
  190. package/build/components/display/icon_button.d.ts.map +1 -1
  191. package/build/components/display/icon_button.js +3 -5
  192. package/build/components/display/icon_button.js.map +1 -1
  193. package/build/components/display/image.d.ts +1 -2
  194. package/build/components/display/image.d.ts.map +1 -1
  195. package/build/components/display/image.js +3 -7
  196. package/build/components/display/image.js.map +1 -1
  197. package/build/components/display/image_attachment_preview.d.ts +1 -1
  198. package/build/components/display/image_attachment_preview.d.ts.map +1 -1
  199. package/build/components/display/image_attachment_preview.js +2 -7
  200. package/build/components/display/image_attachment_preview.js.map +1 -1
  201. package/build/components/display/keyboard_view.d.ts +1 -2
  202. package/build/components/display/keyboard_view.d.ts.map +1 -1
  203. package/build/components/display/keyboard_view.js +4 -9
  204. package/build/components/display/keyboard_view.js.map +1 -1
  205. package/build/components/display/person.d.ts +1 -2
  206. package/build/components/display/person.d.ts.map +1 -1
  207. package/build/components/display/person.js +2 -12
  208. package/build/components/display/person.js.map +1 -1
  209. package/build/components/display/platform_modal_header_buttons.d.ts +3 -3
  210. package/build/components/display/platform_modal_header_buttons.d.ts.map +1 -1
  211. package/build/components/display/platform_modal_header_buttons.js +5 -10
  212. package/build/components/display/platform_modal_header_buttons.js.map +1 -1
  213. package/build/components/display/pressable_row.d.ts +1 -1
  214. package/build/components/display/pressable_row.d.ts.map +1 -1
  215. package/build/components/display/pressable_row.js +2 -7
  216. package/build/components/display/pressable_row.js.map +1 -1
  217. package/build/components/display/spinner.d.ts +1 -2
  218. package/build/components/display/spinner.d.ts.map +1 -1
  219. package/build/components/display/spinner.js +3 -9
  220. package/build/components/display/spinner.js.map +1 -1
  221. package/build/components/display/switch.d.ts +1 -2
  222. package/build/components/display/switch.d.ts.map +1 -1
  223. package/build/components/display/switch.js +2 -2
  224. package/build/components/display/switch.js.map +1 -1
  225. package/build/components/display/tabs.d.ts +1 -1
  226. package/build/components/display/tabs.d.ts.map +1 -1
  227. package/build/components/display/tabs.js +21 -31
  228. package/build/components/display/tabs.js.map +1 -1
  229. package/build/components/display/text.d.ts +1 -2
  230. package/build/components/display/text.d.ts.map +1 -1
  231. package/build/components/display/text.js +2 -4
  232. package/build/components/display/text.js.map +1 -1
  233. package/build/components/display/text_button.d.ts +1 -2
  234. package/build/components/display/text_button.d.ts.map +1 -1
  235. package/build/components/display/text_button.js +3 -8
  236. package/build/components/display/text_button.js.map +1 -1
  237. package/build/components/display/text_inline_button.d.ts +1 -2
  238. package/build/components/display/text_inline_button.d.ts.map +1 -1
  239. package/build/components/display/text_inline_button.js +4 -5
  240. package/build/components/display/text_inline_button.js.map +1 -1
  241. package/build/components/display/text_input.d.ts +1 -1
  242. package/build/components/display/text_input.d.ts.map +1 -1
  243. package/build/components/display/text_input.js +2 -1
  244. package/build/components/display/text_input.js.map +1 -1
  245. package/build/components/display/toggle_button.d.ts +1 -2
  246. package/build/components/display/toggle_button.d.ts.map +1 -1
  247. package/build/components/display/toggle_button.js +3 -9
  248. package/build/components/display/toggle_button.js.map +1 -1
  249. package/build/components/display/video_attachment_preview.d.ts +1 -1
  250. package/build/components/display/video_attachment_preview.d.ts.map +1 -1
  251. package/build/components/display/video_attachment_preview.js +3 -20
  252. package/build/components/display/video_attachment_preview.js.map +1 -1
  253. package/build/components/group_conversation_list.d.ts +1 -1
  254. package/build/components/group_conversation_list.d.ts.map +1 -1
  255. package/build/components/group_conversation_list.js +4 -14
  256. package/build/components/group_conversation_list.js.map +1 -1
  257. package/build/components/page/component_error_boundary.d.ts +2 -2
  258. package/build/components/page/component_error_boundary.d.ts.map +1 -1
  259. package/build/components/page/component_error_boundary.js +2 -4
  260. package/build/components/page/component_error_boundary.js.map +1 -1
  261. package/build/components/page/loading.d.ts +1 -2
  262. package/build/components/page/loading.d.ts.map +1 -1
  263. package/build/components/page/loading.js +2 -4
  264. package/build/components/page/loading.js.map +1 -1
  265. package/build/components/page/page_error_boundary.d.ts +2 -2
  266. package/build/components/page/page_error_boundary.d.ts.map +1 -1
  267. package/build/components/page/page_error_boundary.js +11 -32
  268. package/build/components/page/page_error_boundary.js.map +1 -1
  269. package/build/components/primitive/avatar_primitive.js +14 -41
  270. package/build/components/primitive/avatar_primitive.js.map +1 -1
  271. package/build/components/primitive/banner_primitive.js +10 -18
  272. package/build/components/primitive/banner_primitive.js.map +1 -1
  273. package/build/components/primitive/blank_state_primitive.js +8 -12
  274. package/build/components/primitive/blank_state_primitive.js.map +1 -1
  275. package/build/components/primitive/form_sheet.d.ts +1 -1
  276. package/build/components/primitive/form_sheet.d.ts.map +1 -1
  277. package/build/components/primitive/form_sheet.js +9 -22
  278. package/build/components/primitive/form_sheet.js.map +1 -1
  279. package/build/components/safe_area_modal.d.ts +1 -1
  280. package/build/components/safe_area_modal.d.ts.map +1 -1
  281. package/build/components/safe_area_modal.js +2 -3
  282. package/build/components/safe_area_modal.js.map +1 -1
  283. package/build/contexts/api_provider.d.ts +1 -2
  284. package/build/contexts/api_provider.d.ts.map +1 -1
  285. package/build/contexts/api_provider.js +3 -5
  286. package/build/contexts/api_provider.js.map +1 -1
  287. package/build/contexts/chat_context.d.ts +1 -1
  288. package/build/contexts/chat_context.d.ts.map +1 -1
  289. package/build/contexts/chat_context.js +2 -1
  290. package/build/contexts/chat_context.js.map +1 -1
  291. package/build/contexts/conversation_context.d.ts +2 -2
  292. package/build/contexts/conversation_context.d.ts.map +1 -1
  293. package/build/contexts/conversation_context.js +3 -2
  294. package/build/contexts/conversation_context.js.map +1 -1
  295. package/build/contexts/conversations_context.d.ts +2 -2
  296. package/build/contexts/conversations_context.d.ts.map +1 -1
  297. package/build/contexts/conversations_context.js +3 -2
  298. package/build/contexts/conversations_context.js.map +1 -1
  299. package/build/contexts/session_context.d.ts +1 -1
  300. package/build/contexts/session_context.d.ts.map +1 -1
  301. package/build/contexts/session_context.js +3 -2
  302. package/build/contexts/session_context.js.map +1 -1
  303. package/build/hooks/use_animated_message_background_color.d.ts +2 -2
  304. package/build/hooks/use_conversation.d.ts +1 -1
  305. package/build/hooks/use_conversation.d.ts.map +1 -1
  306. package/build/hooks/use_conversation.js +0 -2
  307. package/build/hooks/use_conversation.js.map +1 -1
  308. package/build/hooks/use_conversation_jolt_events.d.ts.map +1 -1
  309. package/build/hooks/use_conversation_jolt_events.js +19 -4
  310. package/build/hooks/use_conversation_jolt_events.js.map +1 -1
  311. package/build/hooks/use_conversation_membership.d.ts +1 -1
  312. package/build/hooks/use_conversation_membership.d.ts.map +1 -1
  313. package/build/hooks/use_conversation_messages.d.ts +1 -0
  314. package/build/hooks/use_conversation_messages.d.ts.map +1 -1
  315. package/build/hooks/use_conversation_messages.js +2 -2
  316. package/build/hooks/use_conversation_messages.js.map +1 -1
  317. package/build/hooks/use_conversations_actions.d.ts +36 -36
  318. package/build/hooks/use_conversations_actions.d.ts.map +1 -1
  319. package/build/hooks/use_conversations_actions.js +1 -3
  320. package/build/hooks/use_conversations_actions.js.map +1 -1
  321. package/build/hooks/use_mark_latest_message_read.d.ts.map +1 -1
  322. package/build/hooks/use_mark_latest_message_read.js +4 -3
  323. package/build/hooks/use_mark_latest_message_read.js.map +1 -1
  324. package/build/hooks/use_person_settings.d.ts +1 -1
  325. package/build/index.d.ts +2 -1
  326. package/build/index.d.ts.map +1 -1
  327. package/build/index.js.map +1 -1
  328. package/build/navigation/chat_access_gate.d.ts +2 -2
  329. package/build/navigation/chat_access_gate.d.ts.map +1 -1
  330. package/build/navigation/chat_access_gate.js +6 -5
  331. package/build/navigation/chat_access_gate.js.map +1 -1
  332. package/build/navigation/index.d.ts +35 -36
  333. package/build/navigation/index.d.ts.map +1 -1
  334. package/build/navigation/index.js +19 -21
  335. package/build/navigation/index.js.map +1 -1
  336. package/build/navigation/screenLayout.d.ts +2 -2
  337. package/build/navigation/screenLayout.d.ts.map +1 -1
  338. package/build/navigation/screenLayout.js +3 -9
  339. package/build/navigation/screenLayout.js.map +1 -1
  340. package/build/polyfills/events/EventTarget.d.ts +1 -1
  341. package/build/polyfills/events/EventTarget.d.ts.map +1 -1
  342. package/build/polyfills/events/EventTarget.js.map +1 -1
  343. package/build/screens/age_check/age_check_required_screen.d.ts +1 -2
  344. package/build/screens/age_check/age_check_required_screen.d.ts.map +1 -1
  345. package/build/screens/age_check/age_check_required_screen.js +3 -46
  346. package/build/screens/age_check/age_check_required_screen.js.map +1 -1
  347. package/build/screens/age_check/age_check_underage_screen.d.ts +1 -2
  348. package/build/screens/age_check/age_check_underage_screen.d.ts.map +1 -1
  349. package/build/screens/age_check/age_check_underage_screen.js +2 -25
  350. package/build/screens/age_check/age_check_underage_screen.js.map +1 -1
  351. package/build/screens/age_check/components/age_check_select_birthdate_modal.d.ts +1 -2
  352. package/build/screens/age_check/components/age_check_select_birthdate_modal.d.ts.map +1 -1
  353. package/build/screens/age_check/components/age_check_select_birthdate_modal.js +6 -25
  354. package/build/screens/age_check/components/age_check_select_birthdate_modal.js.map +1 -1
  355. package/build/screens/attachment_actions/attachment_actions_screen.d.ts +1 -2
  356. package/build/screens/attachment_actions/attachment_actions_screen.d.ts.map +1 -1
  357. package/build/screens/attachment_actions/attachment_actions_screen.js +3 -5
  358. package/build/screens/attachment_actions/attachment_actions_screen.js.map +1 -1
  359. package/build/screens/avatar_picker/avatar_picker_screen.d.ts +1 -2
  360. package/build/screens/avatar_picker/avatar_picker_screen.d.ts.map +1 -1
  361. package/build/screens/avatar_picker/avatar_picker_screen.js +9 -36
  362. package/build/screens/avatar_picker/avatar_picker_screen.js.map +1 -1
  363. package/build/screens/avatar_picker/avatar_preview.d.ts +1 -1
  364. package/build/screens/avatar_picker/avatar_preview.d.ts.map +1 -1
  365. package/build/screens/avatar_picker/avatar_preview.js +5 -9
  366. package/build/screens/avatar_picker/avatar_preview.js.map +1 -1
  367. package/build/screens/avatar_picker/color_picker.d.ts +1 -2
  368. package/build/screens/avatar_picker/color_picker.d.ts.map +1 -1
  369. package/build/screens/avatar_picker/color_picker.js +4 -5
  370. package/build/screens/avatar_picker/color_picker.js.map +1 -1
  371. package/build/screens/avatar_picker/emoji_tab.d.ts +1 -2
  372. package/build/screens/avatar_picker/emoji_tab.d.ts.map +1 -1
  373. package/build/screens/avatar_picker/emoji_tab.js +12 -13
  374. package/build/screens/avatar_picker/emoji_tab.js.map +1 -1
  375. package/build/screens/avatar_picker/icon_grid.d.ts +1 -2
  376. package/build/screens/avatar_picker/icon_grid.d.ts.map +1 -1
  377. package/build/screens/avatar_picker/icon_grid.js +4 -5
  378. package/build/screens/avatar_picker/icon_grid.js.map +1 -1
  379. package/build/screens/avatar_picker/upload_tab.d.ts +1 -2
  380. package/build/screens/avatar_picker/upload_tab.d.ts.map +1 -1
  381. package/build/screens/avatar_picker/upload_tab.js +3 -4
  382. package/build/screens/avatar_picker/upload_tab.js.map +1 -1
  383. package/build/screens/bug_report_screen.d.ts +1 -2
  384. package/build/screens/bug_report_screen.d.ts.map +1 -1
  385. package/build/screens/bug_report_screen.js +11 -117
  386. package/build/screens/bug_report_screen.js.map +1 -1
  387. package/build/screens/conversation/message_read_receipts_screen.d.ts +1 -2
  388. package/build/screens/conversation/message_read_receipts_screen.d.ts.map +1 -1
  389. package/build/screens/conversation/message_read_receipts_screen.js +4 -20
  390. package/build/screens/conversation/message_read_receipts_screen.js.map +1 -1
  391. package/build/screens/conversation_details_screen.d.ts +1 -2
  392. package/build/screens/conversation_details_screen.d.ts.map +1 -1
  393. package/build/screens/conversation_details_screen.js +43 -106
  394. package/build/screens/conversation_details_screen.js.map +1 -1
  395. package/build/screens/conversation_filter_recipients/components/checkbox_row.d.ts +1 -1
  396. package/build/screens/conversation_filter_recipients/components/checkbox_row.d.ts.map +1 -1
  397. package/build/screens/conversation_filter_recipients/components/checkbox_row.js +3 -9
  398. package/build/screens/conversation_filter_recipients/components/checkbox_row.js.map +1 -1
  399. package/build/screens/conversation_filter_recipients/components/header_row.d.ts +1 -1
  400. package/build/screens/conversation_filter_recipients/components/header_row.d.ts.map +1 -1
  401. package/build/screens/conversation_filter_recipients/components/header_row.js +2 -12
  402. package/build/screens/conversation_filter_recipients/components/header_row.js.map +1 -1
  403. package/build/screens/conversation_filter_recipients/conversation_filter_recipients_screen.d.ts +1 -2
  404. package/build/screens/conversation_filter_recipients/conversation_filter_recipients_screen.d.ts.map +1 -1
  405. package/build/screens/conversation_filter_recipients/conversation_filter_recipients_screen.js +20 -44
  406. package/build/screens/conversation_filter_recipients/conversation_filter_recipients_screen.js.map +1 -1
  407. package/build/screens/conversation_filters/components/conversation_filters.d.ts +1 -2
  408. package/build/screens/conversation_filters/components/conversation_filters.d.ts.map +1 -1
  409. package/build/screens/conversation_filters/components/conversation_filters.js +10 -11
  410. package/build/screens/conversation_filters/components/conversation_filters.js.map +1 -1
  411. package/build/screens/conversation_filters/components/rows.d.ts +6 -6
  412. package/build/screens/conversation_filters/components/rows.d.ts.map +1 -1
  413. package/build/screens/conversation_filters/components/rows.js +7 -34
  414. package/build/screens/conversation_filters/components/rows.js.map +1 -1
  415. package/build/screens/conversation_filters/context/conversation_filter_context.d.ts +1 -1
  416. package/build/screens/conversation_filters/context/conversation_filter_context.d.ts.map +1 -1
  417. package/build/screens/conversation_filters/context/conversation_filter_context.js +2 -1
  418. package/build/screens/conversation_filters/context/conversation_filter_context.js.map +1 -1
  419. package/build/screens/conversation_filters/group_filters.d.ts +1 -2
  420. package/build/screens/conversation_filters/group_filters.d.ts.map +1 -1
  421. package/build/screens/conversation_filters/group_filters.js +2 -2
  422. package/build/screens/conversation_filters/group_filters.js.map +1 -1
  423. package/build/screens/conversation_filters/team_filters.d.ts +1 -2
  424. package/build/screens/conversation_filters/team_filters.d.ts.map +1 -1
  425. package/build/screens/conversation_filters/team_filters.js +2 -2
  426. package/build/screens/conversation_filters/team_filters.js.map +1 -1
  427. package/build/screens/conversation_filters_screen.d.ts +1 -2
  428. package/build/screens/conversation_filters_screen.d.ts.map +1 -1
  429. package/build/screens/conversation_filters_screen.js +4 -16
  430. package/build/screens/conversation_filters_screen.js.map +1 -1
  431. package/build/screens/conversation_new/components/avatar_selection_row.d.ts +2 -3
  432. package/build/screens/conversation_new/components/avatar_selection_row.d.ts.map +1 -1
  433. package/build/screens/conversation_new/components/avatar_selection_row.js +6 -16
  434. package/build/screens/conversation_new/components/avatar_selection_row.js.map +1 -1
  435. package/build/screens/conversation_new/components/filter_by_plan.d.ts +3 -4
  436. package/build/screens/conversation_new/components/filter_by_plan.d.ts.map +1 -1
  437. package/build/screens/conversation_new/components/filter_by_plan.js +22 -46
  438. package/build/screens/conversation_new/components/filter_by_plan.js.map +1 -1
  439. package/build/screens/conversation_new/components/form_list.d.ts +2 -3
  440. package/build/screens/conversation_new/components/form_list.d.ts.map +1 -1
  441. package/build/screens/conversation_new/components/form_list.js +4 -6
  442. package/build/screens/conversation_new/components/form_list.js.map +1 -1
  443. package/build/screens/conversation_new/components/gender_filter_toggle.d.ts +1 -2
  444. package/build/screens/conversation_new/components/gender_filter_toggle.d.ts.map +1 -1
  445. package/build/screens/conversation_new/components/gender_filter_toggle.js +4 -20
  446. package/build/screens/conversation_new/components/gender_filter_toggle.js.map +1 -1
  447. package/build/screens/conversation_new/components/groups_form.d.ts +1 -2
  448. package/build/screens/conversation_new/components/groups_form.d.ts.map +1 -1
  449. package/build/screens/conversation_new/components/groups_form.js +4 -30
  450. package/build/screens/conversation_new/components/groups_form.js.map +1 -1
  451. package/build/screens/conversation_new/components/services_form.d.ts +1 -2
  452. package/build/screens/conversation_new/components/services_form.d.ts.map +1 -1
  453. package/build/screens/conversation_new/components/services_form.js +27 -61
  454. package/build/screens/conversation_new/components/services_form.js.map +1 -1
  455. package/build/screens/conversation_new/components/source_app_error_card.d.ts +1 -1
  456. package/build/screens/conversation_new/components/source_app_error_card.d.ts.map +1 -1
  457. package/build/screens/conversation_new/components/source_app_error_card.js +2 -3
  458. package/build/screens/conversation_new/components/source_app_error_card.js.map +1 -1
  459. package/build/screens/conversation_new/conversation_new_screen.d.ts +1 -2
  460. package/build/screens/conversation_new/conversation_new_screen.d.ts.map +1 -1
  461. package/build/screens/conversation_new/conversation_new_screen.js +4 -4
  462. package/build/screens/conversation_new/conversation_new_screen.js.map +1 -1
  463. package/build/screens/conversation_notification_level_select_screen.d.ts +1 -2
  464. package/build/screens/conversation_notification_level_select_screen.d.ts.map +1 -1
  465. package/build/screens/conversation_notification_level_select_screen.js +4 -6
  466. package/build/screens/conversation_notification_level_select_screen.js.map +1 -1
  467. package/build/screens/conversation_screen.d.ts +2 -3
  468. package/build/screens/conversation_screen.d.ts.map +1 -1
  469. package/build/screens/conversation_screen.js +25 -66
  470. package/build/screens/conversation_screen.js.map +1 -1
  471. package/build/screens/conversation_select_recipients/components/groups_recipient_row.d.ts +1 -1
  472. package/build/screens/conversation_select_recipients/components/groups_recipient_row.d.ts.map +1 -1
  473. package/build/screens/conversation_select_recipients/components/groups_recipient_row.js +2 -1
  474. package/build/screens/conversation_select_recipients/components/groups_recipient_row.js.map +1 -1
  475. package/build/screens/conversation_select_recipients/components/recipient_link_row.d.ts +1 -2
  476. package/build/screens/conversation_select_recipients/components/recipient_link_row.d.ts.map +1 -1
  477. package/build/screens/conversation_select_recipients/components/recipient_link_row.js +2 -15
  478. package/build/screens/conversation_select_recipients/components/recipient_link_row.js.map +1 -1
  479. package/build/screens/conversation_select_recipients/components/restricted_group_row.d.ts +1 -2
  480. package/build/screens/conversation_select_recipients/components/restricted_group_row.d.ts.map +1 -1
  481. package/build/screens/conversation_select_recipients/components/restricted_group_row.js +2 -14
  482. package/build/screens/conversation_select_recipients/components/restricted_group_row.js.map +1 -1
  483. package/build/screens/conversation_select_recipients/components/team_recipient_row.d.ts +1 -1
  484. package/build/screens/conversation_select_recipients/components/team_recipient_row.d.ts.map +1 -1
  485. package/build/screens/conversation_select_recipients/components/team_recipient_row.js +2 -1
  486. package/build/screens/conversation_select_recipients/components/team_recipient_row.js.map +1 -1
  487. package/build/screens/conversation_select_recipients/components/view_more_link_row.d.ts +1 -1
  488. package/build/screens/conversation_select_recipients/components/view_more_link_row.d.ts.map +1 -1
  489. package/build/screens/conversation_select_recipients/components/view_more_link_row.js +2 -5
  490. package/build/screens/conversation_select_recipients/components/view_more_link_row.js.map +1 -1
  491. package/build/screens/conversation_select_recipients/conversation_new_entry_screen.d.ts +1 -2
  492. package/build/screens/conversation_select_recipients/conversation_new_entry_screen.d.ts.map +1 -1
  493. package/build/screens/conversation_select_recipients/conversation_new_entry_screen.js +4 -11
  494. package/build/screens/conversation_select_recipients/conversation_new_entry_screen.js.map +1 -1
  495. package/build/screens/conversation_select_recipients/conversation_select_direct_message_recipients_screen.d.ts +1 -1
  496. package/build/screens/conversation_select_recipients/conversation_select_direct_message_recipients_screen.d.ts.map +1 -1
  497. package/build/screens/conversation_select_recipients/conversation_select_direct_message_recipients_screen.js +11 -83
  498. package/build/screens/conversation_select_recipients/conversation_select_direct_message_recipients_screen.js.map +1 -1
  499. package/build/screens/conversation_select_recipients/conversation_select_group_recipients_screen.d.ts +1 -2
  500. package/build/screens/conversation_select_recipients/conversation_select_group_recipients_screen.d.ts.map +1 -1
  501. package/build/screens/conversation_select_recipients/conversation_select_group_recipients_screen.js +7 -14
  502. package/build/screens/conversation_select_recipients/conversation_select_group_recipients_screen.js.map +1 -1
  503. package/build/screens/conversation_select_recipients/conversation_select_teams_i_lead_recipients_screen.d.ts +1 -2
  504. package/build/screens/conversation_select_recipients/conversation_select_teams_i_lead_recipients_screen.d.ts.map +1 -1
  505. package/build/screens/conversation_select_recipients/conversation_select_teams_i_lead_recipients_screen.js +15 -18
  506. package/build/screens/conversation_select_recipients/conversation_select_teams_i_lead_recipients_screen.js.map +1 -1
  507. package/build/screens/conversation_select_type_screen.d.ts +1 -2
  508. package/build/screens/conversation_select_type_screen.d.ts.map +1 -1
  509. package/build/screens/conversation_select_type_screen.js +3 -10
  510. package/build/screens/conversation_select_type_screen.js.map +1 -1
  511. package/build/screens/conversations/components/chat_group_badge.d.ts +1 -2
  512. package/build/screens/conversations/components/chat_group_badge.d.ts.map +1 -1
  513. package/build/screens/conversations/components/chat_group_badge.js +3 -4
  514. package/build/screens/conversations/components/chat_group_badge.js.map +1 -1
  515. package/build/screens/conversations/components/list_header_action_button.d.ts +1 -2
  516. package/build/screens/conversations/components/list_header_action_button.d.ts.map +1 -1
  517. package/build/screens/conversations/components/list_header_action_button.js +3 -5
  518. package/build/screens/conversations/components/list_header_action_button.js.map +1 -1
  519. package/build/screens/conversations/components/list_header_component.d.ts +1 -2
  520. package/build/screens/conversations/components/list_header_component.d.ts.map +1 -1
  521. package/build/screens/conversations/components/list_header_component.js +19 -42
  522. package/build/screens/conversations/components/list_header_component.js.map +1 -1
  523. package/build/screens/conversations/conversations_screen.d.ts +1 -2
  524. package/build/screens/conversations/conversations_screen.d.ts.map +1 -1
  525. package/build/screens/conversations/conversations_screen.js +2 -6
  526. package/build/screens/conversations/conversations_screen.js.map +1 -1
  527. package/build/screens/design_system_screen.d.ts +1 -2
  528. package/build/screens/design_system_screen.d.ts.map +1 -1
  529. package/build/screens/design_system_screen.js +35 -558
  530. package/build/screens/design_system_screen.js.map +1 -1
  531. package/build/screens/get_help_screen.d.ts +1 -1
  532. package/build/screens/get_help_screen.d.ts.map +1 -1
  533. package/build/screens/get_help_screen.js +4 -25
  534. package/build/screens/get_help_screen.js.map +1 -1
  535. package/build/screens/group_notification_level_select_screen.d.ts +1 -2
  536. package/build/screens/group_notification_level_select_screen.d.ts.map +1 -1
  537. package/build/screens/group_notification_level_select_screen.js +2 -4
  538. package/build/screens/group_notification_level_select_screen.js.map +1 -1
  539. package/build/screens/group_notification_settings_screen.d.ts +1 -2
  540. package/build/screens/group_notification_settings_screen.d.ts.map +1 -1
  541. package/build/screens/group_notification_settings_screen.js +3 -25
  542. package/build/screens/group_notification_settings_screen.js.map +1 -1
  543. package/build/screens/message_actions_screen.d.ts +1 -2
  544. package/build/screens/message_actions_screen.d.ts.map +1 -1
  545. package/build/screens/message_actions_screen.js +12 -28
  546. package/build/screens/message_actions_screen.js.map +1 -1
  547. package/build/screens/message_report/components/message_preview.d.ts +1 -2
  548. package/build/screens/message_report/components/message_preview.d.ts.map +1 -1
  549. package/build/screens/message_report/components/message_preview.js +2 -22
  550. package/build/screens/message_report/components/message_preview.js.map +1 -1
  551. package/build/screens/message_report/components/report_reason_list.d.ts +1 -2
  552. package/build/screens/message_report/components/report_reason_list.d.ts.map +1 -1
  553. package/build/screens/message_report/components/report_reason_list.js +4 -13
  554. package/build/screens/message_report/components/report_reason_list.js.map +1 -1
  555. package/build/screens/message_report_screen.d.ts +1 -2
  556. package/build/screens/message_report_screen.d.ts.map +1 -1
  557. package/build/screens/message_report_screen.js +9 -61
  558. package/build/screens/message_report_screen.js.map +1 -1
  559. package/build/screens/not_found.d.ts +1 -2
  560. package/build/screens/not_found.d.ts.map +1 -1
  561. package/build/screens/not_found.js +2 -5
  562. package/build/screens/not_found.js.map +1 -1
  563. package/build/screens/notification_settings/hooks/groups.d.ts +1 -1
  564. package/build/screens/notification_settings/hooks/groups.d.ts.map +1 -1
  565. package/build/screens/notification_settings_screen.d.ts +1 -2
  566. package/build/screens/notification_settings_screen.d.ts.map +1 -1
  567. package/build/screens/notification_settings_screen.js +28 -66
  568. package/build/screens/notification_settings_screen.js.map +1 -1
  569. package/build/screens/preferred_app_selection_screen.d.ts +1 -2
  570. package/build/screens/preferred_app_selection_screen.d.ts.map +1 -1
  571. package/build/screens/preferred_app_selection_screen.js +3 -21
  572. package/build/screens/preferred_app_selection_screen.js.map +1 -1
  573. package/build/screens/reactions_screen.d.ts +1 -2
  574. package/build/screens/reactions_screen.d.ts.map +1 -1
  575. package/build/screens/reactions_screen.js +7 -19
  576. package/build/screens/reactions_screen.js.map +1 -1
  577. package/build/screens/send_giphy_screen.d.ts +1 -2
  578. package/build/screens/send_giphy_screen.d.ts.map +1 -1
  579. package/build/screens/send_giphy_screen.js +5 -31
  580. package/build/screens/send_giphy_screen.js.map +1 -1
  581. package/build/screens/settings_screen.d.ts +1 -2
  582. package/build/screens/settings_screen.d.ts.map +1 -1
  583. package/build/screens/settings_screen.js +4 -26
  584. package/build/screens/settings_screen.js.map +1 -1
  585. package/build/screens/system_message_people_screen.d.ts +1 -2
  586. package/build/screens/system_message_people_screen.d.ts.map +1 -1
  587. package/build/screens/system_message_people_screen.js +4 -10
  588. package/build/screens/system_message_people_screen.js.map +1 -1
  589. package/build/screens/team_conversation_screen.d.ts +1 -1
  590. package/build/screens/team_conversation_screen.d.ts.map +1 -1
  591. package/build/screens/team_conversation_screen.js +4 -12
  592. package/build/screens/team_conversation_screen.js.map +1 -1
  593. package/build/types/resources/conversation.d.ts +1 -10
  594. package/build/types/resources/conversation.d.ts.map +1 -1
  595. package/build/types/resources/conversation.js.map +1 -1
  596. package/build/utils/request/conversation.d.ts.map +1 -1
  597. package/build/utils/request/conversation.js +0 -2
  598. package/build/utils/request/conversation.js.map +1 -1
  599. package/build/utils/sha_256.js.map +1 -1
  600. package/build/utils/system_messages.d.ts +1 -1
  601. package/build/utils/system_messages.d.ts.map +1 -1
  602. package/build/utils/system_messages.js.map +1 -1
  603. package/build/utils/theme.d.ts +2 -2
  604. package/build/utils/theme.d.ts.map +1 -1
  605. package/build/utils/theme.js.map +1 -1
  606. package/package.json +12 -12
  607. package/src/__tests__/hooks/use_attachment_uploader.test.tsx +1 -0
  608. package/src/__tests__/hooks/use_font_scale.test.ts +7 -3
  609. package/src/__tests__/utils/native_adapters/configuration.ts +1 -1
  610. package/src/__tests__/utils/system_messages.ts +1 -1
  611. package/src/__tests__/utils/uri.ts +8 -50
  612. package/src/__utils__/handlers.ts +5 -6
  613. package/src/components/conversation/attachments/attachment_deleting_overlay.tsx +10 -3
  614. package/src/components/conversations/conversation_preview.tsx +23 -58
  615. package/src/components/conversations/unread_count_badge.tsx +4 -13
  616. package/src/components/page/__tests__/component_error_boundary.test.tsx +1 -1
  617. package/src/components/page/__tests__/error_boundary.test.tsx +6 -2
  618. package/src/components/page/__tests__/page_error_boundary.test.tsx +1 -1
  619. package/src/hooks/use_conversation.ts +0 -2
  620. package/src/hooks/use_conversation_jolt_events.ts +19 -3
  621. package/src/hooks/use_conversation_messages.ts +6 -5
  622. package/src/hooks/use_conversations_actions.ts +1 -3
  623. package/src/hooks/use_mark_latest_message_read.ts +4 -3
  624. package/src/index.tsx +2 -1
  625. package/src/polyfills/events/EventTarget.ts +1 -1
  626. package/src/screens/conversation_screen.tsx +4 -2
  627. package/src/screens/conversations/components/list_header_component.tsx +6 -6
  628. package/src/types/resources/conversation.ts +1 -11
  629. package/src/utils/request/conversation.ts +0 -2
  630. package/src/utils/sha_256.ts +24 -24
  631. package/src/utils/system_messages.ts +1 -1
  632. package/src/utils/theme.ts +3 -2
@@ -1 +1 @@
1
- {"version":3,"file":"group_notification_level_select_screen.js","sourceRoot":"","sources":["../../src/screens/group_notification_level_select_screen.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAqB,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAC3E,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,SAAS,EAAE,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAA;AACzF,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AACnC,OAAO,EAAE,QAAQ,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAA;AAEzF,MAAM,CAAC,MAAM,yCAAyC,GAAG,yBAAyB,CAAC;IACjF,WAAW,EAAE,oBAAoB;IACjC,mBAAmB,EAAE,CAAC,IAAI,CAAC;CAC5B,CAAC,CAAA;AAMF,MAAM,UAAU,kCAAkC,CAAC,EACjD,KAAK,GACmC;IACxC,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,MAAM,CAAA;IAChC,MAAM,UAAU,GAAG,aAAa,EAAE,CAAA;IAClC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAC1B,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAA;IAC7B,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;IAC7C,MAAM,EAAE,MAAM,EAAE,uBAAuB,EAAE,GAAG,wBAAwB,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;IAEjF,MAAM,wBAAwB,GAAG,KAAK,CAAC,iBAAiB,EAAE,wBAAwB,IAAI,EAAE,CAAA;IAExF,MAAM,YAAY,GAAG,CAAC,KAAa,EAAE,QAAiB,EAAE,EAAE;QACxD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,uBAAuB,CAAC,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAAC,CAAA;QACvD,CAAC;QACD,UAAU,CAAC,MAAM,EAAE,CAAA;IACrB,CAAC,CAAA;IAED,OAAO,CACL,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAC3C;MAAA,CAAC,wBAAwB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CACtC,CAAC,YAAY,CACX,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAClB,IAAI,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CACzB,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CACzB,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAC1D,SAAS,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CACpC,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAClB,CACH,CAAC,CACJ;IAAA,EAAE,SAAS,CAAC,IAAI,CAAC,CAClB,CAAA;AACH,CAAC;AAED,MAAM,SAAS,GAAG,GAAG,EAAE;IACrB,OAAO,UAAU,CAAC,MAAM,CAAC;QACvB,OAAO,EAAE;YACP,UAAU,EAAE,EAAE;SACf;QACD,GAAG,EAAE;YACH,iBAAiB,EAAE,CAAC;SACrB;KACF,CAAC,CAAA;AACJ,CAAC,CAAA","sourcesContent":["import { StaticScreenProps, useNavigation } from '@react-navigation/native'\nimport React from 'react'\nimport { StyleSheet } from 'react-native'\nimport { PressableRow } from '../components'\nimport FormSheet, { getFormSheetScreenOptions } from '../components/primitive/form_sheet'\nimport { useTheme } from '../hooks'\nimport { useGroup, useGroupMembershipUpdate } from './notification_settings/hooks/groups'\n\nexport const GroupNotificationLevelSelectScreenOptions = getFormSheetScreenOptions({\n headerTitle: 'Notification level',\n sheetAllowedDetents: [0.35],\n})\n\nexport type GroupNotificationLevelSelectScreenProps = StaticScreenProps<{\n groupId: number | string\n}>\n\nexport function GroupNotificationLevelSelectScreen({\n route,\n}: GroupNotificationLevelSelectScreenProps) {\n const { groupId } = route.params\n const navigation = useNavigation()\n const styles = useStyles()\n const { colors } = useTheme()\n const { data: group } = useGroup({ groupId })\n const { mutate: updateNotificationLevel } = useGroupMembershipUpdate({ groupId })\n\n const notificationLevelOptions = group.myGroupMembership?.notificationLevelOptions ?? []\n\n const handleSelect = (value: string, isActive: boolean) => {\n if (!isActive) {\n updateNotificationLevel({ notificationLevel: value })\n }\n navigation.goBack()\n }\n\n return (\n <FormSheet.Root contentStyle={styles.content}>\n {notificationLevelOptions.map(option => (\n <PressableRow\n key={option.value}\n text={option.description}\n isActive={option.enabled}\n onPress={() => handleSelect(option.value, option.enabled)}\n iconColor={colors.statusSuccessIcon}\n style={styles.row}\n />\n ))}\n </FormSheet.Root>\n )\n}\n\nconst useStyles = () => {\n return StyleSheet.create({\n content: {\n paddingTop: 20,\n },\n row: {\n borderBottomWidth: 0,\n },\n })\n}\n"]}
1
+ {"version":3,"file":"group_notification_level_select_screen.js","sourceRoot":"","sources":["../../src/screens/group_notification_level_select_screen.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAqB,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAE3E,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,SAAS,EAAE,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAA;AACzF,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AACnC,OAAO,EAAE,QAAQ,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAA;AAEzF,MAAM,CAAC,MAAM,yCAAyC,GAAG,yBAAyB,CAAC;IACjF,WAAW,EAAE,oBAAoB;IACjC,mBAAmB,EAAE,CAAC,IAAI,CAAC;CAC5B,CAAC,CAAA;AAMF,MAAM,UAAU,kCAAkC,CAAC,EACjD,KAAK,GACmC;IACxC,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,MAAM,CAAA;IAChC,MAAM,UAAU,GAAG,aAAa,EAAE,CAAA;IAClC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAC1B,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAA;IAC7B,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;IAC7C,MAAM,EAAE,MAAM,EAAE,uBAAuB,EAAE,GAAG,wBAAwB,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;IAEjF,MAAM,wBAAwB,GAAG,KAAK,CAAC,iBAAiB,EAAE,wBAAwB,IAAI,EAAE,CAAA;IAExF,MAAM,YAAY,GAAG,CAAC,KAAa,EAAE,QAAiB,EAAE,EAAE;QACxD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,uBAAuB,CAAC,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAAC,CAAA;QACvD,CAAC;QACD,UAAU,CAAC,MAAM,EAAE,CAAA;IACrB,CAAC,CAAA;IAED,OAAO,CACL,KAAC,SAAS,CAAC,IAAI,IAAC,YAAY,EAAE,MAAM,CAAC,OAAO,YACzC,wBAAwB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CACtC,KAAC,YAAY,IAEX,IAAI,EAAE,MAAM,CAAC,WAAW,EACxB,QAAQ,EAAE,MAAM,CAAC,OAAO,EACxB,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,EACzD,SAAS,EAAE,MAAM,CAAC,iBAAiB,EACnC,KAAK,EAAE,MAAM,CAAC,GAAG,IALZ,MAAM,CAAC,KAAK,CAMjB,CACH,CAAC,GACa,CAClB,CAAA;AACH,CAAC;AAED,MAAM,SAAS,GAAG,GAAG,EAAE;IACrB,OAAO,UAAU,CAAC,MAAM,CAAC;QACvB,OAAO,EAAE;YACP,UAAU,EAAE,EAAE;SACf;QACD,GAAG,EAAE;YACH,iBAAiB,EAAE,CAAC;SACrB;KACF,CAAC,CAAA;AACJ,CAAC,CAAA","sourcesContent":["import { StaticScreenProps, useNavigation } from '@react-navigation/native'\nimport React from 'react'\nimport { StyleSheet } from 'react-native'\nimport { PressableRow } from '../components'\nimport FormSheet, { getFormSheetScreenOptions } from '../components/primitive/form_sheet'\nimport { useTheme } from '../hooks'\nimport { useGroup, useGroupMembershipUpdate } from './notification_settings/hooks/groups'\n\nexport const GroupNotificationLevelSelectScreenOptions = getFormSheetScreenOptions({\n headerTitle: 'Notification level',\n sheetAllowedDetents: [0.35],\n})\n\nexport type GroupNotificationLevelSelectScreenProps = StaticScreenProps<{\n groupId: number | string\n}>\n\nexport function GroupNotificationLevelSelectScreen({\n route,\n}: GroupNotificationLevelSelectScreenProps) {\n const { groupId } = route.params\n const navigation = useNavigation()\n const styles = useStyles()\n const { colors } = useTheme()\n const { data: group } = useGroup({ groupId })\n const { mutate: updateNotificationLevel } = useGroupMembershipUpdate({ groupId })\n\n const notificationLevelOptions = group.myGroupMembership?.notificationLevelOptions ?? []\n\n const handleSelect = (value: string, isActive: boolean) => {\n if (!isActive) {\n updateNotificationLevel({ notificationLevel: value })\n }\n navigation.goBack()\n }\n\n return (\n <FormSheet.Root contentStyle={styles.content}>\n {notificationLevelOptions.map(option => (\n <PressableRow\n key={option.value}\n text={option.description}\n isActive={option.enabled}\n onPress={() => handleSelect(option.value, option.enabled)}\n iconColor={colors.statusSuccessIcon}\n style={styles.row}\n />\n ))}\n </FormSheet.Root>\n )\n}\n\nconst useStyles = () => {\n return StyleSheet.create({\n content: {\n paddingTop: 20,\n },\n row: {\n borderBottomWidth: 0,\n },\n })\n}\n"]}
@@ -1,8 +1,7 @@
1
1
  import { StaticScreenProps } from '@react-navigation/native';
2
- import React from 'react';
3
2
  export type GroupNotificationSettingsScreenProps = StaticScreenProps<{
4
3
  groupId: number | string;
5
4
  title: string;
6
5
  }>;
7
- export declare function GroupNotificationSettingsScreen({ route }: GroupNotificationSettingsScreenProps): React.JSX.Element;
6
+ export declare function GroupNotificationSettingsScreen({ route }: GroupNotificationSettingsScreenProps): import("react/jsx-runtime").JSX.Element;
8
7
  //# sourceMappingURL=group_notification_settings_screen.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"group_notification_settings_screen.d.ts","sourceRoot":"","sources":["../../src/screens/group_notification_settings_screen.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAiB,MAAM,0BAA0B,CAAA;AAE3E,OAAO,KAAoB,MAAM,OAAO,CAAA;AAYxC,MAAM,MAAM,oCAAoC,GAAG,iBAAiB,CAAC;IACnE,OAAO,EAAE,MAAM,GAAG,MAAM,CAAA;IACxB,KAAK,EAAE,MAAM,CAAA;CACd,CAAC,CAAA;AAEF,wBAAgB,+BAA+B,CAAC,EAAE,KAAK,EAAE,EAAE,oCAAoC,qBA4D9F"}
1
+ {"version":3,"file":"group_notification_settings_screen.d.ts","sourceRoot":"","sources":["../../src/screens/group_notification_settings_screen.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAiB,MAAM,0BAA0B,CAAA;AAc3E,MAAM,MAAM,oCAAoC,GAAG,iBAAiB,CAAC;IACnE,OAAO,EAAE,MAAM,GAAG,MAAM,CAAA;IACxB,KAAK,EAAE,MAAM,CAAA;CACd,CAAC,CAAA;AAEF,wBAAgB,+BAA+B,CAAC,EAAE,KAAK,EAAE,EAAE,oCAAoC,2CA4D9F"}
@@ -1,6 +1,7 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
2
  import { PlatformPressable } from '@react-navigation/elements';
2
3
  import { useNavigation } from '@react-navigation/native';
3
- import React, { useEffect } from 'react';
4
+ import { useEffect } from 'react';
4
5
  import { Platform, StyleSheet, View } from 'react-native';
5
6
  import { Heading, Icon, Text } from '../components';
6
7
  import { useTheme } from '../hooks';
@@ -20,30 +21,7 @@ export function GroupNotificationSettingsScreen({ route }) {
20
21
  const handleOpenSelector = () => {
21
22
  navigation.navigate('GroupNotificationLevelSelect', { groupId });
22
23
  };
23
- return (<View style={styles.container}>
24
- <View style={styles.sectionOuter}>
25
- <View style={styles.sectionInner}>
26
- <Heading variant="h2" style={styles.sectionHeading}>
27
- Group notification settings
28
- </Heading>
29
- <Text variant="tertiary" style={styles.sectionSubtitle}>
30
- The settings are applied to all conversations in{' '}
31
- <Text variant="tertiary" style={styles.groupNameBold}>
32
- {group.name || title}
33
- </Text>
34
- </Text>
35
- </View>
36
- </View>
37
- <PlatformPressable style={styles.settingRowPressable} onPress={handleOpenSelector} accessibilityRole="button" accessibilityLabel="Notify me for" accessibilityHint={`Currently set to ${notificationLevelDescription}. Tap to change.`}>
38
- <View style={styles.settingRowInner}>
39
- <View style={styles.settingRowText}>
40
- <Text>Notify me for</Text>
41
- {Boolean(notificationLevelDescription) && (<Text variant="tertiary">{notificationLevelDescription}</Text>)}
42
- </View>
43
- {Platform.OS === 'ios' && (<Icon name="general.rightChevron" size={16} style={styles.chevron} accessibilityElementsHidden/>)}
44
- </View>
45
- </PlatformPressable>
46
- </View>);
24
+ return (_jsxs(View, { style: styles.container, children: [_jsx(View, { style: styles.sectionOuter, children: _jsxs(View, { style: styles.sectionInner, children: [_jsx(Heading, { variant: "h2", style: styles.sectionHeading, children: "Group notification settings" }), _jsxs(Text, { variant: "tertiary", style: styles.sectionSubtitle, children: ["The settings are applied to all conversations in", ' ', _jsx(Text, { variant: "tertiary", style: styles.groupNameBold, children: group.name || title })] })] }) }), _jsx(PlatformPressable, { style: styles.settingRowPressable, onPress: handleOpenSelector, accessibilityRole: "button", accessibilityLabel: "Notify me for", accessibilityHint: `Currently set to ${notificationLevelDescription}. Tap to change.`, children: _jsxs(View, { style: styles.settingRowInner, children: [_jsxs(View, { style: styles.settingRowText, children: [_jsx(Text, { children: "Notify me for" }), Boolean(notificationLevelDescription) && (_jsx(Text, { variant: "tertiary", children: notificationLevelDescription }))] }), Platform.OS === 'ios' && (_jsx(Icon, { name: "general.rightChevron", size: 16, style: styles.chevron, accessibilityElementsHidden: true }))] }) })] }));
47
25
  }
48
26
  const useStyles = () => {
49
27
  const { colors } = useTheme();
@@ -1 +1 @@
1
- {"version":3,"file":"group_notification_settings_screen.js","sourceRoot":"","sources":["../../src/screens/group_notification_settings_screen.tsx"],"names":[],"mappings":"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","sourcesContent":["import { PlatformPressable } from '@react-navigation/elements'\nimport { StaticScreenProps, useNavigation } from '@react-navigation/native'\nimport type { NativeStackNavigationProp } from '@react-navigation/native-stack'\nimport React, { useEffect } from 'react'\nimport { Platform, StyleSheet, View } from 'react-native'\nimport { Heading, Icon, Text } from '../components'\nimport { useTheme } from '../hooks'\nimport { platformFontWeightBold } from '../utils/styles'\nimport type { GroupNotificationLevelSelectScreenProps } from './group_notification_level_select_screen'\nimport { useGroup } from './notification_settings/hooks/groups'\n\ntype GroupNotificationSettingsStackParamList = {\n GroupNotificationLevelSelect: GroupNotificationLevelSelectScreenProps['route']['params']\n}\n\nexport type GroupNotificationSettingsScreenProps = StaticScreenProps<{\n groupId: number | string\n title: string\n}>\n\nexport function GroupNotificationSettingsScreen({ route }: GroupNotificationSettingsScreenProps) {\n const { groupId, title } = route.params\n const navigation =\n useNavigation<NativeStackNavigationProp<GroupNotificationSettingsStackParamList>>()\n const styles = useStyles()\n const { data: group } = useGroup({ groupId })\n\n const notificationLevelDescription = group.myGroupMembership?.notificationLevelDescription\n\n useEffect(() => {\n if (!group.name || title === group.name) return\n\n navigation.setOptions({ title: group.name })\n }, [group.name, title, navigation])\n\n const handleOpenSelector = () => {\n navigation.navigate('GroupNotificationLevelSelect', { groupId })\n }\n\n return (\n <View style={styles.container}>\n <View style={styles.sectionOuter}>\n <View style={styles.sectionInner}>\n <Heading variant=\"h2\" style={styles.sectionHeading}>\n Group notification settings\n </Heading>\n <Text variant=\"tertiary\" style={styles.sectionSubtitle}>\n The settings are applied to all conversations in{' '}\n <Text variant=\"tertiary\" style={styles.groupNameBold}>\n {group.name || title}\n </Text>\n </Text>\n </View>\n </View>\n <PlatformPressable\n style={styles.settingRowPressable}\n onPress={handleOpenSelector}\n accessibilityRole=\"button\"\n accessibilityLabel=\"Notify me for\"\n accessibilityHint={`Currently set to ${notificationLevelDescription}. Tap to change.`}\n >\n <View style={styles.settingRowInner}>\n <View style={styles.settingRowText}>\n <Text>Notify me for</Text>\n {Boolean(notificationLevelDescription) && (\n <Text variant=\"tertiary\">{notificationLevelDescription}</Text>\n )}\n </View>\n {Platform.OS === 'ios' && (\n <Icon\n name=\"general.rightChevron\"\n size={16}\n style={styles.chevron}\n accessibilityElementsHidden\n />\n )}\n </View>\n </PlatformPressable>\n </View>\n )\n}\n\nconst useStyles = () => {\n const { colors } = useTheme()\n\n return StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: colors.surfaceColor100,\n },\n sectionOuter: {\n paddingLeft: 16,\n backgroundColor: colors.surfaceColor100,\n },\n sectionInner: {\n paddingRight: 16,\n paddingTop: 24,\n paddingBottom: 12,\n borderBottomWidth: 1,\n borderBottomColor: colors.borderColorDefaultBase,\n },\n sectionHeading: {\n paddingBottom: 12,\n },\n sectionSubtitle: {\n color: colors.textColorDefaultSecondary,\n paddingBottom: 2,\n },\n groupNameBold: {\n fontWeight: platformFontWeightBold,\n },\n settingRowPressable: {\n paddingLeft: 16,\n },\n settingRowInner: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n paddingRight: 16,\n paddingVertical: 12,\n },\n settingRowText: {\n flex: 1,\n gap: 2,\n },\n chevron: {\n color: colors.iconColorDefaultDisabled,\n },\n })\n}\n"]}
1
+ {"version":3,"file":"group_notification_settings_screen.js","sourceRoot":"","sources":["../../src/screens/group_notification_settings_screen.tsx"],"names":[],"mappings":"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","sourcesContent":["import { PlatformPressable } from '@react-navigation/elements'\nimport { StaticScreenProps, useNavigation } from '@react-navigation/native'\nimport type { NativeStackNavigationProp } from '@react-navigation/native-stack'\nimport React, { useEffect } from 'react'\nimport { Platform, StyleSheet, View } from 'react-native'\nimport { Heading, Icon, Text } from '../components'\nimport { useTheme } from '../hooks'\nimport { platformFontWeightBold } from '../utils/styles'\nimport type { GroupNotificationLevelSelectScreenProps } from './group_notification_level_select_screen'\nimport { useGroup } from './notification_settings/hooks/groups'\n\ntype GroupNotificationSettingsStackParamList = {\n GroupNotificationLevelSelect: GroupNotificationLevelSelectScreenProps['route']['params']\n}\n\nexport type GroupNotificationSettingsScreenProps = StaticScreenProps<{\n groupId: number | string\n title: string\n}>\n\nexport function GroupNotificationSettingsScreen({ route }: GroupNotificationSettingsScreenProps) {\n const { groupId, title } = route.params\n const navigation =\n useNavigation<NativeStackNavigationProp<GroupNotificationSettingsStackParamList>>()\n const styles = useStyles()\n const { data: group } = useGroup({ groupId })\n\n const notificationLevelDescription = group.myGroupMembership?.notificationLevelDescription\n\n useEffect(() => {\n if (!group.name || title === group.name) return\n\n navigation.setOptions({ title: group.name })\n }, [group.name, title, navigation])\n\n const handleOpenSelector = () => {\n navigation.navigate('GroupNotificationLevelSelect', { groupId })\n }\n\n return (\n <View style={styles.container}>\n <View style={styles.sectionOuter}>\n <View style={styles.sectionInner}>\n <Heading variant=\"h2\" style={styles.sectionHeading}>\n Group notification settings\n </Heading>\n <Text variant=\"tertiary\" style={styles.sectionSubtitle}>\n The settings are applied to all conversations in{' '}\n <Text variant=\"tertiary\" style={styles.groupNameBold}>\n {group.name || title}\n </Text>\n </Text>\n </View>\n </View>\n <PlatformPressable\n style={styles.settingRowPressable}\n onPress={handleOpenSelector}\n accessibilityRole=\"button\"\n accessibilityLabel=\"Notify me for\"\n accessibilityHint={`Currently set to ${notificationLevelDescription}. Tap to change.`}\n >\n <View style={styles.settingRowInner}>\n <View style={styles.settingRowText}>\n <Text>Notify me for</Text>\n {Boolean(notificationLevelDescription) && (\n <Text variant=\"tertiary\">{notificationLevelDescription}</Text>\n )}\n </View>\n {Platform.OS === 'ios' && (\n <Icon\n name=\"general.rightChevron\"\n size={16}\n style={styles.chevron}\n accessibilityElementsHidden\n />\n )}\n </View>\n </PlatformPressable>\n </View>\n )\n}\n\nconst useStyles = () => {\n const { colors } = useTheme()\n\n return StyleSheet.create({\n container: {\n flex: 1,\n backgroundColor: colors.surfaceColor100,\n },\n sectionOuter: {\n paddingLeft: 16,\n backgroundColor: colors.surfaceColor100,\n },\n sectionInner: {\n paddingRight: 16,\n paddingTop: 24,\n paddingBottom: 12,\n borderBottomWidth: 1,\n borderBottomColor: colors.borderColorDefaultBase,\n },\n sectionHeading: {\n paddingBottom: 12,\n },\n sectionSubtitle: {\n color: colors.textColorDefaultSecondary,\n paddingBottom: 2,\n },\n groupNameBold: {\n fontWeight: platformFontWeightBold,\n },\n settingRowPressable: {\n paddingLeft: 16,\n },\n settingRowInner: {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n paddingRight: 16,\n paddingVertical: 12,\n },\n settingRowText: {\n flex: 1,\n gap: 2,\n },\n chevron: {\n color: colors.iconColorDefaultDisabled,\n },\n })\n}\n"]}
@@ -1,5 +1,4 @@
1
1
  import { StaticScreenProps } from '@react-navigation/native';
2
- import React from 'react';
3
2
  export declare const MessageActionsScreenOptions: import("@react-navigation/native-stack").NativeStackNavigationOptions;
4
3
  export type MessageActionsScreenProps = StaticScreenProps<{
5
4
  message_id: string;
@@ -9,5 +8,5 @@ export type MessageActionsScreenProps = StaticScreenProps<{
9
8
  inReplyScreen?: boolean;
10
9
  isSystemMessage?: boolean;
11
10
  }>;
12
- export declare function MessageActionsScreen({ route }: MessageActionsScreenProps): React.JSX.Element | null;
11
+ export declare function MessageActionsScreen({ route }: MessageActionsScreenProps): import("react/jsx-runtime").JSX.Element | null;
13
12
  //# sourceMappingURL=message_actions_screen.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"message_actions_screen.d.ts","sourceRoot":"","sources":["../../src/screens/message_actions_screen.tsx"],"names":[],"mappings":"AACA,OAAO,EAAgB,iBAAiB,EAAiB,MAAM,0BAA0B,CAAA;AAGzF,OAAO,KAAsB,MAAM,OAAO,CAAA;AAe1C,eAAO,MAAM,2BAA2B,uEAGtC,CAAA;AAEF,MAAM,MAAM,yBAAyB,GAAG,iBAAiB,CAAC;IACxD,UAAU,EAAE,MAAM,CAAA;IAClB,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAC/B,eAAe,EAAE,MAAM,CAAA;IACvB,4BAA4B,CAAC,EAAE,OAAO,CAAA;IACtC,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B,CAAC,CAAA;AAEF,wBAAgB,oBAAoB,CAAC,EAAE,KAAK,EAAE,EAAE,yBAAyB,4BA6BxE"}
1
+ {"version":3,"file":"message_actions_screen.d.ts","sourceRoot":"","sources":["../../src/screens/message_actions_screen.tsx"],"names":[],"mappings":"AACA,OAAO,EAAgB,iBAAiB,EAAiB,MAAM,0BAA0B,CAAA;AAkBzF,eAAO,MAAM,2BAA2B,uEAGtC,CAAA;AAEF,MAAM,MAAM,yBAAyB,GAAG,iBAAiB,CAAC;IACxD,UAAU,EAAE,MAAM,CAAA;IAClB,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAC/B,eAAe,EAAE,MAAM,CAAA;IACvB,4BAA4B,CAAC,EAAE,OAAO,CAAA;IACtC,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B,CAAC,CAAA;AAEF,wBAAgB,oBAAoB,CAAC,EAAE,KAAK,EAAE,EAAE,yBAAyB,kDA6BxE"}
@@ -1,8 +1,9 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
2
  import { PlatformPressable } from '@react-navigation/elements';
2
3
  import { StackActions, useNavigation } from '@react-navigation/native';
3
4
  import { useMutation } from '@tanstack/react-query';
4
5
  import { isNil, omitBy } from 'lodash';
5
- import React, { useCallback } from 'react';
6
+ import { useCallback } from 'react';
6
7
  import { Alert, Platform, StyleSheet, View } from 'react-native';
7
8
  import { Text } from '../components';
8
9
  import { useReactionStyles } from '../components/conversation/message_reaction';
@@ -24,7 +25,7 @@ export function MessageActionsScreen({ route }) {
24
25
  const message = messages.find(m => m.id === message_id);
25
26
  if (!message)
26
27
  return null;
27
- return (<MessageActionsScreenContent message={message} conversation_id={conversation_id} canDeleteNonAuthoredMessages={canDeleteNonAuthoredMessages || false} refetchMessages={refetch} inReplyScreen={inReplyScreen} replyRootAuthorName={reply_root_author_name} isSystemMessage={isSystemMessage}/>);
28
+ return (_jsx(MessageActionsScreenContent, { message: message, conversation_id: conversation_id, canDeleteNonAuthoredMessages: canDeleteNonAuthoredMessages || false, refetchMessages: refetch, inReplyScreen: inReplyScreen, replyRootAuthorName: reply_root_author_name, isSystemMessage: isSystemMessage }));
28
29
  }
29
30
  function MessageActionsScreenContent({ message, conversation_id, canDeleteNonAuthoredMessages, refetchMessages, inReplyScreen, replyRootAuthorName, isSystemMessage, }) {
30
31
  const navigation = useNavigation();
@@ -147,27 +148,14 @@ function MessageActionsScreenContent({ message, conversation_id, canDeleteNonAut
147
148
  ]);
148
149
  }, [handleRemoveLinkPreview]);
149
150
  const showReportMessageAction = !message?.mine && featureEnabled(availableFeatures.message_reporting);
150
- return (<FormSheet.Root style={styles.formSheetContent}>
151
- <View style={styles.reactionList}>
152
- {availableReactions.map((reaction, index) => (<Reaction key={index} reaction={reaction} onPress={() => {
153
- Haptic.impactLight();
154
- handleReactionToggle({
155
- value: reaction.value,
156
- mine: reaction.mine,
157
- });
158
- navigation.goBack();
159
- }}/>))}
160
- </View>
161
- {!isSystemMessage && (<View style={styles.actions}>
162
- {!inReplyScreen && (<FormSheet.Action onPress={handleReplyPress} title="Reply to message" iconName="registrations.undo" accessibilityHint="Navigates to the reply screen" accessibilityRole="link"/>)}
163
- <FormSheet.Action onPress={handleCopyPress} title="Copy text" iconName="services.fileCopy" accessibilityHint="Copies text and links to clipboard"/>
164
- {showReportMessageAction && (<FormSheet.Action onPress={handleReportPress} title="Report message" iconName="chat.reportMessageO" accessibilityHint="Opens a form to report this message"/>)}
165
- {message?.mine && (<FormSheet.Action onPress={() => handleEditPress()} title="Edit message" iconName="accounts.editor" accessibilityHint="Opens existing text in the message form input."/>)}
166
- {message?.mine && (<FormSheet.Action onPress={() => handleViewReadReceiptsPress()} title="View read receipts" iconName="general.checkPerson" accessibilityHint="Opens a modal with a list of people who read your message."/>)}
167
- {message?.mine && hasExpandedLink && (<FormSheet.Action onPress={() => handleRemoveLinkPreviewConfirm()} title="Remove link preview" iconName="general.brokenLink" accessibilityHint="Removes an expanded link preview from the message."/>)}
168
- {(message?.mine || canDeleteNonAuthoredMessages) && (<FormSheet.Action onPress={() => handleDeleteConfirm()} title="Delete message" iconName="publishing.trash" appearance="danger" disabled={isPending} accessibilityHint="Opens a confirmation alert to delete this message permanently."/>)}
169
- </View>)}
170
- </FormSheet.Root>);
151
+ return (_jsxs(FormSheet.Root, { style: styles.formSheetContent, children: [_jsx(View, { style: styles.reactionList, children: availableReactions.map((reaction, index) => (_jsx(Reaction, { reaction: reaction, onPress: () => {
152
+ Haptic.impactLight();
153
+ handleReactionToggle({
154
+ value: reaction.value,
155
+ mine: reaction.mine,
156
+ });
157
+ navigation.goBack();
158
+ } }, index))) }), !isSystemMessage && (_jsxs(View, { style: styles.actions, children: [!inReplyScreen && (_jsx(FormSheet.Action, { onPress: handleReplyPress, title: "Reply to message", iconName: "registrations.undo", accessibilityHint: "Navigates to the reply screen", accessibilityRole: "link" })), _jsx(FormSheet.Action, { onPress: handleCopyPress, title: "Copy text", iconName: "services.fileCopy", accessibilityHint: "Copies text and links to clipboard" }), showReportMessageAction && (_jsx(FormSheet.Action, { onPress: handleReportPress, title: "Report message", iconName: "chat.reportMessageO", accessibilityHint: "Opens a form to report this message" })), message?.mine && (_jsx(FormSheet.Action, { onPress: () => handleEditPress(), title: "Edit message", iconName: "accounts.editor", accessibilityHint: "Opens existing text in the message form input." })), message?.mine && (_jsx(FormSheet.Action, { onPress: () => handleViewReadReceiptsPress(), title: "View read receipts", iconName: "general.checkPerson", accessibilityHint: "Opens a modal with a list of people who read your message." })), message?.mine && hasExpandedLink && (_jsx(FormSheet.Action, { onPress: () => handleRemoveLinkPreviewConfirm(), title: "Remove link preview", iconName: "general.brokenLink", accessibilityHint: "Removes an expanded link preview from the message." })), (message?.mine || canDeleteNonAuthoredMessages) && (_jsx(FormSheet.Action, { onPress: () => handleDeleteConfirm(), title: "Delete message", iconName: "publishing.trash", appearance: "danger", disabled: isPending, accessibilityHint: "Opens a confirmation alert to delete this message permanently." }))] }))] }));
171
159
  }
172
160
  const Reaction = ({ reaction, onPress, }) => {
173
161
  const styles = useStyles();
@@ -175,11 +163,7 @@ const Reaction = ({ reaction, onPress, }) => {
175
163
  const { colors } = useTheme();
176
164
  const baseRippleColor = reaction.mine ? colors.interaction : colors.fillColorNeutral060;
177
165
  const androidRippleColor = useCreateAndroidRippleColor({ color: baseRippleColor });
178
- return (<PlatformPressable key={reaction.value} style={[reactionStyles.reaction, styles.reaction]} android_ripple={{ color: androidRippleColor, borderless: false, foreground: true }} onPress={onPress}>
179
- <Text style={styles.reactionEmoji} allowFontScaling={false}>
180
- {REACTION_EMOJIS[reaction.value]}
181
- </Text>
182
- </PlatformPressable>);
166
+ return (_jsx(PlatformPressable, { style: [reactionStyles.reaction, styles.reaction], android_ripple: { color: androidRippleColor, borderless: false, foreground: true }, onPress: onPress, children: _jsx(Text, { style: styles.reactionEmoji, allowFontScaling: false, children: REACTION_EMOJIS[reaction.value] }) }, reaction.value));
183
167
  };
184
168
  const useStyles = () => {
185
169
  const { colors } = useTheme();
@@ -1 +1 @@
1
- {"version":3,"file":"message_actions_screen.js","sourceRoot":"","sources":["../../src/screens/message_actions_screen.tsx"],"names":[],"mappings":"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","sourcesContent":["import { PlatformPressable } from '@react-navigation/elements'\nimport { StackActions, StaticScreenProps, useNavigation } from '@react-navigation/native'\nimport { useMutation } from '@tanstack/react-query'\nimport { isNil, omitBy } from 'lodash'\nimport React, { useCallback } from 'react'\nimport { Alert, Platform, StyleSheet, View } from 'react-native'\nimport { Text } from '../components'\nimport { useReactionStyles } from '../components/conversation/message_reaction'\nimport FormSheet, { getFormSheetScreenOptions } from '../components/primitive/form_sheet'\nimport { useCreateAndroidRippleColor, useFontScale, useTheme } from '../hooks'\nimport { useApiClient } from '../hooks/use_api_client'\nimport { useConversationMessages } from '../hooks/use_conversation_messages'\nimport { availableFeatures, useFeatures } from '../hooks/use_features'\nimport { useMessageReactionToggle } from '../hooks/use_message_reaction_toggle'\nimport { MessageResource } from '../types'\nimport { ReactionCountResource } from '../types/resources/reaction'\nimport { REACTION_EMOJIS } from '../utils'\nimport { Clipboard, Haptic } from '../utils/native_adapters'\n\nexport const MessageActionsScreenOptions = getFormSheetScreenOptions({\n sheetAllowedDetents: [0.5],\n headerTitle: 'Message actions',\n})\n\nexport type MessageActionsScreenProps = StaticScreenProps<{\n message_id: string\n reply_root_author_name?: string\n conversation_id: number\n canDeleteNonAuthoredMessages?: boolean\n inReplyScreen?: boolean\n isSystemMessage?: boolean\n}>\n\nexport function MessageActionsScreen({ route }: MessageActionsScreenProps) {\n const {\n conversation_id,\n message_id,\n canDeleteNonAuthoredMessages,\n inReplyScreen,\n reply_root_author_name,\n isSystemMessage,\n } = route.params\n\n const { messages, refetch } = useConversationMessages(\n { conversation_id },\n { refetchOnMount: false }\n )\n const message = messages.find(m => m.id === message_id)\n\n if (!message) return null\n\n return (\n <MessageActionsScreenContent\n message={message}\n conversation_id={conversation_id}\n canDeleteNonAuthoredMessages={canDeleteNonAuthoredMessages || false}\n refetchMessages={refetch}\n inReplyScreen={inReplyScreen}\n replyRootAuthorName={reply_root_author_name}\n isSystemMessage={isSystemMessage}\n />\n )\n}\n\nfunction MessageActionsScreenContent({\n message,\n conversation_id,\n canDeleteNonAuthoredMessages,\n refetchMessages,\n inReplyScreen,\n replyRootAuthorName,\n isSystemMessage,\n}: {\n message: MessageResource\n conversation_id: number\n canDeleteNonAuthoredMessages: boolean\n refetchMessages: () => void\n inReplyScreen?: boolean\n replyRootAuthorName?: string\n isSystemMessage?: boolean\n}) {\n const navigation = useNavigation()\n const apiClient = useApiClient()\n const styles = useStyles()\n const { featureEnabled } = useFeatures()\n const expandedLink = message.attachments.find(attachment => attachment.type === 'ExpandedLink')\n const hasExpandedLink = !!expandedLink\n\n const myReactions = message?.reactionCounts\n .filter(reaction => reaction.mine)\n .map(reaction => reaction.value)\n\n const availableReactions = Object.entries(REACTION_EMOJIS).map(([value, emoji]) => {\n return {\n value: value as ReactionCountResource['value'],\n emoji,\n mine: myReactions?.includes(value as ReactionCountResource['value']),\n }\n })\n\n const attachmentForCopy = (): string => {\n const giphyTitleLink = message?.attachments.find(\n attachment => attachment.type === 'giphy'\n )?.titleLink\n\n if (giphyTitleLink) return giphyTitleLink\n return ''\n }\n\n const handleReplyPress = useCallback(() => {\n navigation.goBack()\n // Waits for the modal to be dismissed before pushing the reply screen\n requestAnimationFrame(() => {\n navigation.navigate('ConversationReply', {\n conversation_id,\n reply_root_id: message.replyRootId || message.id,\n reply_root_author_name: replyRootAuthorName,\n })\n })\n }, [navigation, conversation_id, message.id, message.replyRootId, replyRootAuthorName])\n\n const handleCopyPress = () => {\n Clipboard.setStringAsync(message?.text || attachmentForCopy() || '')\n navigation.goBack()\n }\n\n const handleReportPress = useCallback(() => {\n Haptic.impactLight()\n navigation.navigate('MessageReport', {\n conversation_id,\n message_id: message.id,\n })\n }, [navigation, conversation_id, message.id])\n\n const { handleReactionToggle, isPending } = useMessageReactionToggle({\n conversation_id,\n message,\n })\n\n const deleteMessage = useCallback(() => {\n const url = `/me/conversations/${conversation_id}/messages/${message.id}/`\n\n return apiClient.chat.delete({ url })\n }, [apiClient, conversation_id, message.id])\n\n const { mutate: handleDeleteMessage } = useMutation({\n mutationFn: deleteMessage,\n mutationKey: ['deleteMessage', message.id],\n onSuccess: () => {\n refetchMessages()\n Haptic.notificationSuccess()\n },\n onError: () => {\n Alert.alert('Oops', 'We were unable to delete this message. Please try again.')\n },\n })\n\n const handleDeleteConfirm = useCallback(() => {\n Alert.alert('Delete message', 'Are you sure you want to permanently delete this message?', [\n { text: 'Cancel', style: 'cancel' },\n {\n text: 'Delete',\n style: 'destructive',\n onPress: () => {\n handleDeleteMessage()\n navigation.goBack()\n },\n },\n ])\n }, [handleDeleteMessage, navigation])\n\n const handleEditPress = useCallback(() => {\n const state = navigation.getState?.()\n const targetRouteName = inReplyScreen ? 'ConversationReply' : 'Conversation'\n const targetRoute = state?.routes?.find(r => r.name === targetRouteName)\n const params = omitBy(\n {\n ...(targetRoute?.params || {}),\n conversation_id,\n editing_message_id: message.id,\n },\n isNil\n )\n navigation.dispatch(StackActions.popTo(targetRouteName, params))\n }, [navigation, conversation_id, message.id, inReplyScreen])\n\n const handleViewReadReceiptsPress = useCallback(() => {\n Haptic.impactLight()\n const params = omitBy(\n {\n conversation_id,\n message_id: message.id,\n },\n isNil\n )\n navigation.dispatch(StackActions.popTo('MessageReadReceipts', params))\n }, [navigation, conversation_id, message.id])\n\n const removeLinkPreview = useCallback(() => {\n const url = `/me/conversations/${conversation_id}/messages/${message.id}/remove_expanded_link`\n const data = {\n data: { type: 'ExpandedLink', attributes: { expanded_link_id: expandedLink?.id } },\n }\n\n return apiClient.chat.post({ url, data })\n }, [apiClient, conversation_id, message.id, expandedLink])\n\n const { mutate: handleRemoveLinkPreview } = useMutation({\n mutationFn: removeLinkPreview,\n onSuccess: () => {\n refetchMessages()\n Haptic.notificationSuccess()\n navigation.goBack()\n },\n onError: () => {\n Alert.alert('Oops', 'We were unable to remove the preview. Please try again.')\n },\n })\n\n const handleRemoveLinkPreviewConfirm = useCallback(() => {\n Alert.alert('Remove link preview?', 'This will remove the image preview but retain the link', [\n { text: 'Cancel', style: 'cancel' },\n { text: 'Remove', style: 'destructive', onPress: () => handleRemoveLinkPreview() },\n ])\n }, [handleRemoveLinkPreview])\n\n const showReportMessageAction =\n !message?.mine && featureEnabled(availableFeatures.message_reporting)\n\n return (\n <FormSheet.Root style={styles.formSheetContent}>\n <View style={styles.reactionList}>\n {availableReactions.map((reaction, index) => (\n <Reaction\n key={index}\n reaction={reaction}\n onPress={() => {\n Haptic.impactLight()\n handleReactionToggle({\n value: reaction.value,\n mine: reaction.mine,\n })\n navigation.goBack()\n }}\n />\n ))}\n </View>\n {!isSystemMessage && (\n <View style={styles.actions}>\n {!inReplyScreen && (\n <FormSheet.Action\n onPress={handleReplyPress}\n title=\"Reply to message\"\n iconName=\"registrations.undo\"\n accessibilityHint=\"Navigates to the reply screen\"\n accessibilityRole=\"link\"\n />\n )}\n <FormSheet.Action\n onPress={handleCopyPress}\n title=\"Copy text\"\n iconName=\"services.fileCopy\"\n accessibilityHint=\"Copies text and links to clipboard\"\n />\n {showReportMessageAction && (\n <FormSheet.Action\n onPress={handleReportPress}\n title=\"Report message\"\n iconName=\"chat.reportMessageO\"\n accessibilityHint=\"Opens a form to report this message\"\n />\n )}\n {message?.mine && (\n <FormSheet.Action\n onPress={() => handleEditPress()}\n title=\"Edit message\"\n iconName=\"accounts.editor\"\n accessibilityHint=\"Opens existing text in the message form input.\"\n />\n )}\n {message?.mine && (\n <FormSheet.Action\n onPress={() => handleViewReadReceiptsPress()}\n title=\"View read receipts\"\n iconName=\"general.checkPerson\"\n accessibilityHint=\"Opens a modal with a list of people who read your message.\"\n />\n )}\n {message?.mine && hasExpandedLink && (\n <FormSheet.Action\n onPress={() => handleRemoveLinkPreviewConfirm()}\n title=\"Remove link preview\"\n iconName=\"general.brokenLink\"\n accessibilityHint=\"Removes an expanded link preview from the message.\"\n />\n )}\n {(message?.mine || canDeleteNonAuthoredMessages) && (\n <FormSheet.Action\n onPress={() => handleDeleteConfirm()}\n title=\"Delete message\"\n iconName=\"publishing.trash\"\n appearance=\"danger\"\n disabled={isPending}\n accessibilityHint=\"Opens a confirmation alert to delete this message permanently.\"\n />\n )}\n </View>\n )}\n </FormSheet.Root>\n )\n}\n\nconst Reaction = ({\n reaction,\n onPress,\n}: {\n reaction: { value: ReactionCountResource['value']; emoji: string; mine: boolean | undefined }\n onPress: () => void\n}) => {\n const styles = useStyles()\n const reactionStyles = useReactionStyles({ mine: reaction.mine ? 1 : 0 })\n\n const { colors } = useTheme()\n const baseRippleColor = reaction.mine ? colors.interaction : colors.fillColorNeutral060\n const androidRippleColor = useCreateAndroidRippleColor({ color: baseRippleColor })\n\n return (\n <PlatformPressable\n key={reaction.value}\n style={[reactionStyles.reaction, styles.reaction]}\n android_ripple={{ color: androidRippleColor, borderless: false, foreground: true }}\n onPress={onPress}\n >\n <Text style={styles.reactionEmoji} allowFontScaling={false}>\n {REACTION_EMOJIS[reaction.value]}\n </Text>\n </PlatformPressable>\n )\n}\n\nconst useStyles = () => {\n const { colors } = useTheme()\n const fontScale = useFontScale({ maxFontSizeMultiplier: 1.3 })\n\n const btnBorderWidth = 1\n const baseSize = 46 * Math.max(1, fontScale)\n const reactionBtnSize = Platform.select({\n ios: baseSize,\n android: baseSize + btnBorderWidth * 2,\n })\n\n return StyleSheet.create({\n formSheetContent: {\n paddingTop: 16,\n },\n reactionList: {\n flexDirection: 'row',\n justifyContent: 'center',\n alignItems: 'center',\n gap: 16,\n paddingTop: 8,\n paddingBottom: 16,\n borderBottomColor: colors.borderColorDefaultBase,\n borderBottomWidth: 1,\n },\n reaction: {\n height: reactionBtnSize,\n width: reactionBtnSize,\n borderWidth: btnBorderWidth,\n borderRadius: 32,\n justifyContent: 'center',\n overflow: 'hidden',\n },\n reactionEmoji: {\n fontSize: 24,\n textAlign: 'center',\n },\n actions: {\n paddingTop: 4,\n },\n })\n}\n"]}
1
+ {"version":3,"file":"message_actions_screen.js","sourceRoot":"","sources":["../../src/screens/message_actions_screen.tsx"],"names":[],"mappings":"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","sourcesContent":["import { PlatformPressable } from '@react-navigation/elements'\nimport { StackActions, StaticScreenProps, useNavigation } from '@react-navigation/native'\nimport { useMutation } from '@tanstack/react-query'\nimport { isNil, omitBy } from 'lodash'\nimport React, { useCallback } from 'react'\nimport { Alert, Platform, StyleSheet, View } from 'react-native'\nimport { Text } from '../components'\nimport { useReactionStyles } from '../components/conversation/message_reaction'\nimport FormSheet, { getFormSheetScreenOptions } from '../components/primitive/form_sheet'\nimport { useCreateAndroidRippleColor, useFontScale, useTheme } from '../hooks'\nimport { useApiClient } from '../hooks/use_api_client'\nimport { useConversationMessages } from '../hooks/use_conversation_messages'\nimport { availableFeatures, useFeatures } from '../hooks/use_features'\nimport { useMessageReactionToggle } from '../hooks/use_message_reaction_toggle'\nimport { MessageResource } from '../types'\nimport { ReactionCountResource } from '../types/resources/reaction'\nimport { REACTION_EMOJIS } from '../utils'\nimport { Clipboard, Haptic } from '../utils/native_adapters'\n\nexport const MessageActionsScreenOptions = getFormSheetScreenOptions({\n sheetAllowedDetents: [0.5],\n headerTitle: 'Message actions',\n})\n\nexport type MessageActionsScreenProps = StaticScreenProps<{\n message_id: string\n reply_root_author_name?: string\n conversation_id: number\n canDeleteNonAuthoredMessages?: boolean\n inReplyScreen?: boolean\n isSystemMessage?: boolean\n}>\n\nexport function MessageActionsScreen({ route }: MessageActionsScreenProps) {\n const {\n conversation_id,\n message_id,\n canDeleteNonAuthoredMessages,\n inReplyScreen,\n reply_root_author_name,\n isSystemMessage,\n } = route.params\n\n const { messages, refetch } = useConversationMessages(\n { conversation_id },\n { refetchOnMount: false }\n )\n const message = messages.find(m => m.id === message_id)\n\n if (!message) return null\n\n return (\n <MessageActionsScreenContent\n message={message}\n conversation_id={conversation_id}\n canDeleteNonAuthoredMessages={canDeleteNonAuthoredMessages || false}\n refetchMessages={refetch}\n inReplyScreen={inReplyScreen}\n replyRootAuthorName={reply_root_author_name}\n isSystemMessage={isSystemMessage}\n />\n )\n}\n\nfunction MessageActionsScreenContent({\n message,\n conversation_id,\n canDeleteNonAuthoredMessages,\n refetchMessages,\n inReplyScreen,\n replyRootAuthorName,\n isSystemMessage,\n}: {\n message: MessageResource\n conversation_id: number\n canDeleteNonAuthoredMessages: boolean\n refetchMessages: () => void\n inReplyScreen?: boolean\n replyRootAuthorName?: string\n isSystemMessage?: boolean\n}) {\n const navigation = useNavigation()\n const apiClient = useApiClient()\n const styles = useStyles()\n const { featureEnabled } = useFeatures()\n const expandedLink = message.attachments.find(attachment => attachment.type === 'ExpandedLink')\n const hasExpandedLink = !!expandedLink\n\n const myReactions = message?.reactionCounts\n .filter(reaction => reaction.mine)\n .map(reaction => reaction.value)\n\n const availableReactions = Object.entries(REACTION_EMOJIS).map(([value, emoji]) => {\n return {\n value: value as ReactionCountResource['value'],\n emoji,\n mine: myReactions?.includes(value as ReactionCountResource['value']),\n }\n })\n\n const attachmentForCopy = (): string => {\n const giphyTitleLink = message?.attachments.find(\n attachment => attachment.type === 'giphy'\n )?.titleLink\n\n if (giphyTitleLink) return giphyTitleLink\n return ''\n }\n\n const handleReplyPress = useCallback(() => {\n navigation.goBack()\n // Waits for the modal to be dismissed before pushing the reply screen\n requestAnimationFrame(() => {\n navigation.navigate('ConversationReply', {\n conversation_id,\n reply_root_id: message.replyRootId || message.id,\n reply_root_author_name: replyRootAuthorName,\n })\n })\n }, [navigation, conversation_id, message.id, message.replyRootId, replyRootAuthorName])\n\n const handleCopyPress = () => {\n Clipboard.setStringAsync(message?.text || attachmentForCopy() || '')\n navigation.goBack()\n }\n\n const handleReportPress = useCallback(() => {\n Haptic.impactLight()\n navigation.navigate('MessageReport', {\n conversation_id,\n message_id: message.id,\n })\n }, [navigation, conversation_id, message.id])\n\n const { handleReactionToggle, isPending } = useMessageReactionToggle({\n conversation_id,\n message,\n })\n\n const deleteMessage = useCallback(() => {\n const url = `/me/conversations/${conversation_id}/messages/${message.id}/`\n\n return apiClient.chat.delete({ url })\n }, [apiClient, conversation_id, message.id])\n\n const { mutate: handleDeleteMessage } = useMutation({\n mutationFn: deleteMessage,\n mutationKey: ['deleteMessage', message.id],\n onSuccess: () => {\n refetchMessages()\n Haptic.notificationSuccess()\n },\n onError: () => {\n Alert.alert('Oops', 'We were unable to delete this message. Please try again.')\n },\n })\n\n const handleDeleteConfirm = useCallback(() => {\n Alert.alert('Delete message', 'Are you sure you want to permanently delete this message?', [\n { text: 'Cancel', style: 'cancel' },\n {\n text: 'Delete',\n style: 'destructive',\n onPress: () => {\n handleDeleteMessage()\n navigation.goBack()\n },\n },\n ])\n }, [handleDeleteMessage, navigation])\n\n const handleEditPress = useCallback(() => {\n const state = navigation.getState?.()\n const targetRouteName = inReplyScreen ? 'ConversationReply' : 'Conversation'\n const targetRoute = state?.routes?.find(r => r.name === targetRouteName)\n const params = omitBy(\n {\n ...(targetRoute?.params || {}),\n conversation_id,\n editing_message_id: message.id,\n },\n isNil\n )\n navigation.dispatch(StackActions.popTo(targetRouteName, params))\n }, [navigation, conversation_id, message.id, inReplyScreen])\n\n const handleViewReadReceiptsPress = useCallback(() => {\n Haptic.impactLight()\n const params = omitBy(\n {\n conversation_id,\n message_id: message.id,\n },\n isNil\n )\n navigation.dispatch(StackActions.popTo('MessageReadReceipts', params))\n }, [navigation, conversation_id, message.id])\n\n const removeLinkPreview = useCallback(() => {\n const url = `/me/conversations/${conversation_id}/messages/${message.id}/remove_expanded_link`\n const data = {\n data: { type: 'ExpandedLink', attributes: { expanded_link_id: expandedLink?.id } },\n }\n\n return apiClient.chat.post({ url, data })\n }, [apiClient, conversation_id, message.id, expandedLink])\n\n const { mutate: handleRemoveLinkPreview } = useMutation({\n mutationFn: removeLinkPreview,\n onSuccess: () => {\n refetchMessages()\n Haptic.notificationSuccess()\n navigation.goBack()\n },\n onError: () => {\n Alert.alert('Oops', 'We were unable to remove the preview. Please try again.')\n },\n })\n\n const handleRemoveLinkPreviewConfirm = useCallback(() => {\n Alert.alert('Remove link preview?', 'This will remove the image preview but retain the link', [\n { text: 'Cancel', style: 'cancel' },\n { text: 'Remove', style: 'destructive', onPress: () => handleRemoveLinkPreview() },\n ])\n }, [handleRemoveLinkPreview])\n\n const showReportMessageAction =\n !message?.mine && featureEnabled(availableFeatures.message_reporting)\n\n return (\n <FormSheet.Root style={styles.formSheetContent}>\n <View style={styles.reactionList}>\n {availableReactions.map((reaction, index) => (\n <Reaction\n key={index}\n reaction={reaction}\n onPress={() => {\n Haptic.impactLight()\n handleReactionToggle({\n value: reaction.value,\n mine: reaction.mine,\n })\n navigation.goBack()\n }}\n />\n ))}\n </View>\n {!isSystemMessage && (\n <View style={styles.actions}>\n {!inReplyScreen && (\n <FormSheet.Action\n onPress={handleReplyPress}\n title=\"Reply to message\"\n iconName=\"registrations.undo\"\n accessibilityHint=\"Navigates to the reply screen\"\n accessibilityRole=\"link\"\n />\n )}\n <FormSheet.Action\n onPress={handleCopyPress}\n title=\"Copy text\"\n iconName=\"services.fileCopy\"\n accessibilityHint=\"Copies text and links to clipboard\"\n />\n {showReportMessageAction && (\n <FormSheet.Action\n onPress={handleReportPress}\n title=\"Report message\"\n iconName=\"chat.reportMessageO\"\n accessibilityHint=\"Opens a form to report this message\"\n />\n )}\n {message?.mine && (\n <FormSheet.Action\n onPress={() => handleEditPress()}\n title=\"Edit message\"\n iconName=\"accounts.editor\"\n accessibilityHint=\"Opens existing text in the message form input.\"\n />\n )}\n {message?.mine && (\n <FormSheet.Action\n onPress={() => handleViewReadReceiptsPress()}\n title=\"View read receipts\"\n iconName=\"general.checkPerson\"\n accessibilityHint=\"Opens a modal with a list of people who read your message.\"\n />\n )}\n {message?.mine && hasExpandedLink && (\n <FormSheet.Action\n onPress={() => handleRemoveLinkPreviewConfirm()}\n title=\"Remove link preview\"\n iconName=\"general.brokenLink\"\n accessibilityHint=\"Removes an expanded link preview from the message.\"\n />\n )}\n {(message?.mine || canDeleteNonAuthoredMessages) && (\n <FormSheet.Action\n onPress={() => handleDeleteConfirm()}\n title=\"Delete message\"\n iconName=\"publishing.trash\"\n appearance=\"danger\"\n disabled={isPending}\n accessibilityHint=\"Opens a confirmation alert to delete this message permanently.\"\n />\n )}\n </View>\n )}\n </FormSheet.Root>\n )\n}\n\nconst Reaction = ({\n reaction,\n onPress,\n}: {\n reaction: { value: ReactionCountResource['value']; emoji: string; mine: boolean | undefined }\n onPress: () => void\n}) => {\n const styles = useStyles()\n const reactionStyles = useReactionStyles({ mine: reaction.mine ? 1 : 0 })\n\n const { colors } = useTheme()\n const baseRippleColor = reaction.mine ? colors.interaction : colors.fillColorNeutral060\n const androidRippleColor = useCreateAndroidRippleColor({ color: baseRippleColor })\n\n return (\n <PlatformPressable\n key={reaction.value}\n style={[reactionStyles.reaction, styles.reaction]}\n android_ripple={{ color: androidRippleColor, borderless: false, foreground: true }}\n onPress={onPress}\n >\n <Text style={styles.reactionEmoji} allowFontScaling={false}>\n {REACTION_EMOJIS[reaction.value]}\n </Text>\n </PlatformPressable>\n )\n}\n\nconst useStyles = () => {\n const { colors } = useTheme()\n const fontScale = useFontScale({ maxFontSizeMultiplier: 1.3 })\n\n const btnBorderWidth = 1\n const baseSize = 46 * Math.max(1, fontScale)\n const reactionBtnSize = Platform.select({\n ios: baseSize,\n android: baseSize + btnBorderWidth * 2,\n })\n\n return StyleSheet.create({\n formSheetContent: {\n paddingTop: 16,\n },\n reactionList: {\n flexDirection: 'row',\n justifyContent: 'center',\n alignItems: 'center',\n gap: 16,\n paddingTop: 8,\n paddingBottom: 16,\n borderBottomColor: colors.borderColorDefaultBase,\n borderBottomWidth: 1,\n },\n reaction: {\n height: reactionBtnSize,\n width: reactionBtnSize,\n borderWidth: btnBorderWidth,\n borderRadius: 32,\n justifyContent: 'center',\n overflow: 'hidden',\n },\n reactionEmoji: {\n fontSize: 24,\n textAlign: 'center',\n },\n actions: {\n paddingTop: 4,\n },\n })\n}\n"]}
@@ -1,10 +1,9 @@
1
- import React from 'react';
2
1
  import { ViewStyle } from 'react-native';
3
2
  import { MessageResource } from '../../../types';
4
3
  interface MessagePreviewProps {
5
4
  message: MessageResource;
6
5
  style?: ViewStyle;
7
6
  }
8
- export declare function MessagePreview({ message, style }: MessagePreviewProps): React.JSX.Element;
7
+ export declare function MessagePreview({ message, style }: MessagePreviewProps): import("react/jsx-runtime").JSX.Element;
9
8
  export {};
10
9
  //# sourceMappingURL=message_preview.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"message_preview.d.ts","sourceRoot":"","sources":["../../../../src/screens/message_report/components/message_preview.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAoB,SAAS,EAAE,MAAM,cAAc,CAAA;AAG1D,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAEhD,UAAU,mBAAmB;IAC3B,OAAO,EAAE,eAAe,CAAA;IACxB,KAAK,CAAC,EAAE,SAAS,CAAA;CAClB;AAED,wBAAgB,cAAc,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,mBAAmB,qBAuCrE"}
1
+ {"version":3,"file":"message_preview.d.ts","sourceRoot":"","sources":["../../../../src/screens/message_report/components/message_preview.tsx"],"names":[],"mappings":"AACA,OAAO,EAAoB,SAAS,EAAE,MAAM,cAAc,CAAA;AAG1D,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAEhD,UAAU,mBAAmB;IAC3B,OAAO,EAAE,eAAe,CAAA;IACxB,KAAK,CAAC,EAAE,SAAS,CAAA;CAClB;AAED,wBAAgB,cAAc,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,mBAAmB,2CAuCrE"}
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { View, StyleSheet } from 'react-native';
3
3
  import { Avatar, Text, Icon } from '../../../components';
4
4
  import { useTheme, useFontScale } from '../../../hooks';
@@ -6,27 +6,7 @@ export function MessagePreview({ message, style }) {
6
6
  const hasImages = message.attachments.some(att => att.type === 'MessageAttachment' && att.attributes?.contentType?.startsWith('image/'));
7
7
  const imageOnly = hasImages && !message.text;
8
8
  const styles = useStyles({ imageOnly });
9
- return (<View style={[styles.previewContainer, style]}>
10
- <View style={styles.previewHeader}>
11
- <Avatar sourceUri={message.author.avatar} size="md"/>
12
- <Text style={styles.authorName} maxFontSizeMultiplier={1.5} numberOfLines={1}>
13
- {message.author.name}
14
- </Text>
15
- </View>
16
-
17
- <View style={styles.messageBubble}>
18
- {hasImages && (<View style={styles.imagePlaceholder}>
19
- <Icon name="general.image" style={styles.placeholderIcon} maxFontSizeMultiplier={1.25}/>
20
- <Text variant="secondary" style={styles.placeholderText} maxFontSizeMultiplier={1.25}>
21
- Image hidden
22
- </Text>
23
- </View>)}
24
-
25
- {message.text && (<Text style={styles.messageText} numberOfLines={5}>
26
- {message.text}
27
- </Text>)}
28
- </View>
29
- </View>);
9
+ return (_jsxs(View, { style: [styles.previewContainer, style], children: [_jsxs(View, { style: styles.previewHeader, children: [_jsx(Avatar, { sourceUri: message.author.avatar, size: "md" }), _jsx(Text, { style: styles.authorName, maxFontSizeMultiplier: 1.5, numberOfLines: 1, children: message.author.name })] }), _jsxs(View, { style: styles.messageBubble, children: [hasImages && (_jsxs(View, { style: styles.imagePlaceholder, children: [_jsx(Icon, { name: "general.image", style: styles.placeholderIcon, maxFontSizeMultiplier: 1.25 }), _jsx(Text, { variant: "secondary", style: styles.placeholderText, maxFontSizeMultiplier: 1.25, children: "Image hidden" })] })), message.text && (_jsx(Text, { style: styles.messageText, numberOfLines: 5, children: message.text }))] })] }));
30
10
  }
31
11
  const useStyles = ({ imageOnly }) => {
32
12
  const { colors } = useTheme();
@@ -1 +1 @@
1
- {"version":3,"file":"message_preview.js","sourceRoot":"","sources":["../../../../src/screens/message_report/components/message_preview.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,IAAI,EAAE,UAAU,EAAa,MAAM,cAAc,CAAA;AAC1D,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAQvD,MAAM,UAAU,cAAc,CAAC,EAAE,OAAO,EAAE,KAAK,EAAuB;IACpE,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CACxC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,mBAAmB,IAAI,GAAG,CAAC,UAAU,EAAE,WAAW,EAAE,UAAU,CAAC,QAAQ,CAAC,CAC7F,CAAA;IAED,MAAM,SAAS,GAAG,SAAS,IAAI,CAAC,OAAO,CAAC,IAAI,CAAA;IAC5C,MAAM,MAAM,GAAG,SAAS,CAAC,EAAE,SAAS,EAAE,CAAC,CAAA;IAEvC,OAAO,CACL,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC,CAC5C;MAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAChC;QAAA,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,EACnD;QAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAC3E;UAAA,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CACtB;QAAA,EAAE,IAAI,CACR;MAAA,EAAE,IAAI,CAEN;;MAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAChC;QAAA,CAAC,SAAS,IAAI,CACZ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CACnC;YAAA,CAAC,IAAI,CACH,IAAI,CAAC,eAAe,CACpB,KAAK,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAC9B,qBAAqB,CAAC,CAAC,IAAI,CAAC,EAE9B;YAAA,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,CACnF;;YACF,EAAE,IAAI,CACR;UAAA,EAAE,IAAI,CAAC,CACR,CAED;;QAAA,CAAC,OAAO,CAAC,IAAI,IAAI,CACf,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAChD;YAAA,CAAC,OAAO,CAAC,IAAI,CACf;UAAA,EAAE,IAAI,CAAC,CACR,CACH;MAAA,EAAE,IAAI,CACR;IAAA,EAAE,IAAI,CAAC,CACR,CAAA;AACH,CAAC;AAED,MAAM,SAAS,GAAG,CAAC,EAAE,SAAS,EAA0B,EAAE,EAAE;IAC1D,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAA;IAC7B,MAAM,SAAS,GAAG,YAAY,CAAC,EAAE,qBAAqB,EAAE,GAAG,EAAE,CAAC,CAAA;IAE9D,OAAO,UAAU,CAAC,MAAM,CAAC;QACvB,gBAAgB,EAAE;YAChB,GAAG,EAAE,EAAE;SACR;QACD,aAAa,EAAE;YACb,aAAa,EAAE,KAAK;YACpB,UAAU,EAAE,QAAQ;YACpB,GAAG,EAAE,EAAE;SACR;QACD,UAAU,EAAE;YACV,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,KAAK;YACjB,KAAK,EAAE,MAAM,CAAC,uBAAuB;YACrC,UAAU,EAAE,CAAC;SACd;QACD,aAAa,EAAE;YACb,eAAe,EAAE,MAAM,CAAC,mBAAmB;YAC3C,YAAY,EAAE,EAAE;YAChB,SAAS,EAAE,YAAY;YACvB,GAAG,CAAC,CAAC,SAAS,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;SACvC;QACD,WAAW,EAAE;YACX,QAAQ,EAAE,EAAE;YACZ,KAAK,EAAE,MAAM,CAAC,uBAAuB;YACrC,UAAU,EAAE,EAAE;YACd,iBAAiB,EAAE,EAAE;YACrB,eAAe,EAAE,EAAE;SACpB;QACD,gBAAgB,EAAE;YAChB,iBAAiB,EAAE,EAAE,GAAG,SAAS;YACjC,eAAe,EAAE,EAAE,GAAG,SAAS;YAC/B,cAAc,EAAE,QAAQ;YACxB,UAAU,EAAE,QAAQ;YACpB,GAAG,EAAE,CAAC,GAAG,SAAS;SACnB;QACD,eAAe,EAAE;YACf,QAAQ,EAAE,EAAE;YACZ,KAAK,EAAE,MAAM,CAAC,yBAAyB;SACxC;QACD,eAAe,EAAE;YACf,QAAQ,EAAE,EAAE;SACb;KACF,CAAC,CAAA;AACJ,CAAC,CAAA","sourcesContent":["import React from 'react'\nimport { View, StyleSheet, ViewStyle } from 'react-native'\nimport { Avatar, Text, Icon } from '../../../components'\nimport { useTheme, useFontScale } from '../../../hooks'\nimport { MessageResource } from '../../../types'\n\ninterface MessagePreviewProps {\n message: MessageResource\n style?: ViewStyle\n}\n\nexport function MessagePreview({ message, style }: MessagePreviewProps) {\n const hasImages = message.attachments.some(\n att => att.type === 'MessageAttachment' && att.attributes?.contentType?.startsWith('image/')\n )\n\n const imageOnly = hasImages && !message.text\n const styles = useStyles({ imageOnly })\n\n return (\n <View style={[styles.previewContainer, style]}>\n <View style={styles.previewHeader}>\n <Avatar sourceUri={message.author.avatar} size=\"md\" />\n <Text style={styles.authorName} maxFontSizeMultiplier={1.5} numberOfLines={1}>\n {message.author.name}\n </Text>\n </View>\n\n <View style={styles.messageBubble}>\n {hasImages && (\n <View style={styles.imagePlaceholder}>\n <Icon\n name=\"general.image\"\n style={styles.placeholderIcon}\n maxFontSizeMultiplier={1.25}\n />\n <Text variant=\"secondary\" style={styles.placeholderText} maxFontSizeMultiplier={1.25}>\n Image hidden\n </Text>\n </View>\n )}\n\n {message.text && (\n <Text style={styles.messageText} numberOfLines={5}>\n {message.text}\n </Text>\n )}\n </View>\n </View>\n )\n}\n\nconst useStyles = ({ imageOnly }: { imageOnly: boolean }) => {\n const { colors } = useTheme()\n const fontScale = useFontScale({ maxFontSizeMultiplier: 1.5 })\n\n return StyleSheet.create({\n previewContainer: {\n gap: 12,\n },\n previewHeader: {\n flexDirection: 'row',\n alignItems: 'center',\n gap: 12,\n },\n authorName: {\n fontSize: 14,\n fontWeight: '600',\n color: colors.textColorDefaultPrimary,\n flexShrink: 1,\n },\n messageBubble: {\n backgroundColor: colors.fillColorNeutral060,\n borderRadius: 16,\n alignSelf: 'flex-start',\n ...(!imageOnly && { maxWidth: '80%' }),\n },\n messageText: {\n fontSize: 14,\n color: colors.textColorDefaultPrimary,\n lineHeight: 20,\n paddingHorizontal: 16,\n paddingVertical: 12,\n },\n imagePlaceholder: {\n paddingHorizontal: 24 * fontScale,\n paddingVertical: 20 * fontScale,\n justifyContent: 'center',\n alignItems: 'center',\n gap: 8 * fontScale,\n },\n placeholderIcon: {\n fontSize: 32,\n color: colors.iconColorDefaultSecondary,\n },\n placeholderText: {\n fontSize: 14,\n },\n })\n}\n"]}
1
+ {"version":3,"file":"message_preview.js","sourceRoot":"","sources":["../../../../src/screens/message_report/components/message_preview.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react'\nimport { View, StyleSheet, ViewStyle } from 'react-native'\nimport { Avatar, Text, Icon } from '../../../components'\nimport { useTheme, useFontScale } from '../../../hooks'\nimport { MessageResource } from '../../../types'\n\ninterface MessagePreviewProps {\n message: MessageResource\n style?: ViewStyle\n}\n\nexport function MessagePreview({ message, style }: MessagePreviewProps) {\n const hasImages = message.attachments.some(\n att => att.type === 'MessageAttachment' && att.attributes?.contentType?.startsWith('image/')\n )\n\n const imageOnly = hasImages && !message.text\n const styles = useStyles({ imageOnly })\n\n return (\n <View style={[styles.previewContainer, style]}>\n <View style={styles.previewHeader}>\n <Avatar sourceUri={message.author.avatar} size=\"md\" />\n <Text style={styles.authorName} maxFontSizeMultiplier={1.5} numberOfLines={1}>\n {message.author.name}\n </Text>\n </View>\n\n <View style={styles.messageBubble}>\n {hasImages && (\n <View style={styles.imagePlaceholder}>\n <Icon\n name=\"general.image\"\n style={styles.placeholderIcon}\n maxFontSizeMultiplier={1.25}\n />\n <Text variant=\"secondary\" style={styles.placeholderText} maxFontSizeMultiplier={1.25}>\n Image hidden\n </Text>\n </View>\n )}\n\n {message.text && (\n <Text style={styles.messageText} numberOfLines={5}>\n {message.text}\n </Text>\n )}\n </View>\n </View>\n )\n}\n\nconst useStyles = ({ imageOnly }: { imageOnly: boolean }) => {\n const { colors } = useTheme()\n const fontScale = useFontScale({ maxFontSizeMultiplier: 1.5 })\n\n return StyleSheet.create({\n previewContainer: {\n gap: 12,\n },\n previewHeader: {\n flexDirection: 'row',\n alignItems: 'center',\n gap: 12,\n },\n authorName: {\n fontSize: 14,\n fontWeight: '600',\n color: colors.textColorDefaultPrimary,\n flexShrink: 1,\n },\n messageBubble: {\n backgroundColor: colors.fillColorNeutral060,\n borderRadius: 16,\n alignSelf: 'flex-start',\n ...(!imageOnly && { maxWidth: '80%' }),\n },\n messageText: {\n fontSize: 14,\n color: colors.textColorDefaultPrimary,\n lineHeight: 20,\n paddingHorizontal: 16,\n paddingVertical: 12,\n },\n imagePlaceholder: {\n paddingHorizontal: 24 * fontScale,\n paddingVertical: 20 * fontScale,\n justifyContent: 'center',\n alignItems: 'center',\n gap: 8 * fontScale,\n },\n placeholderIcon: {\n fontSize: 32,\n color: colors.iconColorDefaultSecondary,\n },\n placeholderText: {\n fontSize: 14,\n },\n })\n}\n"]}
@@ -1,9 +1,8 @@
1
- import React from 'react';
2
1
  import { MessageReportReason } from '../../../types/resources/message_report';
3
2
  interface ReportReasonListProps {
4
3
  selectedReason: MessageReportReason | null;
5
4
  onReasonChange: (reason: MessageReportReason) => void;
6
5
  }
7
- export declare function ReportReasonList({ selectedReason, onReasonChange }: ReportReasonListProps): React.JSX.Element;
6
+ export declare function ReportReasonList({ selectedReason, onReasonChange }: ReportReasonListProps): import("react/jsx-runtime").JSX.Element;
8
7
  export {};
9
8
  //# sourceMappingURL=report_reason_list.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"report_reason_list.d.ts","sourceRoot":"","sources":["../../../../src/screens/message_report/components/report_reason_list.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,EAEL,mBAAmB,EACpB,MAAM,yCAAyC,CAAA;AAQhD,UAAU,qBAAqB;IAC7B,cAAc,EAAE,mBAAmB,GAAG,IAAI,CAAA;IAC1C,cAAc,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,CAAA;CACtD;AAED,wBAAgB,gBAAgB,CAAC,EAAE,cAAc,EAAE,cAAc,EAAE,EAAE,qBAAqB,qBAiBzF"}
1
+ {"version":3,"file":"report_reason_list.d.ts","sourceRoot":"","sources":["../../../../src/screens/message_report/components/report_reason_list.tsx"],"names":[],"mappings":"AAKA,OAAO,EAEL,mBAAmB,EACpB,MAAM,yCAAyC,CAAA;AAQhD,UAAU,qBAAqB;IAC7B,cAAc,EAAE,mBAAmB,GAAG,IAAI,CAAA;IAC1C,cAAc,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,CAAA;CACtD;AAED,wBAAgB,gBAAgB,CAAC,EAAE,cAAc,EAAE,cAAc,EAAE,EAAE,qBAAqB,2CAiBzF"}
@@ -1,5 +1,5 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
2
  import { PlatformPressable } from '@react-navigation/elements';
2
- import React from 'react';
3
3
  import { View, StyleSheet } from 'react-native';
4
4
  import { Text } from '../../../components';
5
5
  import { useTheme, useCreateAndroidRippleColor } from '../../../hooks';
@@ -10,25 +10,16 @@ const MESSAGE_REPORT_REASONS_LIST = Object.entries(MESSAGE_REPORT_REASONS).map((
10
10
  label,
11
11
  }));
12
12
  export function ReportReasonList({ selectedReason, onReasonChange }) {
13
- return (<View>
14
- {MESSAGE_REPORT_REASONS_LIST.map(({ key, label }) => (<ReportReasonButton key={key} reason={key} label={label} isSelected={selectedReason === key} onPress={() => {
13
+ return (_jsx(View, { children: MESSAGE_REPORT_REASONS_LIST.map(({ key, label }) => (_jsx(ReportReasonButton, { reason: key, label: label, isSelected: selectedReason === key, onPress: () => {
15
14
  Haptic.impactLight();
16
15
  onReasonChange(key);
17
- }}/>))}
18
- </View>);
16
+ } }, key))) }));
19
17
  }
20
18
  function ReportReasonButton({ label, isSelected, onPress }) {
21
19
  const styles = useStyles({ isSelected });
22
20
  const { colors } = useTheme();
23
21
  const androidRippleColor = useCreateAndroidRippleColor({ color: colors.fillColorNeutral060 });
24
- return (<PlatformPressable onPress={onPress} style={styles.pressable} android_ripple={{ color: androidRippleColor }} accessibilityRole="radio" accessibilityState={{ selected: isSelected }} accessibilityLabel={label}>
25
- <View style={styles.row}>
26
- <View style={styles.radioButton}>
27
- {isSelected && <View style={styles.radioButtonInner}/>}
28
- </View>
29
- <Text style={styles.label}>{label}</Text>
30
- </View>
31
- </PlatformPressable>);
22
+ return (_jsx(PlatformPressable, { onPress: onPress, style: styles.pressable, android_ripple: { color: androidRippleColor }, accessibilityRole: "radio", accessibilityState: { selected: isSelected }, accessibilityLabel: label, children: _jsxs(View, { style: styles.row, children: [_jsx(View, { style: styles.radioButton, children: isSelected && _jsx(View, { style: styles.radioButtonInner }) }), _jsx(Text, { style: styles.label, children: label })] }) }));
32
23
  }
33
24
  const useStyles = ({ isSelected }) => {
34
25
  const { colors } = useTheme();
@@ -1 +1 @@
1
- {"version":3,"file":"report_reason_list.js","sourceRoot":"","sources":["../../../../src/screens/message_report/components/report_reason_list.tsx"],"names":[],"mappings":"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","sourcesContent":["import { PlatformPressable } from '@react-navigation/elements'\nimport React from 'react'\nimport { View, StyleSheet } from 'react-native'\nimport { Text } from '../../../components'\nimport { useTheme, useCreateAndroidRippleColor } from '../../../hooks'\nimport {\n MESSAGE_REPORT_REASONS,\n MessageReportReason,\n} from '../../../types/resources/message_report'\nimport { Haptic } from '../../../utils/native_adapters'\n\nconst MESSAGE_REPORT_REASONS_LIST = Object.entries(MESSAGE_REPORT_REASONS).map(([key, label]) => ({\n key: key as MessageReportReason,\n label,\n}))\n\ninterface ReportReasonListProps {\n selectedReason: MessageReportReason | null\n onReasonChange: (reason: MessageReportReason) => void\n}\n\nexport function ReportReasonList({ selectedReason, onReasonChange }: ReportReasonListProps) {\n return (\n <View>\n {MESSAGE_REPORT_REASONS_LIST.map(({ key, label }) => (\n <ReportReasonButton\n key={key}\n reason={key}\n label={label}\n isSelected={selectedReason === key}\n onPress={() => {\n Haptic.impactLight()\n onReasonChange(key)\n }}\n />\n ))}\n </View>\n )\n}\n\ninterface ReportReasonButtonProps {\n reason: MessageReportReason\n label: string\n isSelected: boolean\n onPress: () => void\n}\n\nfunction ReportReasonButton({ label, isSelected, onPress }: ReportReasonButtonProps) {\n const styles = useStyles({ isSelected })\n const { colors } = useTheme()\n const androidRippleColor = useCreateAndroidRippleColor({ color: colors.fillColorNeutral060 })\n\n return (\n <PlatformPressable\n onPress={onPress}\n style={styles.pressable}\n android_ripple={{ color: androidRippleColor }}\n accessibilityRole=\"radio\"\n accessibilityState={{ selected: isSelected }}\n accessibilityLabel={label}\n >\n <View style={styles.row}>\n <View style={styles.radioButton}>\n {isSelected && <View style={styles.radioButtonInner} />}\n </View>\n <Text style={styles.label}>{label}</Text>\n </View>\n </PlatformPressable>\n )\n}\n\nconst useStyles = ({ isSelected }: { isSelected: boolean }) => {\n const { colors } = useTheme()\n\n return StyleSheet.create({\n pressable: {\n paddingVertical: 16,\n paddingHorizontal: 16,\n },\n row: {\n flexDirection: 'row',\n alignItems: 'center',\n gap: 12,\n },\n radioButton: {\n width: 20,\n height: 20,\n borderRadius: 10,\n borderWidth: 2,\n borderColor: isSelected ? colors.interaction : colors.borderColorDefaultBase,\n justifyContent: 'center',\n alignItems: 'center',\n },\n radioButtonInner: {\n width: 10,\n height: 10,\n borderRadius: 5,\n backgroundColor: colors.interaction,\n },\n label: {\n fontSize: 16,\n color: colors.textColorDefaultPrimary,\n flex: 1,\n },\n })\n}\n"]}
1
+ {"version":3,"file":"report_reason_list.js","sourceRoot":"","sources":["../../../../src/screens/message_report/components/report_reason_list.tsx"],"names":[],"mappings":"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","sourcesContent":["import { PlatformPressable } from '@react-navigation/elements'\nimport React from 'react'\nimport { View, StyleSheet } from 'react-native'\nimport { Text } from '../../../components'\nimport { useTheme, useCreateAndroidRippleColor } from '../../../hooks'\nimport {\n MESSAGE_REPORT_REASONS,\n MessageReportReason,\n} from '../../../types/resources/message_report'\nimport { Haptic } from '../../../utils/native_adapters'\n\nconst MESSAGE_REPORT_REASONS_LIST = Object.entries(MESSAGE_REPORT_REASONS).map(([key, label]) => ({\n key: key as MessageReportReason,\n label,\n}))\n\ninterface ReportReasonListProps {\n selectedReason: MessageReportReason | null\n onReasonChange: (reason: MessageReportReason) => void\n}\n\nexport function ReportReasonList({ selectedReason, onReasonChange }: ReportReasonListProps) {\n return (\n <View>\n {MESSAGE_REPORT_REASONS_LIST.map(({ key, label }) => (\n <ReportReasonButton\n key={key}\n reason={key}\n label={label}\n isSelected={selectedReason === key}\n onPress={() => {\n Haptic.impactLight()\n onReasonChange(key)\n }}\n />\n ))}\n </View>\n )\n}\n\ninterface ReportReasonButtonProps {\n reason: MessageReportReason\n label: string\n isSelected: boolean\n onPress: () => void\n}\n\nfunction ReportReasonButton({ label, isSelected, onPress }: ReportReasonButtonProps) {\n const styles = useStyles({ isSelected })\n const { colors } = useTheme()\n const androidRippleColor = useCreateAndroidRippleColor({ color: colors.fillColorNeutral060 })\n\n return (\n <PlatformPressable\n onPress={onPress}\n style={styles.pressable}\n android_ripple={{ color: androidRippleColor }}\n accessibilityRole=\"radio\"\n accessibilityState={{ selected: isSelected }}\n accessibilityLabel={label}\n >\n <View style={styles.row}>\n <View style={styles.radioButton}>\n {isSelected && <View style={styles.radioButtonInner} />}\n </View>\n <Text style={styles.label}>{label}</Text>\n </View>\n </PlatformPressable>\n )\n}\n\nconst useStyles = ({ isSelected }: { isSelected: boolean }) => {\n const { colors } = useTheme()\n\n return StyleSheet.create({\n pressable: {\n paddingVertical: 16,\n paddingHorizontal: 16,\n },\n row: {\n flexDirection: 'row',\n alignItems: 'center',\n gap: 12,\n },\n radioButton: {\n width: 20,\n height: 20,\n borderRadius: 10,\n borderWidth: 2,\n borderColor: isSelected ? colors.interaction : colors.borderColorDefaultBase,\n justifyContent: 'center',\n alignItems: 'center',\n },\n radioButtonInner: {\n width: 10,\n height: 10,\n borderRadius: 5,\n backgroundColor: colors.interaction,\n },\n label: {\n fontSize: 16,\n color: colors.textColorDefaultPrimary,\n flex: 1,\n },\n })\n}\n"]}
@@ -1,10 +1,9 @@
1
1
  import { StaticScreenProps } from '@react-navigation/native';
2
2
  import type { NativeStackNavigationOptions, NativeStackScreenProps } from '@react-navigation/native-stack';
3
- import React from 'react';
4
3
  export declare const MessageReportScreenOptions: ({ navigation, route, }: NativeStackScreenProps<any>) => NativeStackNavigationOptions;
5
4
  export type MessageReportScreenProps = StaticScreenProps<{
6
5
  conversation_id: number;
7
6
  message_id: string;
8
7
  }>;
9
- export declare function MessageReportScreen({ route }: MessageReportScreenProps): React.JSX.Element | null;
8
+ export declare function MessageReportScreen({ route }: MessageReportScreenProps): import("react/jsx-runtime").JSX.Element | null;
10
9
  //# sourceMappingURL=message_report_screen.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"message_report_screen.d.ts","sourceRoot":"","sources":["../../src/screens/message_report_screen.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAA+B,MAAM,0BAA0B,CAAA;AACzF,OAAO,KAAK,EACV,4BAA4B,EAC5B,sBAAsB,EACvB,MAAM,gCAAgC,CAAA;AACvC,OAAO,KAA0D,MAAM,OAAO,CAAA;AAoB9E,eAAO,MAAM,0BAA0B,GAAI,wBAGxC,sBAAsB,CAAC,GAAG,CAAC,KAAG,4BAahC,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG,iBAAiB,CAAC;IACvD,eAAe,EAAE,MAAM,CAAA;IACvB,UAAU,EAAE,MAAM,CAAA;CACnB,CAAC,CAAA;AAEF,wBAAgB,mBAAmB,CAAC,EAAE,KAAK,EAAE,EAAE,wBAAwB,4BAStE"}
1
+ {"version":3,"file":"message_report_screen.d.ts","sourceRoot":"","sources":["../../src/screens/message_report_screen.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAA+B,MAAM,0BAA0B,CAAA;AACzF,OAAO,KAAK,EACV,4BAA4B,EAC5B,sBAAsB,EACvB,MAAM,gCAAgC,CAAA;AAqBvC,eAAO,MAAM,0BAA0B,GAAI,wBAGxC,sBAAsB,CAAC,GAAG,CAAC,KAAG,4BAahC,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG,iBAAiB,CAAC;IACvD,eAAe,EAAE,MAAM,CAAA;IACvB,UAAU,EAAE,MAAM,CAAA;CACnB,CAAC,CAAA;AAEF,wBAAgB,mBAAmB,CAAC,EAAE,KAAK,EAAE,EAAE,wBAAwB,kDAStE"}