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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (637) hide show
  1. package/build/components/conversation/attachments/attachment_card.d.ts +3 -3
  2. package/build/components/conversation/attachments/attachment_card.d.ts.map +1 -1
  3. package/build/components/conversation/attachments/attachment_card.js +7 -3
  4. package/build/components/conversation/attachments/attachment_card.js.map +1 -1
  5. package/build/components/conversation/attachments/attachment_deleting_overlay.d.ts +2 -1
  6. package/build/components/conversation/attachments/attachment_deleting_overlay.d.ts.map +1 -1
  7. package/build/components/conversation/attachments/attachment_deleting_overlay.js +7 -12
  8. package/build/components/conversation/attachments/attachment_deleting_overlay.js.map +1 -1
  9. package/build/components/conversation/attachments/audio_attachment.d.ts +2 -1
  10. package/build/components/conversation/attachments/audio_attachment.d.ts.map +1 -1
  11. package/build/components/conversation/attachments/audio_attachment.js +23 -6
  12. package/build/components/conversation/attachments/audio_attachment.js.map +1 -1
  13. package/build/components/conversation/attachments/expanded_link.d.ts +2 -1
  14. package/build/components/conversation/attachments/expanded_link.d.ts.map +1 -1
  15. package/build/components/conversation/attachments/expanded_link.js +8 -2
  16. package/build/components/conversation/attachments/expanded_link.js.map +1 -1
  17. package/build/components/conversation/attachments/generic_file_attachment.d.ts +2 -1
  18. package/build/components/conversation/attachments/generic_file_attachment.d.ts.map +1 -1
  19. package/build/components/conversation/attachments/generic_file_attachment.js +12 -2
  20. package/build/components/conversation/attachments/generic_file_attachment.js.map +1 -1
  21. package/build/components/conversation/attachments/giphy_attachment.d.ts +2 -1
  22. package/build/components/conversation/attachments/giphy_attachment.d.ts.map +1 -1
  23. package/build/components/conversation/attachments/giphy_attachment.js +7 -2
  24. package/build/components/conversation/attachments/giphy_attachment.js.map +1 -1
  25. package/build/components/conversation/attachments/image_attachment.d.ts +2 -1
  26. package/build/components/conversation/attachments/image_attachment.d.ts.map +1 -1
  27. package/build/components/conversation/attachments/image_attachment.js +53 -16
  28. package/build/components/conversation/attachments/image_attachment.js.map +1 -1
  29. package/build/components/conversation/attachments/video_attachment.d.ts +2 -1
  30. package/build/components/conversation/attachments/video_attachment.d.ts.map +1 -1
  31. package/build/components/conversation/attachments/video_attachment.js +13 -3
  32. package/build/components/conversation/attachments/video_attachment.js.map +1 -1
  33. package/build/components/conversation/conversation_start_banner.d.ts +2 -1
  34. package/build/components/conversation/conversation_start_banner.d.ts.map +1 -1
  35. package/build/components/conversation/conversation_start_banner.js +14 -2
  36. package/build/components/conversation/conversation_start_banner.js.map +1 -1
  37. package/build/components/conversation/empty_conversation_blank_state.d.ts +1 -1
  38. package/build/components/conversation/empty_conversation_blank_state.d.ts.map +1 -1
  39. package/build/components/conversation/empty_conversation_blank_state.js +9 -2
  40. package/build/components/conversation/empty_conversation_blank_state.js.map +1 -1
  41. package/build/components/conversation/jump_to_bottom_button.d.ts +1 -1
  42. package/build/components/conversation/jump_to_bottom_button.d.ts.map +1 -1
  43. package/build/components/conversation/jump_to_bottom_button.js +10 -2
  44. package/build/components/conversation/jump_to_bottom_button.js.map +1 -1
  45. package/build/components/conversation/message.d.ts +2 -1
  46. package/build/components/conversation/message.d.ts.map +1 -1
  47. package/build/components/conversation/message.js +53 -2
  48. package/build/components/conversation/message.js.map +1 -1
  49. package/build/components/conversation/message_attachments.d.ts +2 -1
  50. package/build/components/conversation/message_attachments.d.ts.map +1 -1
  51. package/build/components/conversation/message_attachments.js +21 -17
  52. package/build/components/conversation/message_attachments.js.map +1 -1
  53. package/build/components/conversation/message_form/message_form_attachment_file.d.ts +2 -1
  54. package/build/components/conversation/message_form/message_form_attachment_file.d.ts.map +1 -1
  55. package/build/components/conversation/message_form/message_form_attachment_file.js +2 -2
  56. package/build/components/conversation/message_form/message_form_attachment_file.js.map +1 -1
  57. package/build/components/conversation/message_form/message_form_attachment_image.d.ts +2 -1
  58. package/build/components/conversation/message_form/message_form_attachment_image.d.ts.map +1 -1
  59. package/build/components/conversation/message_form/message_form_attachment_image.js +2 -2
  60. package/build/components/conversation/message_form/message_form_attachment_image.js.map +1 -1
  61. package/build/components/conversation/message_form/message_form_attachment_video.d.ts +2 -1
  62. package/build/components/conversation/message_form/message_form_attachment_video.d.ts.map +1 -1
  63. package/build/components/conversation/message_form/message_form_attachment_video.js +2 -2
  64. package/build/components/conversation/message_form/message_form_attachment_video.js.map +1 -1
  65. package/build/components/conversation/message_form.d.ts +6 -5
  66. package/build/components/conversation/message_form.d.ts.map +1 -1
  67. package/build/components/conversation/message_form.js +82 -20
  68. package/build/components/conversation/message_form.js.map +1 -1
  69. package/build/components/conversation/message_markdown.d.ts +2 -1
  70. package/build/components/conversation/message_markdown.d.ts.map +1 -1
  71. package/build/components/conversation/message_markdown.js +16 -8
  72. package/build/components/conversation/message_markdown.js.map +1 -1
  73. package/build/components/conversation/message_reaction.d.ts +2 -1
  74. package/build/components/conversation/message_reaction.d.ts.map +1 -1
  75. package/build/components/conversation/message_reaction.js +5 -3
  76. package/build/components/conversation/message_reaction.js.map +1 -1
  77. package/build/components/conversation/message_read_receipts.d.ts +2 -1
  78. package/build/components/conversation/message_read_receipts.d.ts.map +1 -1
  79. package/build/components/conversation/message_read_receipts.js +13 -3
  80. package/build/components/conversation/message_read_receipts.js.map +1 -1
  81. package/build/components/conversation/messages_disabled_banners.d.ts +3 -3
  82. package/build/components/conversation/messages_disabled_banners.d.ts.map +1 -1
  83. package/build/components/conversation/messages_disabled_banners.js +8 -5
  84. package/build/components/conversation/messages_disabled_banners.js.map +1 -1
  85. package/build/components/conversation/reply_connectors.d.ts +2 -2
  86. package/build/components/conversation/reply_connectors.d.ts.map +1 -1
  87. package/build/components/conversation/reply_connectors.js +50 -18
  88. package/build/components/conversation/reply_connectors.js.map +1 -1
  89. package/build/components/conversation/reply_shadow_message.d.ts +2 -1
  90. package/build/components/conversation/reply_shadow_message.d.ts.map +1 -1
  91. package/build/components/conversation/reply_shadow_message.js +46 -16
  92. package/build/components/conversation/reply_shadow_message.js.map +1 -1
  93. package/build/components/conversation/system_message.d.ts +2 -1
  94. package/build/components/conversation/system_message.d.ts.map +1 -1
  95. package/build/components/conversation/system_message.js +12 -3
  96. package/build/components/conversation/system_message.js.map +1 -1
  97. package/build/components/conversation/typing_indicator.d.ts +2 -1
  98. package/build/components/conversation/typing_indicator.d.ts.map +1 -1
  99. package/build/components/conversation/typing_indicator.js +13 -3
  100. package/build/components/conversation/typing_indicator.js.map +1 -1
  101. package/build/components/conversations/conversation_actions.d.ts +2 -2
  102. package/build/components/conversations/conversation_actions.d.ts.map +1 -1
  103. package/build/components/conversations/conversation_actions.js +10 -4
  104. package/build/components/conversations/conversation_actions.js.map +1 -1
  105. package/build/components/conversations/conversation_preview.d.ts +3 -2
  106. package/build/components/conversations/conversation_preview.d.ts.map +1 -1
  107. package/build/components/conversations/conversation_preview.js +76 -12
  108. package/build/components/conversations/conversation_preview.js.map +1 -1
  109. package/build/components/conversations/conversations.d.ts +1 -1
  110. package/build/components/conversations/conversations.d.ts.map +1 -1
  111. package/build/components/conversations/conversations.js +17 -16
  112. package/build/components/conversations/conversations.js.map +1 -1
  113. package/build/components/conversations/conversations_blank_state.d.ts +2 -1
  114. package/build/components/conversations/conversations_blank_state.d.ts.map +1 -1
  115. package/build/components/conversations/conversations_blank_state.js +12 -2
  116. package/build/components/conversations/conversations_blank_state.js.map +1 -1
  117. package/build/components/conversations/mute_indicator.d.ts +2 -1
  118. package/build/components/conversations/mute_indicator.d.ts.map +1 -1
  119. package/build/components/conversations/mute_indicator.js +2 -2
  120. package/build/components/conversations/mute_indicator.js.map +1 -1
  121. package/build/components/conversations/swipeable_toggle_button.d.ts +2 -1
  122. package/build/components/conversations/swipeable_toggle_button.d.ts.map +1 -1
  123. package/build/components/conversations/swipeable_toggle_button.js +10 -3
  124. package/build/components/conversations/swipeable_toggle_button.js.map +1 -1
  125. package/build/components/conversations/unread_count_badge.d.ts +4 -2
  126. package/build/components/conversations/unread_count_badge.d.ts.map +1 -1
  127. package/build/components/conversations/unread_count_badge.js +12 -7
  128. package/build/components/conversations/unread_count_badge.js.map +1 -1
  129. package/build/components/display/action_button.d.ts +1 -1
  130. package/build/components/display/action_button.d.ts.map +1 -1
  131. package/build/components/display/action_button.js +13 -3
  132. package/build/components/display/action_button.js.map +1 -1
  133. package/build/components/display/adult_requirement_notice.d.ts +2 -1
  134. package/build/components/display/adult_requirement_notice.d.ts.map +1 -1
  135. package/build/components/display/adult_requirement_notice.js +4 -2
  136. package/build/components/display/adult_requirement_notice.js.map +1 -1
  137. package/build/components/display/avatar.d.ts +2 -1
  138. package/build/components/display/avatar.d.ts.map +1 -1
  139. package/build/components/display/avatar.js +7 -2
  140. package/build/components/display/avatar.js.map +1 -1
  141. package/build/components/display/avatar_group.d.ts +2 -1
  142. package/build/components/display/avatar_group.d.ts.map +1 -1
  143. package/build/components/display/avatar_group.js +9 -2
  144. package/build/components/display/avatar_group.js.map +1 -1
  145. package/build/components/display/badge.d.ts +2 -1
  146. package/build/components/display/badge.d.ts.map +1 -1
  147. package/build/components/display/badge.js +37 -6
  148. package/build/components/display/badge.js.map +1 -1
  149. package/build/components/display/banner.d.ts +3 -3
  150. package/build/components/display/banner.d.ts.map +1 -1
  151. package/build/components/display/banner.js +11 -4
  152. package/build/components/display/banner.js.map +1 -1
  153. package/build/components/display/banner_collapsible.d.ts +2 -2
  154. package/build/components/display/banner_collapsible.d.ts.map +1 -1
  155. package/build/components/display/banner_collapsible.js +10 -2
  156. package/build/components/display/banner_collapsible.js.map +1 -1
  157. package/build/components/display/button.d.ts +2 -1
  158. package/build/components/display/button.d.ts.map +1 -1
  159. package/build/components/display/button.js +14 -3
  160. package/build/components/display/button.js.map +1 -1
  161. package/build/components/display/child_notice.d.ts +2 -1
  162. package/build/components/display/child_notice.d.ts.map +1 -1
  163. package/build/components/display/child_notice.js +15 -3
  164. package/build/components/display/child_notice.js.map +1 -1
  165. package/build/components/display/conversation_avatar.d.ts +2 -1
  166. package/build/components/display/conversation_avatar.d.ts.map +1 -1
  167. package/build/components/display/conversation_avatar.js +9 -5
  168. package/build/components/display/conversation_avatar.js.map +1 -1
  169. package/build/components/display/emoji_avatar.d.ts +2 -1
  170. package/build/components/display/emoji_avatar.d.ts.map +1 -1
  171. package/build/components/display/emoji_avatar.js +12 -2
  172. package/build/components/display/emoji_avatar.js.map +1 -1
  173. package/build/components/display/file_attachment_preview.d.ts +1 -1
  174. package/build/components/display/file_attachment_preview.d.ts.map +1 -1
  175. package/build/components/display/file_attachment_preview.js +17 -3
  176. package/build/components/display/file_attachment_preview.js.map +1 -1
  177. package/build/components/display/heading.d.ts +2 -1
  178. package/build/components/display/heading.d.ts.map +1 -1
  179. package/build/components/display/heading.js +4 -2
  180. package/build/components/display/heading.js.map +1 -1
  181. package/build/components/display/icon.d.ts +2 -1
  182. package/build/components/display/icon.d.ts.map +1 -1
  183. package/build/components/display/icon.js +4 -4
  184. package/build/components/display/icon.js.map +1 -1
  185. package/build/components/display/icon_avatar.d.ts +2 -1
  186. package/build/components/display/icon_avatar.d.ts.map +1 -1
  187. package/build/components/display/icon_avatar.js +12 -2
  188. package/build/components/display/icon_avatar.js.map +1 -1
  189. package/build/components/display/icon_button.d.ts +2 -1
  190. package/build/components/display/icon_button.d.ts.map +1 -1
  191. package/build/components/display/icon_button.js +5 -3
  192. package/build/components/display/icon_button.js.map +1 -1
  193. package/build/components/display/image.d.ts +2 -1
  194. package/build/components/display/image.d.ts.map +1 -1
  195. package/build/components/display/image.js +7 -3
  196. package/build/components/display/image.js.map +1 -1
  197. package/build/components/display/image_attachment_preview.d.ts +1 -1
  198. package/build/components/display/image_attachment_preview.d.ts.map +1 -1
  199. package/build/components/display/image_attachment_preview.js +7 -2
  200. package/build/components/display/image_attachment_preview.js.map +1 -1
  201. package/build/components/display/keyboard_view.d.ts +2 -1
  202. package/build/components/display/keyboard_view.d.ts.map +1 -1
  203. package/build/components/display/keyboard_view.js +9 -4
  204. package/build/components/display/keyboard_view.js.map +1 -1
  205. package/build/components/display/person.d.ts +2 -1
  206. package/build/components/display/person.d.ts.map +1 -1
  207. package/build/components/display/person.js +12 -2
  208. package/build/components/display/person.js.map +1 -1
  209. package/build/components/display/platform_modal_header_buttons.d.ts +3 -3
  210. package/build/components/display/platform_modal_header_buttons.d.ts.map +1 -1
  211. package/build/components/display/platform_modal_header_buttons.js +10 -5
  212. package/build/components/display/platform_modal_header_buttons.js.map +1 -1
  213. package/build/components/display/pressable_row.d.ts +1 -1
  214. package/build/components/display/pressable_row.d.ts.map +1 -1
  215. package/build/components/display/pressable_row.js +7 -2
  216. package/build/components/display/pressable_row.js.map +1 -1
  217. package/build/components/display/spinner.d.ts +2 -1
  218. package/build/components/display/spinner.d.ts.map +1 -1
  219. package/build/components/display/spinner.js +9 -3
  220. package/build/components/display/spinner.js.map +1 -1
  221. package/build/components/display/switch.d.ts +2 -1
  222. package/build/components/display/switch.d.ts.map +1 -1
  223. package/build/components/display/switch.js +2 -2
  224. package/build/components/display/switch.js.map +1 -1
  225. package/build/components/display/tabs.d.ts +1 -1
  226. package/build/components/display/tabs.d.ts.map +1 -1
  227. package/build/components/display/tabs.js +31 -21
  228. package/build/components/display/tabs.js.map +1 -1
  229. package/build/components/display/text.d.ts +2 -1
  230. package/build/components/display/text.d.ts.map +1 -1
  231. package/build/components/display/text.js +4 -2
  232. package/build/components/display/text.js.map +1 -1
  233. package/build/components/display/text_button.d.ts +2 -1
  234. package/build/components/display/text_button.d.ts.map +1 -1
  235. package/build/components/display/text_button.js +8 -3
  236. package/build/components/display/text_button.js.map +1 -1
  237. package/build/components/display/text_inline_button.d.ts +2 -1
  238. package/build/components/display/text_inline_button.d.ts.map +1 -1
  239. package/build/components/display/text_inline_button.js +5 -4
  240. package/build/components/display/text_inline_button.js.map +1 -1
  241. package/build/components/display/text_input.d.ts +1 -1
  242. package/build/components/display/text_input.d.ts.map +1 -1
  243. package/build/components/display/text_input.js +1 -2
  244. package/build/components/display/text_input.js.map +1 -1
  245. package/build/components/display/toggle_button.d.ts +2 -1
  246. package/build/components/display/toggle_button.d.ts.map +1 -1
  247. package/build/components/display/toggle_button.js +9 -3
  248. package/build/components/display/toggle_button.js.map +1 -1
  249. package/build/components/display/video_attachment_preview.d.ts +1 -1
  250. package/build/components/display/video_attachment_preview.d.ts.map +1 -1
  251. package/build/components/display/video_attachment_preview.js +20 -3
  252. package/build/components/display/video_attachment_preview.js.map +1 -1
  253. package/build/components/group_conversation_list.d.ts +1 -1
  254. package/build/components/group_conversation_list.d.ts.map +1 -1
  255. package/build/components/group_conversation_list.js +14 -4
  256. package/build/components/group_conversation_list.js.map +1 -1
  257. package/build/components/page/component_error_boundary.d.ts +2 -2
  258. package/build/components/page/component_error_boundary.d.ts.map +1 -1
  259. package/build/components/page/component_error_boundary.js +4 -2
  260. package/build/components/page/component_error_boundary.js.map +1 -1
  261. package/build/components/page/loading.d.ts +2 -1
  262. package/build/components/page/loading.d.ts.map +1 -1
  263. package/build/components/page/loading.js +4 -2
  264. package/build/components/page/loading.js.map +1 -1
  265. package/build/components/page/page_error_boundary.d.ts +2 -2
  266. package/build/components/page/page_error_boundary.d.ts.map +1 -1
  267. package/build/components/page/page_error_boundary.js +32 -11
  268. package/build/components/page/page_error_boundary.js.map +1 -1
  269. package/build/components/primitive/avatar_primitive.js +41 -14
  270. package/build/components/primitive/avatar_primitive.js.map +1 -1
  271. package/build/components/primitive/banner_primitive.js +18 -10
  272. package/build/components/primitive/banner_primitive.js.map +1 -1
  273. package/build/components/primitive/blank_state_primitive.js +12 -8
  274. package/build/components/primitive/blank_state_primitive.js.map +1 -1
  275. package/build/components/primitive/form_sheet.d.ts +1 -1
  276. package/build/components/primitive/form_sheet.d.ts.map +1 -1
  277. package/build/components/primitive/form_sheet.js +22 -9
  278. package/build/components/primitive/form_sheet.js.map +1 -1
  279. package/build/components/safe_area_modal.d.ts +1 -1
  280. package/build/components/safe_area_modal.d.ts.map +1 -1
  281. package/build/components/safe_area_modal.js +3 -2
  282. package/build/components/safe_area_modal.js.map +1 -1
  283. package/build/contexts/api_provider.d.ts +2 -1
  284. package/build/contexts/api_provider.d.ts.map +1 -1
  285. package/build/contexts/api_provider.js +5 -3
  286. package/build/contexts/api_provider.js.map +1 -1
  287. package/build/contexts/chat_context.d.ts +1 -1
  288. package/build/contexts/chat_context.d.ts.map +1 -1
  289. package/build/contexts/chat_context.js +1 -2
  290. package/build/contexts/chat_context.js.map +1 -1
  291. package/build/contexts/conversation_context.d.ts +2 -2
  292. package/build/contexts/conversation_context.d.ts.map +1 -1
  293. package/build/contexts/conversation_context.js +2 -3
  294. package/build/contexts/conversation_context.js.map +1 -1
  295. package/build/contexts/conversations_context.d.ts +2 -2
  296. package/build/contexts/conversations_context.d.ts.map +1 -1
  297. package/build/contexts/conversations_context.js +2 -3
  298. package/build/contexts/conversations_context.js.map +1 -1
  299. package/build/contexts/session_context.d.ts +1 -1
  300. package/build/contexts/session_context.d.ts.map +1 -1
  301. package/build/contexts/session_context.js +2 -3
  302. package/build/contexts/session_context.js.map +1 -1
  303. package/build/hooks/use_animated_message_background_color.d.ts +2 -2
  304. package/build/hooks/use_conversation.d.ts +1 -1
  305. package/build/hooks/use_conversation.d.ts.map +1 -1
  306. package/build/hooks/use_conversation.js +2 -0
  307. package/build/hooks/use_conversation.js.map +1 -1
  308. package/build/hooks/use_conversation_jolt_events.d.ts.map +1 -1
  309. package/build/hooks/use_conversation_jolt_events.js +4 -19
  310. package/build/hooks/use_conversation_jolt_events.js.map +1 -1
  311. package/build/hooks/use_conversation_membership.d.ts +1 -1
  312. package/build/hooks/use_conversation_membership.d.ts.map +1 -1
  313. package/build/hooks/use_conversation_messages.d.ts +0 -1
  314. package/build/hooks/use_conversation_messages.d.ts.map +1 -1
  315. package/build/hooks/use_conversation_messages.js +2 -2
  316. package/build/hooks/use_conversation_messages.js.map +1 -1
  317. package/build/hooks/use_conversations_actions.d.ts +36 -36
  318. package/build/hooks/use_conversations_actions.d.ts.map +1 -1
  319. package/build/hooks/use_conversations_actions.js +3 -1
  320. package/build/hooks/use_conversations_actions.js.map +1 -1
  321. package/build/hooks/use_mark_latest_message_read.d.ts.map +1 -1
  322. package/build/hooks/use_mark_latest_message_read.js +3 -4
  323. package/build/hooks/use_mark_latest_message_read.js.map +1 -1
  324. package/build/hooks/use_person_settings.d.ts +1 -1
  325. package/build/index.d.ts +1 -2
  326. package/build/index.d.ts.map +1 -1
  327. package/build/index.js.map +1 -1
  328. package/build/navigation/chat_access_gate.d.ts +2 -2
  329. package/build/navigation/chat_access_gate.d.ts.map +1 -1
  330. package/build/navigation/chat_access_gate.js +5 -6
  331. package/build/navigation/chat_access_gate.js.map +1 -1
  332. package/build/navigation/index.d.ts +36 -35
  333. package/build/navigation/index.d.ts.map +1 -1
  334. package/build/navigation/index.js +21 -19
  335. package/build/navigation/index.js.map +1 -1
  336. package/build/navigation/screenLayout.d.ts +2 -2
  337. package/build/navigation/screenLayout.d.ts.map +1 -1
  338. package/build/navigation/screenLayout.js +9 -3
  339. package/build/navigation/screenLayout.js.map +1 -1
  340. package/build/polyfills/events/EventTarget.d.ts +1 -1
  341. package/build/polyfills/events/EventTarget.d.ts.map +1 -1
  342. package/build/polyfills/events/EventTarget.js.map +1 -1
  343. package/build/screens/age_check/age_check_required_screen.d.ts +2 -1
  344. package/build/screens/age_check/age_check_required_screen.d.ts.map +1 -1
  345. package/build/screens/age_check/age_check_required_screen.js +46 -3
  346. package/build/screens/age_check/age_check_required_screen.js.map +1 -1
  347. package/build/screens/age_check/age_check_underage_screen.d.ts +2 -1
  348. package/build/screens/age_check/age_check_underage_screen.d.ts.map +1 -1
  349. package/build/screens/age_check/age_check_underage_screen.js +25 -2
  350. package/build/screens/age_check/age_check_underage_screen.js.map +1 -1
  351. package/build/screens/age_check/components/age_check_select_birthdate_modal.d.ts +2 -1
  352. package/build/screens/age_check/components/age_check_select_birthdate_modal.d.ts.map +1 -1
  353. package/build/screens/age_check/components/age_check_select_birthdate_modal.js +25 -6
  354. package/build/screens/age_check/components/age_check_select_birthdate_modal.js.map +1 -1
  355. package/build/screens/attachment_actions/attachment_actions_screen.d.ts +2 -1
  356. package/build/screens/attachment_actions/attachment_actions_screen.d.ts.map +1 -1
  357. package/build/screens/attachment_actions/attachment_actions_screen.js +5 -3
  358. package/build/screens/attachment_actions/attachment_actions_screen.js.map +1 -1
  359. package/build/screens/avatar_picker/avatar_picker_screen.d.ts +2 -1
  360. package/build/screens/avatar_picker/avatar_picker_screen.d.ts.map +1 -1
  361. package/build/screens/avatar_picker/avatar_picker_screen.js +36 -9
  362. package/build/screens/avatar_picker/avatar_picker_screen.js.map +1 -1
  363. package/build/screens/avatar_picker/avatar_preview.d.ts +1 -1
  364. package/build/screens/avatar_picker/avatar_preview.d.ts.map +1 -1
  365. package/build/screens/avatar_picker/avatar_preview.js +9 -5
  366. package/build/screens/avatar_picker/avatar_preview.js.map +1 -1
  367. package/build/screens/avatar_picker/color_picker.d.ts +2 -1
  368. package/build/screens/avatar_picker/color_picker.d.ts.map +1 -1
  369. package/build/screens/avatar_picker/color_picker.js +5 -4
  370. package/build/screens/avatar_picker/color_picker.js.map +1 -1
  371. package/build/screens/avatar_picker/emoji_tab.d.ts +2 -1
  372. package/build/screens/avatar_picker/emoji_tab.d.ts.map +1 -1
  373. package/build/screens/avatar_picker/emoji_tab.js +13 -12
  374. package/build/screens/avatar_picker/emoji_tab.js.map +1 -1
  375. package/build/screens/avatar_picker/icon_grid.d.ts +2 -1
  376. package/build/screens/avatar_picker/icon_grid.d.ts.map +1 -1
  377. package/build/screens/avatar_picker/icon_grid.js +5 -4
  378. package/build/screens/avatar_picker/icon_grid.js.map +1 -1
  379. package/build/screens/avatar_picker/upload_tab.d.ts +2 -1
  380. package/build/screens/avatar_picker/upload_tab.d.ts.map +1 -1
  381. package/build/screens/avatar_picker/upload_tab.js +4 -3
  382. package/build/screens/avatar_picker/upload_tab.js.map +1 -1
  383. package/build/screens/bug_report_screen.d.ts +2 -1
  384. package/build/screens/bug_report_screen.d.ts.map +1 -1
  385. package/build/screens/bug_report_screen.js +117 -11
  386. package/build/screens/bug_report_screen.js.map +1 -1
  387. package/build/screens/conversation/message_read_receipts_screen.d.ts +2 -1
  388. package/build/screens/conversation/message_read_receipts_screen.d.ts.map +1 -1
  389. package/build/screens/conversation/message_read_receipts_screen.js +20 -4
  390. package/build/screens/conversation/message_read_receipts_screen.js.map +1 -1
  391. package/build/screens/conversation_details_screen.d.ts +2 -1
  392. package/build/screens/conversation_details_screen.d.ts.map +1 -1
  393. package/build/screens/conversation_details_screen.js +106 -43
  394. package/build/screens/conversation_details_screen.js.map +1 -1
  395. package/build/screens/conversation_filter_recipients/components/checkbox_row.d.ts +1 -1
  396. package/build/screens/conversation_filter_recipients/components/checkbox_row.d.ts.map +1 -1
  397. package/build/screens/conversation_filter_recipients/components/checkbox_row.js +9 -3
  398. package/build/screens/conversation_filter_recipients/components/checkbox_row.js.map +1 -1
  399. package/build/screens/conversation_filter_recipients/components/header_row.d.ts +1 -1
  400. package/build/screens/conversation_filter_recipients/components/header_row.d.ts.map +1 -1
  401. package/build/screens/conversation_filter_recipients/components/header_row.js +12 -2
  402. package/build/screens/conversation_filter_recipients/components/header_row.js.map +1 -1
  403. package/build/screens/conversation_filter_recipients/conversation_filter_recipients_screen.d.ts +2 -1
  404. package/build/screens/conversation_filter_recipients/conversation_filter_recipients_screen.d.ts.map +1 -1
  405. package/build/screens/conversation_filter_recipients/conversation_filter_recipients_screen.js +44 -20
  406. package/build/screens/conversation_filter_recipients/conversation_filter_recipients_screen.js.map +1 -1
  407. package/build/screens/conversation_filters/components/conversation_filters.d.ts +2 -1
  408. package/build/screens/conversation_filters/components/conversation_filters.d.ts.map +1 -1
  409. package/build/screens/conversation_filters/components/conversation_filters.js +11 -10
  410. package/build/screens/conversation_filters/components/conversation_filters.js.map +1 -1
  411. package/build/screens/conversation_filters/components/rows.d.ts +6 -6
  412. package/build/screens/conversation_filters/components/rows.d.ts.map +1 -1
  413. package/build/screens/conversation_filters/components/rows.js +34 -7
  414. package/build/screens/conversation_filters/components/rows.js.map +1 -1
  415. package/build/screens/conversation_filters/context/conversation_filter_context.d.ts +1 -1
  416. package/build/screens/conversation_filters/context/conversation_filter_context.d.ts.map +1 -1
  417. package/build/screens/conversation_filters/context/conversation_filter_context.js +1 -2
  418. package/build/screens/conversation_filters/context/conversation_filter_context.js.map +1 -1
  419. package/build/screens/conversation_filters/group_filters.d.ts +2 -1
  420. package/build/screens/conversation_filters/group_filters.d.ts.map +1 -1
  421. package/build/screens/conversation_filters/group_filters.js +2 -2
  422. package/build/screens/conversation_filters/group_filters.js.map +1 -1
  423. package/build/screens/conversation_filters/team_filters.d.ts +2 -1
  424. package/build/screens/conversation_filters/team_filters.d.ts.map +1 -1
  425. package/build/screens/conversation_filters/team_filters.js +2 -2
  426. package/build/screens/conversation_filters/team_filters.js.map +1 -1
  427. package/build/screens/conversation_filters_screen.d.ts +2 -1
  428. package/build/screens/conversation_filters_screen.d.ts.map +1 -1
  429. package/build/screens/conversation_filters_screen.js +16 -4
  430. package/build/screens/conversation_filters_screen.js.map +1 -1
  431. package/build/screens/conversation_new/components/avatar_selection_row.d.ts +3 -2
  432. package/build/screens/conversation_new/components/avatar_selection_row.d.ts.map +1 -1
  433. package/build/screens/conversation_new/components/avatar_selection_row.js +16 -6
  434. package/build/screens/conversation_new/components/avatar_selection_row.js.map +1 -1
  435. package/build/screens/conversation_new/components/filter_by_plan.d.ts +4 -3
  436. package/build/screens/conversation_new/components/filter_by_plan.d.ts.map +1 -1
  437. package/build/screens/conversation_new/components/filter_by_plan.js +46 -22
  438. package/build/screens/conversation_new/components/filter_by_plan.js.map +1 -1
  439. package/build/screens/conversation_new/components/form_list.d.ts +3 -2
  440. package/build/screens/conversation_new/components/form_list.d.ts.map +1 -1
  441. package/build/screens/conversation_new/components/form_list.js +6 -4
  442. package/build/screens/conversation_new/components/form_list.js.map +1 -1
  443. package/build/screens/conversation_new/components/gender_filter_toggle.d.ts +2 -1
  444. package/build/screens/conversation_new/components/gender_filter_toggle.d.ts.map +1 -1
  445. package/build/screens/conversation_new/components/gender_filter_toggle.js +20 -4
  446. package/build/screens/conversation_new/components/gender_filter_toggle.js.map +1 -1
  447. package/build/screens/conversation_new/components/groups_form.d.ts +2 -1
  448. package/build/screens/conversation_new/components/groups_form.d.ts.map +1 -1
  449. package/build/screens/conversation_new/components/groups_form.js +30 -4
  450. package/build/screens/conversation_new/components/groups_form.js.map +1 -1
  451. package/build/screens/conversation_new/components/services_form.d.ts +2 -1
  452. package/build/screens/conversation_new/components/services_form.d.ts.map +1 -1
  453. package/build/screens/conversation_new/components/services_form.js +61 -27
  454. package/build/screens/conversation_new/components/services_form.js.map +1 -1
  455. package/build/screens/conversation_new/components/source_app_error_card.d.ts +1 -1
  456. package/build/screens/conversation_new/components/source_app_error_card.d.ts.map +1 -1
  457. package/build/screens/conversation_new/components/source_app_error_card.js +3 -2
  458. package/build/screens/conversation_new/components/source_app_error_card.js.map +1 -1
  459. package/build/screens/conversation_new/conversation_new_screen.d.ts +2 -1
  460. package/build/screens/conversation_new/conversation_new_screen.d.ts.map +1 -1
  461. package/build/screens/conversation_new/conversation_new_screen.js +4 -4
  462. package/build/screens/conversation_new/conversation_new_screen.js.map +1 -1
  463. package/build/screens/conversation_notification_level_select_screen.d.ts +2 -1
  464. package/build/screens/conversation_notification_level_select_screen.d.ts.map +1 -1
  465. package/build/screens/conversation_notification_level_select_screen.js +6 -4
  466. package/build/screens/conversation_notification_level_select_screen.js.map +1 -1
  467. package/build/screens/conversation_screen.d.ts +3 -2
  468. package/build/screens/conversation_screen.d.ts.map +1 -1
  469. package/build/screens/conversation_screen.js +66 -25
  470. package/build/screens/conversation_screen.js.map +1 -1
  471. package/build/screens/conversation_select_recipients/components/groups_recipient_row.d.ts +1 -1
  472. package/build/screens/conversation_select_recipients/components/groups_recipient_row.d.ts.map +1 -1
  473. package/build/screens/conversation_select_recipients/components/groups_recipient_row.js +1 -2
  474. package/build/screens/conversation_select_recipients/components/groups_recipient_row.js.map +1 -1
  475. package/build/screens/conversation_select_recipients/components/recipient_link_row.d.ts +2 -1
  476. package/build/screens/conversation_select_recipients/components/recipient_link_row.d.ts.map +1 -1
  477. package/build/screens/conversation_select_recipients/components/recipient_link_row.js +15 -2
  478. package/build/screens/conversation_select_recipients/components/recipient_link_row.js.map +1 -1
  479. package/build/screens/conversation_select_recipients/components/restricted_group_row.d.ts +2 -1
  480. package/build/screens/conversation_select_recipients/components/restricted_group_row.d.ts.map +1 -1
  481. package/build/screens/conversation_select_recipients/components/restricted_group_row.js +14 -2
  482. package/build/screens/conversation_select_recipients/components/restricted_group_row.js.map +1 -1
  483. package/build/screens/conversation_select_recipients/components/team_recipient_row.d.ts +1 -1
  484. package/build/screens/conversation_select_recipients/components/team_recipient_row.d.ts.map +1 -1
  485. package/build/screens/conversation_select_recipients/components/team_recipient_row.js +1 -2
  486. package/build/screens/conversation_select_recipients/components/team_recipient_row.js.map +1 -1
  487. package/build/screens/conversation_select_recipients/components/view_more_link_row.d.ts +1 -1
  488. package/build/screens/conversation_select_recipients/components/view_more_link_row.d.ts.map +1 -1
  489. package/build/screens/conversation_select_recipients/components/view_more_link_row.js +5 -2
  490. package/build/screens/conversation_select_recipients/components/view_more_link_row.js.map +1 -1
  491. package/build/screens/conversation_select_recipients/conversation_new_entry_screen.d.ts +2 -1
  492. package/build/screens/conversation_select_recipients/conversation_new_entry_screen.d.ts.map +1 -1
  493. package/build/screens/conversation_select_recipients/conversation_new_entry_screen.js +11 -4
  494. package/build/screens/conversation_select_recipients/conversation_new_entry_screen.js.map +1 -1
  495. package/build/screens/conversation_select_recipients/conversation_select_direct_message_recipients_screen.d.ts +1 -1
  496. package/build/screens/conversation_select_recipients/conversation_select_direct_message_recipients_screen.d.ts.map +1 -1
  497. package/build/screens/conversation_select_recipients/conversation_select_direct_message_recipients_screen.js +83 -11
  498. package/build/screens/conversation_select_recipients/conversation_select_direct_message_recipients_screen.js.map +1 -1
  499. package/build/screens/conversation_select_recipients/conversation_select_group_recipients_screen.d.ts +2 -1
  500. package/build/screens/conversation_select_recipients/conversation_select_group_recipients_screen.d.ts.map +1 -1
  501. package/build/screens/conversation_select_recipients/conversation_select_group_recipients_screen.js +14 -7
  502. package/build/screens/conversation_select_recipients/conversation_select_group_recipients_screen.js.map +1 -1
  503. package/build/screens/conversation_select_recipients/conversation_select_teams_i_lead_recipients_screen.d.ts +2 -1
  504. package/build/screens/conversation_select_recipients/conversation_select_teams_i_lead_recipients_screen.d.ts.map +1 -1
  505. package/build/screens/conversation_select_recipients/conversation_select_teams_i_lead_recipients_screen.js +18 -15
  506. package/build/screens/conversation_select_recipients/conversation_select_teams_i_lead_recipients_screen.js.map +1 -1
  507. package/build/screens/conversation_select_type_screen.d.ts +2 -1
  508. package/build/screens/conversation_select_type_screen.d.ts.map +1 -1
  509. package/build/screens/conversation_select_type_screen.js +10 -3
  510. package/build/screens/conversation_select_type_screen.js.map +1 -1
  511. package/build/screens/conversations/components/chat_group_badge.d.ts +2 -1
  512. package/build/screens/conversations/components/chat_group_badge.d.ts.map +1 -1
  513. package/build/screens/conversations/components/chat_group_badge.js +4 -3
  514. package/build/screens/conversations/components/chat_group_badge.js.map +1 -1
  515. package/build/screens/conversations/components/list_header_action_button.d.ts +2 -1
  516. package/build/screens/conversations/components/list_header_action_button.d.ts.map +1 -1
  517. package/build/screens/conversations/components/list_header_action_button.js +5 -3
  518. package/build/screens/conversations/components/list_header_action_button.js.map +1 -1
  519. package/build/screens/conversations/components/list_header_component.d.ts +2 -1
  520. package/build/screens/conversations/components/list_header_component.d.ts.map +1 -1
  521. package/build/screens/conversations/components/list_header_component.js +42 -19
  522. package/build/screens/conversations/components/list_header_component.js.map +1 -1
  523. package/build/screens/conversations/conversations_screen.d.ts +2 -1
  524. package/build/screens/conversations/conversations_screen.d.ts.map +1 -1
  525. package/build/screens/conversations/conversations_screen.js +6 -2
  526. package/build/screens/conversations/conversations_screen.js.map +1 -1
  527. package/build/screens/design_system_screen.d.ts +2 -1
  528. package/build/screens/design_system_screen.d.ts.map +1 -1
  529. package/build/screens/design_system_screen.js +558 -35
  530. package/build/screens/design_system_screen.js.map +1 -1
  531. package/build/screens/get_help_screen.d.ts +1 -1
  532. package/build/screens/get_help_screen.d.ts.map +1 -1
  533. package/build/screens/get_help_screen.js +25 -4
  534. package/build/screens/get_help_screen.js.map +1 -1
  535. package/build/screens/group_notification_level_select_screen.d.ts +2 -1
  536. package/build/screens/group_notification_level_select_screen.d.ts.map +1 -1
  537. package/build/screens/group_notification_level_select_screen.js +4 -2
  538. package/build/screens/group_notification_level_select_screen.js.map +1 -1
  539. package/build/screens/group_notification_settings_screen.d.ts +2 -1
  540. package/build/screens/group_notification_settings_screen.d.ts.map +1 -1
  541. package/build/screens/group_notification_settings_screen.js +25 -3
  542. package/build/screens/group_notification_settings_screen.js.map +1 -1
  543. package/build/screens/message_actions_screen.d.ts +2 -1
  544. package/build/screens/message_actions_screen.d.ts.map +1 -1
  545. package/build/screens/message_actions_screen.js +28 -12
  546. package/build/screens/message_actions_screen.js.map +1 -1
  547. package/build/screens/message_report/components/message_preview.d.ts +2 -1
  548. package/build/screens/message_report/components/message_preview.d.ts.map +1 -1
  549. package/build/screens/message_report/components/message_preview.js +22 -2
  550. package/build/screens/message_report/components/message_preview.js.map +1 -1
  551. package/build/screens/message_report/components/report_reason_list.d.ts +2 -1
  552. package/build/screens/message_report/components/report_reason_list.d.ts.map +1 -1
  553. package/build/screens/message_report/components/report_reason_list.js +13 -4
  554. package/build/screens/message_report/components/report_reason_list.js.map +1 -1
  555. package/build/screens/message_report_screen.d.ts +2 -1
  556. package/build/screens/message_report_screen.d.ts.map +1 -1
  557. package/build/screens/message_report_screen.js +61 -9
  558. package/build/screens/message_report_screen.js.map +1 -1
  559. package/build/screens/not_found.d.ts +2 -1
  560. package/build/screens/not_found.d.ts.map +1 -1
  561. package/build/screens/not_found.js +5 -2
  562. package/build/screens/not_found.js.map +1 -1
  563. package/build/screens/notification_settings/hooks/groups.d.ts +1 -1
  564. package/build/screens/notification_settings/hooks/groups.d.ts.map +1 -1
  565. package/build/screens/notification_settings_screen.d.ts +2 -1
  566. package/build/screens/notification_settings_screen.d.ts.map +1 -1
  567. package/build/screens/notification_settings_screen.js +66 -28
  568. package/build/screens/notification_settings_screen.js.map +1 -1
  569. package/build/screens/preferred_app_selection_screen.d.ts +2 -1
  570. package/build/screens/preferred_app_selection_screen.d.ts.map +1 -1
  571. package/build/screens/preferred_app_selection_screen.js +21 -3
  572. package/build/screens/preferred_app_selection_screen.js.map +1 -1
  573. package/build/screens/reactions_screen.d.ts +2 -1
  574. package/build/screens/reactions_screen.d.ts.map +1 -1
  575. package/build/screens/reactions_screen.js +19 -7
  576. package/build/screens/reactions_screen.js.map +1 -1
  577. package/build/screens/send_giphy_screen.d.ts +2 -1
  578. package/build/screens/send_giphy_screen.d.ts.map +1 -1
  579. package/build/screens/send_giphy_screen.js +31 -5
  580. package/build/screens/send_giphy_screen.js.map +1 -1
  581. package/build/screens/settings_screen.d.ts +2 -1
  582. package/build/screens/settings_screen.d.ts.map +1 -1
  583. package/build/screens/settings_screen.js +26 -4
  584. package/build/screens/settings_screen.js.map +1 -1
  585. package/build/screens/system_message_people_screen.d.ts +2 -1
  586. package/build/screens/system_message_people_screen.d.ts.map +1 -1
  587. package/build/screens/system_message_people_screen.js +10 -4
  588. package/build/screens/system_message_people_screen.js.map +1 -1
  589. package/build/screens/team_conversation_screen.d.ts +1 -1
  590. package/build/screens/team_conversation_screen.d.ts.map +1 -1
  591. package/build/screens/team_conversation_screen.js +12 -4
  592. package/build/screens/team_conversation_screen.js.map +1 -1
  593. package/build/types/resources/conversation.d.ts +10 -1
  594. package/build/types/resources/conversation.d.ts.map +1 -1
  595. package/build/types/resources/conversation.js.map +1 -1
  596. package/build/utils/request/conversation.d.ts.map +1 -1
  597. package/build/utils/request/conversation.js +2 -0
  598. package/build/utils/request/conversation.js.map +1 -1
  599. package/build/utils/response_error.d.ts.map +1 -1
  600. package/build/utils/response_error.js +16 -6
  601. package/build/utils/response_error.js.map +1 -1
  602. package/build/utils/sha_256.js.map +1 -1
  603. package/build/utils/system_messages.d.ts +1 -1
  604. package/build/utils/system_messages.d.ts.map +1 -1
  605. package/build/utils/system_messages.js.map +1 -1
  606. package/build/utils/theme.d.ts +2 -2
  607. package/build/utils/theme.d.ts.map +1 -1
  608. package/build/utils/theme.js.map +1 -1
  609. package/package.json +12 -12
  610. package/src/__tests__/hooks/use_attachment_uploader.test.tsx +0 -1
  611. package/src/__tests__/hooks/use_font_scale.test.ts +3 -7
  612. package/src/__tests__/utils/native_adapters/configuration.ts +1 -1
  613. package/src/__tests__/utils/system_messages.ts +1 -1
  614. package/src/__tests__/utils/uri.ts +50 -8
  615. package/src/__utils__/handlers.ts +6 -5
  616. package/src/components/conversation/attachments/attachment_deleting_overlay.tsx +3 -10
  617. package/src/components/conversations/conversation_preview.tsx +58 -23
  618. package/src/components/conversations/unread_count_badge.tsx +13 -4
  619. package/src/components/page/__tests__/component_error_boundary.test.tsx +1 -1
  620. package/src/components/page/__tests__/error_boundary.test.tsx +2 -6
  621. package/src/components/page/__tests__/page_error_boundary.test.tsx +1 -1
  622. package/src/hooks/use_conversation.ts +2 -0
  623. package/src/hooks/use_conversation_jolt_events.ts +3 -19
  624. package/src/hooks/use_conversation_messages.ts +5 -6
  625. package/src/hooks/use_conversations_actions.ts +3 -1
  626. package/src/hooks/use_mark_latest_message_read.ts +3 -4
  627. package/src/index.tsx +1 -2
  628. package/src/polyfills/events/EventTarget.ts +1 -1
  629. package/src/screens/conversation_screen.tsx +2 -4
  630. package/src/screens/conversations/components/list_header_component.tsx +6 -6
  631. package/src/types/resources/conversation.ts +11 -1
  632. package/src/utils/__tests__/response_error.test.ts +7 -0
  633. package/src/utils/request/conversation.ts +2 -0
  634. package/src/utils/response_error.ts +18 -7
  635. package/src/utils/sha_256.ts +24 -24
  636. package/src/utils/system_messages.ts +1 -1
  637. package/src/utils/theme.ts +2 -3
