@planningcenter/chat-react-native 4.4.0-rc.7 → 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 (339) 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_jolt.d.ts +1 -0
  100. package/build/hooks/use_jolt.d.ts.map +1 -1
  101. package/build/hooks/use_jolt.js +59 -0
  102. package/build/hooks/use_jolt.js.map +1 -1
  103. package/build/hooks/use_manual_archiving_enabled.d.ts +2 -0
  104. package/build/hooks/use_manual_archiving_enabled.d.ts.map +1 -0
  105. package/build/hooks/use_manual_archiving_enabled.js +18 -0
  106. package/build/hooks/use_manual_archiving_enabled.js.map +1 -0
  107. package/build/hooks/use_mark_latest_message_read.d.ts.map +1 -1
  108. package/build/hooks/use_mark_latest_message_read.js +3 -3
  109. package/build/hooks/use_mark_latest_message_read.js.map +1 -1
  110. package/build/hooks/use_reduce_motion.d.ts +2 -0
  111. package/build/hooks/use_reduce_motion.d.ts.map +1 -0
  112. package/build/hooks/use_reduce_motion.js +28 -0
  113. package/build/hooks/use_reduce_motion.js.map +1 -0
  114. package/build/hooks/use_unarchive_conversation_action.d.ts +7 -0
  115. package/build/hooks/use_unarchive_conversation_action.d.ts.map +1 -0
  116. package/build/hooks/use_unarchive_conversation_action.js +52 -0
  117. package/build/hooks/use_unarchive_conversation_action.js.map +1 -0
  118. package/build/screens/attachment_actions/attachment_actions_screen.d.ts.map +1 -1
  119. package/build/screens/attachment_actions/attachment_actions_screen.js +84 -61
  120. package/build/screens/attachment_actions/attachment_actions_screen.js.map +1 -1
  121. package/build/screens/conversation_details_screen.d.ts.map +1 -1
  122. package/build/screens/conversation_details_screen.js +490 -395
  123. package/build/screens/conversation_details_screen.js.map +1 -1
  124. package/build/screens/conversation_filters/components/conversation_filters.d.ts.map +1 -1
  125. package/build/screens/conversation_filters/components/conversation_filters.js +88 -18
  126. package/build/screens/conversation_filters/components/conversation_filters.js.map +1 -1
  127. package/build/screens/conversation_filters/components/rows.d.ts +9 -0
  128. package/build/screens/conversation_filters/components/rows.d.ts.map +1 -1
  129. package/build/screens/conversation_filters/components/rows.js +93 -1
  130. package/build/screens/conversation_filters/components/rows.js.map +1 -1
  131. package/build/screens/conversation_filters/context/conversation_filter_context.d.ts.map +1 -1
  132. package/build/screens/conversation_filters/context/conversation_filter_context.js +8 -4
  133. package/build/screens/conversation_filters/context/conversation_filter_context.js.map +1 -1
  134. package/build/screens/conversation_filters/filter_types.d.ts +1 -0
  135. package/build/screens/conversation_filters/filter_types.d.ts.map +1 -1
  136. package/build/screens/conversation_filters/filter_types.js +1 -0
  137. package/build/screens/conversation_filters/filter_types.js.map +1 -1
  138. package/build/screens/conversation_filters/screen_props.d.ts +1 -0
  139. package/build/screens/conversation_filters/screen_props.d.ts.map +1 -1
  140. package/build/screens/conversation_filters/screen_props.js.map +1 -1
  141. package/build/screens/conversation_filters_screen.d.ts +1 -0
  142. package/build/screens/conversation_filters_screen.d.ts.map +1 -1
  143. package/build/screens/conversation_filters_screen.js +79 -48
  144. package/build/screens/conversation_filters_screen.js.map +1 -1
  145. package/build/screens/conversation_new/components/groups_form.d.ts.map +1 -1
  146. package/build/screens/conversation_new/components/groups_form.js +37 -34
  147. package/build/screens/conversation_new/components/groups_form.js.map +1 -1
  148. package/build/screens/conversation_screen.d.ts.map +1 -1
  149. package/build/screens/conversation_screen.js +13 -10
  150. package/build/screens/conversation_screen.js.map +1 -1
  151. package/build/screens/conversations/components/filter_dropdown_list_header_component.d.ts +2 -0
  152. package/build/screens/conversations/components/filter_dropdown_list_header_component.d.ts.map +1 -0
  153. package/build/screens/conversations/components/filter_dropdown_list_header_component.js +580 -0
  154. package/build/screens/conversations/components/filter_dropdown_list_header_component.js.map +1 -0
  155. package/build/screens/conversations/components/list_header_component.d.ts.map +1 -1
  156. package/build/screens/conversations/components/list_header_component.js +95 -90
  157. package/build/screens/conversations/components/list_header_component.js.map +1 -1
  158. package/build/screens/conversations/components/search_list_header_component.d.ts.map +1 -1
  159. package/build/screens/conversations/components/search_list_header_component.js +100 -95
  160. package/build/screens/conversations/components/search_list_header_component.js.map +1 -1
  161. package/build/screens/conversations/conversations_screen.d.ts +1 -0
  162. package/build/screens/conversations/conversations_screen.d.ts.map +1 -1
  163. package/build/screens/conversations/conversations_screen.js +15 -2
  164. package/build/screens/conversations/conversations_screen.js.map +1 -1
  165. package/build/screens/design_system_screen.d.ts.map +1 -1
  166. package/build/screens/design_system_screen.js +275 -215
  167. package/build/screens/design_system_screen.js.map +1 -1
  168. package/build/screens/message_actions_screen.d.ts.map +1 -1
  169. package/build/screens/message_actions_screen.js +112 -92
  170. package/build/screens/message_actions_screen.js.map +1 -1
  171. package/build/screens/search/search_screen.d.ts.map +1 -1
  172. package/build/screens/search/search_screen.js +10 -2
  173. package/build/screens/search/search_screen.js.map +1 -1
  174. package/build/screens/send_giphy_screen.d.ts +1 -0
  175. package/build/screens/send_giphy_screen.d.ts.map +1 -1
  176. package/build/screens/send_giphy_screen.js +108 -106
  177. package/build/screens/send_giphy_screen.js.map +1 -1
  178. package/build/screens/team_conversation_screen.js +1 -1
  179. package/build/screens/team_conversation_screen.js.map +1 -1
  180. package/build/types/jolt_events/message_events.d.ts +2 -0
  181. package/build/types/jolt_events/message_events.d.ts.map +1 -1
  182. package/build/types/jolt_events/message_events.js.map +1 -1
  183. package/build/types/resources/conversation.d.ts +2 -2
  184. package/build/types/resources/conversation.d.ts.map +1 -1
  185. package/build/types/resources/conversation.js.map +1 -1
  186. package/build/types/resources/member_ability.d.ts +2 -0
  187. package/build/types/resources/member_ability.d.ts.map +1 -1
  188. package/build/types/resources/member_ability.js.map +1 -1
  189. package/build/types/resources/message.d.ts +2 -0
  190. package/build/types/resources/message.d.ts.map +1 -1
  191. package/build/types/resources/message.js.map +1 -1
  192. package/build/types/resources/person.d.ts +1 -0
  193. package/build/types/resources/person.d.ts.map +1 -1
  194. package/build/types/resources/person.js.map +1 -1
  195. package/build/utils/archived_conversation.d.ts +5 -0
  196. package/build/utils/archived_conversation.d.ts.map +1 -0
  197. package/build/utils/archived_conversation.js +5 -0
  198. package/build/utils/archived_conversation.js.map +1 -0
  199. package/build/utils/date.d.ts +1 -0
  200. package/build/utils/date.d.ts.map +1 -1
  201. package/build/utils/date.js +9 -0
  202. package/build/utils/date.js.map +1 -1
  203. package/build/utils/index.d.ts +1 -0
  204. package/build/utils/index.d.ts.map +1 -1
  205. package/build/utils/index.js +1 -0
  206. package/build/utils/index.js.map +1 -1
  207. package/build/utils/jolt/transform_message_event_data_to_message_resource.d.ts.map +1 -1
  208. package/build/utils/jolt/transform_message_event_data_to_message_resource.js +2 -1
  209. package/build/utils/jolt/transform_message_event_data_to_message_resource.js.map +1 -1
  210. package/build/utils/native_adapters/configuration.d.ts +3 -0
  211. package/build/utils/native_adapters/configuration.d.ts.map +1 -1
  212. package/build/utils/native_adapters/configuration.js +3 -0
  213. package/build/utils/native_adapters/configuration.js.map +1 -1
  214. package/build/utils/native_adapters/index.d.ts +1 -0
  215. package/build/utils/native_adapters/index.d.ts.map +1 -1
  216. package/build/utils/native_adapters/index.js +1 -0
  217. package/build/utils/native_adapters/index.js.map +1 -1
  218. package/build/utils/native_adapters/menu.d.ts +41 -0
  219. package/build/utils/native_adapters/menu.d.ts.map +1 -0
  220. package/build/utils/native_adapters/menu.js +56 -0
  221. package/build/utils/native_adapters/menu.js.map +1 -0
  222. package/build/utils/request/conversation.d.ts +2 -1
  223. package/build/utils/request/conversation.d.ts.map +1 -1
  224. package/build/utils/request/conversation.js +4 -1
  225. package/build/utils/request/conversation.js.map +1 -1
  226. package/build/utils/request/messages_data_options.d.ts.map +1 -1
  227. package/build/utils/request/messages_data_options.js +1 -1
  228. package/build/utils/request/messages_data_options.js.map +1 -1
  229. package/build/utils/system_messages.d.ts +7 -5
  230. package/build/utils/system_messages.d.ts.map +1 -1
  231. package/build/utils/system_messages.js +10 -2
  232. package/build/utils/system_messages.js.map +1 -1
  233. package/build/vendor/font_awesome_pro_solid_icons.d.ts +1 -0
  234. package/build/vendor/font_awesome_pro_solid_icons.d.ts.map +1 -1
  235. package/build/vendor/font_awesome_pro_solid_icons.js +5 -0
  236. package/build/vendor/font_awesome_pro_solid_icons.js.map +1 -1
  237. package/package.json +3 -3
  238. package/src/__tests__/hooks/use_can_browse_archived_conversations.test.tsx +98 -0
  239. package/src/__tests__/screens/conversation_filters/components/conversation_filters.test.tsx +132 -0
  240. package/src/__tests__/screens/conversation_filters_screen.test.tsx +76 -0
  241. package/src/__tests__/screens/conversation_new/components/services_form.test.tsx +1 -0
  242. package/src/__tests__/screens/message_actions_screen.test.tsx +65 -2
  243. package/src/__tests__/screens/send_giphy_screen.test.tsx +102 -0
  244. package/src/__tests__/utils/system_messages.ts +19 -32
  245. package/src/components/conversation/__tests__/message_list.test.tsx +68 -2
  246. package/src/components/conversation/__tests__/system_message.test.tsx +106 -0
  247. package/src/components/conversation/jump_to_bottom_button.tsx +4 -3
  248. package/src/components/conversation/message.tsx +3 -0
  249. package/src/components/conversation/message_form.tsx +3 -1
  250. package/src/components/conversation/message_list.tsx +9 -1
  251. package/src/components/conversation/message_reaction.tsx +7 -2
  252. package/src/components/conversation/messages_disabled_banners.tsx +17 -18
  253. package/src/components/conversation/system_message.tsx +44 -16
  254. package/src/components/conversations/__tests__/conversation_actions.test.tsx +67 -0
  255. package/src/components/conversations/__tests__/conversation_preview.test.tsx +105 -0
  256. package/src/components/conversations/__tests__/conversations.test.tsx +93 -0
  257. package/src/components/conversations/__tests__/conversations_blank_state.test.tsx +73 -0
  258. package/src/components/conversations/archived_results_footer.tsx +36 -0
  259. package/src/components/conversations/conversation_actions.tsx +27 -19
  260. package/src/components/conversations/conversation_preview.tsx +39 -10
  261. package/src/components/conversations/conversations.tsx +26 -3
  262. package/src/components/conversations/conversations_blank_state.tsx +21 -0
  263. package/src/components/conversations/filtered_results_footer.tsx +38 -0
  264. package/src/components/display/__tests__/filter_dropdown.test.tsx +114 -0
  265. package/src/components/display/__tests__/icon_tile.test.tsx +16 -0
  266. package/src/components/display/action_button.tsx +4 -3
  267. package/src/components/display/filter_dropdown.tsx +124 -0
  268. package/src/components/display/icon_tile.tsx +67 -0
  269. package/src/components/display/index.ts +2 -0
  270. package/src/contexts/api_provider.tsx +8 -0
  271. package/src/contexts/conversations_context.tsx +2 -1
  272. package/src/hooks/__tests__/use_conversation_archive.test.tsx +152 -0
  273. package/src/hooks/__tests__/use_conversation_jolt_events.test.tsx +74 -0
  274. package/src/hooks/__tests__/use_conversation_messages.test.tsx +10 -2
  275. package/src/hooks/__tests__/use_jolt.test.tsx +100 -1
  276. package/src/hooks/__tests__/use_mark_latest_message_read.test.tsx +21 -7
  277. package/src/hooks/__tests__/use_reduce_motion.test.tsx +61 -0
  278. package/src/hooks/__tests__/use_unarchive_conversation_action.test.tsx +67 -0
  279. package/src/hooks/groups/use_group_members_for_new_conversation.ts +21 -16
  280. package/src/hooks/index.ts +3 -0
  281. package/src/hooks/use_animated_message_background_color.ts +6 -3
  282. package/src/hooks/use_api.ts +9 -2
  283. package/src/hooks/use_can_browse_archived_conversations.ts +17 -0
  284. package/src/hooks/use_clear_conversation_filters.ts +16 -0
  285. package/src/hooks/use_conversation.ts +44 -3
  286. package/src/hooks/use_conversation_messages.ts +7 -5
  287. package/src/hooks/use_current_person.ts +1 -0
  288. package/src/hooks/use_jolt.ts +57 -1
  289. package/src/hooks/use_manual_archiving_enabled.ts +10 -0
  290. package/src/hooks/use_mark_latest_message_read.ts +4 -3
  291. package/src/hooks/use_reduce_motion.ts +19 -0
  292. package/src/hooks/use_unarchive_conversation_action.ts +24 -0
  293. package/src/screens/__tests__/conversation_details_screen.test.tsx +305 -0
  294. package/src/screens/attachment_actions/__tests__/attachment_actions_screen.test.tsx +72 -0
  295. package/src/screens/attachment_actions/attachment_actions_screen.tsx +3 -1
  296. package/src/screens/conversation_details_screen.tsx +80 -16
  297. package/src/screens/conversation_filters/__tests__/conversation_filters.test.tsx +101 -0
  298. package/src/screens/conversation_filters/components/conversation_filters.tsx +40 -7
  299. package/src/screens/conversation_filters/components/rows.tsx +29 -1
  300. package/src/screens/conversation_filters/context/conversation_filter_context.tsx +4 -0
  301. package/src/screens/conversation_filters/filter_types.ts +1 -0
  302. package/src/screens/conversation_filters/screen_props.ts +1 -0
  303. package/src/screens/conversation_filters_screen.tsx +25 -5
  304. package/src/screens/conversation_new/components/groups_form.tsx +1 -0
  305. package/src/screens/conversation_screen.tsx +4 -2
  306. package/src/screens/conversations/__tests__/conversations_screen.test.tsx +52 -0
  307. package/src/screens/conversations/components/__tests__/filter_dropdown_list_header_component.test.tsx +259 -0
  308. package/src/screens/conversations/components/__tests__/list_header_component.test.tsx +21 -4
  309. package/src/screens/conversations/components/filter_dropdown_list_header_component.tsx +286 -0
  310. package/src/screens/conversations/components/list_header_component.tsx +17 -12
  311. package/src/screens/conversations/components/search_list_header_component.tsx +17 -12
  312. package/src/screens/conversations/conversations_screen.tsx +15 -2
  313. package/src/screens/design_system_screen.tsx +26 -0
  314. package/src/screens/message_actions_screen.tsx +29 -20
  315. package/src/screens/search/__tests__/search_screen.test.tsx +13 -1
  316. package/src/screens/search/search_screen.tsx +8 -2
  317. package/src/screens/send_giphy_screen.tsx +6 -3
  318. package/src/screens/team_conversation_screen.tsx +1 -1
  319. package/src/types/jolt_events/message_events.ts +2 -0
  320. package/src/types/resources/conversation.ts +2 -2
  321. package/src/types/resources/member_ability.ts +2 -0
  322. package/src/types/resources/message.ts +3 -0
  323. package/src/types/resources/person.ts +1 -0
  324. package/src/utils/__tests__/conversation.test.ts +1 -0
  325. package/src/utils/__tests__/date.test.ts +23 -0
  326. package/src/utils/__tests__/group_messages.test.ts +1 -0
  327. package/src/utils/archived_conversation.ts +13 -0
  328. package/src/utils/date.ts +8 -0
  329. package/src/utils/index.ts +1 -0
  330. package/src/utils/jolt/__tests__/transform_message_event_data_to_message_resource.test.ts +35 -0
  331. package/src/utils/jolt/transform_message_event_data_to_message_resource.ts +1 -0
  332. package/src/utils/native_adapters/__tests__/menu.test.tsx +46 -0
  333. package/src/utils/native_adapters/configuration.ts +5 -0
  334. package/src/utils/native_adapters/index.ts +1 -0
  335. package/src/utils/native_adapters/menu.tsx +70 -0
  336. package/src/utils/request/conversation.ts +4 -0
  337. package/src/utils/request/messages_data_options.ts +1 -0
  338. package/src/utils/system_messages.ts +19 -10
  339. package/src/vendor/font_awesome_pro_solid_icons.ts +12 -0
