@planningcenter/chat-react-native 4.4.0-rc.6 → 4.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (350) hide show
  1. package/build/components/conversation/jump_to_bottom_button.d.ts.map +1 -1
  2. package/build/components/conversation/jump_to_bottom_button.js +42 -40
  3. package/build/components/conversation/jump_to_bottom_button.js.map +1 -1
  4. package/build/components/conversation/message.d.ts +2 -1
  5. package/build/components/conversation/message.d.ts.map +1 -1
  6. package/build/components/conversation/message.js +3 -1
  7. package/build/components/conversation/message.js.map +1 -1
  8. package/build/components/conversation/message_form.d.ts.map +1 -1
  9. package/build/components/conversation/message_form.js +3 -1
  10. package/build/components/conversation/message_form.js.map +1 -1
  11. package/build/components/conversation/message_list.d.ts.map +1 -1
  12. package/build/components/conversation/message_list.js +35 -31
  13. package/build/components/conversation/message_list.js.map +1 -1
  14. package/build/components/conversation/message_reaction.d.ts +2 -1
  15. package/build/components/conversation/message_reaction.d.ts.map +1 -1
  16. package/build/components/conversation/message_reaction.js +67 -60
  17. package/build/components/conversation/message_reaction.js.map +1 -1
  18. package/build/components/conversation/messages_disabled_banners.d.ts +7 -5
  19. package/build/components/conversation/messages_disabled_banners.d.ts.map +1 -1
  20. package/build/components/conversation/messages_disabled_banners.js +15 -14
  21. package/build/components/conversation/messages_disabled_banners.js.map +1 -1
  22. package/build/components/conversation/system_message.d.ts +2 -1
  23. package/build/components/conversation/system_message.d.ts.map +1 -1
  24. package/build/components/conversation/system_message.js +133 -100
  25. package/build/components/conversation/system_message.js.map +1 -1
  26. package/build/components/conversations/archived_results_footer.d.ts +6 -0
  27. package/build/components/conversations/archived_results_footer.d.ts.map +1 -0
  28. package/build/components/conversations/archived_results_footer.js +51 -0
  29. package/build/components/conversations/archived_results_footer.js.map +1 -0
  30. package/build/components/conversations/conversation_actions.d.ts.map +1 -1
  31. package/build/components/conversations/conversation_actions.js +241 -206
  32. package/build/components/conversations/conversation_actions.js.map +1 -1
  33. package/build/components/conversations/conversation_preview.d.ts.map +1 -1
  34. package/build/components/conversations/conversation_preview.js +102 -93
  35. package/build/components/conversations/conversation_preview.js.map +1 -1
  36. package/build/components/conversations/conversations.d.ts.map +1 -1
  37. package/build/components/conversations/conversations.js +66 -41
  38. package/build/components/conversations/conversations.js.map +1 -1
  39. package/build/components/conversations/conversations_blank_state.d.ts.map +1 -1
  40. package/build/components/conversations/conversations_blank_state.js +55 -12
  41. package/build/components/conversations/conversations_blank_state.js.map +1 -1
  42. package/build/components/conversations/filtered_results_footer.d.ts +2 -0
  43. package/build/components/conversations/filtered_results_footer.d.ts.map +1 -0
  44. package/build/components/conversations/filtered_results_footer.js +77 -0
  45. package/build/components/conversations/filtered_results_footer.js.map +1 -0
  46. package/build/components/display/action_button.d.ts.map +1 -1
  47. package/build/components/display/action_button.js +18 -16
  48. package/build/components/display/action_button.js.map +1 -1
  49. package/build/components/display/filter_dropdown.d.ts +14 -0
  50. package/build/components/display/filter_dropdown.d.ts.map +1 -0
  51. package/build/components/display/filter_dropdown.js +193 -0
  52. package/build/components/display/filter_dropdown.js.map +1 -0
  53. package/build/components/display/icon_tile.d.ts +13 -0
  54. package/build/components/display/icon_tile.d.ts.map +1 -0
  55. package/build/components/display/icon_tile.js +149 -0
  56. package/build/components/display/icon_tile.js.map +1 -0
  57. package/build/components/display/index.d.ts +2 -0
  58. package/build/components/display/index.d.ts.map +1 -1
  59. package/build/components/display/index.js +2 -0
  60. package/build/components/display/index.js.map +1 -1
  61. package/build/contexts/api_provider.d.ts.map +1 -1
  62. package/build/contexts/api_provider.js +21 -9
  63. package/build/contexts/api_provider.js.map +1 -1
  64. package/build/contexts/conversations_context.d.ts.map +1 -1
  65. package/build/contexts/conversations_context.js +21 -18
  66. package/build/contexts/conversations_context.js.map +1 -1
  67. package/build/hooks/groups/use_group_members_for_new_conversation.d.ts +196 -16
  68. package/build/hooks/groups/use_group_members_for_new_conversation.d.ts.map +1 -1
  69. package/build/hooks/groups/use_group_members_for_new_conversation.js +72 -58
  70. package/build/hooks/groups/use_group_members_for_new_conversation.js.map +1 -1
  71. package/build/hooks/index.d.ts +3 -0
  72. package/build/hooks/index.d.ts.map +1 -1
  73. package/build/hooks/index.js +3 -0
  74. package/build/hooks/index.js.map +1 -1
  75. package/build/hooks/use_animated_message_background_color.d.ts.map +1 -1
  76. package/build/hooks/use_animated_message_background_color.js +5 -3
  77. package/build/hooks/use_animated_message_background_color.js.map +1 -1
  78. package/build/hooks/use_api.d.ts +3 -2
  79. package/build/hooks/use_api.d.ts.map +1 -1
  80. package/build/hooks/use_api.js.map +1 -1
  81. package/build/hooks/use_can_browse_archived_conversations.d.ts +2 -0
  82. package/build/hooks/use_can_browse_archived_conversations.d.ts.map +1 -0
  83. package/build/hooks/use_can_browse_archived_conversations.js +29 -0
  84. package/build/hooks/use_can_browse_archived_conversations.js.map +1 -0
  85. package/build/hooks/use_clear_conversation_filters.d.ts +2 -0
  86. package/build/hooks/use_clear_conversation_filters.d.ts.map +1 -0
  87. package/build/hooks/use_clear_conversation_filters.js +25 -0
  88. package/build/hooks/use_clear_conversation_filters.js.map +1 -0
  89. package/build/hooks/use_conversation.d.ts +73 -1
  90. package/build/hooks/use_conversation.d.ts.map +1 -1
  91. package/build/hooks/use_conversation.js +130 -3
  92. package/build/hooks/use_conversation.js.map +1 -1
  93. package/build/hooks/use_conversation_messages.d.ts.map +1 -1
  94. package/build/hooks/use_conversation_messages.js +29 -26
  95. package/build/hooks/use_conversation_messages.js.map +1 -1
  96. package/build/hooks/use_current_person.d.ts.map +1 -1
  97. package/build/hooks/use_current_person.js +1 -1
  98. package/build/hooks/use_current_person.js.map +1 -1
  99. package/build/hooks/use_features.d.ts +2 -0
  100. package/build/hooks/use_features.d.ts.map +1 -1
  101. package/build/hooks/use_features.js +2 -0
  102. package/build/hooks/use_features.js.map +1 -1
  103. package/build/hooks/use_filter_dropdown_enabled.d.ts +2 -0
  104. package/build/hooks/use_filter_dropdown_enabled.d.ts.map +1 -0
  105. package/build/hooks/use_filter_dropdown_enabled.js +18 -0
  106. package/build/hooks/use_filter_dropdown_enabled.js.map +1 -0
  107. package/build/hooks/use_jolt.d.ts +1 -0
  108. package/build/hooks/use_jolt.d.ts.map +1 -1
  109. package/build/hooks/use_jolt.js +59 -0
  110. package/build/hooks/use_jolt.js.map +1 -1
  111. package/build/hooks/use_manual_archiving_enabled.d.ts +2 -0
  112. package/build/hooks/use_manual_archiving_enabled.d.ts.map +1 -0
  113. package/build/hooks/use_manual_archiving_enabled.js +18 -0
  114. package/build/hooks/use_manual_archiving_enabled.js.map +1 -0
  115. package/build/hooks/use_mark_latest_message_read.d.ts.map +1 -1
  116. package/build/hooks/use_mark_latest_message_read.js +3 -3
  117. package/build/hooks/use_mark_latest_message_read.js.map +1 -1
  118. package/build/hooks/use_reduce_motion.d.ts +2 -0
  119. package/build/hooks/use_reduce_motion.d.ts.map +1 -0
  120. package/build/hooks/use_reduce_motion.js +28 -0
  121. package/build/hooks/use_reduce_motion.js.map +1 -0
  122. package/build/hooks/use_unarchive_conversation_action.d.ts +7 -0
  123. package/build/hooks/use_unarchive_conversation_action.d.ts.map +1 -0
  124. package/build/hooks/use_unarchive_conversation_action.js +52 -0
  125. package/build/hooks/use_unarchive_conversation_action.js.map +1 -0
  126. package/build/screens/attachment_actions/attachment_actions_screen.d.ts.map +1 -1
  127. package/build/screens/attachment_actions/attachment_actions_screen.js +84 -61
  128. package/build/screens/attachment_actions/attachment_actions_screen.js.map +1 -1
  129. package/build/screens/conversation_details_screen.d.ts.map +1 -1
  130. package/build/screens/conversation_details_screen.js +490 -395
  131. package/build/screens/conversation_details_screen.js.map +1 -1
  132. package/build/screens/conversation_filters/components/conversation_filters.d.ts.map +1 -1
  133. package/build/screens/conversation_filters/components/conversation_filters.js +88 -18
  134. package/build/screens/conversation_filters/components/conversation_filters.js.map +1 -1
  135. package/build/screens/conversation_filters/components/rows.d.ts +9 -0
  136. package/build/screens/conversation_filters/components/rows.d.ts.map +1 -1
  137. package/build/screens/conversation_filters/components/rows.js +93 -1
  138. package/build/screens/conversation_filters/components/rows.js.map +1 -1
  139. package/build/screens/conversation_filters/context/conversation_filter_context.d.ts.map +1 -1
  140. package/build/screens/conversation_filters/context/conversation_filter_context.js +8 -4
  141. package/build/screens/conversation_filters/context/conversation_filter_context.js.map +1 -1
  142. package/build/screens/conversation_filters/filter_types.d.ts +1 -0
  143. package/build/screens/conversation_filters/filter_types.d.ts.map +1 -1
  144. package/build/screens/conversation_filters/filter_types.js +1 -0
  145. package/build/screens/conversation_filters/filter_types.js.map +1 -1
  146. package/build/screens/conversation_filters/screen_props.d.ts +1 -0
  147. package/build/screens/conversation_filters/screen_props.d.ts.map +1 -1
  148. package/build/screens/conversation_filters/screen_props.js.map +1 -1
  149. package/build/screens/conversation_filters_screen.d.ts +1 -0
  150. package/build/screens/conversation_filters_screen.d.ts.map +1 -1
  151. package/build/screens/conversation_filters_screen.js +79 -48
  152. package/build/screens/conversation_filters_screen.js.map +1 -1
  153. package/build/screens/conversation_new/components/groups_form.d.ts.map +1 -1
  154. package/build/screens/conversation_new/components/groups_form.js +37 -34
  155. package/build/screens/conversation_new/components/groups_form.js.map +1 -1
  156. package/build/screens/conversation_screen.d.ts.map +1 -1
  157. package/build/screens/conversation_screen.js +13 -10
  158. package/build/screens/conversation_screen.js.map +1 -1
  159. package/build/screens/conversations/components/filter_dropdown_list_header_component.d.ts +2 -0
  160. package/build/screens/conversations/components/filter_dropdown_list_header_component.d.ts.map +1 -0
  161. package/build/screens/conversations/components/filter_dropdown_list_header_component.js +580 -0
  162. package/build/screens/conversations/components/filter_dropdown_list_header_component.js.map +1 -0
  163. package/build/screens/conversations/components/list_header_component.d.ts.map +1 -1
  164. package/build/screens/conversations/components/list_header_component.js +95 -90
  165. package/build/screens/conversations/components/list_header_component.js.map +1 -1
  166. package/build/screens/conversations/components/search_list_header_component.d.ts.map +1 -1
  167. package/build/screens/conversations/components/search_list_header_component.js +100 -95
  168. package/build/screens/conversations/components/search_list_header_component.js.map +1 -1
  169. package/build/screens/conversations/conversations_screen.d.ts +1 -0
  170. package/build/screens/conversations/conversations_screen.d.ts.map +1 -1
  171. package/build/screens/conversations/conversations_screen.js +15 -2
  172. package/build/screens/conversations/conversations_screen.js.map +1 -1
  173. package/build/screens/design_system_screen.d.ts.map +1 -1
  174. package/build/screens/design_system_screen.js +275 -215
  175. package/build/screens/design_system_screen.js.map +1 -1
  176. package/build/screens/message_actions_screen.d.ts.map +1 -1
  177. package/build/screens/message_actions_screen.js +112 -92
  178. package/build/screens/message_actions_screen.js.map +1 -1
  179. package/build/screens/search/search_screen.d.ts.map +1 -1
  180. package/build/screens/search/search_screen.js +10 -2
  181. package/build/screens/search/search_screen.js.map +1 -1
  182. package/build/screens/send_giphy_screen.d.ts +1 -0
  183. package/build/screens/send_giphy_screen.d.ts.map +1 -1
  184. package/build/screens/send_giphy_screen.js +108 -106
  185. package/build/screens/send_giphy_screen.js.map +1 -1
  186. package/build/screens/team_conversation_screen.js +1 -1
  187. package/build/screens/team_conversation_screen.js.map +1 -1
  188. package/build/types/jolt_events/message_events.d.ts +2 -0
  189. package/build/types/jolt_events/message_events.d.ts.map +1 -1
  190. package/build/types/jolt_events/message_events.js.map +1 -1
  191. package/build/types/resources/conversation.d.ts +2 -2
  192. package/build/types/resources/conversation.d.ts.map +1 -1
  193. package/build/types/resources/conversation.js.map +1 -1
  194. package/build/types/resources/member_ability.d.ts +2 -0
  195. package/build/types/resources/member_ability.d.ts.map +1 -1
  196. package/build/types/resources/member_ability.js.map +1 -1
  197. package/build/types/resources/message.d.ts +2 -0
  198. package/build/types/resources/message.d.ts.map +1 -1
  199. package/build/types/resources/message.js.map +1 -1
  200. package/build/types/resources/person.d.ts +1 -0
  201. package/build/types/resources/person.d.ts.map +1 -1
  202. package/build/types/resources/person.js.map +1 -1
  203. package/build/utils/archived_conversation.d.ts +5 -0
  204. package/build/utils/archived_conversation.d.ts.map +1 -0
  205. package/build/utils/archived_conversation.js +5 -0
  206. package/build/utils/archived_conversation.js.map +1 -0
  207. package/build/utils/date.d.ts +1 -0
  208. package/build/utils/date.d.ts.map +1 -1
  209. package/build/utils/date.js +9 -0
  210. package/build/utils/date.js.map +1 -1
  211. package/build/utils/index.d.ts +1 -0
  212. package/build/utils/index.d.ts.map +1 -1
  213. package/build/utils/index.js +1 -0
  214. package/build/utils/index.js.map +1 -1
  215. package/build/utils/jolt/transform_message_event_data_to_message_resource.d.ts.map +1 -1
  216. package/build/utils/jolt/transform_message_event_data_to_message_resource.js +2 -1
  217. package/build/utils/jolt/transform_message_event_data_to_message_resource.js.map +1 -1
  218. package/build/utils/native_adapters/configuration.d.ts +3 -0
  219. package/build/utils/native_adapters/configuration.d.ts.map +1 -1
  220. package/build/utils/native_adapters/configuration.js +3 -0
  221. package/build/utils/native_adapters/configuration.js.map +1 -1
  222. package/build/utils/native_adapters/index.d.ts +1 -0
  223. package/build/utils/native_adapters/index.d.ts.map +1 -1
  224. package/build/utils/native_adapters/index.js +1 -0
  225. package/build/utils/native_adapters/index.js.map +1 -1
  226. package/build/utils/native_adapters/menu.d.ts +41 -0
  227. package/build/utils/native_adapters/menu.d.ts.map +1 -0
  228. package/build/utils/native_adapters/menu.js +56 -0
  229. package/build/utils/native_adapters/menu.js.map +1 -0
  230. package/build/utils/request/conversation.d.ts +2 -1
  231. package/build/utils/request/conversation.d.ts.map +1 -1
  232. package/build/utils/request/conversation.js +4 -1
  233. package/build/utils/request/conversation.js.map +1 -1
  234. package/build/utils/request/messages_data_options.d.ts.map +1 -1
  235. package/build/utils/request/messages_data_options.js +1 -1
  236. package/build/utils/request/messages_data_options.js.map +1 -1
  237. package/build/utils/system_messages.d.ts +7 -5
  238. package/build/utils/system_messages.d.ts.map +1 -1
  239. package/build/utils/system_messages.js +10 -2
  240. package/build/utils/system_messages.js.map +1 -1
  241. package/build/vendor/font_awesome_pro_solid_icons.d.ts +1 -0
  242. package/build/vendor/font_awesome_pro_solid_icons.d.ts.map +1 -1
  243. package/build/vendor/font_awesome_pro_solid_icons.js +5 -0
  244. package/build/vendor/font_awesome_pro_solid_icons.js.map +1 -1
  245. package/package.json +3 -3
  246. package/src/__tests__/hooks/use_can_browse_archived_conversations.test.tsx +98 -0
  247. package/src/__tests__/hooks/use_filter_dropdown_enabled.test.tsx +42 -0
  248. package/src/__tests__/screens/conversation_filters/components/conversation_filters.test.tsx +132 -0
  249. package/src/__tests__/screens/conversation_filters_screen.test.tsx +76 -0
  250. package/src/__tests__/screens/conversation_new/components/services_form.test.tsx +1 -0
  251. package/src/__tests__/screens/message_actions_screen.test.tsx +65 -2
  252. package/src/__tests__/screens/send_giphy_screen.test.tsx +102 -0
  253. package/src/__tests__/utils/system_messages.ts +19 -32
  254. package/src/components/conversation/__tests__/message_list.test.tsx +68 -2
  255. package/src/components/conversation/__tests__/system_message.test.tsx +106 -0
  256. package/src/components/conversation/jump_to_bottom_button.tsx +4 -3
  257. package/src/components/conversation/message.tsx +3 -0
  258. package/src/components/conversation/message_form.tsx +3 -1
  259. package/src/components/conversation/message_list.tsx +9 -1
  260. package/src/components/conversation/message_reaction.tsx +7 -2
  261. package/src/components/conversation/messages_disabled_banners.tsx +17 -18
  262. package/src/components/conversation/system_message.tsx +44 -16
  263. package/src/components/conversations/__tests__/conversation_actions.test.tsx +67 -0
  264. package/src/components/conversations/__tests__/conversation_preview.test.tsx +105 -0
  265. package/src/components/conversations/__tests__/conversations.test.tsx +93 -0
  266. package/src/components/conversations/__tests__/conversations_blank_state.test.tsx +73 -0
  267. package/src/components/conversations/archived_results_footer.tsx +36 -0
  268. package/src/components/conversations/conversation_actions.tsx +27 -19
  269. package/src/components/conversations/conversation_preview.tsx +39 -10
  270. package/src/components/conversations/conversations.tsx +26 -3
  271. package/src/components/conversations/conversations_blank_state.tsx +21 -0
  272. package/src/components/conversations/filtered_results_footer.tsx +38 -0
  273. package/src/components/display/__tests__/filter_dropdown.test.tsx +114 -0
  274. package/src/components/display/__tests__/icon_tile.test.tsx +16 -0
  275. package/src/components/display/action_button.tsx +4 -3
  276. package/src/components/display/filter_dropdown.tsx +124 -0
  277. package/src/components/display/icon_tile.tsx +67 -0
  278. package/src/components/display/index.ts +2 -0
  279. package/src/contexts/api_provider.tsx +8 -0
  280. package/src/contexts/conversations_context.tsx +2 -1
  281. package/src/hooks/__tests__/use_conversation_archive.test.tsx +152 -0
  282. package/src/hooks/__tests__/use_conversation_jolt_events.test.tsx +74 -0
  283. package/src/hooks/__tests__/use_conversation_messages.test.tsx +10 -2
  284. package/src/hooks/__tests__/use_jolt.test.tsx +100 -1
  285. package/src/hooks/__tests__/use_mark_latest_message_read.test.tsx +21 -7
  286. package/src/hooks/__tests__/use_reduce_motion.test.tsx +61 -0
  287. package/src/hooks/__tests__/use_unarchive_conversation_action.test.tsx +67 -0
  288. package/src/hooks/groups/use_group_members_for_new_conversation.ts +21 -16
  289. package/src/hooks/index.ts +3 -0
  290. package/src/hooks/use_animated_message_background_color.ts +6 -3
  291. package/src/hooks/use_api.ts +9 -2
  292. package/src/hooks/use_can_browse_archived_conversations.ts +17 -0
  293. package/src/hooks/use_clear_conversation_filters.ts +16 -0
  294. package/src/hooks/use_conversation.ts +44 -3
  295. package/src/hooks/use_conversation_messages.ts +7 -5
  296. package/src/hooks/use_current_person.ts +1 -0
  297. package/src/hooks/use_features.ts +2 -0
  298. package/src/hooks/use_filter_dropdown_enabled.ts +10 -0
  299. package/src/hooks/use_jolt.ts +57 -1
  300. package/src/hooks/use_manual_archiving_enabled.ts +10 -0
  301. package/src/hooks/use_mark_latest_message_read.ts +4 -3
  302. package/src/hooks/use_reduce_motion.ts +19 -0
  303. package/src/hooks/use_unarchive_conversation_action.ts +24 -0
  304. package/src/screens/__tests__/conversation_details_screen.test.tsx +305 -0
  305. package/src/screens/attachment_actions/__tests__/attachment_actions_screen.test.tsx +72 -0
  306. package/src/screens/attachment_actions/attachment_actions_screen.tsx +3 -1
  307. package/src/screens/conversation_details_screen.tsx +80 -16
  308. package/src/screens/conversation_filters/__tests__/conversation_filters.test.tsx +101 -0
  309. package/src/screens/conversation_filters/components/conversation_filters.tsx +40 -7
  310. package/src/screens/conversation_filters/components/rows.tsx +29 -1
  311. package/src/screens/conversation_filters/context/conversation_filter_context.tsx +4 -0
  312. package/src/screens/conversation_filters/filter_types.ts +1 -0
  313. package/src/screens/conversation_filters/screen_props.ts +1 -0
  314. package/src/screens/conversation_filters_screen.tsx +25 -5
  315. package/src/screens/conversation_new/components/groups_form.tsx +1 -0
  316. package/src/screens/conversation_screen.tsx +4 -2
  317. package/src/screens/conversations/__tests__/conversations_screen.test.tsx +52 -0
  318. package/src/screens/conversations/components/__tests__/filter_dropdown_list_header_component.test.tsx +259 -0
  319. package/src/screens/conversations/components/__tests__/list_header_component.test.tsx +21 -4
  320. package/src/screens/conversations/components/filter_dropdown_list_header_component.tsx +286 -0
  321. package/src/screens/conversations/components/list_header_component.tsx +17 -12
  322. package/src/screens/conversations/components/search_list_header_component.tsx +17 -12
  323. package/src/screens/conversations/conversations_screen.tsx +15 -2
  324. package/src/screens/design_system_screen.tsx +26 -0
  325. package/src/screens/message_actions_screen.tsx +29 -20
  326. package/src/screens/search/__tests__/search_screen.test.tsx +13 -1
  327. package/src/screens/search/search_screen.tsx +8 -2
  328. package/src/screens/send_giphy_screen.tsx +6 -3
  329. package/src/screens/team_conversation_screen.tsx +1 -1
  330. package/src/types/jolt_events/message_events.ts +2 -0
  331. package/src/types/resources/conversation.ts +2 -2
  332. package/src/types/resources/member_ability.ts +2 -0
  333. package/src/types/resources/message.ts +3 -0
  334. package/src/types/resources/person.ts +1 -0
  335. package/src/utils/__tests__/conversation.test.ts +1 -0
  336. package/src/utils/__tests__/date.test.ts +23 -0
  337. package/src/utils/__tests__/group_messages.test.ts +1 -0
  338. package/src/utils/archived_conversation.ts +13 -0
  339. package/src/utils/date.ts +8 -0
  340. package/src/utils/index.ts +1 -0
  341. package/src/utils/jolt/__tests__/transform_message_event_data_to_message_resource.test.ts +35 -0
  342. package/src/utils/jolt/transform_message_event_data_to_message_resource.ts +1 -0
  343. package/src/utils/native_adapters/__tests__/menu.test.tsx +46 -0
  344. package/src/utils/native_adapters/configuration.ts +5 -0
  345. package/src/utils/native_adapters/index.ts +1 -0
  346. package/src/utils/native_adapters/menu.tsx +70 -0
  347. package/src/utils/request/conversation.ts +4 -0
  348. package/src/utils/request/messages_data_options.ts +1 -0
  349. package/src/utils/system_messages.ts +19 -10
  350. package/src/vendor/font_awesome_pro_solid_icons.ts +12 -0