@@ -1,4 +1,3 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
1
  import { View, StyleSheet } from 'react-native';
3
2
  import { useTheme } from '../../hooks';
4
3
  import { platformFontWeightMedium } from '../../utils';
@@ -10,9 +9,27 @@ import { Text } from './text';
10
9
  export const VideoAttachmentPreview = ({ name, duration, onRemovePress, loading = false, error = false, hideRemoveButton = false, }) => {
11
10
  const styles = useStyles({ error });
12
11
  if (loading) {
13
- return (_jsx(View, { style: styles.container, children: _jsx(Spinner, { size: 20, style: styles.spinner }) }));
12
+ return (<View style={styles.container}>
13
+ <Spinner size={20} style={styles.spinner}/>
14
+ </View>);
14
15
  }
15
- return (_jsxs(View, { style: styles.container, children: [_jsxs(View, { style: styles.contentContainer, children: [_jsx(Icon, { name: "general.outlinedVideoFile", size: 18, style: styles.fileIcon }), _jsxs(View, { style: styles.textContainer, children: [_jsx(Text, { variant: "tertiary", numberOfLines: 1, style: styles.nameText, accessibilityLabel: `Video attachment: ${name}`, children: name }), duration && (_jsx(Text, { variant: "tertiary", numberOfLines: 1, style: styles.durationText, accessibilityLabel: `Duration: ${duration}`, children: duration }))] })] }), !hideRemoveButton && (_jsx(IconButton, { name: "general.x", onPress: onRemovePress, size: "xxs", appearance: "neutral", style: styles.closeButton, accessibilityLabel: "Remove video attachment" })), error && (_jsx(View, { style: styles.errorBadge, children: _jsx(Icon, { name: "general.exclamationTriangle", size: 12, style: styles.errorIcon }) }))] }));
16
+ return (<View style={styles.container}>
17
+ <View style={styles.contentContainer}>
18
+ <Icon name="general.outlinedVideoFile" size={18} style={styles.fileIcon}/>
19
+ <View style={styles.textContainer}>
20
+ <Text variant="tertiary" numberOfLines={1} style={styles.nameText} accessibilityLabel={`Video attachment: ${name}`}>
21
+ {name}
22
+ </Text>
23
+ {duration && (<Text variant="tertiary" numberOfLines={1} style={styles.durationText} accessibilityLabel={`Duration: ${duration}`}>
24
+ {duration}
25
+ </Text>)}
26
+ </View>
27
+ </View>
28
+ {!hideRemoveButton && (<IconButton name="general.x" onPress={onRemovePress} size="xxs" appearance="neutral" style={styles.closeButton} accessibilityLabel="Remove video attachment"/>)}
29
+ {error && (<View style={styles.errorBadge}>
30
+ <Icon name="general.exclamationTriangle" size={12} style={styles.errorIcon}/>
31
+ </View>)}
32
+ </View>);
16
33
  };
