@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
@@ -1 +1 @@
1
- {"version":3,"file":"message_list.js","names":["date","formatDate","noop","React","useCallback","useEffect","useRef","useState","FlatList","StyleSheet","View","useTheme","getRelativeDateStatus","groupMessages","CONVERSATION_MESSAGE_LIST_PADDING_HORIZONTAL","isSystemMessage","Text","ConversationStartBanner","Message","MissingMessage","ReplyShadowMessage","SystemMessage","jsx","_jsx","jsxs","_jsxs","HOLD_AND_FOLLOW","minIndexForVisible","autoscrollToTopThreshold","HOLD_ONLY","ANCHOR_CLEARS_JUMP_BUTTON","ANCHOR_VIEWABILITY","itemVisiblePercentThreshold","MessageList","t0","$","_c","listRef","conversation","conversationId","messages","replyRootId","anchorMessageId","behind","t1","hasNextPage","onEndReached","onStartReached","onScroll","onLayout","onContentSizeChange","onScrollBeginDrag","onScrollEndDrag","onMomentumScrollEnd","undefined","styles","useStyles","inReplyScreen","canDeleteNonAuthoredMessages","memberAbility","latestRead","latestReadMessageSortKey","messagesWithSeparators","t2","ms","findIndex","item","id","anchorIndex","layoutHeight","contentHeight","userHasScrolled","draggedSinceStartReached","latestAnchorMessageId","flashedAnchorId","highlightedMessageId","setHighlightedMessageId","t3","t4","current","t5","anchorIsLoaded","scrollable","scrollToIndex","index","viewPosition","viewOffset","animated","pinAnchorToBottomEdge","t6","event","nativeEvent","layout","height","handleLayout","t7","width","handleContentSizeChange","t8","event_0","handleScrollBeginDrag","t9","Symbol","for","t10","viewableItems","anchorId","some","token","flashAnchorOnceViewable","clearHighlight","t11","handleStartReached","t12","t13","hasMessages","t14","t15","item_1","type","InlineDateSeparator","deletedAt","readByOthers","mine","highlighted","listHeader","style","t16","listContainer","inverted","contentContainerStyle","keyExtractor","_temp","scrollEventThrottle","maintainVisibleContentPosition","ListFooterComponent","renderItem","ListHeaderComponent","item_0","useDateSeparatorStyles","isThisYear","showYear","year","dateStamp","separator","dateText","variant","children","container","theme","colors","borderColorDefaultBase","create","alignItems","flexDirection","paddingHorizontal","paddingVertical","flex","borderTopWidth","borderTopColor"],"sources":["../../../src/components/conversation/message_list.tsx"],"sourcesContent":["import { date as formatDate } from '@planningcenter/datetime-fmt'\nimport { noop } from 'lodash'\nimport React, { RefObject, useCallback, useEffect, useRef, useState } from 'react'\nimport { FlatList, FlatListProps, StyleSheet, View } from 'react-native'\nimport { useTheme } from '../../hooks'\nimport { ConversationResource } from '../../types/resources/conversation'\nimport { MessageResource } from '../../types/resources/message'\nimport { getRelativeDateStatus } from '../../utils/date'\nimport { groupMessages, type DateSeparator, type EnrichedMessage } from '../../utils/group_messages'\nimport { CONVERSATION_MESSAGE_LIST_PADDING_HORIZONTAL } from '../../utils/styles'\nimport { isSystemMessage } from '../../utils/system_messages'\nimport { Text } from '../display'\nimport { ConversationStartBanner } from './conversation_start_banner'\nimport { Message } from './message'\nimport { MissingMessage } from './missing_message'\nimport { ReplyShadowMessage } from './reply_shadow_message'\nimport { SystemMessage } from './system_message'\n\n// While behind, the bottom of the window isn't the live edge. Following there pulls\n// each newly paged-in page into view and chains the next fetch.\nconst HOLD_AND_FOLLOW = { minIndexForVisible: 0, autoscrollToTopThreshold: 100 }\nconst HOLD_ONLY = { minIndexForVisible: 0 }\n\ntype ScrollHandlers = Pick<\n FlatListProps<EnrichedMessage>,\n | 'onScroll'\n | 'onLayout'\n | 'onContentSizeChange'\n | 'onScrollBeginDrag'\n | 'onScrollEndDrag'\n | 'onMomentumScrollEnd'\n>\n\ninterface MessageListProps extends ScrollHandlers {\n listRef: RefObject<FlatList | null>\n conversation: ConversationResource\n conversationId: number\n messages: MessageResource[]\n replyRootId?: string | null\n anchorMessageId?: string | null\n behind?: boolean\n hasNextPage: boolean\n onEndReached: () => void\n onStartReached?: () => void\n}\n\nconst ANCHOR_CLEARS_JUMP_BUTTON = 56\nconst ANCHOR_VIEWABILITY = { itemVisiblePercentThreshold: 50 }\n\n/** MessageList\n * The inverted list of messages, reply previews, and date separators for a conversation\n */\nexport function MessageList({\n listRef,\n conversation,\n conversationId,\n messages,\n replyRootId,\n anchorMessageId,\n behind = false,\n hasNextPage,\n onEndReached,\n onStartReached,\n onScroll,\n onLayout,\n onContentSizeChange,\n onScrollBeginDrag,\n onScrollEndDrag,\n onMomentumScrollEnd,\n}: MessageListProps) {\n const styles = useStyles()\n const inReplyScreen = !!replyRootId\n const canDeleteNonAuthoredMessages =\n conversation.memberAbility?.canDeleteNonAuthoredMessages ?? false\n const latestRead = conversation.latestReadMessageSortKey\n const messagesWithSeparators = groupMessages({ ms: messages, inReplyScreen })\n const anchorIndex = anchorMessageId\n ? messagesWithSeparators.findIndex(item => item.id === anchorMessageId)\n : -1\n const layoutHeight = useRef(0)\n const contentHeight = useRef(0)\n const userHasScrolled = useRef(false)\n const draggedSinceStartReached = useRef(false)\n const latestAnchorMessageId = useRef(anchorMessageId)\n const flashedAnchorId = useRef<string | null>(null)\n const [highlightedMessageId, setHighlightedMessageId] = useState<string | null>(null)\n\n useEffect(() => {\n latestAnchorMessageId.current = anchorMessageId\n }, [anchorMessageId])\n\n // Row heights keep settling after the first layout (images, attachments), so we\n // re-pin on every layout pass until the reader takes over with a drag.\n const pinAnchorToBottomEdge = () => {\n const anchorIsLoaded = anchorIndex >= 0\n if (!anchorIsLoaded || userHasScrolled.current) return\n\n const scrollable = layoutHeight.current > 0 && contentHeight.current > layoutHeight.current\n if (!scrollable) return\n\n listRef.current?.scrollToIndex({\n index: anchorIndex,\n viewPosition: 0,\n viewOffset: ANCHOR_CLEARS_JUMP_BUTTON,\n animated: false,\n })\n }\n\n const handleLayout: FlatListProps<EnrichedMessage>['onLayout'] = event => {\n onLayout?.(event)\n layoutHeight.current = event.nativeEvent.layout.height\n pinAnchorToBottomEdge()\n }\n\n const handleContentSizeChange: FlatListProps<EnrichedMessage>['onContentSizeChange'] = (\n width,\n height\n ) => {\n onContentSizeChange?.(width, height)\n contentHeight.current = height\n pinAnchorToBottomEdge()\n }\n\n const handleScrollBeginDrag: FlatListProps<EnrichedMessage>['onScrollBeginDrag'] = event => {\n userHasScrolled.current = true\n draggedSinceStartReached.current = true\n onScrollBeginDrag?.(event)\n }\n\n const flashAnchorOnceViewable: FlatListProps<EnrichedMessage>['onViewableItemsChanged'] = ({\n viewableItems,\n }) => {\n const anchorId = latestAnchorMessageId.current\n if (!anchorId || anchorId === flashedAnchorId.current) return\n if (!viewableItems.some(token => token.item.id === anchorId)) return\n\n flashedAnchorId.current = anchorId\n setHighlightedMessageId(anchorId)\n }\n\n const clearHighlight = useCallback(() => setHighlightedMessageId(null), [])\n\n // VirtualizedList re-checks its edges on every content size change using a JS offset\n // the native hold never updates, so without this each merged page re-fires it.\n const handleStartReached = () => {\n if (!draggedSinceStartReached.current) return\n\n draggedSinceStartReached.current = false\n onStartReached?.()\n }\n\n return (\n <FlatList\n inverted\n ref={listRef}\n contentContainerStyle={styles.listContainer}\n data={messagesWithSeparators}\n keyExtractor={item => item.id}\n onScroll={onScroll}\n onLayout={handleLayout}\n onContentSizeChange={handleContentSizeChange}\n onScrollBeginDrag={handleScrollBeginDrag}\n // Expected while rows are still measuring; the next layout pass pins again.\n onScrollToIndexFailed={noop}\n onScrollEndDrag={onScrollEndDrag}\n onMomentumScrollEnd={onMomentumScrollEnd}\n onViewableItemsChanged={flashAnchorOnceViewable}\n viewabilityConfig={ANCHOR_VIEWABILITY}\n scrollEventThrottle={10}\n maintainVisibleContentPosition={behind ? HOLD_ONLY : HOLD_AND_FOLLOW}\n ListFooterComponent={\n hasNextPage ? null : (\n <ConversationStartBanner conversation={conversation} hasMessages={true} />\n )\n }\n renderItem={({ item }) => {\n if (item.type === 'DateSeparator') {\n return <InlineDateSeparator {...item} />\n }\n\n if (item.type === 'Message' && item.deletedAt && !item.replyRootId) {\n return <MissingMessage />\n }\n\n if (item.type === 'ReplyShadowMessage') {\n return (\n <ReplyShadowMessage\n {...(item as any)}\n conversation_id={conversationId}\n inReplyScreen={inReplyScreen}\n />\n )\n }\n\n if (isSystemMessage(item)) {\n return <SystemMessage message={item} conversationId={conversationId} />\n }\n\n const readByOthers = item.mine && !!latestRead && item.id <= latestRead\n return (\n <Message\n {...item}\n canDeleteNonAuthoredMessages={canDeleteNonAuthoredMessages}\n conversation_id={conversationId}\n readByOthers={readByOthers}\n inReplyScreen={inReplyScreen}\n highlighted={item.id === highlightedMessageId}\n onHighlightShown={clearHighlight}\n />\n )\n }}\n onEndReached={onEndReached}\n onStartReached={handleStartReached}\n ListHeaderComponent={<View style={styles.listHeader} />}\n />\n )\n}\n\nfunction InlineDateSeparator({ date }: DateSeparator) {\n const styles = useDateSeparatorStyles()\n const { isThisYear } = getRelativeDateStatus(date)\n const showYear = !isThisYear\n const dateStamp = formatDate(date, { style: 'long', year: showYear })\n\n return (\n <View style={styles.container}>\n <View style={styles.separator} />\n <Text variant=\"footnote\" style={styles.dateText}>\n {dateStamp}\n </Text>\n <View style={styles.separator} />\n </View>\n )\n}\n\nconst useDateSeparatorStyles = () => {\n const theme = useTheme()\n return StyleSheet.create({\n container: {\n alignItems: 'center',\n flexDirection: 'row',\n paddingHorizontal: CONVERSATION_MESSAGE_LIST_PADDING_HORIZONTAL,\n paddingVertical: 16,\n },\n separator: {\n flex: 1,\n height: 1,\n borderTopWidth: 1,\n borderTopColor: theme.colors.borderColorDefaultBase,\n },\n dateText: {\n paddingHorizontal: 8,\n },\n })\n}\n\nconst useStyles = () =>\n StyleSheet.create({\n listContainer: {\n paddingVertical: 12,\n },\n listHeader: {\n // Just whitespace to provide space where the typing indicator can be\n height: 16,\n },\n })\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"message_list.js","names":["date","formatDate","noop","React","useCallback","useEffect","useRef","useState","FlatList","StyleSheet","View","useTheme","getRelativeDateStatus","groupMessages","CONVERSATION_MESSAGE_LIST_PADDING_HORIZONTAL","isSystemMessage","Text","ConversationStartBanner","Message","MissingMessage","ReplyShadowMessage","SystemMessage","jsx","_jsx","jsxs","_jsxs","HOLD_AND_FOLLOW","minIndexForVisible","autoscrollToTopThreshold","HOLD_ONLY","ANCHOR_CLEARS_JUMP_BUTTON","ANCHOR_VIEWABILITY","itemVisiblePercentThreshold","MessageList","t0","$","_c","listRef","conversation","conversationId","messages","replyRootId","anchorMessageId","behind","t1","hasNextPage","onEndReached","onStartReached","onScroll","onLayout","onContentSizeChange","onScrollBeginDrag","onScrollEndDrag","onMomentumScrollEnd","undefined","styles","useStyles","inReplyScreen","canDeleteNonAuthoredMessages","memberAbility","conversationDisabled","disabled","latestRead","latestReadMessageSortKey","messagesWithSeparators","t2","ms","findIndex","item","id","anchorIndex","layoutHeight","contentHeight","userHasScrolled","draggedSinceStartReached","latestAnchorMessageId","flashedAnchorId","highlightedMessageId","setHighlightedMessageId","t3","t4","current","t5","anchorIsLoaded","scrollable","scrollToIndex","index","viewPosition","viewOffset","animated","pinAnchorToBottomEdge","t6","event","nativeEvent","layout","height","handleLayout","t7","width","handleContentSizeChange","t8","event_0","handleScrollBeginDrag","t9","Symbol","for","t10","viewableItems","anchorId","some","token","flashAnchorOnceViewable","clearHighlight","t11","handleStartReached","t12","t13","hasMessages","t14","t15","item_1","type","InlineDateSeparator","deletedAt","readByOthers","mine","highlighted","listHeader","style","t16","listContainer","inverted","contentContainerStyle","keyExtractor","_temp","scrollEventThrottle","maintainVisibleContentPosition","ListFooterComponent","renderItem","ListHeaderComponent","item_0","useDateSeparatorStyles","isThisYear","showYear","year","dateStamp","separator","dateText","variant","children","container","theme","colors","borderColorDefaultBase","create","alignItems","flexDirection","paddingHorizontal","paddingVertical","flex","borderTopWidth","borderTopColor"],"sources":["../../../src/components/conversation/message_list.tsx"],"sourcesContent":["import { date as formatDate } from '@planningcenter/datetime-fmt'\nimport { noop } from 'lodash'\nimport React, { RefObject, useCallback, useEffect, useRef, useState } from 'react'\nimport { FlatList, FlatListProps, StyleSheet, View } from 'react-native'\nimport { useTheme } from '../../hooks'\nimport { ConversationResource } from '../../types/resources/conversation'\nimport { MessageResource } from '../../types/resources/message'\nimport { getRelativeDateStatus } from '../../utils/date'\nimport { groupMessages, type DateSeparator, type EnrichedMessage } from '../../utils/group_messages'\nimport { CONVERSATION_MESSAGE_LIST_PADDING_HORIZONTAL } from '../../utils/styles'\nimport { isSystemMessage } from '../../utils/system_messages'\nimport { Text } from '../display'\nimport { ConversationStartBanner } from './conversation_start_banner'\nimport { Message } from './message'\nimport { MissingMessage } from './missing_message'\nimport { ReplyShadowMessage } from './reply_shadow_message'\nimport { SystemMessage } from './system_message'\n\n// While behind, the bottom of the window isn't the live edge. Following there pulls\n// each newly paged-in page into view and chains the next fetch.\nconst HOLD_AND_FOLLOW = { minIndexForVisible: 0, autoscrollToTopThreshold: 100 }\nconst HOLD_ONLY = { minIndexForVisible: 0 }\n\ntype ScrollHandlers = Pick<\n FlatListProps<EnrichedMessage>,\n | 'onScroll'\n | 'onLayout'\n | 'onContentSizeChange'\n | 'onScrollBeginDrag'\n | 'onScrollEndDrag'\n | 'onMomentumScrollEnd'\n>\n\ninterface MessageListProps extends ScrollHandlers {\n listRef: RefObject<FlatList | null>\n conversation: ConversationResource\n conversationId: number\n messages: MessageResource[]\n replyRootId?: string | null\n anchorMessageId?: string | null\n behind?: boolean\n hasNextPage: boolean\n onEndReached: () => void\n onStartReached?: () => void\n}\n\nconst ANCHOR_CLEARS_JUMP_BUTTON = 56\nconst ANCHOR_VIEWABILITY = { itemVisiblePercentThreshold: 50 }\n\n/** MessageList\n * The inverted list of messages, reply previews, and date separators for a conversation\n */\nexport function MessageList({\n listRef,\n conversation,\n conversationId,\n messages,\n replyRootId,\n anchorMessageId,\n behind = false,\n hasNextPage,\n onEndReached,\n onStartReached,\n onScroll,\n onLayout,\n onContentSizeChange,\n onScrollBeginDrag,\n onScrollEndDrag,\n onMomentumScrollEnd,\n}: MessageListProps) {\n const styles = useStyles()\n const inReplyScreen = !!replyRootId\n const canDeleteNonAuthoredMessages =\n conversation.memberAbility?.canDeleteNonAuthoredMessages ?? false\n const conversationDisabled = conversation.disabled ?? false\n const latestRead = conversation.latestReadMessageSortKey\n const messagesWithSeparators = groupMessages({ ms: messages, inReplyScreen })\n const anchorIndex = anchorMessageId\n ? messagesWithSeparators.findIndex(item => item.id === anchorMessageId)\n : -1\n const layoutHeight = useRef(0)\n const contentHeight = useRef(0)\n const userHasScrolled = useRef(false)\n const draggedSinceStartReached = useRef(false)\n const latestAnchorMessageId = useRef(anchorMessageId)\n const flashedAnchorId = useRef<string | null>(null)\n const [highlightedMessageId, setHighlightedMessageId] = useState<string | null>(null)\n\n useEffect(() => {\n latestAnchorMessageId.current = anchorMessageId\n }, [anchorMessageId])\n\n // Row heights keep settling after the first layout (images, attachments), so we\n // re-pin on every layout pass until the reader takes over with a drag.\n const pinAnchorToBottomEdge = () => {\n const anchorIsLoaded = anchorIndex >= 0\n if (!anchorIsLoaded || userHasScrolled.current) return\n\n const scrollable = layoutHeight.current > 0 && contentHeight.current > layoutHeight.current\n if (!scrollable) return\n\n listRef.current?.scrollToIndex({\n index: anchorIndex,\n viewPosition: 0,\n viewOffset: ANCHOR_CLEARS_JUMP_BUTTON,\n animated: false,\n })\n }\n\n const handleLayout: FlatListProps<EnrichedMessage>['onLayout'] = event => {\n onLayout?.(event)\n layoutHeight.current = event.nativeEvent.layout.height\n pinAnchorToBottomEdge()\n }\n\n const handleContentSizeChange: FlatListProps<EnrichedMessage>['onContentSizeChange'] = (\n width,\n height\n ) => {\n onContentSizeChange?.(width, height)\n contentHeight.current = height\n pinAnchorToBottomEdge()\n }\n\n const handleScrollBeginDrag: FlatListProps<EnrichedMessage>['onScrollBeginDrag'] = event => {\n userHasScrolled.current = true\n draggedSinceStartReached.current = true\n onScrollBeginDrag?.(event)\n }\n\n const flashAnchorOnceViewable: FlatListProps<EnrichedMessage>['onViewableItemsChanged'] = ({\n viewableItems,\n }) => {\n const anchorId = latestAnchorMessageId.current\n if (!anchorId || anchorId === flashedAnchorId.current) return\n if (!viewableItems.some(token => token.item.id === anchorId)) return\n\n flashedAnchorId.current = anchorId\n setHighlightedMessageId(anchorId)\n }\n\n const clearHighlight = useCallback(() => setHighlightedMessageId(null), [])\n\n // VirtualizedList re-checks its edges on every content size change using a JS offset\n // the native hold never updates, so without this each merged page re-fires it.\n const handleStartReached = () => {\n if (!draggedSinceStartReached.current) return\n\n draggedSinceStartReached.current = false\n onStartReached?.()\n }\n\n return (\n <FlatList\n inverted\n ref={listRef}\n contentContainerStyle={styles.listContainer}\n data={messagesWithSeparators}\n keyExtractor={item => item.id}\n onScroll={onScroll}\n onLayout={handleLayout}\n onContentSizeChange={handleContentSizeChange}\n onScrollBeginDrag={handleScrollBeginDrag}\n // Expected while rows are still measuring; the next layout pass pins again.\n onScrollToIndexFailed={noop}\n onScrollEndDrag={onScrollEndDrag}\n onMomentumScrollEnd={onMomentumScrollEnd}\n onViewableItemsChanged={flashAnchorOnceViewable}\n viewabilityConfig={ANCHOR_VIEWABILITY}\n scrollEventThrottle={10}\n maintainVisibleContentPosition={behind ? HOLD_ONLY : HOLD_AND_FOLLOW}\n ListFooterComponent={\n hasNextPage ? null : (\n <ConversationStartBanner conversation={conversation} hasMessages={true} />\n )\n }\n renderItem={({ item }) => {\n if (item.type === 'DateSeparator') {\n return <InlineDateSeparator {...item} />\n }\n\n if (item.type === 'Message' && item.deletedAt && !item.replyRootId) {\n return <MissingMessage />\n }\n\n if (item.type === 'ReplyShadowMessage') {\n return (\n <ReplyShadowMessage\n {...(item as any)}\n conversation_id={conversationId}\n inReplyScreen={inReplyScreen}\n />\n )\n }\n\n if (isSystemMessage(item)) {\n return (\n <SystemMessage\n message={item}\n conversationId={conversationId}\n conversationDisabled={conversationDisabled}\n />\n )\n }\n\n const readByOthers = item.mine && !!latestRead && item.id <= latestRead\n return (\n <Message\n {...item}\n canDeleteNonAuthoredMessages={canDeleteNonAuthoredMessages}\n conversationDisabled={conversationDisabled}\n conversation_id={conversationId}\n readByOthers={readByOthers}\n inReplyScreen={inReplyScreen}\n highlighted={item.id === highlightedMessageId}\n onHighlightShown={clearHighlight}\n />\n )\n }}\n onEndReached={onEndReached}\n onStartReached={handleStartReached}\n ListHeaderComponent={<View style={styles.listHeader} />}\n />\n )\n}\n\nfunction InlineDateSeparator({ date }: DateSeparator) {\n const styles = useDateSeparatorStyles()\n const { isThisYear } = getRelativeDateStatus(date)\n const showYear = !isThisYear\n const dateStamp = formatDate(date, { style: 'long', year: showYear })\n\n return (\n <View style={styles.container}>\n <View style={styles.separator} />\n <Text variant=\"footnote\" style={styles.dateText}>\n {dateStamp}\n </Text>\n <View style={styles.separator} />\n </View>\n )\n}\n\nconst useDateSeparatorStyles = () => {\n const theme = useTheme()\n return StyleSheet.create({\n container: {\n alignItems: 'center',\n flexDirection: 'row',\n paddingHorizontal: CONVERSATION_MESSAGE_LIST_PADDING_HORIZONTAL,\n paddingVertical: 16,\n },\n separator: {\n flex: 1,\n height: 1,\n borderTopWidth: 1,\n borderTopColor: theme.colors.borderColorDefaultBase,\n },\n dateText: {\n paddingHorizontal: 8,\n },\n })\n}\n\nconst useStyles = () =>\n StyleSheet.create({\n listContainer: {\n paddingVertical: 12,\n },\n listHeader: {\n // Just whitespace to provide space where the typing indicator can be\n height: 16,\n },\n })\n"],"mappings":";AAAA,SAASA,IAAI,IAAIC,UAAU,QAAQ,8BAA8B;AACjE,SAASC,IAAI,QAAQ,QAAQ;AAC7B,OAAOC,KAAK,IAAeC,WAAW,EAAEC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAClF,SAASC,QAAQ,EAAiBC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AACxE,SAASC,QAAQ,QAAQ,aAAa;AAGtC,SAASC,qBAAqB,QAAQ,kBAAkB;AACxD,SAASC,aAAa,QAAkD,4BAA4B;AACpG,SAASC,4CAA4C,QAAQ,oBAAoB;AACjF,SAASC,eAAe,QAAQ,6BAA6B;AAC7D,SAASC,IAAI,QAAQ,YAAY;AACjC,SAASC,uBAAuB,QAAQ,6BAA6B;AACrE,SAASC,OAAO,QAAQ,WAAW;AACnC,SAASC,cAAc,QAAQ,mBAAmB;AAClD,SAASC,kBAAkB,QAAQ,wBAAwB;AAC3D,SAASC,aAAa,QAAQ,kBAAkB;;AAEhD;AACA;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AACA,MAAMC,eAAe,GAAG;EAAEC,kBAAkB,EAAE,CAAC;EAAEC,wBAAwB,EAAE;AAAI,CAAC;AAChF,MAAMC,SAAS,GAAG;EAAEF,kBAAkB,EAAE;AAAE,CAAC;AAyB3C,MAAMG,yBAAyB,GAAG,EAAE;AACpC,MAAMC,kBAAkB,GAAG;EAAEC,2BAA2B,EAAE;AAAG,CAAC;;AAE9D;AACA;AACA;AACA,OAAO,SAAAC,YAAAC,EAAA;EAAA,MAAAC,CAAA,GAAAC,EAAA;EAAqB;IAAAC,OAAA;IAAAC,YAAA;IAAAC,cAAA;IAAAC,QAAA;IAAAC,WAAA;IAAAC,eAAA;IAAAC,MAAA,EAAAC,EAAA;IAAAC,WAAA;IAAAC,YAAA;IAAAC,cAAA;IAAAC,QAAA;IAAAC,QAAA;IAAAC,mBAAA;IAAAC,iBAAA;IAAAC,eAAA;IAAAC;EAAA,IAAAnB,EAiBT;EAVjB,MAAAS,MAAA,GAAAC,EAAc,KAAdU,SAAc,GAAd,KAAc,GAAdV,EAAc;EAWd,MAAAW,MAAA,GAAeC,SAAS,CAAC,CAAC;EAC1B,MAAAC,aAAA,GAAsB,CAAC,CAAChB,WAAW;EACnC,MAAAiB,4BAAA,GACEpB,YAAY,CAAAqB,aAA4C,EAAAD,4BAAS,IAAjE,KAAiE;EACnE,MAAAE,oBAAA,GAA6BtB,YAAY,CAAAuB,QAAkB,IAA9B,KAA8B;EAC3D,MAAAC,UAAA,GAAmBxB,YAAY,CAAAyB,wBAAyB;EAAA,IAAAC,sBAAA;EAAA,IAAAC,EAAA;EAAA,IAAA9B,CAAA,QAAAO,eAAA,IAAAP,CAAA,QAAAsB,aAAA,IAAAtB,CAAA,QAAAK,QAAA;IACxDwB,sBAAA,GAA+BnD,aAAa,CAAC;MAAAqD,EAAA,EAAM1B,QAAQ;MAAAiB;IAAgB,CAAC,CAAC;IACzDQ,EAAA,GAAAvB,eAAe,GAC/BsB,sBAAsB,CAAAG,SAAU,CAACC,IAAA,IAAQA,IAAI,CAAAC,EAAG,KAAK3B,eACpD,CAAC,GAFc,EAEd;IAAAP,CAAA,MAAAO,eAAA;IAAAP,CAAA,MAAAsB,aAAA;IAAAtB,CAAA,MAAAK,QAAA;IAAAL,CAAA,MAAA6B,sBAAA;IAAA7B,CAAA,MAAA8B,EAAA;EAAA;IAAAD,sBAAA,GAAA7B,CAAA;IAAA8B,EAAA,GAAA9B,CAAA;EAAA;EAFN,MAAAmC,WAAA,GAAoBL,EAEd;EACN,MAAAM,YAAA,GAAqBjE,MAAM,CAAC,CAAC,CAAC;EAC9B,MAAAkE,aAAA,GAAsBlE,MAAM,CAAC,CAAC,CAAC;EAC/B,MAAAmE,eAAA,GAAwBnE,MAAM,CAAC,KAAK,CAAC;EACrC,MAAAoE,wBAAA,GAAiCpE,MAAM,CAAC,KAAK,CAAC;EAC9C,MAAAqE,qBAAA,GAA8BrE,MAAM,CAACoC,eAAe,CAAC;EACrD,MAAAkC,eAAA,GAAwBtE,MAAM,CAAgB,IAAI,CAAC;EACnD,OAAAuE,oBAAA,EAAAC,uBAAA,IAAwDvE,QAAQ,CAAgB,IAAI,CAAC;EAAA,IAAAwE,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAA7C,CAAA,QAAAO,eAAA;IAE3EqC,EAAA,GAAAA,CAAA;MACRJ,qBAAqB,CAAAM,OAAA,GAAWvC,eAAH;IAAA,CAC9B;IAAEsC,EAAA,IAACtC,eAAe,CAAC;IAAAP,CAAA,MAAAO,eAAA;IAAAP,CAAA,MAAA4C,EAAA;IAAA5C,CAAA,MAAA6C,EAAA;EAAA;IAAAD,EAAA,GAAA5C,CAAA;IAAA6C,EAAA,GAAA7C,CAAA;EAAA;EAFpB9B,SAAS,CAAC0E,EAET,EAAEC,EAAiB,CAAC;EAAA,IAAAE,EAAA;EAAA,IAAA/C,CAAA,QAAAmC,WAAA,IAAAnC,CAAA,QAAAE,OAAA;IAIS6C,EAAA,GAAAA,CAAA;MAC5B,MAAAC,cAAA,GAAuBb,WAAW,IAAI,CAAC;MACvC,IAAI,CAACa,cAAyC,IAAvBV,eAAe,CAAAQ,OAAQ;QAAA;MAAA;MAE9C,MAAAG,UAAA,GAAmBb,YAAY,CAAAU,OAAQ,GAAG,CAAiD,IAA5CT,aAAa,CAAAS,OAAQ,GAAGV,YAAY,CAAAU,OAAQ;MAC3F,IAAI,CAACG,UAAU;QAAA;MAAA;MAEf/C,OAAO,CAAA4C,OAAuB,EAAAI,aAK5B,CAL6B;QAAAC,KAAA,EACtBhB,WAAW;QAAAiB,YAAA,EACJ,CAAC;QAAAC,UAAA,EACH1D,yBAAyB;QAAA2D,QAAA,EAC3B;MACZ,CAAC,CAAC;IAAA,CACH;IAAAtD,CAAA,MAAAmC,WAAA;IAAAnC,CAAA,MAAAE,OAAA;IAAAF,CAAA,OAAA+C,EAAA;EAAA;IAAAA,EAAA,GAAA/C,CAAA;EAAA;EAbD,MAAAuD,qBAAA,GAA8BR,EAa7B;EAAA,IAAAS,EAAA;EAAA,IAAAxD,CAAA,SAAAc,QAAA,IAAAd,CAAA,SAAAuD,qBAAA;IAEgEC,EAAA,GAAAC,KAAA;MAC/D3C,QAAQ,GAAG2C,KAAK,CAAC;MACjBrB,YAAY,CAAAU,OAAA,GAAWW,KAAK,CAAAC,WAAY,CAAAC,MAAO,CAAAC,MAA3B;MACpBL,qBAAqB,CAAC,CAAC;IAAA,CACxB;IAAAvD,CAAA,OAAAc,QAAA;IAAAd,CAAA,OAAAuD,qBAAA;IAAAvD,CAAA,OAAAwD,EAAA;EAAA;IAAAA,EAAA,GAAAxD,CAAA;EAAA;EAJD,MAAA6D,YAAA,GAAiEL,EAIhE;EAAA,IAAAM,EAAA;EAAA,IAAA9D,CAAA,SAAAe,mBAAA,IAAAf,CAAA,SAAAuD,qBAAA;IAEsFO,EAAA,GAAAA,CAAAC,KAAA,EAAAH,MAAA;MAIrF7C,mBAAmB,GAAGgD,KAAK,EAAEH,MAAM,CAAC;MACpCvB,aAAa,CAAAS,OAAA,GAAWc,MAAH;MACrBL,qBAAqB,CAAC,CAAC;IAAA,CACxB;IAAAvD,CAAA,OAAAe,mBAAA;IAAAf,CAAA,OAAAuD,qBAAA;IAAAvD,CAAA,OAAA8D,EAAA;EAAA;IAAAA,EAAA,GAAA9D,CAAA;EAAA;EAPD,MAAAgE,uBAAA,GAAuFF,EAOtF;EAAA,IAAAG,EAAA;EAAA,IAAAjE,CAAA,SAAAgB,iBAAA;IAEkFiD,EAAA,GAAAC,OAAA;MACjF5B,eAAe,CAAAQ,OAAA,GAAW,IAAH;MACvBP,wBAAwB,CAAAO,OAAA,GAAW,IAAH;MAChC9B,iBAAiB,GAAGyC,OAAK,CAAC;IAAA,CAC3B;IAAAzD,CAAA,OAAAgB,iBAAA;IAAAhB,CAAA,OAAAiE,EAAA;EAAA;IAAAA,EAAA,GAAAjE,CAAA;EAAA;EAJD,MAAAmE,qBAAA,GAAmFF,EAIlF;EAAA,IAAAG,EAAA;EAAA,IAAApE,CAAA,SAAAqE,MAAA,CAAAC,GAAA;IAEyFF,EAAA,GAAAG,GAAA;MAAC;QAAAC;MAAA,IAAAD,GAE1F;MACC,MAAAE,QAAA,GAAiBjC,qBAAqB,CAAAM,OAAQ;MAC9C,IAAI,CAAC2B,QAAgD,IAApCA,QAAQ,KAAKhC,eAAe,CAAAK,OAAQ;QAAA;MAAA;MACrD,IAAI,CAAC0B,aAAa,CAAAE,IAAK,CAACC,KAAA,IAASA,KAAK,CAAA1C,IAAK,CAAAC,EAAG,KAAKuC,QAAQ,CAAC;QAAA;MAAA;MAE5DhC,eAAe,CAAAK,OAAA,GAAW2B,QAAH;MACvB9B,uBAAuB,CAAC8B,QAAQ,CAAC;IAAA,CAClC;IAAAzE,CAAA,OAAAoE,EAAA;EAAA;IAAAA,EAAA,GAAApE,CAAA;EAAA;EATD,MAAA4E,uBAAA,GAA0FR,EASzF;EAAA,IAAAG,GAAA;EAAA,IAAAvE,CAAA,SAAAqE,MAAA,CAAAC,GAAA;IAEkCC,GAAA,GAAAA,CAAA,KAAM5B,uBAAuB,CAAC,IAAI,CAAC;IAAA3C,CAAA,OAAAuE,GAAA;EAAA;IAAAA,GAAA,GAAAvE,CAAA;EAAA;EAAtE,MAAA6E,cAAA,GAAuBN,GAAoD;EAAA,IAAAO,GAAA;EAAA,IAAA9E,CAAA,SAAAY,cAAA;IAIhDkE,GAAA,GAAAA,CAAA;MACzB,IAAI,CAACvC,wBAAwB,CAAAO,OAAQ;QAAA;MAAA;MAErCP,wBAAwB,CAAAO,OAAA,GAAW,KAAH;MAChClC,cAAc,GAAG,CAAC;IAAA,CACnB;IAAAZ,CAAA,OAAAY,cAAA;IAAAZ,CAAA,OAAA8E,GAAA;EAAA;IAAAA,GAAA,GAAA9E,CAAA;EAAA;EALD,MAAA+E,kBAAA,GAA2BD,GAK1B;EAoBmC,MAAAE,GAAA,GAAAxE,MAAM,GAANd,SAAoC,GAApCH,eAAoC;EAAA,IAAA0F,GAAA;EAAA,IAAAjF,CAAA,SAAAG,YAAA,IAAAH,CAAA,SAAAU,WAAA;IAElEuE,GAAA,GAAAvE,WAAW,GAAX,IAEC,gBAFDtB,IAAA,CACGN,uBAAuB;MAAeqB,YAAY,EAAZA,YAAY;MAAe+E,WAAI,EAAJ;IAAI,CACxE,CAAC;IAAAlF,CAAA,OAAAG,YAAA;IAAAH,CAAA,OAAAU,WAAA;IAAAV,CAAA,OAAAiF,GAAA;EAAA;IAAAA,GAAA,GAAAjF,CAAA;EAAA;EAAA,IAAAmF,GAAA;EAAA,IAAAnF,CAAA,SAAAuB,4BAAA,IAAAvB,CAAA,SAAAyB,oBAAA,IAAAzB,CAAA,SAAAI,cAAA,IAAAJ,CAAA,SAAA0C,oBAAA,IAAA1C,CAAA,SAAAsB,aAAA,IAAAtB,CAAA,SAAA2B,UAAA;IAESwD,GAAA,GAAAC,GAAA;MAAC;QAAAnD,IAAA,EAAAoD;MAAA,IAAAD,GAAQ;MACnB,IAAInD,MAAI,CAAAqD,IAAK,KAAK,eAAe;QAAA,oBACxBlG,IAAA,CAACmG,mBAAmB;UAAA,GAAKtD;QAAI,CAAG,CAAC;MAAA;MAG1C,IAAIA,MAAI,CAAAqD,IAAK,KAAK,SAA2B,IAAdrD,MAAI,CAAAuD,SAA+B,IAA9D,CAA8CvD,MAAI,CAAA3B,WAAY;QAAA,oBACzDlB,IAAA,CAACJ,cAAc,IAAE,CAAC;MAAA;MAG3B,IAAIiD,MAAI,CAAAqD,IAAK,KAAK,oBAAoB;QAAA,oBAElClG,IAAA,CAACH,kBAAkB;UAAA,GACZgD,MAAI;UACQ7B,eAAc,EAAdA,cAAc;UAChBkB,aAAa,EAAbA;QAAa,CAC7B,CAAC;MAAA;MAIN,IAAI1C,eAAe,CAACqD,MAAI,CAAC;QAAA,oBAErB7C,IAAA,CAACF,aAAa;UACH+C,OAAI,EAAJA,MAAI;UACG7B,cAAc,EAAdA,cAAc;UACRqB,oBAAoB,EAApBA;QAAoB,CAC3C,CAAC;MAAA;MAIN,MAAAgE,YAAA,GAAqBxD,MAAI,CAAAyD,IAAqB,IAAzB,CAAc,CAAC/D,UAAmC,IAArBM,MAAI,CAAAC,EAAG,IAAIP,UAAU;MAAA,oBAErEvC,IAAA,CAACL,OAAO;QAAA,GACFkD,MAAI;QACsBV,4BAA4B,EAA5BA,4BAA4B;QACpCE,oBAAoB,EAApBA,oBAAoB;QACzBrB,eAAc,EAAdA,cAAc;QACjBqF,YAAY,EAAZA,YAAY;QACXnE,aAAa,EAAbA,aAAa;QACfqE,WAAgC,EAAhC1D,MAAI,CAAAC,EAAG,KAAKQ,oBAAoB;QAC3BmC,gBAAc,EAAdA;MAAc,CACjC,CAAC;IAAA,CAEL;IAAA7E,CAAA,OAAAuB,4BAAA;IAAAvB,CAAA,OAAAyB,oBAAA;IAAAzB,CAAA,OAAAI,cAAA;IAAAJ,CAAA,OAAA0C,oBAAA;IAAA1C,CAAA,OAAAsB,aAAA;IAAAtB,CAAA,OAAA2B,UAAA;IAAA3B,CAAA,OAAAmF,GAAA;EAAA;IAAAA,GAAA,GAAAnF,CAAA;EAAA;EAAA,IAAAoF,GAAA;EAAA,IAAApF,CAAA,SAAAoB,MAAA,CAAAwE,UAAA;IAGoBR,GAAA,gBAAAhG,IAAA,CAACb,IAAI;MAAQsH,KAAiB,EAAjBzE,MAAM,CAAAwE;IAAW,CAAG,CAAC;IAAA5F,CAAA,OAAAoB,MAAA,CAAAwE,UAAA;IAAA5F,CAAA,OAAAoF,GAAA;EAAA;IAAAA,GAAA,GAAApF,CAAA;EAAA;EAAA,IAAA8F,GAAA;EAAA,IAAA9F,CAAA,SAAAgE,uBAAA,IAAAhE,CAAA,SAAA6D,YAAA,IAAA7D,CAAA,SAAAmE,qBAAA,IAAAnE,CAAA,SAAA+E,kBAAA,IAAA/E,CAAA,SAAAE,OAAA,IAAAF,CAAA,SAAA6B,sBAAA,IAAA7B,CAAA,SAAAW,YAAA,IAAAX,CAAA,SAAAkB,mBAAA,IAAAlB,CAAA,SAAAa,QAAA,IAAAb,CAAA,SAAAiB,eAAA,IAAAjB,CAAA,SAAAoB,MAAA,CAAA2E,aAAA,IAAA/F,CAAA,SAAAgF,GAAA,IAAAhF,CAAA,SAAAiF,GAAA,IAAAjF,CAAA,SAAAmF,GAAA,IAAAnF,CAAA,SAAAoF,GAAA;IApEzDU,GAAA,gBAAA1G,IAAA,CAACf,QAAQ;MACP2H,QAAQ,EAAR,IAAQ;MACH9F,GAAO,EAAPA,OAAO;MACW+F,qBAAoB,EAApB7E,MAAM,CAAA2E,aAAc;MACrClE,IAAsB,EAAtBA,sBAAsB;MACdqE,YAAe,EAAfC,KAAe;MACnBtF,QAAQ,EAARA,QAAQ;MACRgD,QAAY,EAAZA,YAAY;MACDG,mBAAuB,EAAvBA,uBAAuB;MACzBG,iBAAqB,EAArBA,qBAAqB;MAEjBpG,qBAAI,EAAJA,IAAI;MACVkD,eAAe,EAAfA,eAAe;MACXC,mBAAmB,EAAnBA,mBAAmB;MAChB0D,sBAAuB,EAAvBA,uBAAuB;MAC5BhF,iBAAkB,EAAlBA,kBAAkB;MAChBwG,mBAAE,EAAF,EAAE;MACSC,8BAAoC,EAApCrB,GAAoC;MAElEsB,mBAEC,EAFDrB,GAEC;MAESsB,UA0CX,EA1CWpB,GA0CX;MACaxE,YAAY,EAAZA,YAAY;MACVoE,cAAkB,EAAlBA,kBAAkB;MACbyB,mBAAkC,EAAlCpB;IAAkC,CACxD,CAAC;IAAApF,CAAA,OAAAgE,uBAAA;IAAAhE,CAAA,OAAA6D,YAAA;IAAA7D,CAAA,OAAAmE,qBAAA;IAAAnE,CAAA,OAAA+E,kBAAA;IAAA/E,CAAA,OAAAE,OAAA;IAAAF,CAAA,OAAA6B,sBAAA;IAAA7B,CAAA,OAAAW,YAAA;IAAAX,CAAA,OAAAkB,mBAAA;IAAAlB,CAAA,OAAAa,QAAA;IAAAb,CAAA,OAAAiB,eAAA;IAAAjB,CAAA,OAAAoB,MAAA,CAAA2E,aAAA;IAAA/F,CAAA,OAAAgF,GAAA;IAAAhF,CAAA,OAAAiF,GAAA;IAAAjF,CAAA,OAAAmF,GAAA;IAAAnF,CAAA,OAAAoF,GAAA;IAAApF,CAAA,OAAA8F,GAAA;EAAA;IAAAA,GAAA,GAAA9F,CAAA;EAAA;EAAA,OArEF8F,GAqEE;AAAA;AA1KC,SAAAK,MAAAM,MAAA;EAAA,OA0GqBxE,MAAI,CAAAC,EAAG;AAAA;AAoEnC,SAAAqD,oBAAAxF,EAAA;EAAA,MAAAC,CAAA,GAAAC,EAAA;EAA6B;IAAApC;EAAA,IAAAkC,EAAuB;EAClD,MAAAqB,MAAA,GAAesF,sBAAsB,CAAC,CAAC;EAAA,IAAAjG,EAAA;EAAA,IAAAT,CAAA,QAAAnC,IAAA;IAChB4C,EAAA,GAAAhC,qBAAqB,CAACZ,IAAI,CAAC;IAAAmC,CAAA,MAAAnC,IAAA;IAAAmC,CAAA,MAAAS,EAAA;EAAA;IAAAA,EAAA,GAAAT,CAAA;EAAA;EAAlD;IAAA2G;EAAA,IAAuBlG,EAA2B;EAClD,MAAAmG,QAAA,GAAiB,CAACD,UAAU;EAAA,IAAA7E,EAAA;EAAA,IAAA9B,CAAA,QAAAnC,IAAA,IAAAmC,CAAA,QAAA4G,QAAA;IACV9E,EAAA,GAAAhE,UAAU,CAACD,IAAI,EAAE;MAAAgI,KAAA,EAAS,MAAM;MAAAgB,IAAA,EAAQD;IAAS,CAAC,CAAC;IAAA5G,CAAA,MAAAnC,IAAA;IAAAmC,CAAA,MAAA4G,QAAA;IAAA5G,CAAA,MAAA8B,EAAA;EAAA;IAAAA,EAAA,GAAA9B,CAAA;EAAA;EAArE,MAAA8G,SAAA,GAAkBhF,EAAmD;EAAA,IAAAc,EAAA;EAAA,IAAA5C,CAAA,QAAAoB,MAAA,CAAA2F,SAAA;IAIjEnE,EAAA,gBAAAxD,IAAA,CAACb,IAAI;MAAQsH,KAAgB,EAAhBzE,MAAM,CAAA2F;IAAU,CAAG,CAAC;IAAA/G,CAAA,MAAAoB,MAAA,CAAA2F,SAAA;IAAA/G,CAAA,MAAA4C,EAAA;EAAA;IAAAA,EAAA,GAAA5C,CAAA;EAAA;EAAA,IAAA6C,EAAA;EAAA,IAAA7C,CAAA,QAAA8G,SAAA,IAAA9G,CAAA,QAAAoB,MAAA,CAAA4F,QAAA;IACjCnE,EAAA,gBAAAzD,IAAA,CAACP,IAAI;MAASoI,OAAU,EAAV,UAAU;MAAQpB,KAAe,EAAfzE,MAAM,CAAA4F,QAAS;MAAAE,QAAA,EAC5CJ;IAAS,CACN,CAAC;IAAA9G,CAAA,MAAA8G,SAAA;IAAA9G,CAAA,MAAAoB,MAAA,CAAA4F,QAAA;IAAAhH,CAAA,MAAA6C,EAAA;EAAA;IAAAA,EAAA,GAAA7C,CAAA;EAAA;EAAA,IAAA+C,EAAA;EAAA,IAAA/C,CAAA,SAAAoB,MAAA,CAAA2F,SAAA;IACPhE,EAAA,gBAAA3D,IAAA,CAACb,IAAI;MAAQsH,KAAgB,EAAhBzE,MAAM,CAAA2F;IAAU,CAAG,CAAC;IAAA/G,CAAA,OAAAoB,MAAA,CAAA2F,SAAA;IAAA/G,CAAA,OAAA+C,EAAA;EAAA;IAAAA,EAAA,GAAA/C,CAAA;EAAA;EAAA,IAAAwD,EAAA;EAAA,IAAAxD,CAAA,SAAAoB,MAAA,CAAA+F,SAAA,IAAAnH,CAAA,SAAA4C,EAAA,IAAA5C,CAAA,SAAA6C,EAAA,IAAA7C,CAAA,SAAA+C,EAAA;IALnCS,EAAA,gBAAAlE,KAAA,CAACf,IAAI;MAAQsH,KAAgB,EAAhBzE,MAAM,CAAA+F,SAAU;MAAAD,QAAA,GAC3BtE,EAAiC,EACjCC,EAEO,EACPE,EAAiC;IAAA,CAC7B,CAAC;IAAA/C,CAAA,OAAAoB,MAAA,CAAA+F,SAAA;IAAAnH,CAAA,OAAA4C,EAAA;IAAA5C,CAAA,OAAA6C,EAAA;IAAA7C,CAAA,OAAA+C,EAAA;IAAA/C,CAAA,OAAAwD,EAAA;EAAA;IAAAA,EAAA,GAAAxD,CAAA;EAAA;EAAA,OANPwD,EAMO;AAAA;AAIX,MAAMkD,sBAAsB,GAAGA,CAAA;EAAA,MAAA1G,CAAA,GAAAC,EAAA;EAC7B,MAAAmH,KAAA,GAAc5I,QAAQ,CAAC,CAAC;EAAA,IAAAuB,EAAA;EAAA,IAAAC,CAAA,QAAAoH,KAAA,CAAAC,MAAA,CAAAC,sBAAA;IACjBvH,EAAA,GAAAzB,UAAU,CAAAiJ,MAAO,CAAC;MAAAJ,SAAA,EACZ;QAAAK,UAAA,EACG,QAAQ;QAAAC,aAAA,EACL,KAAK;QAAAC,iBAAA,EACD/I,4CAA4C;QAAAgJ,eAAA,EAC9C;MACnB,CAAC;MAAAZ,SAAA,EACU;QAAAa,IAAA,EACH,CAAC;QAAAhE,MAAA,EACC,CAAC;QAAAiE,cAAA,EACO,CAAC;QAAAC,cAAA,EACDV,KAAK,CAAAC,MAAO,CAAAC;MAC9B,CAAC;MAAAN,QAAA,EACS;QAAAU,iBAAA,EACW;MACrB;IACF,CAAC,CAAC;IAAA1H,CAAA,MAAAoH,KAAA,CAAAC,MAAA,CAAAC,sBAAA;IAAAtH,CAAA,MAAAD,EAAA;EAAA;IAAAA,EAAA,GAAAC,CAAA;EAAA;EAAA,OAhBKD,EAgBL;AAAA,CACH;AAED,MAAMsB,SAAS,GAAGA,CAAA,KAChB/C,UAAU,CAACiJ,MAAM,CAAC;EAChBxB,aAAa,EAAE;IACb4B,eAAe,EAAE;EACnB,CAAC;EACD/B,UAAU,EAAE;IACV;IACAhC,MAAM,EAAE;EACV;AACF,CAAC,CAAC","ignoreList":[]}
@@ -1,10 +1,11 @@
1
1
  import { MessageResource } from '../../types';
2
2
  import { ReactionCountResource } from '../../types/resources/reaction';
3
- export declare function MessageReaction({ reaction, onLongPress, message, conversationId, }: {
3
+ export declare function MessageReaction({ reaction, onLongPress, message, conversationId, disabled, }: {
4
4
  reaction: ReactionCountResource;
5
5
  onLongPress: (_reaction: ReactionCountResource) => void;
6
6
  message: MessageResource;
7
7
  conversationId: number;
8
+ disabled?: boolean;
8
9
  }): import("react/jsx-runtime").JSX.Element | null;
9
10
  export declare const useReactionStyles: ({ mine }: {
10
11
  mine: number;
@@ -1 +1 @@
1
- {"version":3,"file":"message_reaction.d.ts","sourceRoot":"","sources":["../../../src/components/conversation/message_reaction.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAA;AAItE,wBAAgB,eAAe,CAAC,EAC9B,QAAQ,EACR,WAAW,EACX,OAAO,EACP,cAAc,GACf,EAAE;IACD,QAAQ,EAAE,qBAAqB,CAAA;IAC/B,WAAW,EAAE,CAAC,SAAS,EAAE,qBAAqB,KAAK,IAAI,CAAA;IACvD,OAAO,EAAE,eAAe,CAAA;IACxB,cAAc,EAAE,MAAM,CAAA;CACvB,kDAgCA;AAED,eAAO,MAAM,iBAAiB,GAAI,UAAU;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;CA0B3D,CAAA"}
1
+ {"version":3,"file":"message_reaction.d.ts","sourceRoot":"","sources":["../../../src/components/conversation/message_reaction.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAA;AAItE,wBAAgB,eAAe,CAAC,EAC9B,QAAQ,EACR,WAAW,EACX,OAAO,EACP,cAAc,EACd,QAAgB,GACjB,EAAE;IACD,QAAQ,EAAE,qBAAqB,CAAA;IAC/B,WAAW,EAAE,CAAC,SAAS,EAAE,qBAAqB,KAAK,IAAI,CAAA;IACvD,OAAO,EAAE,eAAe,CAAA;IACxB,cAAc,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,kDAmCA;AAED,eAAO,MAAM,iBAAiB,GAAI,UAAU;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;CA0B3D,CAAA"}
@@ -11,53 +11,55 @@ import { REACTION_EMOJIS } from '../../utils';
11
11
  import { Haptic } from '../../utils/native_adapters';
12
12
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
13
  export function MessageReaction(t0) {
14
- const $ = _c(29);
14
+ const $ = _c(31);
15
15
  const {
16
16
  reaction,
17
17
  onLongPress,
18
18
  message,
19
- conversationId
19
+ conversationId,
20
+ disabled: t1
20
21
  } = t0;
22
+ const disabled = t1 === undefined ? false : t1;
21
23
  const styles = useReactionStyles(reaction);
22
- let t1;
24
+ let t2;
23
25
  if ($[0] !== conversationId || $[1] !== message) {
24
- t1 = {
26
+ t2 = {
25
27
  conversation_id: conversationId,
26
28
  message
27
29
  };
28
30
  $[0] = conversationId;
29
31
  $[1] = message;
30
- $[2] = t1;
32
+ $[2] = t2;
31
33
  } else {
32
- t1 = $[2];
34
+ t2 = $[2];
33
35
  }
34
36
  const {
35
37
  handleReactionToggle
36
- } = useMessageReactionToggle(t1);
38
+ } = useMessageReactionToggle(t2);
37
39
  const {
38
40
  colors
39
41
  } = useTheme();
40
42
  const baseRippleColor = reaction.mine ? colors.interaction : colors.fillColorNeutral060;
41
- let t2;
43
+ let t3;
42
44
  if ($[3] !== baseRippleColor) {
43
- t2 = {
45
+ t3 = {
44
46
  color: baseRippleColor
45
47
  };
46
48
  $[3] = baseRippleColor;
47
- $[4] = t2;
49
+ $[4] = t3;
48
50
  } else {
49
- t2 = $[4];
51
+ t3 = $[4];
50
52
  }
51
- const androidRippleColor = useCreateAndroidRippleColor(t2);
53
+ const androidRippleColor = useCreateAndroidRippleColor(t3);
52
54
  if (!reaction.count) {
53
55
  return null;
54
56
  }
55
57
  if (!REACTION_EMOJIS[reaction.value]) {
56
58
  return null;
57
59
  }
58
- let t3;
60
+ let t4;
59
61
  if ($[5] !== handleReactionToggle || $[6] !== reaction.mine || $[7] !== reaction.value) {
60
- t3 = () => {
62
+ t4 = () => {
61
63
  Haptic.impactLight();
62
64
  handleReactionToggle({
63
65
  value: reaction.value,
@@ -67,81 +69,86 @@ export function MessageReaction(t0) {
67
69
  $[5] = handleReactionToggle;
68
70
  $[6] = reaction.mine;
69
71
  $[7] = reaction.value;
70
- $[8] = t3;
72
+ $[8] = t4;
71
73
  } else {
72
- t3 = $[8];
74
+ t4 = $[8];
73
75
  }
74
- const handlePress = t3;
75
- const t4 = `reaction-${message.id}-${reaction.value}`;
76
- let t5;
76
+ const handlePress = t4;
77
+ const t5 = `reaction-${message.id}-${reaction.value}`;
78
+ let t6;
77
79
  if ($[9] !== onLongPress || $[10] !== reaction) {
78
- t5 = () => onLongPress(reaction);
80
+ t6 = () => onLongPress(reaction);
79
81
  $[9] = onLongPress;
80
82
  $[10] = reaction;
81
- $[11] = t5;
83
+ $[11] = t6;
82
84
  } else {
83
- t5 = $[11];
85
+ t6 = $[11];
84
86
  }
85
- let t6;
86
- if ($[12] !== androidRippleColor) {
87
- t6 = {
87
+ const t7 = disabled ? undefined : handlePress;
88
+ const t8 = disabled ? 1 : undefined;
89
+ let t9;
90
+ if ($[12] !== androidRippleColor || $[13] !== disabled) {
91
+ t9 = disabled ? undefined : {
88
92
  color: androidRippleColor,
89
93
  borderless: false,
90
94
  foreground: true
91
95
  };
92
96
  $[12] = androidRippleColor;
93
- $[13] = t6;
97
+ $[13] = disabled;
98
+ $[14] = t9;
94
99
  } else {
95
- t6 = $[13];
100
+ t9 = $[14];
96
101
  }
97
- const t7 = REACTION_EMOJIS[reaction.value];
98
- let t8;
99
- if ($[14] !== styles.reactionEmoji || $[15] !== t7) {
100
- t8 = /*#__PURE__*/_jsx(Text, {
102
+ const t10 = REACTION_EMOJIS[reaction.value];
103
+ let t11;
104
+ if ($[15] !== styles.reactionEmoji || $[16] !== t10) {
105
+ t11 = /*#__PURE__*/_jsx(Text, {
101
106
  style: styles.reactionEmoji,
102
- children: t7
107
+ children: t10
103
108
  });
104
- $[14] = styles.reactionEmoji;
105
- $[15] = t7;
106
- $[16] = t8;
109
+ $[15] = styles.reactionEmoji;
110
+ $[16] = t10;
111
+ $[17] = t11;
107
112
  } else {
108
- t8 = $[16];
113
+ t11 = $[17];
109
114
  }
110
- let t9;
111
- if ($[17] !== reaction.count || $[18] !== styles.reactionText) {
112
- t9 = /*#__PURE__*/_jsx(Text, {
115
+ let t12;
116
+ if ($[18] !== reaction.count || $[19] !== styles.reactionText) {
117
+ t12 = /*#__PURE__*/_jsx(Text, {
113
118
  style: styles.reactionText,
114
119
  children: reaction.count
115
120
  });
116
- $[17] = reaction.count;
117
- $[18] = styles.reactionText;
118
- $[19] = t9;
121
+ $[18] = reaction.count;
122
+ $[19] = styles.reactionText;
123
+ $[20] = t12;
119
124
  } else {
120
- t9 = $[19];
125
+ t12 = $[20];
121
126
  }
122
- let t10;
123
- if ($[20] !== handlePress || $[21] !== reaction.value || $[22] !== styles.reaction || $[23] !== t4 || $[24] !== t5 || $[25] !== t6 || $[26] !== t8 || $[27] !== t9) {
124
- t10 = /*#__PURE__*/_jsxs(PlatformPressable, {
125
- testID: t4,
127
+ let t13;
128
+ if ($[21] !== reaction.value || $[22] !== styles.reaction || $[23] !== t11 || $[24] !== t12 || $[25] !== t5 || $[26] !== t6 || $[27] !== t7 || $[28] !== t8 || $[29] !== t9) {
129
+ t13 = /*#__PURE__*/_jsxs(PlatformPressable, {
130
+ testID: t5,
126
131
  style: styles.reaction,
127
- onLongPress: t5,
128
- onPress: handlePress,
129
- android_ripple: t6,
130
- children: [t8, t9]
132
+ onLongPress: t6,
133
+ onPress: t7,
134
+ pressOpacity: t8,
135
+ android_ripple: t9,
136
+ children: [t11, t12]
131
137
  }, reaction.value);
132
- $[20] = handlePress;
133
138
  $[21] = reaction.value;
134
139
  $[22] = styles.reaction;
135
- $[23] = t4;
136
- $[24] = t5;
137
- $[25] = t6;
138
- $[26] = t8;
139
- $[27] = t9;
140
- $[28] = t10;
140
+ $[23] = t11;
141
+ $[24] = t12;
142
+ $[25] = t5;
143
+ $[26] = t6;
144
+ $[27] = t7;
145
+ $[28] = t8;
146
+ $[29] = t9;
147
+ $[30] = t13;
141
148
  } else {
142
- t10 = $[28];
149
+ t13 = $[30];
143
150
  }
144
- return t10;
151
+ return t13;
145
152
  }
146
153
  export const useReactionStyles = t0 => {
147
154
  const $ = _c(10);
@@ -1 +1 @@
1
- {"version":3,"file":"message_reaction.js","names":["PlatformPressable","colorFunction","React","useMemo","StyleSheet","Text","useSelectedChipBackgroundColor","useTheme","useCreateAndroidRippleColor","useMessageReactionToggle","REACTION_EMOJIS","Haptic","jsx","_jsx","jsxs","_jsxs","MessageReaction","t0","$","_c","reaction","onLongPress","message","conversationId","styles","useReactionStyles","t1","conversation_id","handleReactionToggle","colors","baseRippleColor","mine","interaction","fillColorNeutral060","t2","color","androidRippleColor","count","value","t3","impactLight","handlePress","t4","id","t5","t6","borderless","foreground","t7","t8","reactionEmoji","style","children","t9","reactionText","t10","testID","android_ripple","borderColorChipSelected","name","hsl","lightness","string","activeBorderColor","activeBackgroundColor","textColorDefaultPrimary","create","borderWidth","borderColor","backgroundColor","borderRadius","overflow","paddingVertical","paddingHorizontal","flexDirection","alignItems","gap","fontSize","paddingTop"],"sources":["../../../src/components/conversation/message_reaction.tsx"],"sourcesContent":["import { PlatformPressable } from '@react-navigation/elements'\nimport colorFunction from 'color'\nimport React, { useMemo } from 'react'\nimport { StyleSheet } from 'react-native'\nimport { Text } from '../../components/display'\nimport { useSelectedChipBackgroundColor, useTheme } from '../../hooks'\nimport { useCreateAndroidRippleColor } from '../../hooks/use_create_android_ripple_color'\nimport { useMessageReactionToggle } from '../../hooks/use_message_reaction_toggle'\nimport { MessageResource } from '../../types'\nimport { ReactionCountResource } from '../../types/resources/reaction'\nimport { REACTION_EMOJIS } from '../../utils'\nimport { Haptic } from '../../utils/native_adapters'\n\nexport function MessageReaction({\n reaction,\n onLongPress,\n message,\n conversationId,\n}: {\n reaction: ReactionCountResource\n onLongPress: (_reaction: ReactionCountResource) => void\n message: MessageResource\n conversationId: number\n}) {\n const styles = useReactionStyles(reaction)\n const { handleReactionToggle } = useMessageReactionToggle({\n conversation_id: conversationId,\n message,\n })\n\n const { colors } = useTheme()\n const baseRippleColor = reaction.mine ? colors.interaction : colors.fillColorNeutral060\n const androidRippleColor = useCreateAndroidRippleColor({ color: baseRippleColor })\n\n if (!reaction.count) return null\n if (!REACTION_EMOJIS[reaction.value]) return null\n\n const handlePress = () => {\n Haptic.impactLight()\n handleReactionToggle({ value: reaction.value, mine: !!reaction.mine })\n }\n\n return (\n <PlatformPressable\n key={reaction.value}\n testID={`reaction-${message.id}-${reaction.value}`}\n style={styles.reaction}\n onLongPress={() => onLongPress(reaction)}\n onPress={handlePress}\n android_ripple={{ color: androidRippleColor, borderless: false, foreground: true }}\n >\n <Text style={styles.reactionEmoji}>{REACTION_EMOJIS[reaction.value]}</Text>\n <Text style={styles.reactionText}>{reaction.count}</Text>\n </PlatformPressable>\n )\n}\n\nexport const useReactionStyles = ({ mine }: { mine: number }) => {\n const { colors } = useTheme()\n const activeBorderColor = useMemo(() => {\n return colorFunction(colors.borderColorChipSelected ?? colors.interaction)\n .hsl()\n .lightness(colors.name === 'dark' ? 20 : 80)\n .string()\n }, [colors.borderColorChipSelected, colors.interaction, colors.name])\n const activeBackgroundColor = useSelectedChipBackgroundColor()\n\n return StyleSheet.create({\n reaction: {\n borderWidth: 1,\n borderColor: mine ? activeBorderColor : 'transparent',\n backgroundColor: mine ? activeBackgroundColor : colors.fillColorNeutral060,\n borderRadius: 16,\n overflow: 'hidden',\n paddingVertical: 4,\n paddingHorizontal: 8,\n flexDirection: 'row',\n alignItems: 'center',\n gap: 2,\n },\n reactionEmoji: { fontSize: 12, paddingTop: 0 },\n reactionText: { fontSize: 12, color: colors.textColorDefaultPrimary },\n })\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"message_reaction.js","names":["PlatformPressable","colorFunction","React","useMemo","StyleSheet","Text","useSelectedChipBackgroundColor","useTheme","useCreateAndroidRippleColor","useMessageReactionToggle","REACTION_EMOJIS","Haptic","jsx","_jsx","jsxs","_jsxs","MessageReaction","t0","$","_c","reaction","onLongPress","message","conversationId","disabled","t1","undefined","styles","useReactionStyles","t2","conversation_id","handleReactionToggle","colors","baseRippleColor","mine","interaction","fillColorNeutral060","t3","color","androidRippleColor","count","value","t4","impactLight","handlePress","t5","id","t6","t7","t8","t9","borderless","foreground","t10","t11","reactionEmoji","style","children","t12","reactionText","t13","testID","onPress","pressOpacity","android_ripple","borderColorChipSelected","name","hsl","lightness","string","activeBorderColor","activeBackgroundColor","textColorDefaultPrimary","create","borderWidth","borderColor","backgroundColor","borderRadius","overflow","paddingVertical","paddingHorizontal","flexDirection","alignItems","gap","fontSize","paddingTop"],"sources":["../../../src/components/conversation/message_reaction.tsx"],"sourcesContent":["import { PlatformPressable } from '@react-navigation/elements'\nimport colorFunction from 'color'\nimport React, { useMemo } from 'react'\nimport { StyleSheet } from 'react-native'\nimport { Text } from '../../components/display'\nimport { useSelectedChipBackgroundColor, useTheme } from '../../hooks'\nimport { useCreateAndroidRippleColor } from '../../hooks/use_create_android_ripple_color'\nimport { useMessageReactionToggle } from '../../hooks/use_message_reaction_toggle'\nimport { MessageResource } from '../../types'\nimport { ReactionCountResource } from '../../types/resources/reaction'\nimport { REACTION_EMOJIS } from '../../utils'\nimport { Haptic } from '../../utils/native_adapters'\n\nexport function MessageReaction({\n reaction,\n onLongPress,\n message,\n conversationId,\n disabled = false,\n}: {\n reaction: ReactionCountResource\n onLongPress: (_reaction: ReactionCountResource) => void\n message: MessageResource\n conversationId: number\n disabled?: boolean\n}) {\n const styles = useReactionStyles(reaction)\n const { handleReactionToggle } = useMessageReactionToggle({\n conversation_id: conversationId,\n message,\n })\n\n const { colors } = useTheme()\n const baseRippleColor = reaction.mine ? colors.interaction : colors.fillColorNeutral060\n const androidRippleColor = useCreateAndroidRippleColor({ color: baseRippleColor })\n\n if (!reaction.count) return null\n if (!REACTION_EMOJIS[reaction.value]) return null\n\n const handlePress = () => {\n Haptic.impactLight()\n handleReactionToggle({ value: reaction.value, mine: !!reaction.mine })\n }\n\n return (\n <PlatformPressable\n key={reaction.value}\n testID={`reaction-${message.id}-${reaction.value}`}\n style={styles.reaction}\n onLongPress={() => onLongPress(reaction)}\n onPress={disabled ? undefined : handlePress}\n pressOpacity={disabled ? 1 : undefined}\n android_ripple={\n disabled ? undefined : { color: androidRippleColor, borderless: false, foreground: true }\n }\n >\n <Text style={styles.reactionEmoji}>{REACTION_EMOJIS[reaction.value]}</Text>\n <Text style={styles.reactionText}>{reaction.count}</Text>\n </PlatformPressable>\n )\n}\n\nexport const useReactionStyles = ({ mine }: { mine: number }) => {\n const { colors } = useTheme()\n const activeBorderColor = useMemo(() => {\n return colorFunction(colors.borderColorChipSelected ?? colors.interaction)\n .hsl()\n .lightness(colors.name === 'dark' ? 20 : 80)\n .string()\n }, [colors.borderColorChipSelected, colors.interaction, colors.name])\n const activeBackgroundColor = useSelectedChipBackgroundColor()\n\n return StyleSheet.create({\n reaction: {\n borderWidth: 1,\n borderColor: mine ? activeBorderColor : 'transparent',\n backgroundColor: mine ? activeBackgroundColor : colors.fillColorNeutral060,\n borderRadius: 16,\n overflow: 'hidden',\n paddingVertical: 4,\n paddingHorizontal: 8,\n flexDirection: 'row',\n alignItems: 'center',\n gap: 2,\n },\n reactionEmoji: { fontSize: 12, paddingTop: 0 },\n reactionText: { fontSize: 12, color: colors.textColorDefaultPrimary },\n })\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,12 +1,14 @@
1
1
  export declare const LeaderMessagesDisabledBanner: () => import("react/jsx-runtime").JSX.Element;
2
2
  export declare const MemberMessagesDisabledBanner: () => import("react/jsx-runtime").JSX.Element;
3
+ interface BannerAction {
4
+ label: string;
5
+ onPress: () => void;
6
+ loading?: boolean;
7
+ }
3
8
  interface ConversationDisabledBannerProps {
4
9
  message: string | null;
5
- messageLink?: {
6
- label: string;
7
- onPress: () => void;
8
- };
10
+ action?: BannerAction;
9
11
  }
10
- export declare const ConversationDisabledBanner: ({ message, messageLink, }: ConversationDisabledBannerProps) => import("react/jsx-runtime").JSX.Element;
12
+ export declare const ConversationDisabledBanner: ({ message, action, }: ConversationDisabledBannerProps) => import("react/jsx-runtime").JSX.Element;
11
13
  export {};
12
14
  //# sourceMappingURL=messages_disabled_banners.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"messages_disabled_banners.d.ts","sourceRoot":"","sources":["../../../src/components/conversation/messages_disabled_banners.tsx"],"names":[],"mappings":"AAKA,eAAO,MAAM,4BAA4B,+CAIxC,CAAA;AAED,eAAO,MAAM,4BAA4B,+CASxC,CAAA;AAID,UAAU,+BAA+B;IACvC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,WAAW,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,IAAI,CAAA;KAAE,CAAA;CACrD;AAED,eAAO,MAAM,0BAA0B,GAAI,2BAGxC,+BAA+B,4CAWjC,CAAA"}
1
+ {"version":3,"file":"messages_disabled_banners.d.ts","sourceRoot":"","sources":["../../../src/components/conversation/messages_disabled_banners.tsx"],"names":[],"mappings":"AAKA,eAAO,MAAM,4BAA4B,+CAIxC,CAAA;AAED,eAAO,MAAM,4BAA4B,+CASxC,CAAA;AAID,UAAU,YAAY;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,UAAU,+BAA+B;IACvC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,MAAM,CAAC,EAAE,YAAY,CAAA;CACtB;AAED,eAAO,MAAM,0BAA0B,GAAI,sBAGxC,+BAA+B,4CAOjC,CAAA"}
@@ -38,19 +38,19 @@ export const ConversationDisabledBanner = t0 => {
38
38
  const $ = _c(4);
39
39
  const {
40
40
  message,
41
- messageLink
41
+ action
42
42
  } = t0;
43
43
  const styles = useStyles();
44
44
  const description = message ?? DEFAULT_DISABLED_TEXT;
45
45
  let t1;
46
- if ($[0] !== description || $[1] !== messageLink || $[2] !== styles.memberBanner) {
46
+ if ($[0] !== action || $[1] !== description || $[2] !== styles.memberBanner) {
47
47
  t1 = /*#__PURE__*/_jsx(MessagesDisabledBanner, {
48
48
  description: description,
49
49
  style: styles.memberBanner,
50
- messageLink: messageLink
50
+ action: action
51
51
  });
52
- $[0] = description;
53
- $[1] = messageLink;
52
+ $[0] = action;
53
+ $[1] = description;
54
54
  $[2] = styles.memberBanner;
55
55
  $[3] = t1;
56
56
  } else {
@@ -63,7 +63,7 @@ const MessagesDisabledBanner = t0 => {
63
63
  const {
64
64
  description,
65
65
  style,
66
- messageLink
66
+ action
67
67
  } = t0;
68
68
  const styles = useStyles();
69
69
  let t1;
@@ -89,16 +89,17 @@ const MessagesDisabledBanner = t0 => {
89
89
  t2 = $[5];
90
90
  }
91
91
  let t3;
92
- if ($[6] !== messageLink || $[7] !== styles.messageButton) {
93
- t3 = messageLink && /*#__PURE__*/_jsx(Button, {
92
+ if ($[6] !== action || $[7] !== styles.actionButton) {
93
+ t3 = action && /*#__PURE__*/_jsx(Button, {
94
94
  variant: "fill",
95
95
  size: "lg",
96
- title: messageLink.label,
97
- onPress: messageLink.onPress,
98
- style: styles.messageButton
96
+ title: action.label,
97
+ onPress: action.onPress,
98
+ loading: action.loading,
99
+ style: styles.actionButton
99
100
  });
100
- $[6] = messageLink;
101
- $[7] = styles.messageButton;
101
+ $[6] = action;
102
+ $[7] = styles.actionButton;
102
103
  $[8] = t3;
103
104
  } else {
104
105
  t3 = $[8];
@@ -144,7 +145,7 @@ const useStyles = () => {
144
145
  paddingBottom: 16 + bottom,
145
146
  marginBottom: -bottom
146
147
  },
147
- messageButton: {
148
+ actionButton: {
148
149
  marginTop: 12
149
150
  }
150
151
  });
@@ -1 +1 @@
1
- {"version":3,"file":"messages_disabled_banners.js","names":["StyleSheet","View","useSafeAreaInsets","useTheme","Button","Text","jsx","_jsx","jsxs","_jsxs","LeaderMessagesDisabledBanner","$","_c","t0","Symbol","for","MessagesDisabledBanner","description","MemberMessagesDisabledBanner","styles","useStyles","memberBanner","style","DEFAULT_DISABLED_TEXT","ConversationDisabledBanner","message","messageLink","t1","baseBanner","t2","text","variant","children","t3","messageButton","size","title","label","onPress","t4","colors","bottom","borderColorDefaultBase","statusNeutralComposedBackground","create","paddingHorizontal","paddingVertical","backgroundColor","borderTopWidth","borderTopColor","textAlign","paddingTop","paddingBottom","marginBottom","marginTop"],"sources":["../../../src/components/conversation/messages_disabled_banners.tsx"],"sourcesContent":["import { StyleSheet, View, type ViewStyle } from 'react-native'\nimport { useSafeAreaInsets } from 'react-native-safe-area-context'\nimport { useTheme } from '../../hooks'\nimport { Button, Text } from '../display'\n\nexport const LeaderMessagesDisabledBanner = () => {\n return (\n <MessagesDisabledBanner description=\"Only leaders can send messages in this conversation.\" />\n )\n}\n\nexport const MemberMessagesDisabledBanner = () => {\n const styles = useStyles()\n\n return (\n <MessagesDisabledBanner\n description=\"Only leaders can send messages, but you can still add reactions.\"\n style={styles.memberBanner}\n />\n )\n}\n\nconst DEFAULT_DISABLED_TEXT = 'This conversation has been disabled.'\n\ninterface ConversationDisabledBannerProps {\n message: string | null\n messageLink?: { label: string; onPress: () => void }\n}\n\nexport const ConversationDisabledBanner = ({\n message,\n messageLink,\n}: ConversationDisabledBannerProps) => {\n const styles = useStyles()\n const description = message ?? DEFAULT_DISABLED_TEXT\n\n return (\n <MessagesDisabledBanner\n description={description}\n style={styles.memberBanner}\n messageLink={messageLink}\n />\n )\n}\n\ninterface MessagesDisabledBannerProps {\n description: string\n style?: ViewStyle\n messageLink?: { label: string; onPress: () => void }\n}\n\nconst MessagesDisabledBanner = ({\n description,\n style,\n messageLink,\n}: MessagesDisabledBannerProps) => {\n const styles = useStyles()\n\n return (\n <View style={[styles.baseBanner, style]}>\n <Text style={styles.text} variant=\"tertiary\">\n {description}\n </Text>\n {messageLink && (\n <Button\n variant=\"fill\"\n size=\"lg\"\n title={messageLink.label}\n onPress={messageLink.onPress}\n style={styles.messageButton}\n />\n )}\n </View>\n )\n}\n\nconst useStyles = () => {\n const { colors } = useTheme()\n const { bottom } = useSafeAreaInsets()\n\n return StyleSheet.create({\n baseBanner: {\n paddingHorizontal: 16,\n paddingVertical: 4,\n backgroundColor: colors.statusNeutralComposedBackground,\n borderTopWidth: 1,\n borderTopColor: colors.borderColorDefaultBase,\n },\n text: {\n textAlign: 'center',\n },\n memberBanner: {\n paddingTop: 16,\n paddingBottom: 16 + bottom,\n marginBottom: -bottom,\n },\n messageButton: {\n marginTop: 12,\n },\n })\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"messages_disabled_banners.js","names":["StyleSheet","View","useSafeAreaInsets","useTheme","Button","Text","jsx","_jsx","jsxs","_jsxs","LeaderMessagesDisabledBanner","$","_c","t0","Symbol","for","MessagesDisabledBanner","description","MemberMessagesDisabledBanner","styles","useStyles","memberBanner","style","DEFAULT_DISABLED_TEXT","ConversationDisabledBanner","message","action","t1","baseBanner","t2","text","variant","children","t3","actionButton","size","title","label","onPress","loading","t4","colors","bottom","borderColorDefaultBase","statusNeutralComposedBackground","create","paddingHorizontal","paddingVertical","backgroundColor","borderTopWidth","borderTopColor","textAlign","paddingTop","paddingBottom","marginBottom","marginTop"],"sources":["../../../src/components/conversation/messages_disabled_banners.tsx"],"sourcesContent":["import { StyleSheet, View, type ViewStyle } from 'react-native'\nimport { useSafeAreaInsets } from 'react-native-safe-area-context'\nimport { useTheme } from '../../hooks'\nimport { Button, Text } from '../display'\n\nexport const LeaderMessagesDisabledBanner = () => {\n return (\n <MessagesDisabledBanner description=\"Only leaders can send messages in this conversation.\" />\n )\n}\n\nexport const MemberMessagesDisabledBanner = () => {\n const styles = useStyles()\n\n return (\n <MessagesDisabledBanner\n description=\"Only leaders can send messages, but you can still add reactions.\"\n style={styles.memberBanner}\n />\n )\n}\n\nconst DEFAULT_DISABLED_TEXT = 'This conversation has been disabled.'\n\ninterface BannerAction {\n label: string\n onPress: () => void\n loading?: boolean\n}\n\ninterface ConversationDisabledBannerProps {\n message: string | null\n action?: BannerAction\n}\n\nexport const ConversationDisabledBanner = ({\n message,\n action,\n}: ConversationDisabledBannerProps) => {\n const styles = useStyles()\n const description = message ?? DEFAULT_DISABLED_TEXT\n\n return (\n <MessagesDisabledBanner description={description} style={styles.memberBanner} action={action} />\n )\n}\n\ninterface MessagesDisabledBannerProps {\n description: string\n style?: ViewStyle\n action?: BannerAction\n}\n\nconst MessagesDisabledBanner = ({ description, style, action }: MessagesDisabledBannerProps) => {\n const styles = useStyles()\n\n return (\n <View style={[styles.baseBanner, style]}>\n <Text style={styles.text} variant=\"tertiary\">\n {description}\n </Text>\n {action && (\n <Button\n variant=\"fill\"\n size=\"lg\"\n title={action.label}\n onPress={action.onPress}\n loading={action.loading}\n style={styles.actionButton}\n />\n )}\n </View>\n )\n}\n\nconst useStyles = () => {\n const { colors } = useTheme()\n const { bottom } = useSafeAreaInsets()\n\n return StyleSheet.create({\n baseBanner: {\n paddingHorizontal: 16,\n paddingVertical: 4,\n backgroundColor: colors.statusNeutralComposedBackground,\n borderTopWidth: 1,\n borderTopColor: colors.borderColorDefaultBase,\n },\n text: {\n textAlign: 'center',\n },\n memberBanner: {\n paddingTop: 16,\n paddingBottom: 16 + bottom,\n marginBottom: -bottom,\n },\n actionButton: {\n marginTop: 12,\n },\n })\n}\n"],"mappings":"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","ignoreList":[]}
@@ -2,7 +2,8 @@ import { SystemMessageResource } from '../../utils/system_messages';
2
2
  interface SystemMessageProps {
3
3
  message: SystemMessageResource;
4
4
  conversationId: number;
5
+ conversationDisabled: boolean;
5
6
  }
6
- export declare function SystemMessage({ message, conversationId }: SystemMessageProps): import("react/jsx-runtime").JSX.Element;
7
+ export declare function SystemMessage({ message, conversationId, conversationDisabled, }: SystemMessageProps): import("react/jsx-runtime").JSX.Element;
7
8
  export {};
8
9
  //# sourceMappingURL=system_message.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"system_message.d.ts","sourceRoot":"","sources":["../../../src/components/conversation/system_message.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AAInE,UAAU,kBAAkB;IAC1B,OAAO,EAAE,qBAAqB,CAAA;IAC9B,cAAc,EAAE,MAAM,CAAA;CACvB;AAED,wBAAgB,aAAa,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,kBAAkB,2CAuE5E"}
1
+ {"version":3,"file":"system_message.d.ts","sourceRoot":"","sources":["../../../src/components/conversation/system_message.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AAInE,UAAU,kBAAkB;IAC1B,OAAO,EAAE,qBAAqB,CAAA;IAC9B,cAAc,EAAE,MAAM,CAAA;IACtB,oBAAoB,EAAE,OAAO,CAAA;CAC9B;AAED,wBAAgB,aAAa,CAAC,EAC5B,OAAO,EACP,cAAc,EACd,oBAAoB,GACrB,EAAE,kBAAkB,2CA2EpB"}