@@ -4,43 +4,37 @@ import React from 'react';
4
4
  import { Pressable, StyleSheet, View } from 'react-native';
5
5
  import Animated from 'react-native-reanimated';
6
6
  import { useAnimatedMessageBackgroundColor, useTheme } from '../../hooks';
7
+ import { formatEventDateTime } from '../../utils/date';
7
8
  import { Haptic } from '../../utils/native_adapters';
8
9
  import { Text } from '../display';
9
10
  import { MessageReaction } from './message_reaction';
10
11
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
11
12
  export function SystemMessage(t0) {
12
- const $ = _c(42);
13
+ const $ = _c(47);
13
14
  const {
14
15
  message,
15
- conversationId
16
+ conversationId,
17
+ conversationDisabled
16
18
  } = t0;
17
19
  const {
18
- reactionCounts,
19
- systemTextParts,
20
- personIdsForSystemEvent
20
+ reactionCounts
21
21
  } = message;
22
- const {
23
- names,
24
- overflowCount,
25
- action
26
- } = systemTextParts;
27
22
  const styles = useStyles();
28
23
  const navigation = useNavigation();
29
24
  const {
30
25
  colors
31
26
  } = useTheme();
32
27
  let t1;
33
- if ($[0] !== action || $[1] !== names || $[2] !== overflowCount) {
34
- t1 = systemMessageText(names, overflowCount, action);
35
- $[0] = action;
36
- $[1] = names;
37
- $[2] = overflowCount;
38
- $[3] = t1;
28
+ if ($[0] !== message) {
29
+ t1 = systemMessageText(message);
30
+ $[0] = message;
31
+ $[1] = t1;
39
32
  } else {
40
- t1 = $[3];
33
+ t1 = $[1];
41
34
  }
42
35
  const text = t1;
43
- const isTruncated = overflowCount > 0;
36
+ const isTruncated = message.systemTextFormat === "people" && message.systemTextParts.overflowCount > 0;
37
+ const pressable = isTruncated || !conversationDisabled;
44
38
  const hasReactions = reactionCounts.length > 0;
45
39
  const {
46
40
  animatedBackgroundColor,
@@ -48,23 +42,27 @@ export function SystemMessage(t0) {
48
42
  handleMessagePressOut
49
43
  } = useAnimatedMessageBackgroundColor();
50
44
  let t2;
51
- if ($[4] !== conversationId || $[5] !== navigation || $[6] !== personIdsForSystemEvent) {
45
+ if ($[2] !== conversationId || $[3] !== message.personIdsForSystemEvent || $[4] !== message.systemTextFormat || $[5] !== navigation) {
52
46
  t2 = () => {
47
+ if (message.systemTextFormat !== "people") {
48
+ return;
49
+ }
53
50
  navigation.navigate("SystemMessagePeople", {
54
51
  conversation_id: conversationId,
55
- person_ids: personIdsForSystemEvent
52
+ person_ids: message.personIdsForSystemEvent
56
53
  });
57
54
  };
58
- $[4] = conversationId;
55
+ $[2] = conversationId;
56
+ $[3] = message.personIdsForSystemEvent;
57
+ $[4] = message.systemTextFormat;
59
58
  $[5] = navigation;
60
- $[6] = personIdsForSystemEvent;
61
- $[7] = t2;
59
+ $[6] = t2;
62
60
  } else {
63
- t2 = $[7];
61
+ t2 = $[6];
64
62
  }
65
63
  const handlePress = t2;
66
64
  let t3;
67
- if ($[8] !== conversationId || $[9] !== message.id || $[10] !== navigation) {
65
+ if ($[7] !== conversationId || $[8] !== message.id || $[9] !== navigation) {
68
66
  t3 = () => {
69
67
  Haptic.impactLight();
70
68
  navigation.navigate("MessageActions", {
@@ -73,16 +71,16 @@ export function SystemMessage(t0) {
73
71
  isSystemMessage: true
74
72
  });
75
73
  };
76
- $[8] = conversationId;
77
- $[9] = message.id;
78
- $[10] = navigation;
79
- $[11] = t3;
74
+ $[7] = conversationId;
75
+ $[8] = message.id;
76
+ $[9] = navigation;
77
+ $[10] = t3;
80
78
  } else {
81
- t3 = $[11];
79
+ t3 = $[10];
82
80
  }
83
81
  const handleLongPress = t3;
84
82
  let t4;
85
- if ($[12] !== conversationId || $[13] !== message.id || $[14] !== navigation) {
83
+ if ($[11] !== conversationId || $[12] !== message.id || $[13] !== navigation) {
86
84
  t4 = reaction => {
87
85
  Haptic.impactLight();
88
86
  navigation.navigate("Reactions", {
@@ -91,109 +89,144 @@ export function SystemMessage(t0) {
91
89
  reaction_value: reaction.value
92
90
  });
93
91
  };
94
- $[12] = conversationId;
95
- $[13] = message.id;
96
- $[14] = navigation;
97
- $[15] = t4;
92
+ $[11] = conversationId;
93
+ $[12] = message.id;
94
+ $[13] = navigation;
95
+ $[14] = t4;
98
96
  } else {
99
- t4 = $[15];
97
+ t4 = $[14];
100
98
  }
101
99
  const handleReactionLongPress = t4;
102
100
  const t5 = isTruncated ? handlePress : undefined;
103
- let t6;
104
- if ($[16] !== colors.androidRippleNeutral) {
105
- t6 = {
101
+ const t6 = conversationDisabled ? undefined : handleLongPress;
102
+ const t7 = pressable ? handleMessagePressIn : undefined;
103
+ const t8 = pressable ? handleMessagePressOut : undefined;
104
+ let t9;
105
+ if ($[15] !== colors || $[16] !== pressable) {
106
+ t9 = pressable ? {
106
107
  color: colors.androidRippleNeutral,
107
108
  borderless: false,
108
109
  foreground: true
109
- };
110
- $[16] = colors.androidRippleNeutral;
111
- $[17] = t6;
110
+ } : undefined;
111
+ $[15] = colors;
112
+ $[16] = pressable;
113
+ $[17] = t9;
112
114
  } else {
113
- t6 = $[17];
115
+ t9 = $[17];
114
116
  }
115
- const t7 = isTruncated ? "Tap to see people. Long press for message actions." : "Long press for message actions.";
116
- let t8;
117
- if ($[18] !== animatedBackgroundColor || $[19] !== styles.container) {
118
- t8 = [styles.container, animatedBackgroundColor];
119
- $[18] = animatedBackgroundColor;
120
- $[19] = styles.container;
121
- $[20] = t8;
117
+ const t10 = pressable ? "button" : undefined;
118
+ let t11;
119
+ if ($[18] !== conversationDisabled || $[19] !== isTruncated) {
120
+ t11 = systemMessageHint(isTruncated, conversationDisabled);
121
+ $[18] = conversationDisabled;
122
+ $[19] = isTruncated;
123
+ $[20] = t11;
122
124
  } else {
123
- t8 = $[20];
125
+ t11 = $[20];
124
126
  }
125
- let t9;
126
- if ($[21] !== styles.text || $[22] !== text) {
127
- t9 = /*#__PURE__*/_jsx(Text, {
127
+ let t12;
128
+ if ($[21] !== animatedBackgroundColor || $[22] !== styles.container) {
129
+ t12 = [styles.container, animatedBackgroundColor];
130
+ $[21] = animatedBackgroundColor;
131
+ $[22] = styles.container;
132
+ $[23] = t12;
133
+ } else {
134
+ t12 = $[23];
135
+ }
136
+ let t13;
137
+ if ($[24] !== styles.text || $[25] !== text) {
138
+ t13 = /*#__PURE__*/_jsx(Text, {
128
139
  variant: "tertiary",
129
140
  style: styles.text,
130
141
  children: text
131
142
  });
132
- $[21] = styles.text;
133
- $[22] = text;
134
- $[23] = t9;
143
+ $[24] = styles.text;
144
+ $[25] = text;
145
+ $[26] = t13;
135
146
  } else {
136
- t9 = $[23];
147
+ t13 = $[26];
137
148
  }
138
- let t10;
139
- if ($[24] !== conversationId || $[25] !== handleReactionLongPress || $[26] !== hasReactions || $[27] !== message || $[28] !== styles.reactions) {
140
- t10 = hasReactions && /*#__PURE__*/_jsx(View, {
149
+ let t14;
150
+ if ($[27] !== conversationDisabled || $[28] !== conversationId || $[29] !== handleReactionLongPress || $[30] !== hasReactions || $[31] !== message || $[32] !== styles.reactions) {
151
+ t14 = hasReactions && /*#__PURE__*/_jsx(View, {
141
152
  style: styles.reactions,
142
153
  children: message.reactionCounts.map(reaction_0 => /*#__PURE__*/_jsx(MessageReaction, {
143
154
  reaction: reaction_0,
144
155
  onLongPress: handleReactionLongPress,
145
156
  message: message,
146
- conversationId: conversationId
157
+ conversationId: conversationId,
158
+ disabled: conversationDisabled
147
159
  }, reaction_0.value))
148
160
  });
149
- $[24] = conversationId;
150
- $[25] = handleReactionLongPress;
151
- $[26] = hasReactions;
152
- $[27] = message;
153
- $[28] = styles.reactions;
154
- $[29] = t10;
161
+ $[27] = conversationDisabled;
162
+ $[28] = conversationId;
163
+ $[29] = handleReactionLongPress;
164
+ $[30] = hasReactions;
165
+ $[31] = message;
166
+ $[32] = styles.reactions;
167
+ $[33] = t14;
155
168
  } else {
156
- t10 = $[29];
169
+ t14 = $[33];
157
170
  }
158
- let t11;
159
- if ($[30] !== t10 || $[31] !== t8 || $[32] !== t9) {
160
- t11 = /*#__PURE__*/_jsxs(Animated.View, {
161
- style: t8,
162
- children: [t9, t10]
171
+ let t15;
172
+ if ($[34] !== t12 || $[35] !== t13 || $[36] !== t14) {
173
+ t15 = /*#__PURE__*/_jsxs(Animated.View, {
174
+ style: t12,
175
+ children: [t13, t14]
163
176
  });
164
- $[30] = t10;
165
- $[31] = t8;
166
- $[32] = t9;
167
- $[33] = t11;
177
+ $[34] = t12;
178
+ $[35] = t13;
179
+ $[36] = t14;
180
+ $[37] = t15;
168
181
  } else {
169
- t11 = $[33];
182
+ t15 = $[37];
170
183
  }
171
- let t12;
172
- if ($[34] !== handleLongPress || $[35] !== handleMessagePressIn || $[36] !== handleMessagePressOut || $[37] !== t11 || $[38] !== t5 || $[39] !== t6 || $[40] !== t7) {
173
- t12 = /*#__PURE__*/_jsx(Pressable, {
184
+ let t16;
185
+ if ($[38] !== t10 || $[39] !== t11 || $[40] !== t15 || $[41] !== t5 || $[42] !== t6 || $[43] !== t7 || $[44] !== t8 || $[45] !== t9) {
186
+ t16 = /*#__PURE__*/_jsx(Pressable, {
174
187
  onPress: t5,
175
- onLongPress: handleLongPress,
176
- onPressIn: handleMessagePressIn,
177
- onPressOut: handleMessagePressOut,
178
- android_ripple: t6,
179
- accessibilityRole: "button",
180
- accessibilityHint: t7,
181
- children: t11
188
+ onLongPress: t6,
189
+ onPressIn: t7,
190
+ onPressOut: t8,
191
+ android_ripple: t9,
192
+ accessibilityRole: t10,
193
+ accessibilityHint: t11,
194
+ children: t15
182
195
  });
183
- $[34] = handleLongPress;
184
- $[35] = handleMessagePressIn;
185
- $[36] = handleMessagePressOut;
186
- $[37] = t11;
187
- $[38] = t5;
188
- $[39] = t6;
189
- $[40] = t7;
190
- $[41] = t12;
196
+ $[38] = t10;
197
+ $[39] = t11;
198
+ $[40] = t15;
199
+ $[41] = t5;
200
+ $[42] = t6;
201
+ $[43] = t7;
202
+ $[44] = t8;
203
+ $[45] = t9;
204
+ $[46] = t16;
191
205
  } else {
192
- t12 = $[41];
206
+ t16 = $[46];
207
+ }
208
+ return t16;
209
+ }
210
+ function systemMessageHint(isTruncated, conversationDisabled) {
211
+ if (conversationDisabled) return isTruncated ? 'Tap to see people.' : undefined;
212
+ return isTruncated ? 'Tap to see people. Long press for message actions.' : 'Long press for message actions.';
213
+ }
214
+ function systemMessageText(message) {
215
+ switch (message.systemTextFormat) {
216
+ case 'people':
217
+ {
218
+ const {
219
+ names,
220
+ overflowCount,
221
+ action
222
+ } = message.systemTextParts;
223
+ return peopleSystemMessageText(names, overflowCount, action);
224
+ }
225
+ case 'actor':
226
+ return `${message.text} on ${formatEventDateTime(message.createdAt)}`;
193
227
  }
194
- return t12;
195
228
  }
196
- function systemMessageText(names, overflowCount, action) {
229
+ function peopleSystemMessageText(names, overflowCount, action) {
197
230
  if (overflowCount > 0) {
198
231
  const overflowLabel = `${overflowCount} ${overflowCount === 1 ? 'other' : 'others'}`;
199
232
  return `${names.join(', ')}, and ${overflowLabel} ${action}`;
@@ -1 +1 @@
1
- {"version":3,"file":"system_message.js","names":["useNavigation","React","Pressable","StyleSheet","View","Animated","useAnimatedMessageBackgroundColor","useTheme","Haptic","Text","MessageReaction","jsx","_jsx","jsxs","_jsxs","SystemMessage","t0","$","_c","message","conversationId","reactionCounts","systemTextParts","personIdsForSystemEvent","names","overflowCount","action","styles","useStyles","navigation","colors","t1","systemMessageText","text","isTruncated","hasReactions","length","animatedBackgroundColor","handleMessagePressIn","handleMessagePressOut","t2","navigate","conversation_id","person_ids","handlePress","t3","id","impactLight","message_id","isSystemMessage","handleLongPress","t4","reaction","reaction_value","value","handleReactionLongPress","t5","undefined","t6","androidRippleNeutral","color","borderless","foreground","t7","t8","container","t9","variant","style","children","t10","reactions","map","reaction_0","t11","t12","onPress","android_ripple","accessibilityRole","accessibilityHint","overflowLabel","join","textColorDefaultSecondary","create","paddingVertical","paddingHorizontal","alignItems","textAlign","flexDirection","flexWrap","justifyContent","gap","marginTop"],"sources":["../../../src/components/conversation/system_message.tsx"],"sourcesContent":["import { useNavigation } from '@react-navigation/native'\nimport React from 'react'\nimport { Pressable, StyleSheet, View } from 'react-native'\nimport Animated from 'react-native-reanimated'\nimport { useAnimatedMessageBackgroundColor, useTheme } from '../../hooks'\nimport { ReactionCountResource } from '../../types/resources/reaction'\nimport { Haptic } from '../../utils/native_adapters'\nimport { SystemMessageResource } from '../../utils/system_messages'\nimport { Text } from '../display'\nimport { MessageReaction } from './message_reaction'\n\ninterface SystemMessageProps {\n message: SystemMessageResource\n conversationId: number\n}\n\nexport function SystemMessage({ message, conversationId }: SystemMessageProps) {\n const { reactionCounts, systemTextParts, personIdsForSystemEvent } = message\n const { names, overflowCount, action } = systemTextParts\n const styles = useStyles()\n const navigation = useNavigation()\n const { colors } = useTheme()\n const text = systemMessageText(names, overflowCount, action)\n const isTruncated = overflowCount > 0\n const hasReactions = reactionCounts.length > 0\n const { animatedBackgroundColor, handleMessagePressIn, handleMessagePressOut } =\n useAnimatedMessageBackgroundColor()\n\n const handlePress = () => {\n navigation.navigate('SystemMessagePeople', {\n conversation_id: conversationId,\n person_ids: personIdsForSystemEvent,\n })\n }\n\n const handleLongPress = () => {\n Haptic.impactLight()\n navigation.navigate('MessageActions', {\n message_id: message.id,\n conversation_id: conversationId,\n isSystemMessage: true,\n })\n }\n\n const handleReactionLongPress = (reaction: ReactionCountResource) => {\n Haptic.impactLight()\n navigation.navigate('Reactions', {\n message_id: message.id,\n conversation_id: conversationId,\n reaction_value: reaction.value,\n })\n }\n\n return (\n <Pressable\n onPress={isTruncated ? handlePress : undefined}\n onLongPress={handleLongPress}\n onPressIn={handleMessagePressIn}\n onPressOut={handleMessagePressOut}\n android_ripple={{ color: colors.androidRippleNeutral, borderless: false, foreground: true }}\n accessibilityRole=\"button\"\n accessibilityHint={\n isTruncated\n ? 'Tap to see people. Long press for message actions.'\n : 'Long press for message actions.'\n }\n >\n <Animated.View style={[styles.container, animatedBackgroundColor]}>\n <Text variant=\"tertiary\" style={styles.text}>\n {text}\n </Text>\n {hasReactions && (\n <View style={styles.reactions}>\n {message.reactionCounts.map(reaction => (\n <MessageReaction\n key={reaction.value}\n reaction={reaction}\n onLongPress={handleReactionLongPress}\n message={message}\n conversationId={conversationId}\n />\n ))}\n </View>\n )}\n </Animated.View>\n </Pressable>\n )\n}\n\nfunction systemMessageText(names: string[], overflowCount: number, action: string): string {\n if (overflowCount > 0) {\n const overflowLabel = `${overflowCount} ${overflowCount === 1 ? 'other' : 'others'}`\n return `${names.join(', ')}, and ${overflowLabel} ${action}`\n }\n\n switch (names.length) {\n case 0:\n return `Someone ${action}`\n case 1:\n return `${names[0]} ${action}`\n case 2:\n return `${names[0]} and ${names[1]} ${action}`\n // Backend guarantees names.length <= 3 when overflowCount is 0;\n // overflow branch handles 4+ people.\n default:\n return `${names[0]}, ${names[1]}, and ${names[2]} ${action}`\n }\n}\n\nconst useStyles = () => {\n const { colors } = useTheme()\n return StyleSheet.create({\n container: {\n paddingVertical: 12,\n paddingHorizontal: 16,\n alignItems: 'center',\n },\n text: {\n color: colors.textColorDefaultSecondary,\n textAlign: 'center',\n },\n reactions: {\n flexDirection: 'row',\n flexWrap: 'wrap',\n justifyContent: 'center',\n gap: 4,\n marginTop: 8,\n },\n })\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"system_message.js","names":["useNavigation","React","Pressable","StyleSheet","View","Animated","useAnimatedMessageBackgroundColor","useTheme","formatEventDateTime","Haptic","Text","MessageReaction","jsx","_jsx","jsxs","_jsxs","SystemMessage","t0","$","_c","message","conversationId","conversationDisabled","reactionCounts","styles","useStyles","navigation","colors","t1","systemMessageText","text","isTruncated","systemTextFormat","systemTextParts","overflowCount","pressable","hasReactions","length","animatedBackgroundColor","handleMessagePressIn","handleMessagePressOut","t2","personIdsForSystemEvent","navigate","conversation_id","person_ids","handlePress","t3","id","impactLight","message_id","isSystemMessage","handleLongPress","t4","reaction","reaction_value","value","handleReactionLongPress","t5","undefined","t6","t7","t8","t9","color","androidRippleNeutral","borderless","foreground","t10","t11","systemMessageHint","t12","container","t13","variant","style","children","t14","reactions","map","reaction_0","t15","t16","onPress","onLongPress","onPressIn","onPressOut","android_ripple","accessibilityRole","accessibilityHint","names","action","peopleSystemMessageText","createdAt","overflowLabel","join","textColorDefaultSecondary","create","paddingVertical","paddingHorizontal","alignItems","textAlign","flexDirection","flexWrap","justifyContent","gap","marginTop"],"sources":["../../../src/components/conversation/system_message.tsx"],"sourcesContent":["import { useNavigation } from '@react-navigation/native'\nimport React from 'react'\nimport { Pressable, StyleSheet, View } from 'react-native'\nimport Animated from 'react-native-reanimated'\nimport { useAnimatedMessageBackgroundColor, useTheme } from '../../hooks'\nimport { ReactionCountResource } from '../../types/resources/reaction'\nimport { formatEventDateTime } from '../../utils/date'\nimport { Haptic } from '../../utils/native_adapters'\nimport { SystemMessageResource } from '../../utils/system_messages'\nimport { Text } from '../display'\nimport { MessageReaction } from './message_reaction'\n\ninterface SystemMessageProps {\n message: SystemMessageResource\n conversationId: number\n conversationDisabled: boolean\n}\n\nexport function SystemMessage({\n message,\n conversationId,\n conversationDisabled,\n}: SystemMessageProps) {\n const { reactionCounts } = message\n const styles = useStyles()\n const navigation = useNavigation()\n const { colors } = useTheme()\n const text = systemMessageText(message)\n const isTruncated =\n message.systemTextFormat === 'people' && message.systemTextParts.overflowCount > 0\n const pressable = isTruncated || !conversationDisabled\n const hasReactions = reactionCounts.length > 0\n const { animatedBackgroundColor, handleMessagePressIn, handleMessagePressOut } =\n useAnimatedMessageBackgroundColor()\n\n const handlePress = () => {\n if (message.systemTextFormat !== 'people') return\n\n navigation.navigate('SystemMessagePeople', {\n conversation_id: conversationId,\n person_ids: message.personIdsForSystemEvent,\n })\n }\n\n const handleLongPress = () => {\n Haptic.impactLight()\n navigation.navigate('MessageActions', {\n message_id: message.id,\n conversation_id: conversationId,\n isSystemMessage: true,\n })\n }\n\n const handleReactionLongPress = (reaction: ReactionCountResource) => {\n Haptic.impactLight()\n navigation.navigate('Reactions', {\n message_id: message.id,\n conversation_id: conversationId,\n reaction_value: reaction.value,\n })\n }\n\n return (\n <Pressable\n onPress={isTruncated ? handlePress : undefined}\n onLongPress={conversationDisabled ? undefined : handleLongPress}\n onPressIn={pressable ? handleMessagePressIn : undefined}\n onPressOut={pressable ? handleMessagePressOut : undefined}\n android_ripple={\n pressable\n ? { color: colors.androidRippleNeutral, borderless: false, foreground: true }\n : undefined\n }\n accessibilityRole={pressable ? 'button' : undefined}\n accessibilityHint={systemMessageHint(isTruncated, conversationDisabled)}\n >\n <Animated.View style={[styles.container, animatedBackgroundColor]}>\n <Text variant=\"tertiary\" style={styles.text}>\n {text}\n </Text>\n {hasReactions && (\n <View style={styles.reactions}>\n {message.reactionCounts.map(reaction => (\n <MessageReaction\n key={reaction.value}\n reaction={reaction}\n onLongPress={handleReactionLongPress}\n message={message}\n conversationId={conversationId}\n disabled={conversationDisabled}\n />\n ))}\n </View>\n )}\n </Animated.View>\n </Pressable>\n )\n}\n\nfunction systemMessageHint(isTruncated: boolean, conversationDisabled: boolean) {\n if (conversationDisabled) return isTruncated ? 'Tap to see people.' : undefined\n return isTruncated\n ? 'Tap to see people. Long press for message actions.'\n : 'Long press for message actions.'\n}\n\nfunction systemMessageText(message: SystemMessageResource): string {\n switch (message.systemTextFormat) {\n case 'people': {\n const { names, overflowCount, action } = message.systemTextParts\n return peopleSystemMessageText(names, overflowCount, action)\n }\n case 'actor':\n return `${message.text} on ${formatEventDateTime(message.createdAt)}`\n }\n}\n\nfunction peopleSystemMessageText(names: string[], overflowCount: number, action: string): string {\n if (overflowCount > 0) {\n const overflowLabel = `${overflowCount} ${overflowCount === 1 ? 'other' : 'others'}`\n return `${names.join(', ')}, and ${overflowLabel} ${action}`\n }\n\n switch (names.length) {\n case 0:\n return `Someone ${action}`\n case 1:\n return `${names[0]} ${action}`\n case 2:\n return `${names[0]} and ${names[1]} ${action}`\n // Backend guarantees names.length <= 3 when overflowCount is 0;\n // overflow branch handles 4+ people.\n default:\n return `${names[0]}, ${names[1]}, and ${names[2]} ${action}`\n }\n}\n\nconst useStyles = () => {\n const { colors } = useTheme()\n return StyleSheet.create({\n container: {\n paddingVertical: 12,\n paddingHorizontal: 16,\n alignItems: 'center',\n },\n text: {\n color: colors.textColorDefaultSecondary,\n textAlign: 'center',\n },\n reactions: {\n flexDirection: 'row',\n flexWrap: 'wrap',\n justifyContent: 'center',\n gap: 4,\n marginTop: 8,\n },\n })\n}\n"],"mappings":";AAAA,SAASA,aAAa,QAAQ,0BAA0B;AACxD,OAAOC,KAAK,MAAM,OAAO;AACzB,SAASC,SAAS,EAAEC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAC1D,OAAOC,QAAQ,MAAM,yBAAyB;AAC9C,SAASC,iCAAiC,EAAEC,QAAQ,QAAQ,aAAa;AAEzE,SAASC,mBAAmB,QAAQ,kBAAkB;AACtD,SAASC,MAAM,QAAQ,6BAA6B;AAEpD,SAASC,IAAI,QAAQ,YAAY;AACjC,SAASC,eAAe,QAAQ,oBAAoB;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAQpD,OAAO,SAAAC,cAAAC,EAAA;EAAA,MAAAC,CAAA,GAAAC,EAAA;EAAuB;IAAAC,OAAA;IAAAC,cAAA;IAAAC;EAAA,IAAAL,EAIT;EACnB;IAAAM;EAAA,IAA2BH,OAAO;EAClC,MAAAI,MAAA,GAAeC,SAAS,CAAC,CAAC;EAC1B,MAAAC,UAAA,GAAmB1B,aAAa,CAAC,CAAC;EAClC;IAAA2B;EAAA,IAAmBpB,QAAQ,CAAC,CAAC;EAAA,IAAAqB,EAAA;EAAA,IAAAV,CAAA,QAAAE,OAAA;IAChBQ,EAAA,GAAAC,iBAAiB,CAACT,OAAO,CAAC;IAAAF,CAAA,MAAAE,OAAA;IAAAF,CAAA,MAAAU,EAAA;EAAA;IAAAA,EAAA,GAAAV,CAAA;EAAA;EAAvC,MAAAY,IAAA,GAAaF,EAA0B;EACvC,MAAAG,WAAA,GACEX,OAAO,CAAAY,gBAAiB,KAAK,QAAqD,IAAzCZ,OAAO,CAAAa,eAAgB,CAAAC,aAAc,GAAG,CAAC;EACpF,MAAAC,SAAA,GAAkBJ,WAAoC,IAApC,CAAgBT,oBAAoB;EACtD,MAAAc,YAAA,GAAqBb,cAAc,CAAAc,MAAO,GAAG,CAAC;EAC9C;IAAAC,uBAAA;IAAAC,oBAAA;IAAAC;EAAA,IACElC,iCAAiC,CAAC,CAAC;EAAA,IAAAmC,EAAA;EAAA,IAAAvB,CAAA,QAAAG,cAAA,IAAAH,CAAA,QAAAE,OAAA,CAAAsB,uBAAA,IAAAxB,CAAA,QAAAE,OAAA,CAAAY,gBAAA,IAAAd,CAAA,QAAAQ,UAAA;IAEjBe,EAAA,GAAAA,CAAA;MAClB,IAAIrB,OAAO,CAAAY,gBAAiB,KAAK,QAAQ;QAAA;MAAA;MAEzCN,UAAU,CAAAiB,QAAS,CAAC,qBAAqB,EAAE;QAAAC,eAAA,EACxBvB,cAAc;QAAAwB,UAAA,EACnBzB,OAAO,CAAAsB;MACrB,CAAC,CAAC;IAAA,CACH;IAAAxB,CAAA,MAAAG,cAAA;IAAAH,CAAA,MAAAE,OAAA,CAAAsB,uBAAA;IAAAxB,CAAA,MAAAE,OAAA,CAAAY,gBAAA;IAAAd,CAAA,MAAAQ,UAAA;IAAAR,CAAA,MAAAuB,EAAA;EAAA;IAAAA,EAAA,GAAAvB,CAAA;EAAA;EAPD,MAAA4B,WAAA,GAAoBL,EAOnB;EAAA,IAAAM,EAAA;EAAA,IAAA7B,CAAA,QAAAG,cAAA,IAAAH,CAAA,QAAAE,OAAA,CAAA4B,EAAA,IAAA9B,CAAA,QAAAQ,UAAA;IAEuBqB,EAAA,GAAAA,CAAA;MACtBtC,MAAM,CAAAwC,WAAY,CAAC,CAAC;MACpBvB,UAAU,CAAAiB,QAAS,CAAC,gBAAgB,EAAE;QAAAO,UAAA,EACxB9B,OAAO,CAAA4B,EAAG;QAAAJ,eAAA,EACLvB,cAAc;QAAA8B,eAAA,EACd;MACnB,CAAC,CAAC;IAAA,CACH;IAAAjC,CAAA,MAAAG,cAAA;IAAAH,CAAA,MAAAE,OAAA,CAAA4B,EAAA;IAAA9B,CAAA,MAAAQ,UAAA;IAAAR,CAAA,OAAA6B,EAAA;EAAA;IAAAA,EAAA,GAAA7B,CAAA;EAAA;EAPD,MAAAkC,eAAA,GAAwBL,EAOvB;EAAA,IAAAM,EAAA;EAAA,IAAAnC,CAAA,SAAAG,cAAA,IAAAH,CAAA,SAAAE,OAAA,CAAA4B,EAAA,IAAA9B,CAAA,SAAAQ,UAAA;IAE+B2B,EAAA,GAAAC,QAAA;MAC9B7C,MAAM,CAAAwC,WAAY,CAAC,CAAC;MACpBvB,UAAU,CAAAiB,QAAS,CAAC,WAAW,EAAE;QAAAO,UAAA,EACnB9B,OAAO,CAAA4B,EAAG;QAAAJ,eAAA,EACLvB,cAAc;QAAAkC,cAAA,EACfD,QAAQ,CAAAE;MAC1B,CAAC,CAAC;IAAA,CACH;IAAAtC,CAAA,OAAAG,cAAA;IAAAH,CAAA,OAAAE,OAAA,CAAA4B,EAAA;IAAA9B,CAAA,OAAAQ,UAAA;IAAAR,CAAA,OAAAmC,EAAA;EAAA;IAAAA,EAAA,GAAAnC,CAAA;EAAA;EAPD,MAAAuC,uBAAA,GAAgCJ,EAO/B;EAIY,MAAAK,EAAA,GAAA3B,WAAW,GAAXe,WAAqC,GAArCa,SAAqC;EACjC,MAAAC,EAAA,GAAAtC,oBAAoB,GAApBqC,SAAkD,GAAlDP,eAAkD;EACpD,MAAAS,EAAA,GAAA1B,SAAS,GAATI,oBAA4C,GAA5CoB,SAA4C;EAC3C,MAAAG,EAAA,GAAA3B,SAAS,GAATK,qBAA6C,GAA7CmB,SAA6C;EAAA,IAAAI,EAAA;EAAA,IAAA7C,CAAA,SAAAS,MAAA,IAAAT,CAAA,SAAAiB,SAAA;IAEvD4B,EAAA,GAAA5B,SAAS,GAAT;MAAA6B,KAAA,EACarC,MAAM,CAAAsC,oBAAqB;MAAAC,UAAA,EAAc,KAAK;MAAAC,UAAA,EAAc;IAC7D,CAAC,GAFbR,SAEa;IAAAzC,CAAA,OAAAS,MAAA;IAAAT,CAAA,OAAAiB,SAAA;IAAAjB,CAAA,OAAA6C,EAAA;EAAA;IAAAA,EAAA,GAAA7C,CAAA;EAAA;EAEI,MAAAkD,GAAA,GAAAjC,SAAS,GAAT,QAAgC,GAAhCwB,SAAgC;EAAA,IAAAU,GAAA;EAAA,IAAAnD,CAAA,SAAAI,oBAAA,IAAAJ,CAAA,SAAAa,WAAA;IAChCsC,GAAA,GAAAC,iBAAiB,CAACvC,WAAW,EAAET,oBAAoB,CAAC;IAAAJ,CAAA,OAAAI,oBAAA;IAAAJ,CAAA,OAAAa,WAAA;IAAAb,CAAA,OAAAmD,GAAA;EAAA;IAAAA,GAAA,GAAAnD,CAAA;EAAA;EAAA,IAAAqD,GAAA;EAAA,IAAArD,CAAA,SAAAoB,uBAAA,IAAApB,CAAA,SAAAM,MAAA,CAAAgD,SAAA;IAEjDD,GAAA,IAAC/C,MAAM,CAAAgD,SAAU,EAAElC,uBAAuB,CAAC;IAAApB,CAAA,OAAAoB,uBAAA;IAAApB,CAAA,OAAAM,MAAA,CAAAgD,SAAA;IAAAtD,CAAA,OAAAqD,GAAA;EAAA;IAAAA,GAAA,GAAArD,CAAA;EAAA;EAAA,IAAAuD,GAAA;EAAA,IAAAvD,CAAA,SAAAM,MAAA,CAAAM,IAAA,IAAAZ,CAAA,SAAAY,IAAA;IAC/D2C,GAAA,gBAAA5D,IAAA,CAACH,IAAI;MAASgE,OAAU,EAAV,UAAU;MAAQC,KAAW,EAAXnD,MAAM,CAAAM,IAAK;MAAA8C,QAAA,EACxC9C;IAAI,CACD,CAAC;IAAAZ,CAAA,OAAAM,MAAA,CAAAM,IAAA;IAAAZ,CAAA,OAAAY,IAAA;IAAAZ,CAAA,OAAAuD,GAAA;EAAA;IAAAA,GAAA,GAAAvD,CAAA;EAAA;EAAA,IAAA2D,GAAA;EAAA,IAAA3D,CAAA,SAAAI,oBAAA,IAAAJ,CAAA,SAAAG,cAAA,IAAAH,CAAA,SAAAuC,uBAAA,IAAAvC,CAAA,SAAAkB,YAAA,IAAAlB,CAAA,SAAAE,OAAA,IAAAF,CAAA,SAAAM,MAAA,CAAAsD,SAAA;IACND,GAAA,GAAAzC,YAaA,iBAbAvB,IAAA,CACET,IAAI;MAAQuE,KAAgB,EAAhBnD,MAAM,CAAAsD,SAAU;MAAAF,QAAA,EAC1BxD,OAAO,CAAAG,cAAe,CAAAwD,GAAI,CAACC,UAAA,iBAC1BnE,IAAA,CAACF,eAAe;QAEJ2C,QAAQ,EAARA,UAAQ;QACLG,WAAuB,EAAvBA,uBAAuB;QAC3BrC,OAAO,EAAPA,OAAO;QACAC,cAAc,EAAdA,cAAc;QACpBC,QAAoB,EAApBA;MAAoB,GALzBgC,UAAQ,CAAAE,KAMd,CACF;IAAC,CAEN,CAAC;IAAAtC,CAAA,OAAAI,oBAAA;IAAAJ,CAAA,OAAAG,cAAA;IAAAH,CAAA,OAAAuC,uBAAA;IAAAvC,CAAA,OAAAkB,YAAA;IAAAlB,CAAA,OAAAE,OAAA;IAAAF,CAAA,OAAAM,MAAA,CAAAsD,SAAA;IAAA5D,CAAA,OAAA2D,GAAA;EAAA;IAAAA,GAAA,GAAA3D,CAAA;EAAA;EAAA,IAAA+D,GAAA;EAAA,IAAA/D,CAAA,SAAAqD,GAAA,IAAArD,CAAA,SAAAuD,GAAA,IAAAvD,CAAA,SAAA2D,GAAA;IAjBHI,GAAA,gBAAAlE,KAAA,CAAAV,QAAA,CAAAD,IAAA;MAAsBuE,KAA2C,EAA3CJ,GAA2C;MAAAK,QAAA,GAC/DH,GAEO,EACNI,GAaA;IAAA,CACY,CAAC;IAAA3D,CAAA,OAAAqD,GAAA;IAAArD,CAAA,OAAAuD,GAAA;IAAAvD,CAAA,OAAA2D,GAAA;IAAA3D,CAAA,OAAA+D,GAAA;EAAA;IAAAA,GAAA,GAAA/D,CAAA;EAAA;EAAA,IAAAgE,GAAA;EAAA,IAAAhE,CAAA,SAAAkD,GAAA,IAAAlD,CAAA,SAAAmD,GAAA,IAAAnD,CAAA,SAAA+D,GAAA,IAAA/D,CAAA,SAAAwC,EAAA,IAAAxC,CAAA,SAAA0C,EAAA,IAAA1C,CAAA,SAAA2C,EAAA,IAAA3C,CAAA,SAAA4C,EAAA,IAAA5C,CAAA,SAAA6C,EAAA;IA/BlBmB,GAAA,gBAAArE,IAAA,CAACX,SAAS;MACCiF,OAAqC,EAArCzB,EAAqC;MACjC0B,WAAkD,EAAlDxB,EAAkD;MACpDyB,SAA4C,EAA5CxB,EAA4C;MAC3CyB,UAA6C,EAA7CxB,EAA6C;MAEvDyB,cAEa,EAFbxB,EAEa;MAEIyB,iBAAgC,EAAhCpB,GAAgC;MAChCqB,iBAAoD,EAApDpB,GAAoD;MAAAO,QAAA,EAEvEK;IAkBgB,CACP,CAAC;IAAA/D,CAAA,OAAAkD,GAAA;IAAAlD,CAAA,OAAAmD,GAAA;IAAAnD,CAAA,OAAA+D,GAAA;IAAA/D,CAAA,OAAAwC,EAAA;IAAAxC,CAAA,OAAA0C,EAAA;IAAA1C,CAAA,OAAA2C,EAAA;IAAA3C,CAAA,OAAA4C,EAAA;IAAA5C,CAAA,OAAA6C,EAAA;IAAA7C,CAAA,OAAAgE,GAAA;EAAA;IAAAA,GAAA,GAAAhE,CAAA;EAAA;EAAA,OAhCZgE,GAgCY;AAAA;AAIhB,SAASZ,iBAAiBA,CAACvC,WAAoB,EAAET,oBAA6B,EAAE;EAC9E,IAAIA,oBAAoB,EAAE,OAAOS,WAAW,GAAG,oBAAoB,GAAG4B,SAAS;EAC/E,OAAO5B,WAAW,GACd,oDAAoD,GACpD,iCAAiC;AACvC;AAEA,SAASF,iBAAiBA,CAACT,OAA8B,EAAU;EACjE,QAAQA,OAAO,CAACY,gBAAgB;IAC9B,KAAK,QAAQ;MAAE;QACb,MAAM;UAAE0D,KAAK;UAAExD,aAAa;UAAEyD;QAAO,CAAC,GAAGvE,OAAO,CAACa,eAAe;QAChE,OAAO2D,uBAAuB,CAACF,KAAK,EAAExD,aAAa,EAAEyD,MAAM,CAAC;MAC9D;IACA,KAAK,OAAO;MACV,OAAO,GAAGvE,OAAO,CAACU,IAAI,OAAOtB,mBAAmB,CAACY,OAAO,CAACyE,SAAS,CAAC,EAAE;EACzE;AACF;AAEA,SAASD,uBAAuBA,CAACF,KAAe,EAAExD,aAAqB,EAAEyD,MAAc,EAAU;EAC/F,IAAIzD,aAAa,GAAG,CAAC,EAAE;IACrB,MAAM4D,aAAa,GAAG,GAAG5D,aAAa,IAAIA,aAAa,KAAK,CAAC,GAAG,OAAO,GAAG,QAAQ,EAAE;IACpF,OAAO,GAAGwD,KAAK,CAACK,IAAI,CAAC,IAAI,CAAC,SAASD,aAAa,IAAIH,MAAM,EAAE;EAC9D;EAEA,QAAQD,KAAK,CAACrD,MAAM;IAClB,KAAK,CAAC;MACJ,OAAO,WAAWsD,MAAM,EAAE;IAC5B,KAAK,CAAC;MACJ,OAAO,GAAGD,KAAK,CAAC,CAAC,CAAC,IAAIC,MAAM,EAAE;IAChC,KAAK,CAAC;MACJ,OAAO,GAAGD,KAAK,CAAC,CAAC,CAAC,QAAQA,KAAK,CAAC,CAAC,CAAC,IAAIC,MAAM,EAAE;IAChD;IACA;IACA;MACE,OAAO,GAAGD,KAAK,CAAC,CAAC,CAAC,KAAKA,KAAK,CAAC,CAAC,CAAC,SAASA,KAAK,CAAC,CAAC,CAAC,IAAIC,MAAM,EAAE;EAChE;AACF;AAEA,MAAMlE,SAAS,GAAGA,CAAA;EAAA,MAAAP,CAAA,GAAAC,EAAA;EAChB;IAAAQ;EAAA,IAAmBpB,QAAQ,CAAC,CAAC;EAAA,IAAAU,EAAA;EAAA,IAAAC,CAAA,QAAAS,MAAA,CAAAqE,yBAAA;IACtB/E,EAAA,GAAAd,UAAU,CAAA8F,MAAO,CAAC;MAAAzB,SAAA,EACZ;QAAA0B,eAAA,EACQ,EAAE;QAAAC,iBAAA,EACA,EAAE;QAAAC,UAAA,EACT;MACd,CAAC;MAAAtE,IAAA,EACK;QAAAkC,KAAA,EACGrC,MAAM,CAAAqE,yBAA0B;QAAAK,SAAA,EAC5B;MACb,CAAC;MAAAvB,SAAA,EACU;QAAAwB,aAAA,EACM,KAAK;QAAAC,QAAA,EACV,MAAM;QAAAC,cAAA,EACA,QAAQ;QAAAC,GAAA,EACnB,CAAC;QAAAC,SAAA,EACK;MACb;IACF,CAAC,CAAC;IAAAxF,CAAA,MAAAS,MAAA,CAAAqE,yBAAA;IAAA9E,CAAA,MAAAD,EAAA;EAAA;IAAAA,EAAA,GAAAC,CAAA;EAAA;EAAA,OAjBKD,EAiBL;AAAA,CACH","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ interface ArchivedResultsFooterProps {
2
+ onViewActiveConversations: () => void;
3
+ }
4
+ export declare function ArchivedResultsFooter({ onViewActiveConversations }: ArchivedResultsFooterProps): import("react/jsx-runtime").JSX.Element;
5
+ export {};
6
+ //# sourceMappingURL=archived_results_footer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"archived_results_footer.d.ts","sourceRoot":"","sources":["../../../src/components/conversations/archived_results_footer.tsx"],"names":[],"mappings":"AAIA,UAAU,0BAA0B;IAClC,yBAAyB,EAAE,MAAM,IAAI,CAAA;CACtC;AAED,wBAAgB,qBAAqB,CAAC,EAAE,yBAAyB,EAAE,EAAE,0BAA0B,2CAe9F"}
@@ -0,0 +1,51 @@
1
+ import { c as _c } from "react/compiler-runtime";
2
+ import React from 'react';
3
+ import { StyleSheet, View } from 'react-native';
4
+ import { Text, TextInlineButton } from '../display';
5
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
6
+ export function ArchivedResultsFooter(t0) {
7
+ const $ = _c(3);
8
+ const {
9
+ onViewActiveConversations
10
+ } = t0;
11
+ let t1;
12
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
13
+ t1 = /*#__PURE__*/_jsx(Text, {
14
+ variant: "tertiary",
15
+ style: styles.text,
16
+ children: "You\u2019re viewing archived results."
17
+ });
18
+ $[0] = t1;
19
+ } else {
20
+ t1 = $[0];
21
+ }
22
+ let t2;
23
+ if ($[1] !== onViewActiveConversations) {
24
+ t2 = /*#__PURE__*/_jsxs(View, {
25
+ style: styles.container,
26
+ children: [t1, /*#__PURE__*/_jsx(TextInlineButton, {
27
+ variant: "tertiary",
28
+ onPress: onViewActiveConversations,
29
+ accessibilityLabel: "View active conversations",
30
+ children: "View active conversations"
31
+ })]
32
+ });
33
+ $[1] = onViewActiveConversations;
34
+ $[2] = t2;
35
+ } else {
36
+ t2 = $[2];
37
+ }
38
+ return t2;
39
+ }
40
+ const styles = StyleSheet.create({
41
+ container: {
42
+ alignItems: 'center',
43
+ gap: 4,
44
+ paddingVertical: 24,
45
+ paddingHorizontal: 16
46
+ },
47
+ text: {
48
+ textAlign: 'center'
49
+ }
50
+ });
51
+ //# sourceMappingURL=archived_results_footer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"archived_results_footer.js","names":["React","StyleSheet","View","Text","TextInlineButton","jsx","_jsx","jsxs","_jsxs","ArchivedResultsFooter","t0","$","_c","onViewActiveConversations","t1","Symbol","for","variant","style","styles","text","children","t2","container","accessibilityLabel","create","alignItems","gap","paddingVertical","paddingHorizontal","textAlign"],"sources":["../../../src/components/conversations/archived_results_footer.tsx"],"sourcesContent":["import React from 'react'\nimport { StyleSheet, View } from 'react-native'\nimport { Text, TextInlineButton } from '../display'\n\ninterface ArchivedResultsFooterProps {\n onViewActiveConversations: () => void\n}\n\nexport function ArchivedResultsFooter({ onViewActiveConversations }: ArchivedResultsFooterProps) {\n return (\n <View style={styles.container}>\n <Text variant=\"tertiary\" style={styles.text}>\n You&rsquo;re viewing archived results.\n </Text>\n <TextInlineButton\n variant=\"tertiary\"\n onPress={onViewActiveConversations}\n accessibilityLabel=\"View active conversations\"\n >\n View active conversations\n </TextInlineButton>\n </View>\n )\n}\n\nconst styles = StyleSheet.create({\n container: {\n alignItems: 'center',\n gap: 4,\n paddingVertical: 24,\n paddingHorizontal: 16,\n },\n text: {\n textAlign: 'center',\n },\n})\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAC/C,SAASC,IAAI,EAAEC,gBAAgB,QAAQ,YAAY;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAMnD,OAAO,SAAAC,sBAAAC,EAAA;EAAA,MAAAC,CAAA,GAAAC,EAAA;EAA+B;IAAAC;EAAA,IAAAH,EAAyD;EAAA,IAAAI,EAAA;EAAA,IAAAH,CAAA,QAAAI,MAAA,CAAAC,GAAA;IAGzFF,EAAA,gBAAAR,IAAA,CAACH,IAAI;MAASc,OAAU,EAAV,UAAU;MAAQC,KAAW,EAAXC,MAAM,CAAAC,IAAK;MAAAC,QAAA,EAAE;IAE7C,CAAM,CAAC;IAAAV,CAAA,MAAAG,EAAA;EAAA;IAAAA,EAAA,GAAAH,CAAA;EAAA;EAAA,IAAAW,EAAA;EAAA,IAAAX,CAAA,QAAAE,yBAAA;IAHTS,EAAA,gBAAAd,KAAA,CAACN,IAAI;MAAQgB,KAAgB,EAAhBC,MAAM,CAAAI,SAAU;MAAAF,QAAA,GAC3BP,EAEO,eACPR,IAAA,CAACF,gBAAgB;QACPa,OAAU,EAAV,UAAU;QACTJ,OAAyB,EAAzBA,yBAAyB;QACfW,kBAA2B,EAA3B,2BAA2B;QAAAH,QAAA,EAC/C;MAED,CAAkB,CAAC;IAAA,CACf,CAAC;IAAAV,CAAA,MAAAE,yBAAA;IAAAF,CAAA,MAAAW,EAAA;EAAA;IAAAA,EAAA,GAAAX,CAAA;EAAA;EAAA,OAXPW,EAWO;AAAA;AAIX,MAAMH,MAAM,GAAGlB,UAAU,CAACwB,MAAM,CAAC;EAC/BF,SAAS,EAAE;IACTG,UAAU,EAAE,QAAQ;IACpBC,GAAG,EAAE,CAAC;IACNC,eAAe,EAAE,EAAE;IACnBC,iBAAiB,EAAE;EACrB,CAAC;EACDT,IAAI,EAAE;IACJU,SAAS,EAAE;EACb;AACF,CAAC,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"conversation_actions.d.ts","sourceRoot":"","sources":["../../../src/components/conversations/conversation_actions.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,SAAS,EAA4C,MAAM,OAAO,CAAA;AAClF,OAAO,EAIL,SAAS,EAGT,SAAS,EACV,MAAM,cAAc,CAAA;AAUrB,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAKlD,wBAAgB,mBAAmB,CAAC,EAClC,QAAQ,EACR,YAAY,EACZ,KAAK,EACL,OAAO,EACP,kBAAkB,GACnB,EAAE;IACD,QAAQ,EAAE,SAAS,CAAA;IACnB,YAAY,EAAE,oBAAoB,CAAA;IAClC,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC5B,2CA6HA"}
1
+ {"version":3,"file":"conversation_actions.d.ts","sourceRoot":"","sources":["../../../src/components/conversations/conversation_actions.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,SAAS,EAA4C,MAAM,OAAO,CAAA;AAClF,OAAO,EAIL,SAAS,EAGT,SAAS,EACV,MAAM,cAAc,CAAA;AAUrB,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAKlD,wBAAgB,mBAAmB,CAAC,EAClC,QAAQ,EACR,YAAY,EACZ,KAAK,EACL,OAAO,EACP,kBAAkB,GACnB,EAAE;IACD,QAAQ,EAAE,SAAS,CAAA;IACnB,YAAY,EAAE,oBAAoB,CAAA;IAClC,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC5B,2CAkIA"}