17
34
  const useStyles = ({ error }) => {
18
35
  const { colors } = useTheme();
@@ -1 +1 @@
1
- {"version":3,"file":"video_attachment_preview.js","sourceRoot":"","sources":["../../../src/components/display/video_attachment_preview.tsx"],"names":[],"mappings":"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","sourcesContent":["import { View, StyleSheet } from 'react-native'\nimport { useTheme } from '../../hooks'\nimport { platformFontWeightMedium } from '../../utils'\nimport { tokens } from '../../vendor/tapestry/tokens'\nimport { Icon } from './icon'\nimport { IconButton } from './icon_button'\nimport { Spinner } from './spinner'\nimport { Text } from './text'\n\ninterface VideoAttachmentPreviewProps {\n name: string\n duration?: string\n onRemovePress: () => void\n loading?: boolean\n error?: boolean\n hideRemoveButton?: boolean\n}\n\nexport const VideoAttachmentPreview = ({\n name,\n duration,\n onRemovePress,\n loading = false,\n error = false,\n hideRemoveButton = false,\n}: VideoAttachmentPreviewProps) => {\n const styles = useStyles({ error })\n\n if (loading) {\n return (\n <View style={styles.container}>\n <Spinner size={20} style={styles.spinner} />\n </View>\n )\n }\n\n return (\n <View style={styles.container}>\n <View style={styles.contentContainer}>\n <Icon name=\"general.outlinedVideoFile\" size={18} style={styles.fileIcon} />\n <View style={styles.textContainer}>\n <Text\n variant=\"tertiary\"\n numberOfLines={1}\n style={styles.nameText}\n accessibilityLabel={`Video attachment: ${name}`}\n >\n {name}\n </Text>\n {duration && (\n <Text\n variant=\"tertiary\"\n numberOfLines={1}\n style={styles.durationText}\n accessibilityLabel={`Duration: ${duration}`}\n >\n {duration}\n </Text>\n )}\n </View>\n </View>\n {!hideRemoveButton && (\n <IconButton\n name=\"general.x\"\n onPress={onRemovePress}\n size=\"xxs\"\n appearance=\"neutral\"\n style={styles.closeButton}\n accessibilityLabel=\"Remove video attachment\"\n />\n )}\n {error && (\n <View style={styles.errorBadge}>\n <Icon name=\"general.exclamationTriangle\" size={12} style={styles.errorIcon} />\n </View>\n )}\n </View>\n )\n}\n\nconst useStyles = ({ error }: Partial<VideoAttachmentPreviewProps>) => {\n const { colors } = useTheme()\n const borderRadius = 8\n\n return StyleSheet.create({\n container: {\n height: 60,\n minWidth: 150,\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignItems: 'center',\n gap: 8,\n backgroundColor: colors.fillColorNeutral070,\n borderColor: error ? colors.statusErrorBorder : colors.borderColorDefaultBase,\n borderWidth: error ? 2 : 1,\n borderRadius,\n padding: 4,\n },\n contentContainer: {\n flexDirection: 'row',\n gap: 8,\n alignItems: 'center',\n flexShrink: 1,\n paddingHorizontal: 8,\n paddingVertical: 4,\n },\n textContainer: {\n flexShrink: 1,\n flexDirection: 'column',\n },\n fileIcon: {\n color: error ? colors.iconColorDefaultDisabled : colors.iconColorDefaultPrimary,\n },\n nameText: {\n color: error ? colors.textColorDefaultDisabled : colors.textColorDefaultPrimary,\n fontWeight: platformFontWeightMedium,\n flexShrink: 1,\n },\n durationText: {\n color: error ? colors.textColorDefaultDisabled : colors.textColorDefaultPrimary,\n },\n closeButton: {\n backgroundColor: colors.fillColorNeutral050Base,\n borderRadius: 16,\n height: 20,\n width: 20,\n alignSelf: 'flex-start',\n },\n errorBadge: {\n backgroundColor: colors.statusErrorBorder,\n position: 'absolute',\n bottom: 0,\n right: 0,\n zIndex: 2,\n borderStartStartRadius: borderRadius,\n padding: 4,\n },\n errorIcon: {\n color: tokens.colorNeutral100White,\n transform: [{ translateX: 1 }],\n fontSize: 10,\n },\n spinner: {\n marginHorizontal: 'auto',\n },\n })\n}\n"]}
1
+ {"version":3,"file":"video_attachment_preview.js","sourceRoot":"","sources":["../../../src/components/display/video_attachment_preview.tsx"],"names":[],"mappings":"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","sourcesContent":["import { View, StyleSheet } from 'react-native'\nimport { useTheme } from '../../hooks'\nimport { platformFontWeightMedium } from '../../utils'\nimport { tokens } from '../../vendor/tapestry/tokens'\nimport { Icon } from './icon'\nimport { IconButton } from './icon_button'\nimport { Spinner } from './spinner'\nimport { Text } from './text'\n\ninterface VideoAttachmentPreviewProps {\n name: string\n duration?: string\n onRemovePress: () => void\n loading?: boolean\n error?: boolean\n hideRemoveButton?: boolean\n}\n\nexport const VideoAttachmentPreview = ({\n name,\n duration,\n onRemovePress,\n loading = false,\n error = false,\n hideRemoveButton = false,\n}: VideoAttachmentPreviewProps) => {\n const styles = useStyles({ error })\n\n if (loading) {\n return (\n <View style={styles.container}>\n <Spinner size={20} style={styles.spinner} />\n </View>\n )\n }\n\n return (\n <View style={styles.container}>\n <View style={styles.contentContainer}>\n <Icon name=\"general.outlinedVideoFile\" size={18} style={styles.fileIcon} />\n <View style={styles.textContainer}>\n <Text\n variant=\"tertiary\"\n numberOfLines={1}\n style={styles.nameText}\n accessibilityLabel={`Video attachment: ${name}`}\n >\n {name}\n </Text>\n {duration && (\n <Text\n variant=\"tertiary\"\n numberOfLines={1}\n style={styles.durationText}\n accessibilityLabel={`Duration: ${duration}`}\n >\n {duration}\n </Text>\n )}\n </View>\n </View>\n {!hideRemoveButton && (\n <IconButton\n name=\"general.x\"\n onPress={onRemovePress}\n size=\"xxs\"\n appearance=\"neutral\"\n style={styles.closeButton}\n accessibilityLabel=\"Remove video attachment\"\n />\n )}\n {error && (\n <View style={styles.errorBadge}>\n <Icon name=\"general.exclamationTriangle\" size={12} style={styles.errorIcon} />\n </View>\n )}\n </View>\n )\n}\n\nconst useStyles = ({ error }: Partial<VideoAttachmentPreviewProps>) => {\n const { colors } = useTheme()\n const borderRadius = 8\n\n return StyleSheet.create({\n container: {\n height: 60,\n minWidth: 150,\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignItems: 'center',\n gap: 8,\n backgroundColor: colors.fillColorNeutral070,\n borderColor: error ? colors.statusErrorBorder : colors.borderColorDefaultBase,\n borderWidth: error ? 2 : 1,\n borderRadius,\n padding: 4,\n },\n contentContainer: {\n flexDirection: 'row',\n gap: 8,\n alignItems: 'center',\n flexShrink: 1,\n paddingHorizontal: 8,\n paddingVertical: 4,\n },\n textContainer: {\n flexShrink: 1,\n flexDirection: 'column',\n },\n fileIcon: {\n color: error ? colors.iconColorDefaultDisabled : colors.iconColorDefaultPrimary,\n },\n nameText: {\n color: error ? colors.textColorDefaultDisabled : colors.textColorDefaultPrimary,\n fontWeight: platformFontWeightMedium,\n flexShrink: 1,\n },\n durationText: {\n color: error ? colors.textColorDefaultDisabled : colors.textColorDefaultPrimary,\n },\n closeButton: {\n backgroundColor: colors.fillColorNeutral050Base,\n borderRadius: 16,\n height: 20,\n width: 20,\n alignSelf: 'flex-start',\n },\n errorBadge: {\n backgroundColor: colors.statusErrorBorder,\n position: 'absolute',\n bottom: 0,\n right: 0,\n zIndex: 2,\n borderStartStartRadius: borderRadius,\n padding: 4,\n },\n errorIcon: {\n color: tokens.colorNeutral100White,\n transform: [{ translateX: 1 }],\n fontSize: 10,\n },\n spinner: {\n marginHorizontal: 'auto',\n },\n })\n}\n"]}
@@ -18,6 +18,6 @@ interface GroupConversationsProps extends Partial<ConversationRequestArgs> {
18
18
  *
19
19
  * Originally designed for use in CCA.
20
20
  */
21
- export declare const GroupConversations: ({ chat_group_graph_id, ...rest }: GroupConversationsProps) => import("react/jsx-runtime").JSX.Element;
21
+ export declare const GroupConversations: ({ chat_group_graph_id, ...rest }: GroupConversationsProps) => React.JSX.Element;
22
22
  export {};
23
23
  //# sourceMappingURL=group_conversation_list.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"group_conversation_list.d.ts","sourceRoot":"","sources":["../../src/components/group_conversation_list.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAA;AACxC,OAAO,EAAoB,SAAS,EAAE,MAAM,cAAc,CAAA;AAM1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAA;AAIvE,UAAU,uBAAwB,SAAQ,OAAO,CAAC,uBAAuB,CAAC;IACxE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,mBAAmB,EAAE,CAAC,YAAY,EAAE,GAAG,KAAK,IAAI,CAAA;IAChD,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,mBAAmB,CAAC,EAAE,CAAC,EAAE,gBAAgB,EAAE,EAAE;QAAE,gBAAgB,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAA;IACnF,mBAAmB,CAAC,EAChB,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,GACxB,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAA;IACtE,2BAA2B,CAAC,EACxB,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,GACxB,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAA;IACtE,wBAAwB,CAAC,EACrB,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,GACxB,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAA;CACvE;AAED;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,GAAI,kCAAkC,uBAAuB,4CAM3F,CAAA"}
1
+ {"version":3,"file":"group_conversation_list.d.ts","sourceRoot":"","sources":["../../src/components/group_conversation_list.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAA;AACxC,OAAO,EAAoB,SAAS,EAAE,MAAM,cAAc,CAAA;AAM1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAA;AAIvE,UAAU,uBAAwB,SAAQ,OAAO,CAAC,uBAAuB,CAAC;IACxE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,mBAAmB,EAAE,CAAC,YAAY,EAAE,GAAG,KAAK,IAAI,CAAA;IAChD,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,mBAAmB,CAAC,EAAE,CAAC,EAAE,gBAAgB,EAAE,EAAE;QAAE,gBAAgB,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAA;IACnF,mBAAmB,CAAC,EAChB,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,GACxB,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAA;IACtE,2BAA2B,CAAC,EACxB,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,GACxB,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAA;IACtE,wBAAwB,CAAC,EACrB,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,GACxB,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAA;CACvE;AAED;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,GAAI,kCAAkC,uBAAuB,sBAM3F,CAAA"}
@@ -1,5 +1,4 @@
1
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useEffect } from 'react';
1
+ import React, { useEffect } from 'react';
3
2
  import { StyleSheet, View } from 'react-native';
4
3
  import { ConversationsContextProvider, useConversationsContext, } from '../contexts/conversations_context';
5
4
  import { useTheme } from '../hooks';
@@ -12,7 +11,9 @@ import { Icon, Text } from './display';
12
11
  * Originally designed for use in CCA.
13
12
  */
14
13
  export const GroupConversations = ({ chat_group_graph_id, ...rest }) => {
15
- return (_jsx(ConversationsContextProvider, { args: { chat_group_graph_id, group_source_app_name: undefined }, children: _jsx(GroupConversationList, { ...rest }) }));
14
+ return (<ConversationsContextProvider args={{ chat_group_graph_id, group_source_app_name: undefined }}>
15
+ <GroupConversationList {...rest}/>
16
+ </ConversationsContextProvider>);
16
17
  };
17
18
  const GroupConversationList = ({ limit, onConversationPress, style, onConversationsLoad, ListHeaderComponent, ListOverflowFooterComponent, ListEmptyFooterComponent, }) => {
18
19
  const styles = useStyles();
@@ -22,7 +23,16 @@ const GroupConversationList = ({ limit, onConversationPress, style, onConversati
22
23
  onConversationsLoad?.({ hasConversations: conversations.length > 0 });
23
24
  }
24
25
  }, [conversations.length, isFetched, onConversationsLoad]);
25
- return (_jsxs(View, { style: style, children: [_jsx(_Fragment, { children: ListHeaderComponent }), isFetched && conversations.length === 0 && (_jsxs(View, { style: styles.listEmpty, children: [_jsx(Icon, { size: 24, name: "general.textMessage", style: styles.listEmptyIcon }), _jsx(Text, { variant: "secondary", children: "No conversations found" }), _jsx(_Fragment, { children: ListEmptyFooterComponent })] })), conversations.slice(0, limit).map(conversation => (_jsx(ConversationPreview, { style: styles.conversation, showBadges: false, conversation: conversation, onPress: () => onConversationPress(conversation) }, conversation.id))), conversations.length > (limit || 0) && _jsx(_Fragment, { children: ListOverflowFooterComponent })] }));
26
+ return (<View style={style}>
27
+ <>{ListHeaderComponent}</>
28
+ {isFetched && conversations.length === 0 && (<View style={styles.listEmpty}>
29
+ <Icon size={24} name="general.textMessage" style={styles.listEmptyIcon}/>
30
+ <Text variant="secondary">No conversations found</Text>
31
+ <>{ListEmptyFooterComponent}</>
32
+ </View>)}
33
+ {conversations.slice(0, limit).map(conversation => (<ConversationPreview style={styles.conversation} key={conversation.id} showBadges={false} conversation={conversation} onPress={() => onConversationPress(conversation)}/>))}
34
+ {conversations.length > (limit || 0) && <>{ListOverflowFooterComponent}</>}
35
+ </View>);
26
36
  };
27
37
  const useStyles = () => {
28
38
  const { colors } = useTheme();
@@ -1 +1 @@
1
- {"version":3,"file":"group_conversation_list.js","sourceRoot":"","sources":["../../src/components/group_conversation_list.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useEffect } from 'react'\nimport { StyleSheet, View, ViewStyle } from 'react-native'\nimport {\n ConversationsContextProvider,\n useConversationsContext,\n} from '../contexts/conversations_context'\nimport { useTheme } from '../hooks'\nimport { ConversationRequestArgs } from '../utils/request/conversation'\nimport { ConversationPreview } from './conversations/conversation_preview'\nimport { Icon, Text } from './display'\n\ninterface GroupConversationsProps extends Partial<ConversationRequestArgs> {\n limit?: number\n onConversationPress: (conversation: any) => void\n style?: ViewStyle\n onConversationsLoad?: ({ hasConversations }: { hasConversations: boolean }) => void\n ListHeaderComponent?:\n | React.ComponentType<any>\n | React.ReactElement<any, string | React.JSXElementConstructor<any>>\n ListOverflowFooterComponent?:\n | React.ComponentType<any>\n | React.ReactElement<any, string | React.JSXElementConstructor<any>>\n ListEmptyFooterComponent?:\n | React.ComponentType<any>\n | React.ReactElement<any, string | React.JSXElementConstructor<any>>\n}\n\n/**\n * GroupConversations is a component that displays a list of conversations\n * for a specific group.\n *\n * Originally designed for use in CCA.\n */\nexport const GroupConversations = ({ chat_group_graph_id, ...rest }: GroupConversationsProps) => {\n return (\n <ConversationsContextProvider args={{ chat_group_graph_id, group_source_app_name: undefined }}>\n <GroupConversationList {...rest} />\n </ConversationsContextProvider>\n )\n}\n\nconst GroupConversationList = ({\n limit,\n onConversationPress,\n style,\n onConversationsLoad,\n ListHeaderComponent,\n ListOverflowFooterComponent,\n ListEmptyFooterComponent,\n}: GroupConversationsProps) => {\n const styles = useStyles()\n const { conversations = [], isFetched } = useConversationsContext()\n\n useEffect(() => {\n if (isFetched) {\n onConversationsLoad?.({ hasConversations: conversations.length > 0 })\n }\n }, [conversations.length, isFetched, onConversationsLoad])\n\n return (\n <View style={style}>\n <>{ListHeaderComponent}</>\n {isFetched && conversations.length === 0 && (\n <View style={styles.listEmpty}>\n <Icon size={24} name=\"general.textMessage\" style={styles.listEmptyIcon} />\n <Text variant=\"secondary\">No conversations found</Text>\n <>{ListEmptyFooterComponent}</>\n </View>\n )}\n {conversations.slice(0, limit).map(conversation => (\n <ConversationPreview\n style={styles.conversation}\n key={conversation.id}\n showBadges={false}\n conversation={conversation}\n onPress={() => onConversationPress(conversation)}\n />\n ))}\n {conversations.length > (limit || 0) && <>{ListOverflowFooterComponent}</>}\n </View>\n )\n}\n\nconst useStyles = () => {\n const { colors } = useTheme()\n return StyleSheet.create({\n constainer: {},\n conversation: {\n borderBottomWidth: 0,\n },\n listItem: { color: colors.fillColorNeutral020 },\n listEmpty: {\n justifyContent: 'center',\n alignItems: 'center',\n paddingVertical: 16,\n gap: 8,\n },\n listEmptyIcon: {\n color: colors.fillColorNeutral020,\n },\n })\n}\n"]}
1
+ {"version":3,"file":"group_conversation_list.js","sourceRoot":"","sources":["../../src/components/group_conversation_list.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useEffect } from 'react'\nimport { StyleSheet, View, ViewStyle } from 'react-native'\nimport {\n ConversationsContextProvider,\n useConversationsContext,\n} from '../contexts/conversations_context'\nimport { useTheme } from '../hooks'\nimport { ConversationRequestArgs } from '../utils/request/conversation'\nimport { ConversationPreview } from './conversations/conversation_preview'\nimport { Icon, Text } from './display'\n\ninterface GroupConversationsProps extends Partial<ConversationRequestArgs> {\n limit?: number\n onConversationPress: (conversation: any) => void\n style?: ViewStyle\n onConversationsLoad?: ({ hasConversations }: { hasConversations: boolean }) => void\n ListHeaderComponent?:\n | React.ComponentType<any>\n | React.ReactElement<any, string | React.JSXElementConstructor<any>>\n ListOverflowFooterComponent?:\n | React.ComponentType<any>\n | React.ReactElement<any, string | React.JSXElementConstructor<any>>\n ListEmptyFooterComponent?:\n | React.ComponentType<any>\n | React.ReactElement<any, string | React.JSXElementConstructor<any>>\n}\n\n/**\n * GroupConversations is a component that displays a list of conversations\n * for a specific group.\n *\n * Originally designed for use in CCA.\n */\nexport const GroupConversations = ({ chat_group_graph_id, ...rest }: GroupConversationsProps) => {\n return (\n <ConversationsContextProvider args={{ chat_group_graph_id, group_source_app_name: undefined }}>\n <GroupConversationList {...rest} />\n </ConversationsContextProvider>\n )\n}\n\nconst GroupConversationList = ({\n limit,\n onConversationPress,\n style,\n onConversationsLoad,\n ListHeaderComponent,\n ListOverflowFooterComponent,\n ListEmptyFooterComponent,\n}: GroupConversationsProps) => {\n const styles = useStyles()\n const { conversations = [], isFetched } = useConversationsContext()\n\n useEffect(() => {\n if (isFetched) {\n onConversationsLoad?.({ hasConversations: conversations.length > 0 })\n }\n }, [conversations.length, isFetched, onConversationsLoad])\n\n return (\n <View style={style}>\n <>{ListHeaderComponent}</>\n {isFetched && conversations.length === 0 && (\n <View style={styles.listEmpty}>\n <Icon size={24} name=\"general.textMessage\" style={styles.listEmptyIcon} />\n <Text variant=\"secondary\">No conversations found</Text>\n <>{ListEmptyFooterComponent}</>\n </View>\n )}\n {conversations.slice(0, limit).map(conversation => (\n <ConversationPreview\n style={styles.conversation}\n key={conversation.id}\n showBadges={false}\n conversation={conversation}\n onPress={() => onConversationPress(conversation)}\n />\n ))}\n {conversations.length > (limit || 0) && <>{ListOverflowFooterComponent}</>}\n </View>\n )\n}\n\nconst useStyles = () => {\n const { colors } = useTheme()\n return StyleSheet.create({\n constainer: {},\n conversation: {\n borderBottomWidth: 0,\n },\n listItem: { color: colors.fillColorNeutral020 },\n listEmpty: {\n justifyContent: 'center',\n alignItems: 'center',\n paddingVertical: 16,\n gap: 8,\n },\n listEmptyIcon: {\n color: colors.fillColorNeutral020,\n },\n })\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { PropsWithChildren } from 'react';
1
+ import React, { PropsWithChildren } from 'react';
2
2
  import { ErrorBoundaryProps } from './error_boundary';
3
- export declare function ComponentErrorBoundary({ children, ...props }: PropsWithChildren<ErrorBoundaryProps>): import("react/jsx-runtime").JSX.Element;
3
+ export declare function ComponentErrorBoundary({ children, ...props }: PropsWithChildren<ErrorBoundaryProps>): React.JSX.Element;
4
4
  //# sourceMappingURL=component_error_boundary.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"component_error_boundary.d.ts","sourceRoot":"","sources":["../../../src/components/page/component_error_boundary.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAChD,OAAO,EAAiB,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAEpE,wBAAgB,sBAAsB,CAAC,EACrC,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,iBAAiB,CAAC,kBAAkB,CAAC,2CAMvC"}
1
+ {"version":3,"file":"component_error_boundary.d.ts","sourceRoot":"","sources":["../../../src/components/page/component_error_boundary.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAChD,OAAO,EAAiB,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAEpE,wBAAgB,sBAAsB,CAAC,EACrC,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,iBAAiB,CAAC,kBAAkB,CAAC,qBAMvC"}
@@ -1,6 +1,8 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
1
+ import React from 'react';
2
2
  import { ErrorBoundary } from './error_boundary';
3
3
  export function ComponentErrorBoundary({ children, ...props }) {
4
- return (_jsx(ErrorBoundary, { scope: "component", fallback: null, ...props, children: children }));
4
+ return (<ErrorBoundary scope="component" fallback={null} {...props}>
5
+ {children}
6
+ </ErrorBoundary>);
5
7
  }
6
8
  //# sourceMappingURL=component_error_boundary.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"component_error_boundary.js","sourceRoot":"","sources":["../../../src/components/page/component_error_boundary.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAsB,MAAM,kBAAkB,CAAA;AAEpE,MAAM,UAAU,sBAAsB,CAAC,EACrC,QAAQ,EACR,GAAG,KAAK,EAC8B;IACtC,OAAO,CACL,KAAC,aAAa,IAAC,KAAK,EAAC,WAAW,EAAC,QAAQ,EAAE,IAAI,KAAM,KAAK,YACvD,QAAQ,GACK,CACjB,CAAA;AACH,CAAC","sourcesContent":["import React, { PropsWithChildren } from 'react'\nimport { ErrorBoundary, ErrorBoundaryProps } from './error_boundary'\n\nexport function ComponentErrorBoundary({\n children,\n ...props\n}: PropsWithChildren<ErrorBoundaryProps>) {\n return (\n <ErrorBoundary scope=\"component\" fallback={null} {...props}>\n {children}\n </ErrorBoundary>\n )\n}\n"]}
1
+ {"version":3,"file":"component_error_boundary.js","sourceRoot":"","sources":["../../../src/components/page/component_error_boundary.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAA;AAChD,OAAO,EAAE,aAAa,EAAsB,MAAM,kBAAkB,CAAA;AAEpE,MAAM,UAAU,sBAAsB,CAAC,EACrC,QAAQ,EACR,GAAG,KAAK,EAC8B;IACtC,OAAO,CACL,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CACzD;MAAA,CAAC,QAAQ,CACX;IAAA,EAAE,aAAa,CAAC,CACjB,CAAA;AACH,CAAC","sourcesContent":["import React, { PropsWithChildren } from 'react'\nimport { ErrorBoundary, ErrorBoundaryProps } from './error_boundary'\n\nexport function ComponentErrorBoundary({\n children,\n ...props\n}: PropsWithChildren<ErrorBoundaryProps>) {\n return (\n <ErrorBoundary scope=\"component\" fallback={null} {...props}>\n {children}\n </ErrorBoundary>\n )\n}\n"]}
@@ -1,2 +1,3 @@
1
- export declare function DefaultLoading(): import("react/jsx-runtime").JSX.Element;
1
+ import React from 'react';
2
+ export declare function DefaultLoading(): React.JSX.Element;
2
3
  //# sourceMappingURL=loading.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"loading.d.ts","sourceRoot":"","sources":["../../../src/components/page/loading.tsx"],"names":[],"mappings":"AAKA,wBAAgB,cAAc,4CAQ7B"}
1
+ {"version":3,"file":"loading.d.ts","sourceRoot":"","sources":["../../../src/components/page/loading.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,wBAAgB,cAAc,sBAQ7B"}
@@ -1,10 +1,12 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
1
  import { useTheme } from '@react-navigation/native';
2
+ import React from 'react';
3
3
  import { StyleSheet, View } from 'react-native';
4
4
  import { Spinner } from '../display';
5
5
  export function DefaultLoading() {
6
6
  const styles = useStyles();
7
- return (_jsx(View, { style: styles.container, children: _jsx(Spinner, { size: 48 }) }));
7
+ return (<View style={styles.container}>
8
+ <Spinner size={48}/>
9
+ </View>);
8
10
  }
9
11
  const useStyles = () => {
10
12
  const theme = useTheme();
@@ -1 +1 @@
1
- {"version":3,"file":"loading.js","sourceRoot":"","sources":["../../../src/components/page/loading.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAEnD,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEpC,MAAM,UAAU,cAAc;IAC5B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAE1B,OAAO,CACL,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,SAAS,YAC3B,KAAC,OAAO,IAAC,IAAI,EAAE,EAAE,GAAI,GAChB,CACR,CAAA;AACH,CAAC;AAED,MAAM,SAAS,GAAG,GAAG,EAAE;IACrB,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAA;IACxB,OAAO,UAAU,CAAC,MAAM,CAAC;QACvB,SAAS,EAAE;YACT,SAAS,EAAE,GAAG;YACd,IAAI,EAAE,CAAC;YACP,cAAc,EAAE,QAAQ;YACxB,UAAU,EAAE,QAAQ;SACrB;QACD,OAAO,EAAE;YACP,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI;SACzB;KACF,CAAC,CAAA;AACJ,CAAC,CAAA","sourcesContent":["import { useTheme } from '@react-navigation/native'\nimport React from 'react'\nimport { StyleSheet, View } from 'react-native'\nimport { Spinner } from '../display'\n\nexport function DefaultLoading() {\n const styles = useStyles()\n\n return (\n <View style={styles.container}>\n <Spinner size={48} />\n </View>\n )\n}\n\nconst useStyles = () => {\n const theme = useTheme()\n return StyleSheet.create({\n container: {\n minHeight: 200,\n flex: 1,\n justifyContent: 'center',\n alignItems: 'center',\n },\n loading: {\n color: theme.colors.text,\n },\n })\n}\n"]}
1
+ {"version":3,"file":"loading.js","sourceRoot":"","sources":["../../../src/components/page/loading.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AACnD,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEpC,MAAM,UAAU,cAAc;IAC5B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAE1B,OAAO,CACL,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAC5B;MAAA,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EACpB;IAAA,EAAE,IAAI,CAAC,CACR,CAAA;AACH,CAAC;AAED,MAAM,SAAS,GAAG,GAAG,EAAE;IACrB,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAA;IACxB,OAAO,UAAU,CAAC,MAAM,CAAC;QACvB,SAAS,EAAE;YACT,SAAS,EAAE,GAAG;YACd,IAAI,EAAE,CAAC;YACP,cAAc,EAAE,QAAQ;YACxB,UAAU,EAAE,QAAQ;SACrB;QACD,OAAO,EAAE;YACP,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI;SACzB;KACF,CAAC,CAAA;AACJ,CAAC,CAAA","sourcesContent":["import { useTheme } from '@react-navigation/native'\nimport React from 'react'\nimport { StyleSheet, View } from 'react-native'\nimport { Spinner } from '../display'\n\nexport function DefaultLoading() {\n const styles = useStyles()\n\n return (\n <View style={styles.container}>\n <Spinner size={48} />\n </View>\n )\n}\n\nconst useStyles = () => {\n const theme = useTheme()\n return StyleSheet.create({\n container: {\n minHeight: 200,\n flex: 1,\n justifyContent: 'center',\n alignItems: 'center',\n },\n loading: {\n color: theme.colors.text,\n },\n })\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { PropsWithChildren } from 'react';
1
+ import React, { PropsWithChildren } from 'react';
2
2
  import { ErrorBoundaryProps } from './error_boundary';
3
- export declare function PageErrorBoundary({ children, ...props }: PropsWithChildren<ErrorBoundaryProps>): import("react/jsx-runtime").JSX.Element;
3
+ export declare function PageErrorBoundary({ children, ...props }: PropsWithChildren<ErrorBoundaryProps>): React.JSX.Element;
4
4
  //# sourceMappingURL=page_error_boundary.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"page_error_boundary.d.ts","sourceRoot":"","sources":["../../../src/components/page/page_error_boundary.tsx"],"names":[],"mappings":"AAEA,OAAc,EAAE,iBAAiB,EAAqD,MAAM,OAAO,CAAA;AAInG,OAAO,EAAwC,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAM3F,wBAAgB,iBAAiB,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,iBAAiB,CAAC,kBAAkB,CAAC,2CAM9F"}
1
+ {"version":3,"file":"page_error_boundary.d.ts","sourceRoot":"","sources":["../../../src/components/page/page_error_boundary.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,iBAAiB,EAAqD,MAAM,OAAO,CAAA;AAInG,OAAO,EAAwC,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAM3F,wBAAgB,iBAAiB,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,iBAAiB,CAAC,kBAAkB,CAAC,qBAM9F"}
@@ -1,14 +1,15 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
1
  import { useNavigation } from '@react-navigation/native';
3
2
  import { useQueryErrorResetBoundary } from '@tanstack/react-query';
4
- import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
3
+ import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
5
4
  import { onAuthRefresh } from '../../utils/auth_events';
6
5
  import { ResponseError } from '../../utils/response_error';
7
6
  import BlankState from '../primitive/blank_state_primitive';
8
7
  import { ErrorBoundary } from './error_boundary';
9
- const renderPageFallback = (error, reset) => (_jsx(ErrorView, { error: error, reset: reset }));
8
+ const renderPageFallback = (error, reset) => (<ErrorView error={error} reset={reset}/>);
10
9
  export function PageErrorBoundary({ children, ...props }) {
11
- return (_jsx(ErrorBoundary, { scope: "screen", fallback: renderPageFallback, ...props, children: children }));
10
+ return (<ErrorBoundary scope="screen" fallback={renderPageFallback} {...props}>
11
+ {children}
12
+ </ErrorBoundary>);
12
13
  }
13
14
  function ErrorView({ error, reset }) {
14
15
  const { reset: resetQueries } = useQueryErrorResetBoundary();
@@ -18,12 +19,12 @@ function ErrorView({ error, reset }) {
18
19
  }, [resetQueries, reset]);
19
20
  useEffect(() => handleReset, [handleReset]);
20
21
  if (error instanceof ResponseError) {
21
- return _jsx(ResponseErrorView, { response: error.response, onReset: handleReset });
22
+ return <ResponseErrorView response={error.response} onReset={handleReset}/>;
22
23
  }
23
24
  if (isNetworkError(error)) {
24
- return (_jsx(ErrorContent, { heading: 'Problem connecting!', body: 'Check your internet connection and try again.' }));
25
+ return (<ErrorContent heading={'Problem connecting!'} body={'Check your internet connection and try again.'}/>);
25
26
  }
26
- return _jsx(ErrorContent, { heading: 'Oops!', body: 'Something unexpected happened.' });
27
+ return <ErrorContent heading={'Oops!'} body={'Something unexpected happened.'}/>;
27
28
  }
28
29
  function isNetworkError(error) {
29
30
  const networkFailedMessages = [
@@ -61,9 +62,9 @@ function ResponseErrorView({ response, onReset }) {
61
62
  return onAuthRefresh(onReset);
62
63
  }, [status, onReset]);
63
64
  if (status === 429) {
64
- return _jsx(RateLimitedView, { response: response, onReset: onReset });
65
+ return <RateLimitedView response={response} onReset={onReset}/>;
65
66
  }
66
- return _jsx(ErrorContent, { heading: heading, body: body });
67
+ return <ErrorContent heading={heading} body={body}/>;
67
68
  }
68
69
  const RATE_LIMIT_WINDOW_S = 20;
69
70
  function RateLimitedView({ response, onReset }) {
@@ -78,10 +79,30 @@ function RateLimitedView({ response, onReset }) {
78
79
  }, [readyAt]);
79
80
  const navigation = useNavigation();
80
81
  const secondsLeft = Math.max(0, Math.ceil((readyAt - now) / 1000));
81
- return (_jsxs(BlankState.Root, { children: [_jsx(BlankState.Imagery, { name: "people.noTextMessage" }), _jsxs(BlankState.Content, { children: [_jsx(BlankState.Heading, { children: "Too many requests" }), _jsx(BlankState.Text, { children: "Chat is being accessed too frequently. Please wait a moment." })] }), _jsx(BlankState.Button, { title: secondsLeft > 0 ? `Retry in ${secondsLeft}s` : 'Try again', disabled: secondsLeft > 0, onPress: onReset, size: "md", accessibilityRole: "button" }), _jsx(BlankState.TextButton, { onPress: navigation.goBack, children: "Go back" })] }));
82
+ return (<BlankState.Root>
83
+ <BlankState.Imagery name="people.noTextMessage"/>
84
+ <BlankState.Content>
85
+ <BlankState.Heading>Too many requests</BlankState.Heading>
86
+ <BlankState.Text>
87
+ Chat is being accessed too frequently. Please wait a moment.
88
+ </BlankState.Text>
89
+ </BlankState.Content>
90
+ <BlankState.Button title={secondsLeft > 0 ? `Retry in ${secondsLeft}s` : 'Try again'} disabled={secondsLeft > 0} onPress={onReset} size="md" accessibilityRole="button"/>
91
+ <BlankState.TextButton onPress={navigation.goBack}>Go back</BlankState.TextButton>
92
+ </BlankState.Root>);
82
93
  }
83
94
  function ErrorContent({ heading, body }) {
84
95
  const navigation = useNavigation();
85
- return (_jsxs(BlankState.Root, { children: [_jsx(BlankState.Imagery, { name: "people.noTextMessage" }), _jsxs(BlankState.Content, { children: [_jsx(BlankState.Heading, { children: heading }), _jsx(BlankState.Text, { children: body })] }), _jsx(BlankState.Button, { title: "Go back", onPress: navigation.goBack, size: "md", accessibilityRole: "link" }), _jsx(BlankState.TextButton, { onPress: () => navigation.navigate('BugReport'), children: "Report a bug" })] }));
96
+ return (<BlankState.Root>
97
+ <BlankState.Imagery name="people.noTextMessage"/>
98
+ <BlankState.Content>
99
+ <BlankState.Heading>{heading}</BlankState.Heading>
100
+ <BlankState.Text>{body}</BlankState.Text>
101
+ </BlankState.Content>
102
+ <BlankState.Button title="Go back" onPress={navigation.goBack} size="md" accessibilityRole="link"/>
103
+ <BlankState.TextButton onPress={() => navigation.navigate('BugReport')}>
104
+ Report a bug
105
+ </BlankState.TextButton>
106
+ </BlankState.Root>);
86
107
  }
87
108
  //# sourceMappingURL=page_error_boundary.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"page_error_boundary.js","sourceRoot":"","sources":["../../../src/components/page/page_error_boundary.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useNavigation } from '@react-navigation/native'\nimport { useQueryErrorResetBoundary } from '@tanstack/react-query'\nimport React, { PropsWithChildren, useCallback, useEffect, useMemo, useRef, useState } from 'react'\nimport { onAuthRefresh } from '../../utils/auth_events'\nimport { ResponseError } from '../../utils/response_error'\nimport BlankState from '../primitive/blank_state_primitive'\nimport { ErrorBoundary, ErrorBoundaryFallback, ErrorBoundaryProps } from './error_boundary'\n\nconst renderPageFallback: ErrorBoundaryFallback = (error, reset) => (\n <ErrorView error={error} reset={reset} />\n)\n\nexport function PageErrorBoundary({ children, ...props }: PropsWithChildren<ErrorBoundaryProps>) {\n return (\n <ErrorBoundary scope=\"screen\" fallback={renderPageFallback} {...props}>\n {children}\n </ErrorBoundary>\n )\n}\n\nfunction ErrorView({ error, reset }: { error: Error; reset: () => void }) {\n const { reset: resetQueries } = useQueryErrorResetBoundary()\n\n const handleReset = useCallback(() => {\n resetQueries()\n reset()\n }, [resetQueries, reset])\n\n useEffect(() => handleReset, [handleReset])\n\n if (error instanceof ResponseError) {\n return <ResponseErrorView response={error.response} onReset={handleReset} />\n }\n\n if (isNetworkError(error)) {\n return (\n <ErrorContent\n heading={'Problem connecting!'}\n body={'Check your internet connection and try again.'}\n />\n )\n }\n\n return <ErrorContent heading={'Oops!'} body={'Something unexpected happened.'} />\n}\n\nfunction isNetworkError(error: Error) {\n const networkFailedMessages = [\n 'Network request failed',\n 'Network request timed out',\n 'Failed to fetch',\n ]\n\n return new RegExp(networkFailedMessages.join('|'), 'i').test(error.message)\n}\n\nfunction ResponseErrorView({ response, onReset }: { response: Response; onReset: () => void }) {\n const { status } = response\n\n const heading = useMemo(() => {\n switch (status) {\n case 403:\n return 'Permission required'\n case 404:\n return 'Content not found'\n default:\n return 'Oops!'\n }\n }, [status])\n\n const body = useMemo(() => {\n switch (status) {\n case 403:\n return 'Contact your administrator for access.'\n case 404:\n return 'If you believe something should be here, please reach out to your administrator.'\n default:\n return 'Something unexpected happened.'\n }\n }, [status])\n\n useEffect(() => {\n if (status !== 401) return\n\n return onAuthRefresh(onReset)\n }, [status, onReset])\n\n if (status === 429) {\n return <RateLimitedView response={response} onReset={onReset} />\n }\n\n return <ErrorContent heading={heading} body={body} />\n}\n\nconst RATE_LIMIT_WINDOW_S = 20\n\nfunction RateLimitedView({ response, onReset }: { response: Response; onReset: () => void }) {\n const retryAfterS = parseInt(\n response.headers?.get('Retry-After') ?? String(RATE_LIMIT_WINDOW_S),\n 10\n )\n const readyAt = useRef(Date.now() + retryAfterS * 1000).current\n const [now, setNow] = useState(Date.now)\n\n useEffect(() => {\n const id = setInterval(() => {\n setNow(prev => (prev >= readyAt ? prev : Date.now()))\n }, 1000)\n return () => clearInterval(id)\n }, [readyAt])\n\n const navigation = useNavigation()\n const secondsLeft = Math.max(0, Math.ceil((readyAt - now) / 1000))\n\n return (\n <BlankState.Root>\n <BlankState.Imagery name=\"people.noTextMessage\" />\n <BlankState.Content>\n <BlankState.Heading>Too many requests</BlankState.Heading>\n <BlankState.Text>\n Chat is being accessed too frequently. Please wait a moment.\n </BlankState.Text>\n </BlankState.Content>\n <BlankState.Button\n title={secondsLeft > 0 ? `Retry in ${secondsLeft}s` : 'Try again'}\n disabled={secondsLeft > 0}\n onPress={onReset}\n size=\"md\"\n accessibilityRole=\"button\"\n />\n <BlankState.TextButton onPress={navigation.goBack}>Go back</BlankState.TextButton>\n </BlankState.Root>\n )\n}\n\nfunction ErrorContent({ heading, body }: { heading: string; body: string }) {\n const navigation = useNavigation()\n\n return (\n <BlankState.Root>\n <BlankState.Imagery name=\"people.noTextMessage\" />\n <BlankState.Content>\n <BlankState.Heading>{heading}</BlankState.Heading>\n <BlankState.Text>{body}</BlankState.Text>\n </BlankState.Content>\n <BlankState.Button\n title=\"Go back\"\n onPress={navigation.goBack}\n size=\"md\"\n accessibilityRole=\"link\"\n />\n <BlankState.TextButton onPress={() => navigation.navigate('BugReport')}>\n Report a bug\n </BlankState.TextButton>\n </BlankState.Root>\n )\n}\n"]}
1
+ {"version":3,"file":"page_error_boundary.js","sourceRoot":"","sources":["../../../src/components/page/page_error_boundary.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useNavigation } from '@react-navigation/native'\nimport { useQueryErrorResetBoundary } from '@tanstack/react-query'\nimport React, { PropsWithChildren, useCallback, useEffect, useMemo, useRef, useState } from 'react'\nimport { onAuthRefresh } from '../../utils/auth_events'\nimport { ResponseError } from '../../utils/response_error'\nimport BlankState from '../primitive/blank_state_primitive'\nimport { ErrorBoundary, ErrorBoundaryFallback, ErrorBoundaryProps } from './error_boundary'\n\nconst renderPageFallback: ErrorBoundaryFallback = (error, reset) => (\n <ErrorView error={error} reset={reset} />\n)\n\nexport function PageErrorBoundary({ children, ...props }: PropsWithChildren<ErrorBoundaryProps>) {\n return (\n <ErrorBoundary scope=\"screen\" fallback={renderPageFallback} {...props}>\n {children}\n </ErrorBoundary>\n )\n}\n\nfunction ErrorView({ error, reset }: { error: Error; reset: () => void }) {\n const { reset: resetQueries } = useQueryErrorResetBoundary()\n\n const handleReset = useCallback(() => {\n resetQueries()\n reset()\n }, [resetQueries, reset])\n\n useEffect(() => handleReset, [handleReset])\n\n if (error instanceof ResponseError) {\n return <ResponseErrorView response={error.response} onReset={handleReset} />\n }\n\n if (isNetworkError(error)) {\n return (\n <ErrorContent\n heading={'Problem connecting!'}\n body={'Check your internet connection and try again.'}\n />\n )\n }\n\n return <ErrorContent heading={'Oops!'} body={'Something unexpected happened.'} />\n}\n\nfunction isNetworkError(error: Error) {\n const networkFailedMessages = [\n 'Network request failed',\n 'Network request timed out',\n 'Failed to fetch',\n ]\n\n return new RegExp(networkFailedMessages.join('|'), 'i').test(error.message)\n}\n\nfunction ResponseErrorView({ response, onReset }: { response: Response; onReset: () => void }) {\n const { status } = response\n\n const heading = useMemo(() => {\n switch (status) {\n case 403:\n return 'Permission required'\n case 404:\n return 'Content not found'\n default:\n return 'Oops!'\n }\n }, [status])\n\n const body = useMemo(() => {\n switch (status) {\n case 403:\n return 'Contact your administrator for access.'\n case 404:\n return 'If you believe something should be here, please reach out to your administrator.'\n default:\n return 'Something unexpected happened.'\n }\n }, [status])\n\n useEffect(() => {\n if (status !== 401) return\n\n return onAuthRefresh(onReset)\n }, [status, onReset])\n\n if (status === 429) {\n return <RateLimitedView response={response} onReset={onReset} />\n }\n\n return <ErrorContent heading={heading} body={body} />\n}\n\nconst RATE_LIMIT_WINDOW_S = 20\n\nfunction RateLimitedView({ response, onReset }: { response: Response; onReset: () => void }) {\n const retryAfterS = parseInt(\n response.headers?.get('Retry-After') ?? String(RATE_LIMIT_WINDOW_S),\n 10\n )\n const readyAt = useRef(Date.now() + retryAfterS * 1000).current\n const [now, setNow] = useState(Date.now)\n\n useEffect(() => {\n const id = setInterval(() => {\n setNow(prev => (prev >= readyAt ? prev : Date.now()))\n }, 1000)\n return () => clearInterval(id)\n }, [readyAt])\n\n const navigation = useNavigation()\n const secondsLeft = Math.max(0, Math.ceil((readyAt - now) / 1000))\n\n return (\n <BlankState.Root>\n <BlankState.Imagery name=\"people.noTextMessage\" />\n <BlankState.Content>\n <BlankState.Heading>Too many requests</BlankState.Heading>\n <BlankState.Text>\n Chat is being accessed too frequently. Please wait a moment.\n </BlankState.Text>\n </BlankState.Content>\n <BlankState.Button\n title={secondsLeft > 0 ? `Retry in ${secondsLeft}s` : 'Try again'}\n disabled={secondsLeft > 0}\n onPress={onReset}\n size=\"md\"\n accessibilityRole=\"button\"\n />\n <BlankState.TextButton onPress={navigation.goBack}>Go back</BlankState.TextButton>\n </BlankState.Root>\n )\n}\n\nfunction ErrorContent({ heading, body }: { heading: string; body: string }) {\n const navigation = useNavigation()\n\n return (\n <BlankState.Root>\n <BlankState.Imagery name=\"people.noTextMessage\" />\n <BlankState.Content>\n <BlankState.Heading>{heading}</BlankState.Heading>\n <BlankState.Text>{body}</BlankState.Text>\n </BlankState.Content>\n <BlankState.Button\n title=\"Go back\"\n onPress={navigation.goBack}\n size=\"md\"\n accessibilityRole=\"link\"\n />\n <BlankState.TextButton onPress={() => navigation.navigate('BugReport')}>\n Report a bug\n </BlankState.TextButton>\n </BlankState.Root>\n )\n}\n"]}
@@ -1,5 +1,4 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { createContext, useContext, useEffect, useState } from 'react';
1
+ import React, { createContext, useContext, useEffect, useState } from 'react';
3
2
  import { StyleSheet, View } from 'react-native';
4
3
  import { useFontScale, useTheme } from '../../hooks';
5
4
  import { MAX_FONT_SIZE_MULTIPLIER } from '../../utils';
@@ -69,37 +68,43 @@ function useAvatarContext() {
69
68
  function AvatarRoot({ children, size = 'md', style, maxFontSizeMultiplier = MAX_FONT_SIZE_MULTIPLIER, minFontSizeMultiplier = undefined, }) {
70
69
  const [allImagesLoaded, setAllImagesLoaded] = useState(false);
71
70
  const styles = useStyles({ size, maxFontSizeMultiplier, minFontSizeMultiplier });
72
- return (_jsx(AvatarContext.Provider, { value: {
71
+ return (<AvatarContext.Provider value={{
73
72
  size,
74
73
  allImagesLoaded,
75
74
  setAllImagesLoaded,
76
75
  maxFontSizeMultiplier,
77
76
  minFontSizeMultiplier,
78
- }, children: _jsx(View, { style: [styles.rootContainer, style], children: children }) }));
77
+ }}>
78
+ <View style={[styles.rootContainer, style]}>{children}</View>
79
+ </AvatarContext.Provider>);
79
80
  }
80
81
  AvatarRoot.displayName = 'Avatar.Root';
81
82
  function AvatarMask({ children, ...props }) {
82
83
  const { size, maxFontSizeMultiplier, minFontSizeMultiplier } = useAvatarContext();
83
84
  const styles = useStyles({ size, maxFontSizeMultiplier, minFontSizeMultiplier });
84
- return (_jsx(View, { style: styles.mask, ...props, children: children }));
85
+ return (<View style={styles.mask} {...props}>
86
+ {children}
87
+ </View>);
85
88
  }
86
89
  AvatarMask.displayName = 'Avatar.Mask';
87
90
  function AvatarImage({ sourceUri, ...props }) {
88
91
  const { size, maxFontSizeMultiplier, minFontSizeMultiplier } = useAvatarContext();
89
92
  const fontScale = useFontScale({ maxFontSizeMultiplier, minFontSizeMultiplier });
90
93
  const scaledAvatarSize = AVATAR_PX[size] * fontScale;
91
- return _jsx(Image, { source: { uri: sourceUri }, loaderSize: scaledAvatarSize, ...props, alt: "" });
94
+ return <Image source={{ uri: sourceUri }} loaderSize={scaledAvatarSize} {...props} alt=""/>;
92
95
  }
93
96
  AvatarImage.displayName = 'Avatar.Image';
94
97
  function AvatarGroupImage({ sourceUri, style, onLoad }) {
95
- return (_jsx(Image, { source: { uri: sourceUri }, hideLoader: true, wrapperStyle: style, onLoad: onLoad, alt: "" }));
98
+ return (<Image source={{ uri: sourceUri }} hideLoader wrapperStyle={style} onLoad={onLoad} alt=""/>);
96
99
  }
97
100
  function AvatarImageFallback({ name = 'general.person' }) {
98
101
  const { size, maxFontSizeMultiplier, minFontSizeMultiplier } = useAvatarContext();
99
102
  const styles = useStyles({ maxFontSizeMultiplier, minFontSizeMultiplier });
100
103
  const fontScale = useFontScale({ maxFontSizeMultiplier, minFontSizeMultiplier });
101
104
  const scaledIconSize = AVATAR_FALLBACK_ICON_PX[size] * fontScale;
102
- return (_jsx(View, { style: styles.fallbackContainer, children: _jsx(Icon, { name: name, size: scaledIconSize, style: styles.fallbackIcon, accessibilityElementsHidden: true }) }));
105
+ return (<View style={styles.fallbackContainer}>
106
+ <Icon name={name} size={scaledIconSize} style={styles.fallbackIcon} accessibilityElementsHidden={true}/>
107
+ </View>);
103
108
  }
104
109
  AvatarImageFallback.displayName = 'Avatar.ImageFallback';
105
110
  function AvatarGroup({ sourceUris }) {
@@ -125,15 +130,35 @@ function AvatarGroup({ sourceUris }) {
125
130
  setAllImagesLoaded(allImagesLoaded);
126
131
  }, [displayUris, hasDisplayUris, loadingStatus, setAllImagesLoaded]);
127
132
  if (displayUris.length === 1) {
128
- return _jsx(AvatarGroupImage, { sourceUri: displayUris[0], onLoad: () => handleImageLoaded(0) });
133
+ return <AvatarGroupImage sourceUri={displayUris[0]} onLoad={() => handleImageLoaded(0)}/>;
129
134
  }
130
135
  if (displayUris.length === 2) {
131
- return (_jsxs(View, { style: styles.groupRow, children: [_jsx(AvatarGroupImage, { sourceUri: displayUris[0], style: styles.halfWidthFullHeight, onLoad: () => handleImageLoaded(0) }), _jsx(AvatarGroupImage, { sourceUri: displayUris[1], style: styles.halfWidthFullHeight, onLoad: () => handleImageLoaded(1) })] }));
136
+ return (<View style={styles.groupRow}>
137
+ <AvatarGroupImage sourceUri={displayUris[0]} style={styles.halfWidthFullHeight} onLoad={() => handleImageLoaded(0)}/>
138
+ <AvatarGroupImage sourceUri={displayUris[1]} style={styles.halfWidthFullHeight} onLoad={() => handleImageLoaded(1)}/>
139
+ </View>);
132
140
  }
133
141
  if (displayUris.length === 3) {
134
- return (_jsx(View, { style: styles.groupColumn, children: _jsxs(View, { style: styles.groupRow, children: [_jsx(AvatarGroupImage, { sourceUri: displayUris[0], style: styles.halfWidthFullHeight, onLoad: () => handleImageLoaded(0) }), _jsxs(View, { style: styles.groupColumn, children: [_jsx(AvatarGroupImage, { sourceUri: displayUris[1], style: styles.fullWidthHalfHeight, onLoad: () => handleImageLoaded(1) }), _jsx(AvatarGroupImage, { sourceUri: displayUris[2], style: styles.fullWidthHalfHeight, onLoad: () => handleImageLoaded(2) })] })] }) }));
142
+ return (<View style={styles.groupColumn}>
143
+ <View style={styles.groupRow}>
144
+ <AvatarGroupImage sourceUri={displayUris[0]} style={styles.halfWidthFullHeight} onLoad={() => handleImageLoaded(0)}/>
145
+ <View style={styles.groupColumn}>
146
+ <AvatarGroupImage sourceUri={displayUris[1]} style={styles.fullWidthHalfHeight} onLoad={() => handleImageLoaded(1)}/>
147
+ <AvatarGroupImage sourceUri={displayUris[2]} style={styles.fullWidthHalfHeight} onLoad={() => handleImageLoaded(2)}/>
148
+ </View>
149
+ </View>
150
+ </View>);
135
151
  }
136
- return (_jsxs(View, { style: styles.groupColumn, children: [_jsxs(View, { style: styles.groupRow, children: [_jsx(AvatarGroupImage, { sourceUri: displayUris[0], style: styles.halfWidthFullHeight, onLoad: () => handleImageLoaded(0) }), _jsx(AvatarGroupImage, { sourceUri: displayUris[1], style: styles.halfWidthFullHeight, onLoad: () => handleImageLoaded(1) })] }), _jsxs(View, { style: styles.groupRow, children: [_jsx(AvatarGroupImage, { sourceUri: displayUris[2], style: styles.halfWidthFullHeight, onLoad: () => handleImageLoaded(2) }), _jsx(AvatarGroupImage, { sourceUri: displayUris[3], style: styles.halfWidthFullHeight, onLoad: () => handleImageLoaded(3) })] })] }));
152
+ return (<View style={styles.groupColumn}>
153
+ <View style={styles.groupRow}>
154
+ <AvatarGroupImage sourceUri={displayUris[0]} style={styles.halfWidthFullHeight} onLoad={() => handleImageLoaded(0)}/>
155
+ <AvatarGroupImage sourceUri={displayUris[1]} style={styles.halfWidthFullHeight} onLoad={() => handleImageLoaded(1)}/>
156
+ </View>
157
+ <View style={styles.groupRow}>
158
+ <AvatarGroupImage sourceUri={displayUris[2]} style={styles.halfWidthFullHeight} onLoad={() => handleImageLoaded(2)}/>
159
+ <AvatarGroupImage sourceUri={displayUris[3]} style={styles.halfWidthFullHeight} onLoad={() => handleImageLoaded(3)}/>
160
+ </View>
161
+ </View>);
137
162
  }
138
163
  AvatarGroup.displayName = 'Avatar.Group';
139
164
  // =================================
@@ -146,13 +171,15 @@ function AvatarGroupLoader() {
146
171
  const scaledSpinnerSize = AVATAR_PX[size] * fontScale;
147
172
  if (allImagesLoaded)
148
173
  return null;
149
- return (_jsx(View, { style: styles.groupLoader, children: _jsx(Spinner, { size: scaledSpinnerSize }) }));
174
+ return (<View style={styles.groupLoader}>
175
+ <Spinner size={scaledSpinnerSize}/>
176
+ </View>);
150
177
  }
151
178
  AvatarGroupLoader.displayName = 'Avatar.GroupLoader';
152
179
  function AvatarPresence({ presence, ...props }) {
153
180
  const { size, maxFontSizeMultiplier, minFontSizeMultiplier } = useAvatarContext();
154
181
  const styles = useStyles({ size, presence, maxFontSizeMultiplier, minFontSizeMultiplier });
155
- return _jsx(View, { style: styles.presence, ...props });
182
+ return <View style={styles.presence} {...props}/>;
156
183
  }
157
184
  AvatarPresence.displayName = 'Avatar.Presence';
158
185
  const useStyles = ({ size = 'md', presence = 'offline', maxFontSizeMultiplier = MAX_FONT_SIZE_MULTIPLIER, minFontSizeMultiplier = undefined, } = {}) => {