@@ -5,12 +5,16 @@ import { FlatList, StyleSheet, View } from 'react-native';
5
5
  import { useConversationsContext } from '../../contexts/conversations_context';
6
6
  import { useTheme } from '../../hooks';
7
7
  import { useCanCreateConversations } from '../../hooks/use_chat_permissions';
8
+ import { useClearConversationFilters } from '../../hooks/use_clear_conversation_filters';
8
9
  import { useConversationsJoltEvents } from '../../hooks/use_conversations_jolt_events';
10
+ import { useFilterDropdownEnabled } from '../../hooks/use_filter_dropdown_enabled';
11
+ import { ArchivedResultsFooter } from './archived_results_footer';
9
12
  import { ConversationPreview, ConversationPreviewSkeleton } from './conversation_preview';
10
13
  import { ConversationsBlankState } from './conversations_blank_state';
14
+ import { FilteredResultsFooter } from './filtered_results_footer';
11
15
  import { jsx as _jsx } from "react/jsx-runtime";
12
16
  export const Conversations = t0 => {
13
- const $ = _c(22);
17
+ const $ = _c(27);
14
18
  const {
15
19
  ListHeaderComponent
16
20
  } = t0;
@@ -22,15 +26,22 @@ export const Conversations = t0 => {
22
26
  refetch,
23
27
  isRefetching,
24
28
  isFetched,
29
+ hasNextPage,
25
30
  args: t1
26
31
  } = useConversationsContext();
27
32
  const {
28
33
  chat_group_graph_id,
29
- group_source_app_name
34
+ group_source_app_name,
35
+ show_direct_messages,
36
+ show_archived
30
37
  } = t1;
31
38
  const navigation = useNavigation();
32
39
  const canCreateConversations = useCanCreateConversations();
33
- const isFilterApplied = !!chat_group_graph_id || !!group_source_app_name;
40
+ const clearFilters = useClearConversationFilters();
41
+ const filterDropdownEnabled = useFilterDropdownEnabled();
42
+ const isFilterApplied = !!chat_group_graph_id || !!group_source_app_name || !!show_direct_messages || !!show_archived;
43
+ const showArchivedResultsFooter = !!show_archived && !isLoading && !hasNextPage;
44
+ const showFilteredResultsFooter = filterDropdownEnabled && isFilterApplied && !show_archived && !hasNextPage && !isLoading && conversations.length > 0;
34
45
  const showBadges = !chat_group_graph_id;
35
46
  let t2;
36
47
  bb0: {
@@ -64,11 +75,23 @@ export const Conversations = t0 => {
64
75
  t4 = $[4];
65
76
  }
66
77
  let t5;
67
- if ($[5] !== navigation || $[6] !== showBadges) {
68
- t5 = t6 => {
78
+ if ($[5] !== clearFilters || $[6] !== showArchivedResultsFooter || $[7] !== showFilteredResultsFooter) {
79
+ t5 = showArchivedResultsFooter ? /*#__PURE__*/_jsx(ArchivedResultsFooter, {
80
+ onViewActiveConversations: clearFilters
81
+ }) : showFilteredResultsFooter ? /*#__PURE__*/_jsx(FilteredResultsFooter, {}) : null;
82
+ $[5] = clearFilters;
83
+ $[6] = showArchivedResultsFooter;
84
+ $[7] = showFilteredResultsFooter;
85
+ $[8] = t5;
86
+ } else {
87
+ t5 = $[8];
88
+ }
89
+ let t6;
90
+ if ($[9] !== navigation || $[10] !== showBadges) {
91
+ t6 = t7 => {
69
92
  const {
70
93
  item: item_0
71
- } = t6;
94
+ } = t7;
72
95
  if (item_0.type === "loading") {
73
96
  return /*#__PURE__*/_jsx(ConversationPreviewSkeleton, {});
74
97
  } else {
@@ -76,7 +99,7 @@ export const Conversations = t0 => {
76
99
  conversation: item_0.resource,
77
100
  onPress: () => navigation.navigate("Conversation", {
78
101
  conversation_id: item_0.resource.id,
79
- title: item_0.resource.title,
102
+ title: item_0.resource.title ?? undefined,
80
103
  badge: item_0.resource.badges?.[0],
81
104
  deleted: item_0.resource.deleted,
82
105
  muted: item_0.resource.muted
@@ -85,23 +108,23 @@ export const Conversations = t0 => {
85
108
  });
86
109
  }
87
110
  };
88
- $[5] = navigation;
89
- $[6] = showBadges;
90
- $[7] = t5;
111
+ $[9] = navigation;
112
+ $[10] = showBadges;
113
+ $[11] = t6;
91
114
  } else {
92
- t5 = $[7];
115
+ t6 = $[11];
93
116
  }
94
- let t6;
95
- if ($[8] !== fetchNextPage) {
96
- t6 = () => fetchNextPage();
97
- $[8] = fetchNextPage;
98
- $[9] = t6;
117
+ let t7;
118
+ if ($[12] !== fetchNextPage) {
119
+ t7 = () => fetchNextPage();
120
+ $[12] = fetchNextPage;
121
+ $[13] = t7;
99
122
  } else {
100
- t6 = $[9];
123
+ t7 = $[13];
101
124
  }
102
- let t7;
103
- if ($[10] !== ListHeaderComponent || $[11] !== data || $[12] !== refetch || $[13] !== styles.contentContainer || $[14] !== t3 || $[15] !== t4 || $[16] !== t5 || $[17] !== t6) {
104
- t7 = /*#__PURE__*/_jsx(FlatList, {
125
+ let t8;
126
+ if ($[14] !== ListHeaderComponent || $[15] !== data || $[16] !== refetch || $[17] !== styles.contentContainer || $[18] !== t3 || $[19] !== t4 || $[20] !== t5 || $[21] !== t6 || $[22] !== t7) {
127
+ t8 = /*#__PURE__*/_jsx(FlatList, {
105
128
  data: data,
106
129
  keyExtractor: _temp2,
107
130
  contentContainerStyle: styles.contentContainer,
@@ -109,34 +132,36 @@ export const Conversations = t0 => {
109
132
  refreshing: t3,
110
133
  ListHeaderComponent: ListHeaderComponent,
111
134
  ListEmptyComponent: t4,
112
- renderItem: t5,
113
- onEndReached: t6
135
+ ListFooterComponent: t5,
136
+ renderItem: t6,
137
+ onEndReached: t7
114
138
  });
115
- $[10] = ListHeaderComponent;
116
- $[11] = data;
117
- $[12] = refetch;
118
- $[13] = styles.contentContainer;
119
- $[14] = t3;
120
- $[15] = t4;
121
- $[16] = t5;
122
- $[17] = t6;
123
- $[18] = t7;
139
+ $[14] = ListHeaderComponent;
140
+ $[15] = data;
141
+ $[16] = refetch;
142
+ $[17] = styles.contentContainer;
143
+ $[18] = t3;
144
+ $[19] = t4;
145
+ $[20] = t5;
146
+ $[21] = t6;
147
+ $[22] = t7;
148
+ $[23] = t8;
124
149
  } else {
125
- t7 = $[18];
150
+ t8 = $[23];
126
151
  }
127
- let t8;
128
- if ($[19] !== styles.container || $[20] !== t7) {
129
- t8 = /*#__PURE__*/_jsx(View, {
152
+ let t9;
153
+ if ($[24] !== styles.container || $[25] !== t8) {
154
+ t9 = /*#__PURE__*/_jsx(View, {
130
155
  style: styles.container,
131
- children: t7
156
+ children: t8
132
157
  });
133
- $[19] = styles.container;
134
- $[20] = t7;
135
- $[21] = t8;
158
+ $[24] = styles.container;
159
+ $[25] = t8;
160
+ $[26] = t9;
136
161
  } else {
137
- t8 = $[21];
162
+ t9 = $[26];
138
163
  }
139
- return t8;
164
+ return t9;
140
165
  };
141
166
  const useStyles = () => {
142
167
  const $ = _c(2);
@@ -1 +1 @@
1
- {"version":3,"file":"conversations.js","names":["useNavigation","React","useMemo","FlatList","StyleSheet","View","useConversationsContext","useTheme","useCanCreateConversations","useConversationsJoltEvents","ConversationPreview","ConversationPreviewSkeleton","ConversationsBlankState","jsx","_jsx","Conversations","t0","$","_c","ListHeaderComponent","styles","useStyles","conversations","isLoading","fetchNextPage","refetch","isRefetching","isFetched","args","t1","chat_group_graph_id","group_source_app_name","navigation","canCreateConversations","isFilterApplied","showBadges","t2","bb0","loadingPlaceholder","t3","map","_temp","data","t4","t5","t6","item","item_0","type","conversation","resource","onPress","navigate","conversation_id","id","title","badge","badges","deleted","muted","t7","contentContainer","keyExtractor","_temp2","contentContainerStyle","refreshing","ListEmptyComponent","renderItem","onEndReached","t8","container","style","children","colors","fillColorNeutral020","create","flex","paddingVertical","listItem","color","Array","from","length","_","i","toString"],"sources":["../../../src/components/conversations/conversations.tsx"],"sourcesContent":["import { useNavigation } from '@react-navigation/native'\nimport React, { useMemo } from 'react'\nimport { FlatList, StyleSheet, View } from 'react-native'\nimport { useConversationsContext } from '../../contexts/conversations_context'\nimport { useTheme } from '../../hooks'\nimport { useCanCreateConversations } from '../../hooks/use_chat_permissions'\nimport { useConversationsJoltEvents } from '../../hooks/use_conversations_jolt_events'\nimport { ConversationResource } from '../../types'\nimport { ConversationPreview, ConversationPreviewSkeleton } from './conversation_preview'\nimport { ConversationsBlankState } from './conversations_blank_state'\n\ninterface ConversationsProps {\n ListHeaderComponent?:\n | React.ComponentType<any>\n | React.ReactElement<any, string | React.JSXElementConstructor<any>>\n | null\n | undefined\n}\n\nexport const Conversations = ({ ListHeaderComponent }: ConversationsProps) => {\n const styles = useStyles()\n const {\n conversations,\n isLoading,\n fetchNextPage,\n refetch,\n isRefetching,\n isFetched,\n args: { chat_group_graph_id, group_source_app_name },\n } = useConversationsContext()\n const navigation = useNavigation()\n const canCreateConversations = useCanCreateConversations()\n const isFilterApplied = !!chat_group_graph_id || !!group_source_app_name\n\n const showBadges = !chat_group_graph_id\n\n const data: FlatListItem[] = useMemo(() => {\n if (isLoading) {\n return loadingPlaceholder\n }\n return conversations.map(conversation => ({\n type: 'conversation' as const,\n id: conversation.id,\n resource: conversation,\n }))\n }, [conversations, isLoading])\n\n useConversationsJoltEvents()\n\n return (\n <View style={styles.container}>\n <FlatList\n data={data}\n keyExtractor={item => item.id.toString()}\n contentContainerStyle={styles.contentContainer}\n onRefresh={refetch}\n refreshing={!isFetched && isRefetching}\n ListHeaderComponent={ListHeaderComponent}\n ListEmptyComponent={\n <ConversationsBlankState\n isFilterApplied={isFilterApplied}\n canCreateConversations={canCreateConversations}\n />\n }\n renderItem={({ item }) => {\n if (item.type === 'loading') {\n return <ConversationPreviewSkeleton />\n } else {\n return (\n <ConversationPreview\n conversation={item.resource}\n onPress={() =>\n navigation.navigate('Conversation', {\n conversation_id: item.resource.id,\n title: item.resource.title,\n badge: item.resource.badges?.[0],\n deleted: item.resource.deleted,\n muted: item.resource.muted,\n })\n }\n showBadges={showBadges}\n />\n )\n }\n }}\n onEndReached={() => fetchNextPage()}\n />\n </View>\n )\n}\n\nconst useStyles = () => {\n const { colors } = useTheme()\n\n return StyleSheet.create({\n container: { flex: 1 },\n contentContainer: { paddingVertical: 16 },\n listItem: { color: colors.fillColorNeutral020 },\n })\n}\n\ninterface FlatListLoadingItem {\n type: 'loading'\n id: string\n}\ninterface FlatListConversationItem {\n type: 'conversation'\n resource: ConversationResource\n id: number\n}\ntype FlatListItem = FlatListLoadingItem | FlatListConversationItem\n\nconst loadingPlaceholder: FlatListItem[] = Array.from({ length: 5 }, (_, i) => ({\n type: 'loading',\n id: `loading${i}`,\n}))\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"conversations.js","names":["useNavigation","React","useMemo","FlatList","StyleSheet","View","useConversationsContext","useTheme","useCanCreateConversations","useClearConversationFilters","useConversationsJoltEvents","useFilterDropdownEnabled","ArchivedResultsFooter","ConversationPreview","ConversationPreviewSkeleton","ConversationsBlankState","FilteredResultsFooter","jsx","_jsx","Conversations","t0","$","_c","ListHeaderComponent","styles","useStyles","conversations","isLoading","fetchNextPage","refetch","isRefetching","isFetched","hasNextPage","args","t1","chat_group_graph_id","group_source_app_name","show_direct_messages","show_archived","navigation","canCreateConversations","clearFilters","filterDropdownEnabled","isFilterApplied","showArchivedResultsFooter","showFilteredResultsFooter","length","showBadges","t2","bb0","loadingPlaceholder","t3","map","_temp","data","t4","t5","t6","t7","item","item_0","type","conversation","resource","onPress","navigate","conversation_id","id","title","undefined","badge","badges","deleted","muted","t8","contentContainer","keyExtractor","_temp2","contentContainerStyle","refreshing","ListEmptyComponent","ListFooterComponent","renderItem","onEndReached","t9","container","style","children","colors","fillColorNeutral020","create","flex","paddingVertical","listItem","color","Array","from","_","i","toString"],"sources":["../../../src/components/conversations/conversations.tsx"],"sourcesContent":["import { useNavigation } from '@react-navigation/native'\nimport React, { useMemo } from 'react'\nimport { FlatList, StyleSheet, View } from 'react-native'\nimport { useConversationsContext } from '../../contexts/conversations_context'\nimport { useTheme } from '../../hooks'\nimport { useCanCreateConversations } from '../../hooks/use_chat_permissions'\nimport { useClearConversationFilters } from '../../hooks/use_clear_conversation_filters'\nimport { useConversationsJoltEvents } from '../../hooks/use_conversations_jolt_events'\nimport { useFilterDropdownEnabled } from '../../hooks/use_filter_dropdown_enabled'\nimport { ConversationResource } from '../../types'\nimport { ArchivedResultsFooter } from './archived_results_footer'\nimport { ConversationPreview, ConversationPreviewSkeleton } from './conversation_preview'\nimport { ConversationsBlankState } from './conversations_blank_state'\nimport { FilteredResultsFooter } from './filtered_results_footer'\n\ninterface ConversationsProps {\n ListHeaderComponent?:\n | React.ComponentType<any>\n | React.ReactElement<any, string | React.JSXElementConstructor<any>>\n | null\n | undefined\n}\n\nexport const Conversations = ({ ListHeaderComponent }: ConversationsProps) => {\n const styles = useStyles()\n const {\n conversations,\n isLoading,\n fetchNextPage,\n refetch,\n isRefetching,\n isFetched,\n hasNextPage,\n args: { chat_group_graph_id, group_source_app_name, show_direct_messages, show_archived },\n } = useConversationsContext()\n const navigation = useNavigation()\n const canCreateConversations = useCanCreateConversations()\n const clearFilters = useClearConversationFilters()\n const filterDropdownEnabled = useFilterDropdownEnabled()\n const isFilterApplied =\n !!chat_group_graph_id || !!group_source_app_name || !!show_direct_messages || !!show_archived\n const showArchivedResultsFooter = !!show_archived && !isLoading && !hasNextPage\n const showFilteredResultsFooter =\n filterDropdownEnabled &&\n isFilterApplied &&\n !show_archived &&\n !hasNextPage &&\n !isLoading &&\n conversations.length > 0\n\n const showBadges = !chat_group_graph_id\n\n const data: FlatListItem[] = useMemo(() => {\n if (isLoading) {\n return loadingPlaceholder\n }\n return conversations.map(conversation => ({\n type: 'conversation' as const,\n id: conversation.id,\n resource: conversation,\n }))\n }, [conversations, isLoading])\n\n useConversationsJoltEvents()\n\n return (\n <View style={styles.container}>\n <FlatList\n data={data}\n keyExtractor={item => item.id.toString()}\n contentContainerStyle={styles.contentContainer}\n onRefresh={refetch}\n refreshing={!isFetched && isRefetching}\n ListHeaderComponent={ListHeaderComponent}\n ListEmptyComponent={\n <ConversationsBlankState\n isFilterApplied={isFilterApplied}\n canCreateConversations={canCreateConversations}\n />\n }\n ListFooterComponent={\n showArchivedResultsFooter ? (\n <ArchivedResultsFooter onViewActiveConversations={clearFilters} />\n ) : showFilteredResultsFooter ? (\n <FilteredResultsFooter />\n ) : null\n }\n renderItem={({ item }) => {\n if (item.type === 'loading') {\n return <ConversationPreviewSkeleton />\n } else {\n return (\n <ConversationPreview\n conversation={item.resource}\n onPress={() =>\n navigation.navigate('Conversation', {\n conversation_id: item.resource.id,\n title: item.resource.title ?? undefined,\n badge: item.resource.badges?.[0],\n deleted: item.resource.deleted,\n muted: item.resource.muted,\n })\n }\n showBadges={showBadges}\n />\n )\n }\n }}\n onEndReached={() => fetchNextPage()}\n />\n </View>\n )\n}\n\nconst useStyles = () => {\n const { colors } = useTheme()\n\n return StyleSheet.create({\n container: { flex: 1 },\n contentContainer: { paddingVertical: 16 },\n listItem: { color: colors.fillColorNeutral020 },\n })\n}\n\ninterface FlatListLoadingItem {\n type: 'loading'\n id: string\n}\ninterface FlatListConversationItem {\n type: 'conversation'\n resource: ConversationResource\n id: number\n}\ntype FlatListItem = FlatListLoadingItem | FlatListConversationItem\n\nconst loadingPlaceholder: FlatListItem[] = Array.from({ length: 5 }, (_, i) => ({\n type: 'loading',\n id: `loading${i}`,\n}))\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"conversations_blank_state.d.ts","sourceRoot":"","sources":["../../../src/components/conversations/conversations_blank_state.tsx"],"names":[],"mappings":"AAIA,UAAU,4BAA4B;IACpC,eAAe,EAAE,OAAO,CAAA;IACxB,sBAAsB,EAAE,OAAO,CAAA;CAChC;AAED,wBAAgB,uBAAuB,CAAC,EACtC,eAAe,EACf,sBAAsB,GACvB,EAAE,4BAA4B,2CAoB9B"}
1
+ {"version":3,"file":"conversations_blank_state.d.ts","sourceRoot":"","sources":["../../../src/components/conversations/conversations_blank_state.tsx"],"names":[],"mappings":"AAMA,UAAU,4BAA4B;IACpC,eAAe,EAAE,OAAO,CAAA;IACxB,sBAAsB,EAAE,OAAO,CAAA;CAChC;AAED,wBAAgB,uBAAuB,CAAC,EACtC,eAAe,EACf,sBAAsB,GACvB,EAAE,4BAA4B,2CAuC9B"}
@@ -1,34 +1,77 @@
1
1
  import { c as _c } from "react/compiler-runtime";
2
2
  import React from 'react';
3
3
  import { StyleSheet, View } from 'react-native';
4
+ import { useClearConversationFilters } from '../../hooks/use_clear_conversation_filters';
5
+ import { useFilterDropdownEnabled } from '../../hooks/use_filter_dropdown_enabled';
4
6
  import BlankState from '../primitive/blank_state_primitive';
5
7
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
6
8
  export function ConversationsBlankState(t0) {
7
- const $ = _c(5);
9
+ const $ = _c(9);
8
10
  const {
9
11
  isFilterApplied,
10
12
  canCreateConversations
11
13
  } = t0;
14
+ const filterDropdownEnabled = useFilterDropdownEnabled();
15
+ const clearFilters = useClearConversationFilters();
16
+ if (filterDropdownEnabled && isFilterApplied) {
17
+ let t1;
18
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
19
+ t1 = /*#__PURE__*/_jsx(BlankState.Imagery, {
20
+ name: "general.outlinedTextMessage"
21
+ });
22
+ $[0] = t1;
23
+ } else {
24
+ t1 = $[0];
25
+ }
26
+ let t2;
27
+ if ($[1] === Symbol.for("react.memo_cache_sentinel")) {
28
+ t2 = /*#__PURE__*/_jsx(BlankState.Content, {
29
+ children: /*#__PURE__*/_jsx(BlankState.Heading, {
30
+ children: "No matches"
31
+ })
32
+ });
33
+ $[1] = t2;
34
+ } else {
35
+ t2 = $[1];
36
+ }
37
+ let t3;
38
+ if ($[2] !== clearFilters) {
39
+ t3 = /*#__PURE__*/_jsx(View, {
40
+ style: styles.container,
41
+ children: /*#__PURE__*/_jsxs(BlankState.Root, {
42
+ children: [t1, t2, /*#__PURE__*/_jsx(BlankState.TextButton, {
43
+ onPress: clearFilters,
44
+ children: "View all conversations"
45
+ })]
46
+ })
47
+ });
48
+ $[2] = clearFilters;
49
+ $[3] = t3;
50
+ } else {
51
+ t3 = $[3];
52
+ }
53
+ return t3;
54
+ }
12
55
  let t1;
13
- if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
56
+ if ($[4] === Symbol.for("react.memo_cache_sentinel")) {
14
57
  t1 = /*#__PURE__*/_jsx(BlankState.Imagery, {
15
58
  name: "general.outlinedTextMessage"
16
59
  });
17
- $[0] = t1;
60
+ $[4] = t1;
18
61
  } else {
19
- t1 = $[0];
62
+ t1 = $[4];
20
63
  }
21
64
  let t2;
22
- if ($[1] === Symbol.for("react.memo_cache_sentinel")) {
65
+ if ($[5] === Symbol.for("react.memo_cache_sentinel")) {
23
66
  t2 = /*#__PURE__*/_jsx(BlankState.Heading, {
24
67
  children: "No conversations yet."
25
68
  });
26
- $[1] = t2;
69
+ $[5] = t2;
27
70
  } else {
28
- t2 = $[1];
71
+ t2 = $[5];
29
72
  }
30
73
  let t3;
31
- if ($[2] !== canCreateConversations || $[3] !== isFilterApplied) {
74
+ if ($[6] !== canCreateConversations || $[7] !== isFilterApplied) {
32
75
  t3 = /*#__PURE__*/_jsx(View, {
33
76
  style: styles.container,
34
77
  children: /*#__PURE__*/_jsxs(BlankState.Root, {
@@ -43,11 +86,11 @@ export function ConversationsBlankState(t0) {
43
86
  })]
44
87
  })
45
88
  });
46
- $[2] = canCreateConversations;
47
- $[3] = isFilterApplied;
48
- $[4] = t3;
89
+ $[6] = canCreateConversations;
90
+ $[7] = isFilterApplied;
91
+ $[8] = t3;
49
92
  } else {
50
- t3 = $[4];
93
+ t3 = $[8];
51
94
  }
52
95
  return t3;
53
96
  }
@@ -1 +1 @@
1
- {"version":3,"file":"conversations_blank_state.js","names":["React","StyleSheet","View","BlankState","jsx","_jsx","jsxs","_jsxs","ConversationsBlankState","t0","$","_c","isFilterApplied","canCreateConversations","t1","Symbol","for","Imagery","name","t2","Heading","children","t3","style","styles","container","Root","Content","Text","create","flex","justifyContent","alignItems","paddingVertical"],"sources":["../../../src/components/conversations/conversations_blank_state.tsx"],"sourcesContent":["import React from 'react'\nimport { StyleSheet, View } from 'react-native'\nimport BlankState from '../primitive/blank_state_primitive'\n\ninterface ConversationsBlankStateProps {\n isFilterApplied: boolean\n canCreateConversations: boolean\n}\n\nexport function ConversationsBlankState({\n isFilterApplied,\n canCreateConversations,\n}: ConversationsBlankStateProps) {\n return (\n <View style={styles.container}>\n <BlankState.Root>\n <BlankState.Imagery name=\"general.outlinedTextMessage\" />\n <BlankState.Content>\n <BlankState.Heading>No conversations yet.</BlankState.Heading>\n {isFilterApplied ? (\n <BlankState.Text>Adjust your filters to find conversations.</BlankState.Text>\n ) : canCreateConversations ? (\n <BlankState.Text>Tap the compose button to get started.</BlankState.Text>\n ) : (\n <BlankState.Text>\n When your groups or teams start chatting, you&rsquo;ll find them here.\n </BlankState.Text>\n )}\n </BlankState.Content>\n </BlankState.Root>\n </View>\n )\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n justifyContent: 'center',\n alignItems: 'center',\n paddingVertical: 32,\n },\n})\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAC/C,OAAOC,UAAU,MAAM,oCAAoC;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAO3D,OAAO,SAAAC,wBAAAC,EAAA;EAAA,MAAAC,CAAA,GAAAC,EAAA;EAAiC;IAAAC,eAAA;IAAAC;EAAA,IAAAJ,EAGT;EAAA,IAAAK,EAAA;EAAA,IAAAJ,CAAA,QAAAK,MAAA,CAAAC,GAAA;IAIvBF,EAAA,gBAAAT,IAAA,CAAAF,UAAA,CAAAc,OAAA;MAAyBC,IAA6B,EAA7B;IAA6B,CAAE,CAAC;IAAAR,CAAA,MAAAI,EAAA;EAAA;IAAAA,EAAA,GAAAJ,CAAA;EAAA;EAAA,IAAAS,EAAA;EAAA,IAAAT,CAAA,QAAAK,MAAA,CAAAC,GAAA;IAEvDG,EAAA,gBAAAd,IAAA,CAAAF,UAAA,CAAAiB,OAAA;MAAAC,QAAA,EAAoB;IAAqB,CAAoB,CAAC;IAAAX,CAAA,MAAAS,EAAA;EAAA;IAAAA,EAAA,GAAAT,CAAA;EAAA;EAAA,IAAAY,EAAA;EAAA,IAAAZ,CAAA,QAAAG,sBAAA,IAAAH,CAAA,QAAAE,eAAA;IAJpEU,EAAA,gBAAAjB,IAAA,CAACH,IAAI;MAAQqB,KAAgB,EAAhBC,MAAM,CAAAC,SAAU;MAAAJ,QAAA,eAC3Bd,KAAA,CAAAJ,UAAA,CAAAuB,IAAA;QAAAL,QAAA,GACEP,EAAyD,eACzDP,KAAA,CAAAJ,UAAA,CAAAwB,OAAA;UAAAN,QAAA,GACEF,EAA8D,EAC7DP,eAAe,gBAAfP,IAAA,CAAAF,UAAA,CAAAyB,IAAA;YAAAP,QAAA,EACkB;UAA0C,CAO7D,CAAC,GANGR,sBAAsB,gBAAtBR,IAAA,CAAAF,UAAA,CAAAyB,IAAA;YAAAP,QAAA,EACe;UAAsC,CAKzD,CAAC,gBANGhB,IAAA,CAAAF,UAAA,CAAAyB,IAAA;YAAAP,QAAA,EAGe;UAEjB,CACF,CAAC;QAAA,CACiB,CAAC;MAAA,CACN;IAAC,CACd,CAAC;IAAAX,CAAA,MAAAG,sBAAA;IAAAH,CAAA,MAAAE,eAAA;IAAAF,CAAA,MAAAY,EAAA;EAAA;IAAAA,EAAA,GAAAZ,CAAA;EAAA;EAAA,OAhBPY,EAgBO;AAAA;AAIX,MAAME,MAAM,GAAGvB,UAAU,CAAC4B,MAAM,CAAC;EAC/BJ,SAAS,EAAE;IACTK,IAAI,EAAE,CAAC;IACPC,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE,QAAQ;IACpBC,eAAe,EAAE;EACnB;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"conversations_blank_state.js","names":["React","StyleSheet","View","useClearConversationFilters","useFilterDropdownEnabled","BlankState","jsx","_jsx","jsxs","_jsxs","ConversationsBlankState","t0","$","_c","isFilterApplied","canCreateConversations","filterDropdownEnabled","clearFilters","t1","Symbol","for","Imagery","name","t2","Content","children","Heading","t3","style","styles","container","Root","TextButton","Text","create","flex","justifyContent","alignItems","paddingVertical"],"sources":["../../../src/components/conversations/conversations_blank_state.tsx"],"sourcesContent":["import React from 'react'\nimport { StyleSheet, View } from 'react-native'\nimport { useClearConversationFilters } from '../../hooks/use_clear_conversation_filters'\nimport { useFilterDropdownEnabled } from '../../hooks/use_filter_dropdown_enabled'\nimport BlankState from '../primitive/blank_state_primitive'\n\ninterface ConversationsBlankStateProps {\n isFilterApplied: boolean\n canCreateConversations: boolean\n}\n\nexport function ConversationsBlankState({\n isFilterApplied,\n canCreateConversations,\n}: ConversationsBlankStateProps) {\n const filterDropdownEnabled = useFilterDropdownEnabled()\n const clearFilters = useClearConversationFilters()\n\n if (filterDropdownEnabled && isFilterApplied) {\n return (\n <View style={styles.container}>\n <BlankState.Root>\n <BlankState.Imagery name=\"general.outlinedTextMessage\" />\n <BlankState.Content>\n <BlankState.Heading>No matches</BlankState.Heading>\n </BlankState.Content>\n <BlankState.TextButton onPress={clearFilters}>\n View all conversations\n </BlankState.TextButton>\n </BlankState.Root>\n </View>\n )\n }\n\n return (\n <View style={styles.container}>\n <BlankState.Root>\n <BlankState.Imagery name=\"general.outlinedTextMessage\" />\n <BlankState.Content>\n <BlankState.Heading>No conversations yet.</BlankState.Heading>\n {isFilterApplied ? (\n <BlankState.Text>Adjust your filters to find conversations.</BlankState.Text>\n ) : canCreateConversations ? (\n <BlankState.Text>Tap the compose button to get started.</BlankState.Text>\n ) : (\n <BlankState.Text>\n When your groups or teams start chatting, you&rsquo;ll find them here.\n </BlankState.Text>\n )}\n </BlankState.Content>\n </BlankState.Root>\n </View>\n )\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n justifyContent: 'center',\n alignItems: 'center',\n paddingVertical: 32,\n },\n})\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export declare function FilteredResultsFooter(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=filtered_results_footer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filtered_results_footer.d.ts","sourceRoot":"","sources":["../../../src/components/conversations/filtered_results_footer.tsx"],"names":[],"mappings":"AAMA,wBAAgB,qBAAqB,4CAcpC"}
@@ -0,0 +1,77 @@
1
+ import { c as _c } from "react/compiler-runtime";
2
+ import React from 'react';
3
+ import { StyleSheet, View } from 'react-native';
4
+ import { useTheme } from '../../hooks';
5
+ import { useClearConversationFilters } from '../../hooks/use_clear_conversation_filters';
6
+ import { Text, TextButton } from '../display';
7
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
+ export function FilteredResultsFooter() {
9
+ const $ = _c(8);
10
+ const styles = useStyles();
11
+ const clearFilters = useClearConversationFilters();
12
+ let t0;
13
+ if ($[0] !== styles.text) {
14
+ t0 = /*#__PURE__*/_jsx(Text, {
15
+ variant: "tertiary",
16
+ style: styles.text,
17
+ children: "You\u2019re viewing filtered results"
18
+ });
19
+ $[0] = styles.text;
20
+ $[1] = t0;
21
+ } else {
22
+ t0 = $[1];
23
+ }
24
+ let t1;
25
+ if ($[2] !== clearFilters) {
26
+ t1 = /*#__PURE__*/_jsx(TextButton, {
27
+ variant: "tertiary",
28
+ onPress: clearFilters,
29
+ children: "View all conversations"
30
+ });
31
+ $[2] = clearFilters;
32
+ $[3] = t1;
33
+ } else {
34
+ t1 = $[3];
35
+ }
36
+ let t2;
37
+ if ($[4] !== styles.container || $[5] !== t0 || $[6] !== t1) {
38
+ t2 = /*#__PURE__*/_jsxs(View, {
39
+ style: styles.container,
40
+ children: [t0, t1]
41
+ });
42
+ $[4] = styles.container;
43
+ $[5] = t0;
44
+ $[6] = t1;
45
+ $[7] = t2;
46
+ } else {
47
+ t2 = $[7];
48
+ }
49
+ return t2;
50
+ }
51
+ const useStyles = () => {
52
+ const $ = _c(2);
53
+ const {
54
+ colors
55
+ } = useTheme();
56
+ let t0;
57
+ if ($[0] !== colors.textColorDefaultSecondary) {
58
+ t0 = StyleSheet.create({
59
+ container: {
60
+ alignItems: "center",
61
+ gap: 8,
62
+ paddingHorizontal: 16,
63
+ paddingVertical: 24
64
+ },
65
+ text: {
66
+ textAlign: "center",
67
+ color: colors.textColorDefaultSecondary
68
+ }
69
+ });
70
+ $[0] = colors.textColorDefaultSecondary;
71
+ $[1] = t0;
72
+ } else {
73
+ t0 = $[1];
74
+ }
75
+ return t0;
76
+ };
77
+ //# sourceMappingURL=filtered_results_footer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filtered_results_footer.js","names":["React","StyleSheet","View","useTheme","useClearConversationFilters","Text","TextButton","jsx","_jsx","jsxs","_jsxs","FilteredResultsFooter","$","_c","styles","useStyles","clearFilters","t0","text","variant","style","children","t1","t2","container","colors","textColorDefaultSecondary","create","alignItems","gap","paddingHorizontal","paddingVertical","textAlign","color"],"sources":["../../../src/components/conversations/filtered_results_footer.tsx"],"sourcesContent":["import React from 'react'\nimport { StyleSheet, View } from 'react-native'\nimport { useTheme } from '../../hooks'\nimport { useClearConversationFilters } from '../../hooks/use_clear_conversation_filters'\nimport { Text, TextButton } from '../display'\n\nexport function FilteredResultsFooter() {\n const styles = useStyles()\n const clearFilters = useClearConversationFilters()\n\n return (\n <View style={styles.container}>\n <Text variant=\"tertiary\" style={styles.text}>\n You&rsquo;re viewing filtered results\n </Text>\n <TextButton variant=\"tertiary\" onPress={clearFilters}>\n View all conversations\n </TextButton>\n </View>\n )\n}\n\nconst useStyles = () => {\n const { colors } = useTheme()\n\n return StyleSheet.create({\n container: {\n alignItems: 'center',\n gap: 8,\n paddingHorizontal: 16,\n paddingVertical: 24,\n },\n text: {\n textAlign: 'center',\n color: colors.textColorDefaultSecondary,\n },\n })\n}\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAC/C,SAASC,QAAQ,QAAQ,aAAa;AACtC,SAASC,2BAA2B,QAAQ,4CAA4C;AACxF,SAASC,IAAI,EAAEC,UAAU,QAAQ,YAAY;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAE7C,OAAO,SAAAC,sBAAA;EAAA,MAAAC,CAAA,GAAAC,EAAA;EACL,MAAAC,MAAA,GAAeC,SAAS,CAAC,CAAC;EAC1B,MAAAC,YAAA,GAAqBZ,2BAA2B,CAAC,CAAC;EAAA,IAAAa,EAAA;EAAA,IAAAL,CAAA,QAAAE,MAAA,CAAAI,IAAA;IAI9CD,EAAA,gBAAAT,IAAA,CAACH,IAAI;MAASc,OAAU,EAAV,UAAU;MAAQC,KAAW,EAAXN,MAAM,CAAAI,IAAK;MAAAG,QAAA,EAAE;IAE7C,CAAM,CAAC;IAAAT,CAAA,MAAAE,MAAA,CAAAI,IAAA;IAAAN,CAAA,MAAAK,EAAA;EAAA;IAAAA,EAAA,GAAAL,CAAA;EAAA;EAAA,IAAAU,EAAA;EAAA,IAAAV,CAAA,QAAAI,YAAA;IACPM,EAAA,gBAAAd,IAAA,CAACF,UAAU;MAASa,OAAU,EAAV,UAAU;MAAUH,OAAY,EAAZA,YAAY;MAAAK,QAAA,EAAE;IAEtD,CAAY,CAAC;IAAAT,CAAA,MAAAI,YAAA;IAAAJ,CAAA,MAAAU,EAAA;EAAA;IAAAA,EAAA,GAAAV,CAAA;EAAA;EAAA,IAAAW,EAAA;EAAA,IAAAX,CAAA,QAAAE,MAAA,CAAAU,SAAA,IAAAZ,CAAA,QAAAK,EAAA,IAAAL,CAAA,QAAAU,EAAA;IANfC,EAAA,gBAAAb,KAAA,CAACR,IAAI;MAAQkB,KAAgB,EAAhBN,MAAM,CAAAU,SAAU;MAAAH,QAAA,GAC3BJ,EAEO,EACPK,EAEa;IAAA,CACT,CAAC;IAAAV,CAAA,MAAAE,MAAA,CAAAU,SAAA;IAAAZ,CAAA,MAAAK,EAAA;IAAAL,CAAA,MAAAU,EAAA;IAAAV,CAAA,MAAAW,EAAA;EAAA;IAAAA,EAAA,GAAAX,CAAA;EAAA;EAAA,OAPPW,EAOO;AAAA;AAIX,MAAMR,SAAS,GAAGA,CAAA;EAAA,MAAAH,CAAA,GAAAC,EAAA;EAChB;IAAAY;EAAA,IAAmBtB,QAAQ,CAAC,CAAC;EAAA,IAAAc,EAAA;EAAA,IAAAL,CAAA,QAAAa,MAAA,CAAAC,yBAAA;IAEtBT,EAAA,GAAAhB,UAAU,CAAA0B,MAAO,CAAC;MAAAH,SAAA,EACZ;QAAAI,UAAA,EACG,QAAQ;QAAAC,GAAA,EACf,CAAC;QAAAC,iBAAA,EACa,EAAE;QAAAC,eAAA,EACJ;MACnB,CAAC;MAAAb,IAAA,EACK;QAAAc,SAAA,EACO,QAAQ;QAAAC,KAAA,EACZR,MAAM,CAAAC;MACf;IACF,CAAC,CAAC;IAAAd,CAAA,MAAAa,MAAA,CAAAC,yBAAA;IAAAd,CAAA,MAAAK,EAAA;EAAA;IAAAA,EAAA,GAAAL,CAAA;EAAA;EAAA,OAXKK,EAWL;AAAA,CACH","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"action_button.d.ts","sourceRoot":"","sources":["../../../src/components/display/action_button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAUzB,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAIjD,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAGnC,eAAO,MAAM,YAAY,GAAI,0GAU1B;IACD,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,kBAAkB,CAAC,EAAE,UAAU,CAAA;IAC/B,eAAe,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACjC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,mBAAmB,EAAE,CAAA;CACjC,4CA+CA,CAAA"}
1
+ {"version":3,"file":"action_button.d.ts","sourceRoot":"","sources":["../../../src/components/display/action_button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAUzB,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAIjD,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAGnC,eAAO,MAAM,YAAY,GAAI,0GAU1B;IACD,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,kBAAkB,CAAC,EAAE,UAAU,CAAA;IAC/B,eAAe,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACjC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,mBAAmB,EAAE,CAAA;CACjC,4CAgDA,CAAA"}
@@ -3,14 +3,14 @@ import React from 'react';
3
3
  import { StyleSheet, useWindowDimensions, View } from 'react-native';
4
4
  import Animated, { FadeIn, FadeOut, LayoutAnimationConfig, ReduceMotion } from 'react-native-reanimated';
5
5
  import { useSafeAreaInsets } from 'react-native-safe-area-context';
6
- import { useTheme } from '../../hooks';
6
+ import { useReduceMotion, useTheme } from '../../hooks';
7
7
  import { MAX_FONT_SIZE_MULTIPLIER_LANDMARK } from '../../utils';
8
8
  import { Banner } from './banner';
9
9
  import { Button } from './button';
10
10
  import { Text } from './text';
11
11
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
12
12
  export const ActionButton = t0 => {
13
- const $ = _c(15);
13
+ const $ = _c(16);
14
14
  const {
15
15
  visible: t1,
16
16
  disabled: t2,
@@ -35,11 +35,12 @@ export const ActionButton = t0 => {
35
35
  }
36
36
  const warnings = t5;
37
37
  const styles = useStyles();
38
+ const reduceMotion = useReduceMotion() ? ReduceMotion.Always : ReduceMotion.Never;
38
39
  let t6;
39
- if ($[2] !== buttonIconNameLeft || $[3] !== disabled || $[4] !== infoText || $[5] !== loading || $[6] !== onPress || $[7] !== secondaryButton || $[8] !== styles || $[9] !== title || $[10] !== visible || $[11] !== warnings) {
40
+ if ($[2] !== buttonIconNameLeft || $[3] !== disabled || $[4] !== infoText || $[5] !== loading || $[6] !== onPress || $[7] !== reduceMotion || $[8] !== secondaryButton || $[9] !== styles || $[10] !== title || $[11] !== visible || $[12] !== warnings) {
40
41
  t6 = visible && /*#__PURE__*/_jsxs(Animated.View, {
41
- entering: FadeIn.duration(300).reduceMotion(ReduceMotion.System),
42
- exiting: FadeOut.duration(300).reduceMotion(ReduceMotion.System),
42
+ entering: FadeIn.duration(300).reduceMotion(reduceMotion),
43
+ exiting: FadeOut.duration(300).reduceMotion(reduceMotion),
43
44
  style: styles.container,
44
45
  children: [warnings.length > 0 && /*#__PURE__*/_jsx(View, {
45
46
  style: styles.warnings,
@@ -70,25 +71,26 @@ export const ActionButton = t0 => {
70
71
  $[4] = infoText;
71
72
  $[5] = loading;
72
73
  $[6] = onPress;
73
- $[7] = secondaryButton;
74
- $[8] = styles;
75
- $[9] = title;
76
- $[10] = visible;
77
- $[11] = warnings;
78
- $[12] = t6;
74
+ $[7] = reduceMotion;
75
+ $[8] = secondaryButton;
76
+ $[9] = styles;
77
+ $[10] = title;
78
+ $[11] = visible;
79
+ $[12] = warnings;
80
+ $[13] = t6;
79
81
  } else {
80
- t6 = $[12];
82
+ t6 = $[13];
81
83
  }
82
84
  let t7;
83
- if ($[13] !== t6) {
85
+ if ($[14] !== t6) {
84
86
  t7 = /*#__PURE__*/_jsx(LayoutAnimationConfig, {
85
87
  skipEntering: true,
86
88
  children: t6
87
89
  });
88
- $[13] = t6;
89
- $[14] = t7;
90
+ $[14] = t6;
91
+ $[15] = t7;
90
92
  } else {
91
- t7 = $[14];
93
+ t7 = $[15];
92
94
  }
93
95
  return t7;
94
96
  };
@@ -1 +1 @@
1
- {"version":3,"file":"action_button.js","names":["React","StyleSheet","useWindowDimensions","View","Animated","FadeIn","FadeOut","LayoutAnimationConfig","ReduceMotion","useSafeAreaInsets","useTheme","MAX_FONT_SIZE_MULTIPLIER_LANDMARK","Banner","Button","Text","jsx","_jsx","jsxs","_jsxs","ActionButton","t0","$","_c","visible","t1","disabled","t2","onPress","title","infoText","buttonIconNameLeft","secondaryButton","loading","t3","warnings","t4","undefined","t5","styles","useStyles","t6","entering","duration","reduceMotion","System","exiting","style","container","children","length","map","_temp","Boolean","variant","buttonRow","size","fullWidthButton","accessibilityShowsLargeContentViewer","t7","skipEntering","fontScale","bottom","colors","borderColorDefaultDim","surfaceColor090","create","backgroundColor","paddingHorizontal","paddingTop","paddingBottom","borderTopWidth","borderTopColor","gap","flexDirection","justifyContent","alignItems","flexWrap","flexGrow","textAlign","warning","index","appearance","description","fullMessage","attribute"],"sources":["../../../src/components/display/action_button.tsx"],"sourcesContent":["import React from 'react'\nimport { StyleSheet, useWindowDimensions, View } from 'react-native'\nimport Animated, {\n FadeIn,\n FadeOut,\n LayoutAnimationConfig,\n ReduceMotion,\n} from 'react-native-reanimated'\nimport { useSafeAreaInsets } from 'react-native-safe-area-context'\nimport { useTheme } from '../../hooks'\nimport { ConversationWarning } from '../../types'\nimport { MAX_FONT_SIZE_MULTIPLIER_LANDMARK } from '../../utils'\nimport { Banner } from './banner'\nimport { Button } from './button'\nimport { IconString } from './icon'\nimport { Text } from './text'\n\nexport const ActionButton = ({\n visible = true,\n disabled = false,\n onPress,\n title,\n infoText,\n buttonIconNameLeft,\n secondaryButton,\n loading = false,\n warnings = [],\n}: {\n visible?: boolean\n disabled?: boolean\n onPress: () => void\n title: string\n infoText?: string\n buttonIconNameLeft?: IconString\n secondaryButton?: React.ReactNode\n loading?: boolean\n warnings?: ConversationWarning[]\n}) => {\n const styles = useStyles()\n\n return (\n <LayoutAnimationConfig skipEntering>\n {visible && (\n <Animated.View\n entering={FadeIn.duration(300).reduceMotion(ReduceMotion.System)}\n exiting={FadeOut.duration(300).reduceMotion(ReduceMotion.System)}\n style={styles.container}\n >\n {warnings.length > 0 && (\n <View style={styles.warnings}>\n {warnings.map((warning, index) => (\n <Banner\n key={`${warning.attribute}-${index}`}\n appearance=\"error\"\n description={warning.fullMessage}\n />\n ))}\n </View>\n )}\n {Boolean(infoText) && (\n <Text style={styles.infoText} variant=\"footnote\">\n {infoText}\n </Text>\n )}\n <View style={styles.buttonRow}>\n {secondaryButton}\n <Button\n variant=\"fill\"\n size=\"lg\"\n onPress={onPress}\n title={title}\n disabled={disabled}\n style={secondaryButton ? null : styles.fullWidthButton}\n iconNameLeft={buttonIconNameLeft}\n loading={loading}\n maxFontSizeMultiplier={MAX_FONT_SIZE_MULTIPLIER_LANDMARK}\n accessibilityShowsLargeContentViewer\n accessibilityLargeContentTitle={title}\n />\n </View>\n </Animated.View>\n )}\n </LayoutAnimationConfig>\n )\n}\n\nconst useStyles = () => {\n const { fontScale } = useWindowDimensions()\n const { bottom } = useSafeAreaInsets()\n const { colors } = useTheme()\n const containerVerticalPadding = 16\n\n return StyleSheet.create({\n container: {\n backgroundColor: colors.surfaceColor090,\n paddingHorizontal: 24,\n paddingTop: containerVerticalPadding,\n paddingBottom: bottom + containerVerticalPadding,\n borderTopWidth: 1,\n borderTopColor: colors.borderColorDefaultDim,\n gap: 16,\n },\n buttonRow: {\n flexDirection: 'row',\n justifyContent: fontScale > 1 ? 'center' : 'space-between',\n alignItems: 'center',\n gap: 16,\n flexWrap: 'wrap-reverse',\n },\n fullWidthButton: {\n flexGrow: 1,\n },\n infoText: {\n textAlign: 'center',\n },\n warnings: {\n gap: 8,\n },\n })\n}\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,EAAEC,mBAAmB,EAAEC,IAAI,QAAQ,cAAc;AACpE,OAAOC,QAAQ,IACbC,MAAM,EACNC,OAAO,EACPC,qBAAqB,EACrBC,YAAY,QACP,yBAAyB;AAChC,SAASC,iBAAiB,QAAQ,gCAAgC;AAClE,SAASC,QAAQ,QAAQ,aAAa;AAEtC,SAASC,iCAAiC,QAAQ,aAAa;AAC/D,SAASC,MAAM,QAAQ,UAAU;AACjC,SAASC,MAAM,QAAQ,UAAU;AAEjC,SAASC,IAAI,QAAQ,QAAQ;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAE7B,OAAO,MAAMC,YAAY,GAAGC,EAAA;EAAA,MAAAC,CAAA,GAAAC,EAAA;EAAC;IAAAC,OAAA,EAAAC,EAAA;IAAAC,QAAA,EAAAC,EAAA;IAAAC,OAAA;IAAAC,KAAA;IAAAC,QAAA;IAAAC,kBAAA;IAAAC,eAAA;IAAAC,OAAA,EAAAC,EAAA;IAAAC,QAAA,EAAAC;EAAA,IAAAf,EAoB5B;EAnBC,MAAAG,OAAA,GAAAC,EAAc,KAAdY,SAAc,GAAd,IAAc,GAAdZ,EAAc;EACd,MAAAC,QAAA,GAAAC,EAAgB,KAAhBU,SAAgB,GAAhB,KAAgB,GAAhBV,EAAgB;EAMhB,MAAAM,OAAA,GAAAC,EAAe,KAAfG,SAAe,GAAf,KAAe,GAAfH,EAAe;EAAA,IAAAI,EAAA;EAAA,IAAAhB,CAAA,QAAAc,EAAA;IACfE,EAAA,GAAAF,EAAa,KAAbC,SAAa,GAAb,EAAa,GAAbD,EAAa;IAAAd,CAAA,MAAAc,EAAA;IAAAd,CAAA,MAAAgB,EAAA;EAAA;IAAAA,EAAA,GAAAhB,CAAA;EAAA;EAAb,MAAAa,QAAA,GAAAG,EAAa;EAYb,MAAAC,MAAA,GAAeC,SAAS,CAAC,CAAC;EAAA,IAAAC,EAAA;EAAA,IAAAnB,CAAA,QAAAS,kBAAA,IAAAT,CAAA,QAAAI,QAAA,IAAAJ,CAAA,QAAAQ,QAAA,IAAAR,CAAA,QAAAW,OAAA,IAAAX,CAAA,QAAAM,OAAA,IAAAN,CAAA,QAAAU,eAAA,IAAAV,CAAA,QAAAiB,MAAA,IAAAjB,CAAA,QAAAO,KAAA,IAAAP,CAAA,SAAAE,OAAA,IAAAF,CAAA,SAAAa,QAAA;IAIrBM,EAAA,GAAAjB,OAuCA,iBAvCAL,KAAA,CAAAd,QAAA,CAAAD,IAAA;MAEasC,QAAsD,EAAtDpC,MAAM,CAAAqC,QAAS,CAAC,GAAG,CAAC,CAAAC,YAAa,CAACnC,YAAY,CAAAoC,MAAO,CAAC;MACvDC,OAAuD,EAAvDvC,OAAO,CAAAoC,QAAS,CAAC,GAAG,CAAC,CAAAC,YAAa,CAACnC,YAAY,CAAAoC,MAAO,CAAC;MACzDE,KAAgB,EAAhBR,MAAM,CAAAS,SAAU;MAAAC,QAAA,GAEtBd,QAAQ,CAAAe,MAAO,GAAG,CAUlB,iBAVAjC,IAAA,CACEb,IAAI;QAAQ2C,KAAe,EAAfR,MAAM,CAAAJ,QAAS;QAAAc,QAAA,EACzBd,QAAQ,CAAAgB,GAAI,CAACC,KAMb;MAAC,CAEN,CAAC,EACAC,OAAO,CAACvB,QAIT,CAAC,iBAJAb,IAAA,CACEF,IAAI;QAAQgC,KAAe,EAAfR,MAAM,CAAAT,QAAS;QAAUwB,OAAU,EAAV,UAAU;QAAAL,QAAA,EAC7CnB;MAAQ,CAEb,CAAC,eACDX,KAAA,CAACf,IAAI;QAAQ2C,KAAgB,EAAhBR,MAAM,CAAAgB,SAAU;QAAAN,QAAA,GAC1BjB,eAAe,eAChBf,IAAA,CAACH,MAAM;UACGwC,OAAM,EAAN,MAAM;UACTE,IAAI,EAAJ,IAAI;UACA5B,OAAO,EAAPA,OAAO;UACTC,KAAK,EAALA,KAAK;UACFH,QAAQ,EAARA,QAAQ;UACXqB,KAA+C,EAA/Cf,eAAe,GAAf,IAA+C,GAAtBO,MAAM,CAAAkB,eAAgB;UACxC1B,YAAkB,EAAlBA,kBAAkB;UACvBE,OAAO,EAAPA,OAAO;UACOrB,qBAAiC,EAAjCA,iCAAiC;UACxD8C,oCAAoC,EAApC,IAAoC;UACJ7B,8BAAK,EAALA;QAAK,CACtC,CAAC;MAAA,CACE,CAAC;IAAA,CAEX,CAAC;IAAAP,CAAA,MAAAS,kBAAA;IAAAT,CAAA,MAAAI,QAAA;IAAAJ,CAAA,MAAAQ,QAAA;IAAAR,CAAA,MAAAW,OAAA;IAAAX,CAAA,MAAAM,OAAA;IAAAN,CAAA,MAAAU,eAAA;IAAAV,CAAA,MAAAiB,MAAA;IAAAjB,CAAA,MAAAO,KAAA;IAAAP,CAAA,OAAAE,OAAA;IAAAF,CAAA,OAAAa,QAAA;IAAAb,CAAA,OAAAmB,EAAA;EAAA;IAAAA,EAAA,GAAAnB,CAAA;EAAA;EAAA,IAAAqC,EAAA;EAAA,IAAArC,CAAA,SAAAmB,EAAA;IAxCHkB,EAAA,gBAAA1C,IAAA,CAACT,qBAAqB;MAACoD,YAAY,EAAZ,IAAY;MAAAX,QAAA,EAChCR;IAuCA,CACoB,CAAC;IAAAnB,CAAA,OAAAmB,EAAA;IAAAnB,CAAA,OAAAqC,EAAA;EAAA;IAAAA,EAAA,GAAArC,CAAA;EAAA;EAAA,OAzCxBqC,EAyCwB;AAAA,CAE3B;AAED,MAAMnB,SAAS,GAAGA,CAAA;EAAA,MAAAlB,CAAA,GAAAC,EAAA;EAChB;IAAAsC;EAAA,IAAsB1D,mBAAmB,CAAC,CAAC;EAC3C;IAAA2D;EAAA,IAAmBpD,iBAAiB,CAAC,CAAC;EACtC;IAAAqD;EAAA,IAAmBpD,QAAQ,CAAC,CAAC;EAAA,IAAAU,EAAA;EAAA,IAAAC,CAAA,QAAAwC,MAAA,IAAAxC,CAAA,QAAAyC,MAAA,CAAAC,qBAAA,IAAA1C,CAAA,QAAAyC,MAAA,CAAAE,eAAA,IAAA3C,CAAA,QAAAuC,SAAA;IAGtBxC,EAAA,GAAAnB,UAAU,CAAAgE,MAAO,CAAC;MAAAlB,SAAA,EACZ;QAAAmB,eAAA,EACQJ,MAAM,CAAAE,eAAgB;QAAAG,iBAAA,EACpB,EAAE;QAAAC,UAAA,EALQ,EAAE;QAAAC,aAAA,EAOhBR,MAAM,GAPQ,EAOmB;QAAAS,cAAA,EAChC,CAAC;QAAAC,cAAA,EACDT,MAAM,CAAAC,qBAAsB;QAAAS,GAAA,EACvC;MACP,CAAC;MAAAlB,SAAA,EACU;QAAAmB,aAAA,EACM,KAAK;QAAAC,cAAA,EACJd,SAAS,GAAG,CAA8B,GAA1C,QAA0C,GAA1C,eAA0C;QAAAe,UAAA,EAC9C,QAAQ;QAAAH,GAAA,EACf,EAAE;QAAAI,QAAA,EACG;MACZ,CAAC;MAAApB,eAAA,EACgB;QAAAqB,QAAA,EACL;MACZ,CAAC;MAAAhD,QAAA,EACS;QAAAiD,SAAA,EACG;MACb,CAAC;MAAA5C,QAAA,EACS;QAAAsC,GAAA,EACH;MACP;IACF,CAAC,CAAC;IAAAnD,CAAA,MAAAwC,MAAA;IAAAxC,CAAA,MAAAyC,MAAA,CAAAC,qBAAA;IAAA1C,CAAA,MAAAyC,MAAA,CAAAE,eAAA;IAAA3C,CAAA,MAAAuC,SAAA;IAAAvC,CAAA,MAAAD,EAAA;EAAA;IAAAA,EAAA,GAAAC,CAAA;EAAA;EAAA,OA1BKD,EA0BL;AAAA,CACH;AAtG2B,SAAA+B,MAAA4B,OAAA,EAAAC,KAAA;EAAA,oBAkCZhE,IAAA,CAACJ,MAAM;IAEMqE,UAAO,EAAP,OAAO;IACLC,WAAmB,EAAnBH,OAAO,CAAAI;EAAY,GAF3B,GAAGJ,OAAO,CAAAK,SAAU,IAAIJ,KAAK,EAGnC,CAAC;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"action_button.js","names":["React","StyleSheet","useWindowDimensions","View","Animated","FadeIn","FadeOut","LayoutAnimationConfig","ReduceMotion","useSafeAreaInsets","useReduceMotion","useTheme","MAX_FONT_SIZE_MULTIPLIER_LANDMARK","Banner","Button","Text","jsx","_jsx","jsxs","_jsxs","ActionButton","t0","$","_c","visible","t1","disabled","t2","onPress","title","infoText","buttonIconNameLeft","secondaryButton","loading","t3","warnings","t4","undefined","t5","styles","useStyles","reduceMotion","Always","Never","t6","entering","duration","exiting","style","container","children","length","map","_temp","Boolean","variant","buttonRow","size","fullWidthButton","accessibilityShowsLargeContentViewer","t7","skipEntering","fontScale","bottom","colors","borderColorDefaultDim","surfaceColor090","create","backgroundColor","paddingHorizontal","paddingTop","paddingBottom","borderTopWidth","borderTopColor","gap","flexDirection","justifyContent","alignItems","flexWrap","flexGrow","textAlign","warning","index","appearance","description","fullMessage","attribute"],"sources":["../../../src/components/display/action_button.tsx"],"sourcesContent":["import React from 'react'\nimport { StyleSheet, useWindowDimensions, View } from 'react-native'\nimport Animated, {\n FadeIn,\n FadeOut,\n LayoutAnimationConfig,\n ReduceMotion,\n} from 'react-native-reanimated'\nimport { useSafeAreaInsets } from 'react-native-safe-area-context'\nimport { useReduceMotion, useTheme } from '../../hooks'\nimport { ConversationWarning } from '../../types'\nimport { MAX_FONT_SIZE_MULTIPLIER_LANDMARK } from '../../utils'\nimport { Banner } from './banner'\nimport { Button } from './button'\nimport { IconString } from './icon'\nimport { Text } from './text'\n\nexport const ActionButton = ({\n visible = true,\n disabled = false,\n onPress,\n title,\n infoText,\n buttonIconNameLeft,\n secondaryButton,\n loading = false,\n warnings = [],\n}: {\n visible?: boolean\n disabled?: boolean\n onPress: () => void\n title: string\n infoText?: string\n buttonIconNameLeft?: IconString\n secondaryButton?: React.ReactNode\n loading?: boolean\n warnings?: ConversationWarning[]\n}) => {\n const styles = useStyles()\n const reduceMotion = useReduceMotion() ? ReduceMotion.Always : ReduceMotion.Never\n\n return (\n <LayoutAnimationConfig skipEntering>\n {visible && (\n <Animated.View\n entering={FadeIn.duration(300).reduceMotion(reduceMotion)}\n exiting={FadeOut.duration(300).reduceMotion(reduceMotion)}\n style={styles.container}\n >\n {warnings.length > 0 && (\n <View style={styles.warnings}>\n {warnings.map((warning, index) => (\n <Banner\n key={`${warning.attribute}-${index}`}\n appearance=\"error\"\n description={warning.fullMessage}\n />\n ))}\n </View>\n )}\n {Boolean(infoText) && (\n <Text style={styles.infoText} variant=\"footnote\">\n {infoText}\n </Text>\n )}\n <View style={styles.buttonRow}>\n {secondaryButton}\n <Button\n variant=\"fill\"\n size=\"lg\"\n onPress={onPress}\n title={title}\n disabled={disabled}\n style={secondaryButton ? null : styles.fullWidthButton}\n iconNameLeft={buttonIconNameLeft}\n loading={loading}\n maxFontSizeMultiplier={MAX_FONT_SIZE_MULTIPLIER_LANDMARK}\n accessibilityShowsLargeContentViewer\n accessibilityLargeContentTitle={title}\n />\n </View>\n </Animated.View>\n )}\n </LayoutAnimationConfig>\n )\n}\n\nconst useStyles = () => {\n const { fontScale } = useWindowDimensions()\n const { bottom } = useSafeAreaInsets()\n const { colors } = useTheme()\n const containerVerticalPadding = 16\n\n return StyleSheet.create({\n container: {\n backgroundColor: colors.surfaceColor090,\n paddingHorizontal: 24,\n paddingTop: containerVerticalPadding,\n paddingBottom: bottom + containerVerticalPadding,\n borderTopWidth: 1,\n borderTopColor: colors.borderColorDefaultDim,\n gap: 16,\n },\n buttonRow: {\n flexDirection: 'row',\n justifyContent: fontScale > 1 ? 'center' : 'space-between',\n alignItems: 'center',\n gap: 16,\n flexWrap: 'wrap-reverse',\n },\n fullWidthButton: {\n flexGrow: 1,\n },\n infoText: {\n textAlign: 'center',\n },\n warnings: {\n gap: 8,\n },\n })\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,14 @@
1
+ export interface FilterDropdownOption {
2
+ id: string;
3
+ label: string;
4
+ }
5
+ export interface FilterDropdownProps {
6
+ options: FilterDropdownOption[];
7
+ selectedId: string;
8
+ onSelect: (id: string) => void;
9
+ onMoreFilters: () => void;
10
+ triggerLabel: string;
11
+ showMoreFilters?: boolean;
12
+ }
13
+ export declare function FilterDropdown({ options, selectedId, onSelect, onMoreFilters, triggerLabel, showMoreFilters, }: FilterDropdownProps): import("react/jsx-runtime").JSX.Element;
14
+ //# sourceMappingURL=filter_dropdown.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter_dropdown.d.ts","sourceRoot":"","sources":["../../../src/components/display/filter_dropdown.tsx"],"names":[],"mappings":"AAyBA,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,oBAAoB,EAAE,CAAA;IAC/B,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9B,aAAa,EAAE,MAAM,IAAI,CAAA;IACzB,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED,wBAAgB,cAAc,CAAC,EAC7B,OAAO,EACP,UAAU,EACV,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,eAAsB,GACvB,EAAE,mBAAmB,2CAgDrB"}