@planningcenter/chat-react-native 4.4.0-rc.6 → 4.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/components/conversation/jump_to_bottom_button.d.ts.map +1 -1
- package/build/components/conversation/jump_to_bottom_button.js +42 -40
- package/build/components/conversation/jump_to_bottom_button.js.map +1 -1
- package/build/components/conversation/message.d.ts +2 -1
- package/build/components/conversation/message.d.ts.map +1 -1
- package/build/components/conversation/message.js +3 -1
- package/build/components/conversation/message.js.map +1 -1
- package/build/components/conversation/message_form.d.ts.map +1 -1
- package/build/components/conversation/message_form.js +3 -1
- package/build/components/conversation/message_form.js.map +1 -1
- package/build/components/conversation/message_list.d.ts.map +1 -1
- package/build/components/conversation/message_list.js +35 -31
- package/build/components/conversation/message_list.js.map +1 -1
- package/build/components/conversation/message_reaction.d.ts +2 -1
- package/build/components/conversation/message_reaction.d.ts.map +1 -1
- package/build/components/conversation/message_reaction.js +67 -60
- package/build/components/conversation/message_reaction.js.map +1 -1
- package/build/components/conversation/messages_disabled_banners.d.ts +7 -5
- package/build/components/conversation/messages_disabled_banners.d.ts.map +1 -1
- package/build/components/conversation/messages_disabled_banners.js +15 -14
- package/build/components/conversation/messages_disabled_banners.js.map +1 -1
- package/build/components/conversation/system_message.d.ts +2 -1
- package/build/components/conversation/system_message.d.ts.map +1 -1
- package/build/components/conversation/system_message.js +133 -100
- package/build/components/conversation/system_message.js.map +1 -1
- package/build/components/conversations/archived_results_footer.d.ts +6 -0
- package/build/components/conversations/archived_results_footer.d.ts.map +1 -0
- package/build/components/conversations/archived_results_footer.js +51 -0
- package/build/components/conversations/archived_results_footer.js.map +1 -0
- package/build/components/conversations/conversation_actions.d.ts.map +1 -1
- package/build/components/conversations/conversation_actions.js +241 -206
- package/build/components/conversations/conversation_actions.js.map +1 -1
- package/build/components/conversations/conversation_preview.d.ts.map +1 -1
- package/build/components/conversations/conversation_preview.js +102 -93
- package/build/components/conversations/conversation_preview.js.map +1 -1
- package/build/components/conversations/conversations.d.ts.map +1 -1
- package/build/components/conversations/conversations.js +66 -41
- package/build/components/conversations/conversations.js.map +1 -1
- package/build/components/conversations/conversations_blank_state.d.ts.map +1 -1
- package/build/components/conversations/conversations_blank_state.js +55 -12
- package/build/components/conversations/conversations_blank_state.js.map +1 -1
- package/build/components/conversations/filtered_results_footer.d.ts +2 -0
- package/build/components/conversations/filtered_results_footer.d.ts.map +1 -0
- package/build/components/conversations/filtered_results_footer.js +77 -0
- package/build/components/conversations/filtered_results_footer.js.map +1 -0
- package/build/components/display/action_button.d.ts.map +1 -1
- package/build/components/display/action_button.js +18 -16
- package/build/components/display/action_button.js.map +1 -1
- package/build/components/display/filter_dropdown.d.ts +14 -0
- package/build/components/display/filter_dropdown.d.ts.map +1 -0
- package/build/components/display/filter_dropdown.js +193 -0
- package/build/components/display/filter_dropdown.js.map +1 -0
- package/build/components/display/icon_tile.d.ts +13 -0
- package/build/components/display/icon_tile.d.ts.map +1 -0
- package/build/components/display/icon_tile.js +149 -0
- package/build/components/display/icon_tile.js.map +1 -0
- package/build/components/display/index.d.ts +2 -0
- package/build/components/display/index.d.ts.map +1 -1
- package/build/components/display/index.js +2 -0
- package/build/components/display/index.js.map +1 -1
- package/build/contexts/api_provider.d.ts.map +1 -1
- package/build/contexts/api_provider.js +21 -9
- package/build/contexts/api_provider.js.map +1 -1
- package/build/contexts/conversations_context.d.ts.map +1 -1
- package/build/contexts/conversations_context.js +21 -18
- package/build/contexts/conversations_context.js.map +1 -1
- package/build/hooks/groups/use_group_members_for_new_conversation.d.ts +196 -16
- package/build/hooks/groups/use_group_members_for_new_conversation.d.ts.map +1 -1
- package/build/hooks/groups/use_group_members_for_new_conversation.js +72 -58
- package/build/hooks/groups/use_group_members_for_new_conversation.js.map +1 -1
- package/build/hooks/index.d.ts +3 -0
- package/build/hooks/index.d.ts.map +1 -1
- package/build/hooks/index.js +3 -0
- package/build/hooks/index.js.map +1 -1
- package/build/hooks/use_animated_message_background_color.d.ts.map +1 -1
- package/build/hooks/use_animated_message_background_color.js +5 -3
- package/build/hooks/use_animated_message_background_color.js.map +1 -1
- package/build/hooks/use_api.d.ts +3 -2
- package/build/hooks/use_api.d.ts.map +1 -1
- package/build/hooks/use_api.js.map +1 -1
- package/build/hooks/use_can_browse_archived_conversations.d.ts +2 -0
- package/build/hooks/use_can_browse_archived_conversations.d.ts.map +1 -0
- package/build/hooks/use_can_browse_archived_conversations.js +29 -0
- package/build/hooks/use_can_browse_archived_conversations.js.map +1 -0
- package/build/hooks/use_clear_conversation_filters.d.ts +2 -0
- package/build/hooks/use_clear_conversation_filters.d.ts.map +1 -0
- package/build/hooks/use_clear_conversation_filters.js +25 -0
- package/build/hooks/use_clear_conversation_filters.js.map +1 -0
- package/build/hooks/use_conversation.d.ts +73 -1
- package/build/hooks/use_conversation.d.ts.map +1 -1
- package/build/hooks/use_conversation.js +130 -3
- package/build/hooks/use_conversation.js.map +1 -1
- package/build/hooks/use_conversation_messages.d.ts.map +1 -1
- package/build/hooks/use_conversation_messages.js +29 -26
- package/build/hooks/use_conversation_messages.js.map +1 -1
- package/build/hooks/use_current_person.d.ts.map +1 -1
- package/build/hooks/use_current_person.js +1 -1
- package/build/hooks/use_current_person.js.map +1 -1
- package/build/hooks/use_features.d.ts +2 -0
- package/build/hooks/use_features.d.ts.map +1 -1
- package/build/hooks/use_features.js +2 -0
- package/build/hooks/use_features.js.map +1 -1
- package/build/hooks/use_filter_dropdown_enabled.d.ts +2 -0
- package/build/hooks/use_filter_dropdown_enabled.d.ts.map +1 -0
- package/build/hooks/use_filter_dropdown_enabled.js +18 -0
- package/build/hooks/use_filter_dropdown_enabled.js.map +1 -0
- package/build/hooks/use_jolt.d.ts +1 -0
- package/build/hooks/use_jolt.d.ts.map +1 -1
- package/build/hooks/use_jolt.js +59 -0
- package/build/hooks/use_jolt.js.map +1 -1
- package/build/hooks/use_manual_archiving_enabled.d.ts +2 -0
- package/build/hooks/use_manual_archiving_enabled.d.ts.map +1 -0
- package/build/hooks/use_manual_archiving_enabled.js +18 -0
- package/build/hooks/use_manual_archiving_enabled.js.map +1 -0
- package/build/hooks/use_mark_latest_message_read.d.ts.map +1 -1
- package/build/hooks/use_mark_latest_message_read.js +3 -3
- package/build/hooks/use_mark_latest_message_read.js.map +1 -1
- package/build/hooks/use_reduce_motion.d.ts +2 -0
- package/build/hooks/use_reduce_motion.d.ts.map +1 -0
- package/build/hooks/use_reduce_motion.js +28 -0
- package/build/hooks/use_reduce_motion.js.map +1 -0
- package/build/hooks/use_unarchive_conversation_action.d.ts +7 -0
- package/build/hooks/use_unarchive_conversation_action.d.ts.map +1 -0
- package/build/hooks/use_unarchive_conversation_action.js +52 -0
- package/build/hooks/use_unarchive_conversation_action.js.map +1 -0
- package/build/screens/attachment_actions/attachment_actions_screen.d.ts.map +1 -1
- package/build/screens/attachment_actions/attachment_actions_screen.js +84 -61
- package/build/screens/attachment_actions/attachment_actions_screen.js.map +1 -1
- package/build/screens/conversation_details_screen.d.ts.map +1 -1
- package/build/screens/conversation_details_screen.js +490 -395
- package/build/screens/conversation_details_screen.js.map +1 -1
- package/build/screens/conversation_filters/components/conversation_filters.d.ts.map +1 -1
- package/build/screens/conversation_filters/components/conversation_filters.js +88 -18
- package/build/screens/conversation_filters/components/conversation_filters.js.map +1 -1
- package/build/screens/conversation_filters/components/rows.d.ts +9 -0
- package/build/screens/conversation_filters/components/rows.d.ts.map +1 -1
- package/build/screens/conversation_filters/components/rows.js +93 -1
- package/build/screens/conversation_filters/components/rows.js.map +1 -1
- package/build/screens/conversation_filters/context/conversation_filter_context.d.ts.map +1 -1
- package/build/screens/conversation_filters/context/conversation_filter_context.js +8 -4
- package/build/screens/conversation_filters/context/conversation_filter_context.js.map +1 -1
- package/build/screens/conversation_filters/filter_types.d.ts +1 -0
- package/build/screens/conversation_filters/filter_types.d.ts.map +1 -1
- package/build/screens/conversation_filters/filter_types.js +1 -0
- package/build/screens/conversation_filters/filter_types.js.map +1 -1
- package/build/screens/conversation_filters/screen_props.d.ts +1 -0
- package/build/screens/conversation_filters/screen_props.d.ts.map +1 -1
- package/build/screens/conversation_filters/screen_props.js.map +1 -1
- package/build/screens/conversation_filters_screen.d.ts +1 -0
- package/build/screens/conversation_filters_screen.d.ts.map +1 -1
- package/build/screens/conversation_filters_screen.js +79 -48
- package/build/screens/conversation_filters_screen.js.map +1 -1
- package/build/screens/conversation_new/components/groups_form.d.ts.map +1 -1
- package/build/screens/conversation_new/components/groups_form.js +37 -34
- package/build/screens/conversation_new/components/groups_form.js.map +1 -1
- package/build/screens/conversation_screen.d.ts.map +1 -1
- package/build/screens/conversation_screen.js +13 -10
- package/build/screens/conversation_screen.js.map +1 -1
- package/build/screens/conversations/components/filter_dropdown_list_header_component.d.ts +2 -0
- package/build/screens/conversations/components/filter_dropdown_list_header_component.d.ts.map +1 -0
- package/build/screens/conversations/components/filter_dropdown_list_header_component.js +580 -0
- package/build/screens/conversations/components/filter_dropdown_list_header_component.js.map +1 -0
- package/build/screens/conversations/components/list_header_component.d.ts.map +1 -1
- package/build/screens/conversations/components/list_header_component.js +95 -90
- package/build/screens/conversations/components/list_header_component.js.map +1 -1
- package/build/screens/conversations/components/search_list_header_component.d.ts.map +1 -1
- package/build/screens/conversations/components/search_list_header_component.js +100 -95
- package/build/screens/conversations/components/search_list_header_component.js.map +1 -1
- package/build/screens/conversations/conversations_screen.d.ts +1 -0
- package/build/screens/conversations/conversations_screen.d.ts.map +1 -1
- package/build/screens/conversations/conversations_screen.js +15 -2
- package/build/screens/conversations/conversations_screen.js.map +1 -1
- package/build/screens/design_system_screen.d.ts.map +1 -1
- package/build/screens/design_system_screen.js +275 -215
- package/build/screens/design_system_screen.js.map +1 -1
- package/build/screens/message_actions_screen.d.ts.map +1 -1
- package/build/screens/message_actions_screen.js +112 -92
- package/build/screens/message_actions_screen.js.map +1 -1
- package/build/screens/search/search_screen.d.ts.map +1 -1
- package/build/screens/search/search_screen.js +10 -2
- package/build/screens/search/search_screen.js.map +1 -1
- package/build/screens/send_giphy_screen.d.ts +1 -0
- package/build/screens/send_giphy_screen.d.ts.map +1 -1
- package/build/screens/send_giphy_screen.js +108 -106
- package/build/screens/send_giphy_screen.js.map +1 -1
- package/build/screens/team_conversation_screen.js +1 -1
- package/build/screens/team_conversation_screen.js.map +1 -1
- package/build/types/jolt_events/message_events.d.ts +2 -0
- package/build/types/jolt_events/message_events.d.ts.map +1 -1
- package/build/types/jolt_events/message_events.js.map +1 -1
- package/build/types/resources/conversation.d.ts +2 -2
- package/build/types/resources/conversation.d.ts.map +1 -1
- package/build/types/resources/conversation.js.map +1 -1
- package/build/types/resources/member_ability.d.ts +2 -0
- package/build/types/resources/member_ability.d.ts.map +1 -1
- package/build/types/resources/member_ability.js.map +1 -1
- package/build/types/resources/message.d.ts +2 -0
- package/build/types/resources/message.d.ts.map +1 -1
- package/build/types/resources/message.js.map +1 -1
- package/build/types/resources/person.d.ts +1 -0
- package/build/types/resources/person.d.ts.map +1 -1
- package/build/types/resources/person.js.map +1 -1
- package/build/utils/archived_conversation.d.ts +5 -0
- package/build/utils/archived_conversation.d.ts.map +1 -0
- package/build/utils/archived_conversation.js +5 -0
- package/build/utils/archived_conversation.js.map +1 -0
- package/build/utils/date.d.ts +1 -0
- package/build/utils/date.d.ts.map +1 -1
- package/build/utils/date.js +9 -0
- package/build/utils/date.js.map +1 -1
- package/build/utils/index.d.ts +1 -0
- package/build/utils/index.d.ts.map +1 -1
- package/build/utils/index.js +1 -0
- package/build/utils/index.js.map +1 -1
- package/build/utils/jolt/transform_message_event_data_to_message_resource.d.ts.map +1 -1
- package/build/utils/jolt/transform_message_event_data_to_message_resource.js +2 -1
- package/build/utils/jolt/transform_message_event_data_to_message_resource.js.map +1 -1
- package/build/utils/native_adapters/configuration.d.ts +3 -0
- package/build/utils/native_adapters/configuration.d.ts.map +1 -1
- package/build/utils/native_adapters/configuration.js +3 -0
- package/build/utils/native_adapters/configuration.js.map +1 -1
- package/build/utils/native_adapters/index.d.ts +1 -0
- package/build/utils/native_adapters/index.d.ts.map +1 -1
- package/build/utils/native_adapters/index.js +1 -0
- package/build/utils/native_adapters/index.js.map +1 -1
- package/build/utils/native_adapters/menu.d.ts +41 -0
- package/build/utils/native_adapters/menu.d.ts.map +1 -0
- package/build/utils/native_adapters/menu.js +56 -0
- package/build/utils/native_adapters/menu.js.map +1 -0
- package/build/utils/request/conversation.d.ts +2 -1
- package/build/utils/request/conversation.d.ts.map +1 -1
- package/build/utils/request/conversation.js +4 -1
- package/build/utils/request/conversation.js.map +1 -1
- package/build/utils/request/messages_data_options.d.ts.map +1 -1
- package/build/utils/request/messages_data_options.js +1 -1
- package/build/utils/request/messages_data_options.js.map +1 -1
- package/build/utils/system_messages.d.ts +7 -5
- package/build/utils/system_messages.d.ts.map +1 -1
- package/build/utils/system_messages.js +10 -2
- package/build/utils/system_messages.js.map +1 -1
- package/build/vendor/font_awesome_pro_solid_icons.d.ts +1 -0
- package/build/vendor/font_awesome_pro_solid_icons.d.ts.map +1 -1
- package/build/vendor/font_awesome_pro_solid_icons.js +5 -0
- package/build/vendor/font_awesome_pro_solid_icons.js.map +1 -1
- package/package.json +3 -3
- package/src/__tests__/hooks/use_can_browse_archived_conversations.test.tsx +98 -0
- package/src/__tests__/hooks/use_filter_dropdown_enabled.test.tsx +42 -0
- package/src/__tests__/screens/conversation_filters/components/conversation_filters.test.tsx +132 -0
- package/src/__tests__/screens/conversation_filters_screen.test.tsx +76 -0
- package/src/__tests__/screens/conversation_new/components/services_form.test.tsx +1 -0
- package/src/__tests__/screens/message_actions_screen.test.tsx +65 -2
- package/src/__tests__/screens/send_giphy_screen.test.tsx +102 -0
- package/src/__tests__/utils/system_messages.ts +19 -32
- package/src/components/conversation/__tests__/message_list.test.tsx +68 -2
- package/src/components/conversation/__tests__/system_message.test.tsx +106 -0
- package/src/components/conversation/jump_to_bottom_button.tsx +4 -3
- package/src/components/conversation/message.tsx +3 -0
- package/src/components/conversation/message_form.tsx +3 -1
- package/src/components/conversation/message_list.tsx +9 -1
- package/src/components/conversation/message_reaction.tsx +7 -2
- package/src/components/conversation/messages_disabled_banners.tsx +17 -18
- package/src/components/conversation/system_message.tsx +44 -16
- package/src/components/conversations/__tests__/conversation_actions.test.tsx +67 -0
- package/src/components/conversations/__tests__/conversation_preview.test.tsx +105 -0
- package/src/components/conversations/__tests__/conversations.test.tsx +93 -0
- package/src/components/conversations/__tests__/conversations_blank_state.test.tsx +73 -0
- package/src/components/conversations/archived_results_footer.tsx +36 -0
- package/src/components/conversations/conversation_actions.tsx +27 -19
- package/src/components/conversations/conversation_preview.tsx +39 -10
- package/src/components/conversations/conversations.tsx +26 -3
- package/src/components/conversations/conversations_blank_state.tsx +21 -0
- package/src/components/conversations/filtered_results_footer.tsx +38 -0
- package/src/components/display/__tests__/filter_dropdown.test.tsx +114 -0
- package/src/components/display/__tests__/icon_tile.test.tsx +16 -0
- package/src/components/display/action_button.tsx +4 -3
- package/src/components/display/filter_dropdown.tsx +124 -0
- package/src/components/display/icon_tile.tsx +67 -0
- package/src/components/display/index.ts +2 -0
- package/src/contexts/api_provider.tsx +8 -0
- package/src/contexts/conversations_context.tsx +2 -1
- package/src/hooks/__tests__/use_conversation_archive.test.tsx +152 -0
- package/src/hooks/__tests__/use_conversation_jolt_events.test.tsx +74 -0
- package/src/hooks/__tests__/use_conversation_messages.test.tsx +10 -2
- package/src/hooks/__tests__/use_jolt.test.tsx +100 -1
- package/src/hooks/__tests__/use_mark_latest_message_read.test.tsx +21 -7
- package/src/hooks/__tests__/use_reduce_motion.test.tsx +61 -0
- package/src/hooks/__tests__/use_unarchive_conversation_action.test.tsx +67 -0
- package/src/hooks/groups/use_group_members_for_new_conversation.ts +21 -16
- package/src/hooks/index.ts +3 -0
- package/src/hooks/use_animated_message_background_color.ts +6 -3
- package/src/hooks/use_api.ts +9 -2
- package/src/hooks/use_can_browse_archived_conversations.ts +17 -0
- package/src/hooks/use_clear_conversation_filters.ts +16 -0
- package/src/hooks/use_conversation.ts +44 -3
- package/src/hooks/use_conversation_messages.ts +7 -5
- package/src/hooks/use_current_person.ts +1 -0
- package/src/hooks/use_features.ts +2 -0
- package/src/hooks/use_filter_dropdown_enabled.ts +10 -0
- package/src/hooks/use_jolt.ts +57 -1
- package/src/hooks/use_manual_archiving_enabled.ts +10 -0
- package/src/hooks/use_mark_latest_message_read.ts +4 -3
- package/src/hooks/use_reduce_motion.ts +19 -0
- package/src/hooks/use_unarchive_conversation_action.ts +24 -0
- package/src/screens/__tests__/conversation_details_screen.test.tsx +305 -0
- package/src/screens/attachment_actions/__tests__/attachment_actions_screen.test.tsx +72 -0
- package/src/screens/attachment_actions/attachment_actions_screen.tsx +3 -1
- package/src/screens/conversation_details_screen.tsx +80 -16
- package/src/screens/conversation_filters/__tests__/conversation_filters.test.tsx +101 -0
- package/src/screens/conversation_filters/components/conversation_filters.tsx +40 -7
- package/src/screens/conversation_filters/components/rows.tsx +29 -1
- package/src/screens/conversation_filters/context/conversation_filter_context.tsx +4 -0
- package/src/screens/conversation_filters/filter_types.ts +1 -0
- package/src/screens/conversation_filters/screen_props.ts +1 -0
- package/src/screens/conversation_filters_screen.tsx +25 -5
- package/src/screens/conversation_new/components/groups_form.tsx +1 -0
- package/src/screens/conversation_screen.tsx +4 -2
- package/src/screens/conversations/__tests__/conversations_screen.test.tsx +52 -0
- package/src/screens/conversations/components/__tests__/filter_dropdown_list_header_component.test.tsx +259 -0
- package/src/screens/conversations/components/__tests__/list_header_component.test.tsx +21 -4
- package/src/screens/conversations/components/filter_dropdown_list_header_component.tsx +286 -0
- package/src/screens/conversations/components/list_header_component.tsx +17 -12
- package/src/screens/conversations/components/search_list_header_component.tsx +17 -12
- package/src/screens/conversations/conversations_screen.tsx +15 -2
- package/src/screens/design_system_screen.tsx +26 -0
- package/src/screens/message_actions_screen.tsx +29 -20
- package/src/screens/search/__tests__/search_screen.test.tsx +13 -1
- package/src/screens/search/search_screen.tsx +8 -2
- package/src/screens/send_giphy_screen.tsx +6 -3
- package/src/screens/team_conversation_screen.tsx +1 -1
- package/src/types/jolt_events/message_events.ts +2 -0
- package/src/types/resources/conversation.ts +2 -2
- package/src/types/resources/member_ability.ts +2 -0
- package/src/types/resources/message.ts +3 -0
- package/src/types/resources/person.ts +1 -0
- package/src/utils/__tests__/conversation.test.ts +1 -0
- package/src/utils/__tests__/date.test.ts +23 -0
- package/src/utils/__tests__/group_messages.test.ts +1 -0
- package/src/utils/archived_conversation.ts +13 -0
- package/src/utils/date.ts +8 -0
- package/src/utils/index.ts +1 -0
- package/src/utils/jolt/__tests__/transform_message_event_data_to_message_resource.test.ts +35 -0
- package/src/utils/jolt/transform_message_event_data_to_message_resource.ts +1 -0
- package/src/utils/native_adapters/__tests__/menu.test.tsx +46 -0
- package/src/utils/native_adapters/configuration.ts +5 -0
- package/src/utils/native_adapters/index.ts +1 -0
- package/src/utils/native_adapters/menu.tsx +70 -0
- package/src/utils/request/conversation.ts +4 -0
- package/src/utils/request/messages_data_options.ts +1 -0
- package/src/utils/system_messages.ts +19 -10
- package/src/vendor/font_awesome_pro_solid_icons.ts +12 -0
|
@@ -5,12 +5,16 @@ import { FlatList, StyleSheet, View } from 'react-native';
|
|
|
5
5
|
import { useConversationsContext } from '../../contexts/conversations_context';
|
|
6
6
|
import { useTheme } from '../../hooks';
|
|
7
7
|
import { useCanCreateConversations } from '../../hooks/use_chat_permissions';
|
|
8
|
+
import { useClearConversationFilters } from '../../hooks/use_clear_conversation_filters';
|
|
8
9
|
import { useConversationsJoltEvents } from '../../hooks/use_conversations_jolt_events';
|
|
10
|
+
import { useFilterDropdownEnabled } from '../../hooks/use_filter_dropdown_enabled';
|
|
11
|
+
import { ArchivedResultsFooter } from './archived_results_footer';
|
|
9
12
|
import { ConversationPreview, ConversationPreviewSkeleton } from './conversation_preview';
|
|
10
13
|
import { ConversationsBlankState } from './conversations_blank_state';
|
|
14
|
+
import { FilteredResultsFooter } from './filtered_results_footer';
|
|
11
15
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
12
16
|
export const Conversations = t0 => {
|
|
13
|
-
const $ = _c(
|
|
17
|
+
const $ = _c(27);
|
|
14
18
|
const {
|
|
15
19
|
ListHeaderComponent
|
|
16
20
|
} = t0;
|
|
@@ -22,15 +26,22 @@ export const Conversations = t0 => {
|
|
|
22
26
|
refetch,
|
|
23
27
|
isRefetching,
|
|
24
28
|
isFetched,
|
|
29
|
+
hasNextPage,
|
|
25
30
|
args: t1
|
|
26
31
|
} = useConversationsContext();
|
|
27
32
|
const {
|
|
28
33
|
chat_group_graph_id,
|
|
29
|
-
group_source_app_name
|
|
34
|
+
group_source_app_name,
|
|
35
|
+
show_direct_messages,
|
|
36
|
+
show_archived
|
|
30
37
|
} = t1;
|
|
31
38
|
const navigation = useNavigation();
|
|
32
39
|
const canCreateConversations = useCanCreateConversations();
|
|
33
|
-
const
|
|
40
|
+
const clearFilters = useClearConversationFilters();
|
|
41
|
+
const filterDropdownEnabled = useFilterDropdownEnabled();
|
|
42
|
+
const isFilterApplied = !!chat_group_graph_id || !!group_source_app_name || !!show_direct_messages || !!show_archived;
|
|
43
|
+
const showArchivedResultsFooter = !!show_archived && !isLoading && !hasNextPage;
|
|
44
|
+
const showFilteredResultsFooter = filterDropdownEnabled && isFilterApplied && !show_archived && !hasNextPage && !isLoading && conversations.length > 0;
|
|
34
45
|
const showBadges = !chat_group_graph_id;
|
|
35
46
|
let t2;
|
|
36
47
|
bb0: {
|
|
@@ -64,11 +75,23 @@ export const Conversations = t0 => {
|
|
|
64
75
|
t4 = $[4];
|
|
65
76
|
}
|
|
66
77
|
let t5;
|
|
67
|
-
if ($[5] !==
|
|
68
|
-
t5 =
|
|
78
|
+
if ($[5] !== clearFilters || $[6] !== showArchivedResultsFooter || $[7] !== showFilteredResultsFooter) {
|
|
79
|
+
t5 = showArchivedResultsFooter ? /*#__PURE__*/_jsx(ArchivedResultsFooter, {
|
|
80
|
+
onViewActiveConversations: clearFilters
|
|
81
|
+
}) : showFilteredResultsFooter ? /*#__PURE__*/_jsx(FilteredResultsFooter, {}) : null;
|
|
82
|
+
$[5] = clearFilters;
|
|
83
|
+
$[6] = showArchivedResultsFooter;
|
|
84
|
+
$[7] = showFilteredResultsFooter;
|
|
85
|
+
$[8] = t5;
|
|
86
|
+
} else {
|
|
87
|
+
t5 = $[8];
|
|
88
|
+
}
|
|
89
|
+
let t6;
|
|
90
|
+
if ($[9] !== navigation || $[10] !== showBadges) {
|
|
91
|
+
t6 = t7 => {
|
|
69
92
|
const {
|
|
70
93
|
item: item_0
|
|
71
|
-
} =
|
|
94
|
+
} = t7;
|
|
72
95
|
if (item_0.type === "loading") {
|
|
73
96
|
return /*#__PURE__*/_jsx(ConversationPreviewSkeleton, {});
|
|
74
97
|
} else {
|
|
@@ -76,7 +99,7 @@ export const Conversations = t0 => {
|
|
|
76
99
|
conversation: item_0.resource,
|
|
77
100
|
onPress: () => navigation.navigate("Conversation", {
|
|
78
101
|
conversation_id: item_0.resource.id,
|
|
79
|
-
title: item_0.resource.title,
|
|
102
|
+
title: item_0.resource.title ?? undefined,
|
|
80
103
|
badge: item_0.resource.badges?.[0],
|
|
81
104
|
deleted: item_0.resource.deleted,
|
|
82
105
|
muted: item_0.resource.muted
|
|
@@ -85,23 +108,23 @@ export const Conversations = t0 => {
|
|
|
85
108
|
});
|
|
86
109
|
}
|
|
87
110
|
};
|
|
88
|
-
$[
|
|
89
|
-
$[
|
|
90
|
-
$[
|
|
111
|
+
$[9] = navigation;
|
|
112
|
+
$[10] = showBadges;
|
|
113
|
+
$[11] = t6;
|
|
91
114
|
} else {
|
|
92
|
-
|
|
115
|
+
t6 = $[11];
|
|
93
116
|
}
|
|
94
|
-
let
|
|
95
|
-
if ($[
|
|
96
|
-
|
|
97
|
-
$[
|
|
98
|
-
$[
|
|
117
|
+
let t7;
|
|
118
|
+
if ($[12] !== fetchNextPage) {
|
|
119
|
+
t7 = () => fetchNextPage();
|
|
120
|
+
$[12] = fetchNextPage;
|
|
121
|
+
$[13] = t7;
|
|
99
122
|
} else {
|
|
100
|
-
|
|
123
|
+
t7 = $[13];
|
|
101
124
|
}
|
|
102
|
-
let
|
|
103
|
-
if ($[
|
|
104
|
-
|
|
125
|
+
let t8;
|
|
126
|
+
if ($[14] !== ListHeaderComponent || $[15] !== data || $[16] !== refetch || $[17] !== styles.contentContainer || $[18] !== t3 || $[19] !== t4 || $[20] !== t5 || $[21] !== t6 || $[22] !== t7) {
|
|
127
|
+
t8 = /*#__PURE__*/_jsx(FlatList, {
|
|
105
128
|
data: data,
|
|
106
129
|
keyExtractor: _temp2,
|
|
107
130
|
contentContainerStyle: styles.contentContainer,
|
|
@@ -109,34 +132,36 @@ export const Conversations = t0 => {
|
|
|
109
132
|
refreshing: t3,
|
|
110
133
|
ListHeaderComponent: ListHeaderComponent,
|
|
111
134
|
ListEmptyComponent: t4,
|
|
112
|
-
|
|
113
|
-
|
|
135
|
+
ListFooterComponent: t5,
|
|
136
|
+
renderItem: t6,
|
|
137
|
+
onEndReached: t7
|
|
114
138
|
});
|
|
115
|
-
$[
|
|
116
|
-
$[
|
|
117
|
-
$[
|
|
118
|
-
$[
|
|
119
|
-
$[
|
|
120
|
-
$[
|
|
121
|
-
$[
|
|
122
|
-
$[
|
|
123
|
-
$[
|
|
139
|
+
$[14] = ListHeaderComponent;
|
|
140
|
+
$[15] = data;
|
|
141
|
+
$[16] = refetch;
|
|
142
|
+
$[17] = styles.contentContainer;
|
|
143
|
+
$[18] = t3;
|
|
144
|
+
$[19] = t4;
|
|
145
|
+
$[20] = t5;
|
|
146
|
+
$[21] = t6;
|
|
147
|
+
$[22] = t7;
|
|
148
|
+
$[23] = t8;
|
|
124
149
|
} else {
|
|
125
|
-
|
|
150
|
+
t8 = $[23];
|
|
126
151
|
}
|
|
127
|
-
let
|
|
128
|
-
if ($[
|
|
129
|
-
|
|
152
|
+
let t9;
|
|
153
|
+
if ($[24] !== styles.container || $[25] !== t8) {
|
|
154
|
+
t9 = /*#__PURE__*/_jsx(View, {
|
|
130
155
|
style: styles.container,
|
|
131
|
-
children:
|
|
156
|
+
children: t8
|
|
132
157
|
});
|
|
133
|
-
$[
|
|
134
|
-
$[
|
|
135
|
-
$[
|
|
158
|
+
$[24] = styles.container;
|
|
159
|
+
$[25] = t8;
|
|
160
|
+
$[26] = t9;
|
|
136
161
|
} else {
|
|
137
|
-
|
|
162
|
+
t9 = $[26];
|
|
138
163
|
}
|
|
139
|
-
return
|
|
164
|
+
return t9;
|
|
140
165
|
};
|
|
141
166
|
const useStyles = () => {
|
|
142
167
|
const $ = _c(2);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversations.js","names":["useNavigation","React","useMemo","FlatList","StyleSheet","View","useConversationsContext","useTheme","useCanCreateConversations","useConversationsJoltEvents","ConversationPreview","ConversationPreviewSkeleton","ConversationsBlankState","jsx","_jsx","Conversations","t0","$","_c","ListHeaderComponent","styles","useStyles","conversations","isLoading","fetchNextPage","refetch","isRefetching","isFetched","args","t1","chat_group_graph_id","group_source_app_name","navigation","canCreateConversations","isFilterApplied","showBadges","t2","bb0","loadingPlaceholder","t3","map","_temp","data","t4","t5","t6","item","item_0","type","conversation","resource","onPress","navigate","conversation_id","id","title","badge","badges","deleted","muted","t7","contentContainer","keyExtractor","_temp2","contentContainerStyle","refreshing","ListEmptyComponent","renderItem","onEndReached","t8","container","style","children","colors","fillColorNeutral020","create","flex","paddingVertical","listItem","color","Array","from","length","_","i","toString"],"sources":["../../../src/components/conversations/conversations.tsx"],"sourcesContent":["import { useNavigation } from '@react-navigation/native'\nimport React, { useMemo } from 'react'\nimport { FlatList, StyleSheet, View } from 'react-native'\nimport { useConversationsContext } from '../../contexts/conversations_context'\nimport { useTheme } from '../../hooks'\nimport { useCanCreateConversations } from '../../hooks/use_chat_permissions'\nimport { useConversationsJoltEvents } from '../../hooks/use_conversations_jolt_events'\nimport { ConversationResource } from '../../types'\nimport { ConversationPreview, ConversationPreviewSkeleton } from './conversation_preview'\nimport { ConversationsBlankState } from './conversations_blank_state'\n\ninterface ConversationsProps {\n ListHeaderComponent?:\n | React.ComponentType<any>\n | React.ReactElement<any, string | React.JSXElementConstructor<any>>\n | null\n | undefined\n}\n\nexport const Conversations = ({ ListHeaderComponent }: ConversationsProps) => {\n const styles = useStyles()\n const {\n conversations,\n isLoading,\n fetchNextPage,\n refetch,\n isRefetching,\n isFetched,\n args: { chat_group_graph_id, group_source_app_name },\n } = useConversationsContext()\n const navigation = useNavigation()\n const canCreateConversations = useCanCreateConversations()\n const isFilterApplied = !!chat_group_graph_id || !!group_source_app_name\n\n const showBadges = !chat_group_graph_id\n\n const data: FlatListItem[] = useMemo(() => {\n if (isLoading) {\n return loadingPlaceholder\n }\n return conversations.map(conversation => ({\n type: 'conversation' as const,\n id: conversation.id,\n resource: conversation,\n }))\n }, [conversations, isLoading])\n\n useConversationsJoltEvents()\n\n return (\n <View style={styles.container}>\n <FlatList\n data={data}\n keyExtractor={item => item.id.toString()}\n contentContainerStyle={styles.contentContainer}\n onRefresh={refetch}\n refreshing={!isFetched && isRefetching}\n ListHeaderComponent={ListHeaderComponent}\n ListEmptyComponent={\n <ConversationsBlankState\n isFilterApplied={isFilterApplied}\n canCreateConversations={canCreateConversations}\n />\n }\n renderItem={({ item }) => {\n if (item.type === 'loading') {\n return <ConversationPreviewSkeleton />\n } else {\n return (\n <ConversationPreview\n conversation={item.resource}\n onPress={() =>\n navigation.navigate('Conversation', {\n conversation_id: item.resource.id,\n title: item.resource.title,\n badge: item.resource.badges?.[0],\n deleted: item.resource.deleted,\n muted: item.resource.muted,\n })\n }\n showBadges={showBadges}\n />\n )\n }\n }}\n onEndReached={() => fetchNextPage()}\n />\n </View>\n )\n}\n\nconst useStyles = () => {\n const { colors } = useTheme()\n\n return StyleSheet.create({\n container: { flex: 1 },\n contentContainer: { paddingVertical: 16 },\n listItem: { color: colors.fillColorNeutral020 },\n })\n}\n\ninterface FlatListLoadingItem {\n type: 'loading'\n id: string\n}\ninterface FlatListConversationItem {\n type: 'conversation'\n resource: ConversationResource\n id: number\n}\ntype FlatListItem = FlatListLoadingItem | FlatListConversationItem\n\nconst loadingPlaceholder: FlatListItem[] = Array.from({ length: 5 }, (_, i) => ({\n type: 'loading',\n id: `loading${i}`,\n}))\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"conversations.js","names":["useNavigation","React","useMemo","FlatList","StyleSheet","View","useConversationsContext","useTheme","useCanCreateConversations","useClearConversationFilters","useConversationsJoltEvents","useFilterDropdownEnabled","ArchivedResultsFooter","ConversationPreview","ConversationPreviewSkeleton","ConversationsBlankState","FilteredResultsFooter","jsx","_jsx","Conversations","t0","$","_c","ListHeaderComponent","styles","useStyles","conversations","isLoading","fetchNextPage","refetch","isRefetching","isFetched","hasNextPage","args","t1","chat_group_graph_id","group_source_app_name","show_direct_messages","show_archived","navigation","canCreateConversations","clearFilters","filterDropdownEnabled","isFilterApplied","showArchivedResultsFooter","showFilteredResultsFooter","length","showBadges","t2","bb0","loadingPlaceholder","t3","map","_temp","data","t4","t5","t6","t7","item","item_0","type","conversation","resource","onPress","navigate","conversation_id","id","title","undefined","badge","badges","deleted","muted","t8","contentContainer","keyExtractor","_temp2","contentContainerStyle","refreshing","ListEmptyComponent","ListFooterComponent","renderItem","onEndReached","t9","container","style","children","colors","fillColorNeutral020","create","flex","paddingVertical","listItem","color","Array","from","_","i","toString"],"sources":["../../../src/components/conversations/conversations.tsx"],"sourcesContent":["import { useNavigation } from '@react-navigation/native'\nimport React, { useMemo } from 'react'\nimport { FlatList, StyleSheet, View } from 'react-native'\nimport { useConversationsContext } from '../../contexts/conversations_context'\nimport { useTheme } from '../../hooks'\nimport { useCanCreateConversations } from '../../hooks/use_chat_permissions'\nimport { useClearConversationFilters } from '../../hooks/use_clear_conversation_filters'\nimport { useConversationsJoltEvents } from '../../hooks/use_conversations_jolt_events'\nimport { useFilterDropdownEnabled } from '../../hooks/use_filter_dropdown_enabled'\nimport { ConversationResource } from '../../types'\nimport { ArchivedResultsFooter } from './archived_results_footer'\nimport { ConversationPreview, ConversationPreviewSkeleton } from './conversation_preview'\nimport { ConversationsBlankState } from './conversations_blank_state'\nimport { FilteredResultsFooter } from './filtered_results_footer'\n\ninterface ConversationsProps {\n ListHeaderComponent?:\n | React.ComponentType<any>\n | React.ReactElement<any, string | React.JSXElementConstructor<any>>\n | null\n | undefined\n}\n\nexport const Conversations = ({ ListHeaderComponent }: ConversationsProps) => {\n const styles = useStyles()\n const {\n conversations,\n isLoading,\n fetchNextPage,\n refetch,\n isRefetching,\n isFetched,\n hasNextPage,\n args: { chat_group_graph_id, group_source_app_name, show_direct_messages, show_archived },\n } = useConversationsContext()\n const navigation = useNavigation()\n const canCreateConversations = useCanCreateConversations()\n const clearFilters = useClearConversationFilters()\n const filterDropdownEnabled = useFilterDropdownEnabled()\n const isFilterApplied =\n !!chat_group_graph_id || !!group_source_app_name || !!show_direct_messages || !!show_archived\n const showArchivedResultsFooter = !!show_archived && !isLoading && !hasNextPage\n const showFilteredResultsFooter =\n filterDropdownEnabled &&\n isFilterApplied &&\n !show_archived &&\n !hasNextPage &&\n !isLoading &&\n conversations.length > 0\n\n const showBadges = !chat_group_graph_id\n\n const data: FlatListItem[] = useMemo(() => {\n if (isLoading) {\n return loadingPlaceholder\n }\n return conversations.map(conversation => ({\n type: 'conversation' as const,\n id: conversation.id,\n resource: conversation,\n }))\n }, [conversations, isLoading])\n\n useConversationsJoltEvents()\n\n return (\n <View style={styles.container}>\n <FlatList\n data={data}\n keyExtractor={item => item.id.toString()}\n contentContainerStyle={styles.contentContainer}\n onRefresh={refetch}\n refreshing={!isFetched && isRefetching}\n ListHeaderComponent={ListHeaderComponent}\n ListEmptyComponent={\n <ConversationsBlankState\n isFilterApplied={isFilterApplied}\n canCreateConversations={canCreateConversations}\n />\n }\n ListFooterComponent={\n showArchivedResultsFooter ? (\n <ArchivedResultsFooter onViewActiveConversations={clearFilters} />\n ) : showFilteredResultsFooter ? (\n <FilteredResultsFooter />\n ) : null\n }\n renderItem={({ item }) => {\n if (item.type === 'loading') {\n return <ConversationPreviewSkeleton />\n } else {\n return (\n <ConversationPreview\n conversation={item.resource}\n onPress={() =>\n navigation.navigate('Conversation', {\n conversation_id: item.resource.id,\n title: item.resource.title ?? undefined,\n badge: item.resource.badges?.[0],\n deleted: item.resource.deleted,\n muted: item.resource.muted,\n })\n }\n showBadges={showBadges}\n />\n )\n }\n }}\n onEndReached={() => fetchNextPage()}\n />\n </View>\n )\n}\n\nconst useStyles = () => {\n const { colors } = useTheme()\n\n return StyleSheet.create({\n container: { flex: 1 },\n contentContainer: { paddingVertical: 16 },\n listItem: { color: colors.fillColorNeutral020 },\n })\n}\n\ninterface FlatListLoadingItem {\n type: 'loading'\n id: string\n}\ninterface FlatListConversationItem {\n type: 'conversation'\n resource: ConversationResource\n id: number\n}\ntype FlatListItem = FlatListLoadingItem | FlatListConversationItem\n\nconst loadingPlaceholder: FlatListItem[] = Array.from({ length: 5 }, (_, i) => ({\n type: 'loading',\n id: `loading${i}`,\n}))\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversations_blank_state.d.ts","sourceRoot":"","sources":["../../../src/components/conversations/conversations_blank_state.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"conversations_blank_state.d.ts","sourceRoot":"","sources":["../../../src/components/conversations/conversations_blank_state.tsx"],"names":[],"mappings":"AAMA,UAAU,4BAA4B;IACpC,eAAe,EAAE,OAAO,CAAA;IACxB,sBAAsB,EAAE,OAAO,CAAA;CAChC;AAED,wBAAgB,uBAAuB,CAAC,EACtC,eAAe,EACf,sBAAsB,GACvB,EAAE,4BAA4B,2CAuC9B"}
|
|
@@ -1,34 +1,77 @@
|
|
|
1
1
|
import { c as _c } from "react/compiler-runtime";
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { StyleSheet, View } from 'react-native';
|
|
4
|
+
import { useClearConversationFilters } from '../../hooks/use_clear_conversation_filters';
|
|
5
|
+
import { useFilterDropdownEnabled } from '../../hooks/use_filter_dropdown_enabled';
|
|
4
6
|
import BlankState from '../primitive/blank_state_primitive';
|
|
5
7
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
6
8
|
export function ConversationsBlankState(t0) {
|
|
7
|
-
const $ = _c(
|
|
9
|
+
const $ = _c(9);
|
|
8
10
|
const {
|
|
9
11
|
isFilterApplied,
|
|
10
12
|
canCreateConversations
|
|
11
13
|
} = t0;
|
|
14
|
+
const filterDropdownEnabled = useFilterDropdownEnabled();
|
|
15
|
+
const clearFilters = useClearConversationFilters();
|
|
16
|
+
if (filterDropdownEnabled && isFilterApplied) {
|
|
17
|
+
let t1;
|
|
18
|
+
if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
|
|
19
|
+
t1 = /*#__PURE__*/_jsx(BlankState.Imagery, {
|
|
20
|
+
name: "general.outlinedTextMessage"
|
|
21
|
+
});
|
|
22
|
+
$[0] = t1;
|
|
23
|
+
} else {
|
|
24
|
+
t1 = $[0];
|
|
25
|
+
}
|
|
26
|
+
let t2;
|
|
27
|
+
if ($[1] === Symbol.for("react.memo_cache_sentinel")) {
|
|
28
|
+
t2 = /*#__PURE__*/_jsx(BlankState.Content, {
|
|
29
|
+
children: /*#__PURE__*/_jsx(BlankState.Heading, {
|
|
30
|
+
children: "No matches"
|
|
31
|
+
})
|
|
32
|
+
});
|
|
33
|
+
$[1] = t2;
|
|
34
|
+
} else {
|
|
35
|
+
t2 = $[1];
|
|
36
|
+
}
|
|
37
|
+
let t3;
|
|
38
|
+
if ($[2] !== clearFilters) {
|
|
39
|
+
t3 = /*#__PURE__*/_jsx(View, {
|
|
40
|
+
style: styles.container,
|
|
41
|
+
children: /*#__PURE__*/_jsxs(BlankState.Root, {
|
|
42
|
+
children: [t1, t2, /*#__PURE__*/_jsx(BlankState.TextButton, {
|
|
43
|
+
onPress: clearFilters,
|
|
44
|
+
children: "View all conversations"
|
|
45
|
+
})]
|
|
46
|
+
})
|
|
47
|
+
});
|
|
48
|
+
$[2] = clearFilters;
|
|
49
|
+
$[3] = t3;
|
|
50
|
+
} else {
|
|
51
|
+
t3 = $[3];
|
|
52
|
+
}
|
|
53
|
+
return t3;
|
|
54
|
+
}
|
|
12
55
|
let t1;
|
|
13
|
-
if ($[
|
|
56
|
+
if ($[4] === Symbol.for("react.memo_cache_sentinel")) {
|
|
14
57
|
t1 = /*#__PURE__*/_jsx(BlankState.Imagery, {
|
|
15
58
|
name: "general.outlinedTextMessage"
|
|
16
59
|
});
|
|
17
|
-
$[
|
|
60
|
+
$[4] = t1;
|
|
18
61
|
} else {
|
|
19
|
-
t1 = $[
|
|
62
|
+
t1 = $[4];
|
|
20
63
|
}
|
|
21
64
|
let t2;
|
|
22
|
-
if ($[
|
|
65
|
+
if ($[5] === Symbol.for("react.memo_cache_sentinel")) {
|
|
23
66
|
t2 = /*#__PURE__*/_jsx(BlankState.Heading, {
|
|
24
67
|
children: "No conversations yet."
|
|
25
68
|
});
|
|
26
|
-
$[
|
|
69
|
+
$[5] = t2;
|
|
27
70
|
} else {
|
|
28
|
-
t2 = $[
|
|
71
|
+
t2 = $[5];
|
|
29
72
|
}
|
|
30
73
|
let t3;
|
|
31
|
-
if ($[
|
|
74
|
+
if ($[6] !== canCreateConversations || $[7] !== isFilterApplied) {
|
|
32
75
|
t3 = /*#__PURE__*/_jsx(View, {
|
|
33
76
|
style: styles.container,
|
|
34
77
|
children: /*#__PURE__*/_jsxs(BlankState.Root, {
|
|
@@ -43,11 +86,11 @@ export function ConversationsBlankState(t0) {
|
|
|
43
86
|
})]
|
|
44
87
|
})
|
|
45
88
|
});
|
|
46
|
-
$[
|
|
47
|
-
$[
|
|
48
|
-
$[
|
|
89
|
+
$[6] = canCreateConversations;
|
|
90
|
+
$[7] = isFilterApplied;
|
|
91
|
+
$[8] = t3;
|
|
49
92
|
} else {
|
|
50
|
-
t3 = $[
|
|
93
|
+
t3 = $[8];
|
|
51
94
|
}
|
|
52
95
|
return t3;
|
|
53
96
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversations_blank_state.js","names":["React","StyleSheet","View","BlankState","jsx","_jsx","jsxs","_jsxs","ConversationsBlankState","t0","$","_c","isFilterApplied","canCreateConversations","t1","Symbol","for","Imagery","name","t2","
|
|
1
|
+
{"version":3,"file":"conversations_blank_state.js","names":["React","StyleSheet","View","useClearConversationFilters","useFilterDropdownEnabled","BlankState","jsx","_jsx","jsxs","_jsxs","ConversationsBlankState","t0","$","_c","isFilterApplied","canCreateConversations","filterDropdownEnabled","clearFilters","t1","Symbol","for","Imagery","name","t2","Content","children","Heading","t3","style","styles","container","Root","TextButton","Text","create","flex","justifyContent","alignItems","paddingVertical"],"sources":["../../../src/components/conversations/conversations_blank_state.tsx"],"sourcesContent":["import React from 'react'\nimport { StyleSheet, View } from 'react-native'\nimport { useClearConversationFilters } from '../../hooks/use_clear_conversation_filters'\nimport { useFilterDropdownEnabled } from '../../hooks/use_filter_dropdown_enabled'\nimport BlankState from '../primitive/blank_state_primitive'\n\ninterface ConversationsBlankStateProps {\n isFilterApplied: boolean\n canCreateConversations: boolean\n}\n\nexport function ConversationsBlankState({\n isFilterApplied,\n canCreateConversations,\n}: ConversationsBlankStateProps) {\n const filterDropdownEnabled = useFilterDropdownEnabled()\n const clearFilters = useClearConversationFilters()\n\n if (filterDropdownEnabled && isFilterApplied) {\n return (\n <View style={styles.container}>\n <BlankState.Root>\n <BlankState.Imagery name=\"general.outlinedTextMessage\" />\n <BlankState.Content>\n <BlankState.Heading>No matches</BlankState.Heading>\n </BlankState.Content>\n <BlankState.TextButton onPress={clearFilters}>\n View all conversations\n </BlankState.TextButton>\n </BlankState.Root>\n </View>\n )\n }\n\n return (\n <View style={styles.container}>\n <BlankState.Root>\n <BlankState.Imagery name=\"general.outlinedTextMessage\" />\n <BlankState.Content>\n <BlankState.Heading>No conversations yet.</BlankState.Heading>\n {isFilterApplied ? (\n <BlankState.Text>Adjust your filters to find conversations.</BlankState.Text>\n ) : canCreateConversations ? (\n <BlankState.Text>Tap the compose button to get started.</BlankState.Text>\n ) : (\n <BlankState.Text>\n When your groups or teams start chatting, you’ll find them here.\n </BlankState.Text>\n )}\n </BlankState.Content>\n </BlankState.Root>\n </View>\n )\n}\n\nconst styles = StyleSheet.create({\n container: {\n flex: 1,\n justifyContent: 'center',\n alignItems: 'center',\n paddingVertical: 32,\n },\n})\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filtered_results_footer.d.ts","sourceRoot":"","sources":["../../../src/components/conversations/filtered_results_footer.tsx"],"names":[],"mappings":"AAMA,wBAAgB,qBAAqB,4CAcpC"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { c as _c } from "react/compiler-runtime";
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { StyleSheet, View } from 'react-native';
|
|
4
|
+
import { useTheme } from '../../hooks';
|
|
5
|
+
import { useClearConversationFilters } from '../../hooks/use_clear_conversation_filters';
|
|
6
|
+
import { Text, TextButton } from '../display';
|
|
7
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
8
|
+
export function FilteredResultsFooter() {
|
|
9
|
+
const $ = _c(8);
|
|
10
|
+
const styles = useStyles();
|
|
11
|
+
const clearFilters = useClearConversationFilters();
|
|
12
|
+
let t0;
|
|
13
|
+
if ($[0] !== styles.text) {
|
|
14
|
+
t0 = /*#__PURE__*/_jsx(Text, {
|
|
15
|
+
variant: "tertiary",
|
|
16
|
+
style: styles.text,
|
|
17
|
+
children: "You\u2019re viewing filtered results"
|
|
18
|
+
});
|
|
19
|
+
$[0] = styles.text;
|
|
20
|
+
$[1] = t0;
|
|
21
|
+
} else {
|
|
22
|
+
t0 = $[1];
|
|
23
|
+
}
|
|
24
|
+
let t1;
|
|
25
|
+
if ($[2] !== clearFilters) {
|
|
26
|
+
t1 = /*#__PURE__*/_jsx(TextButton, {
|
|
27
|
+
variant: "tertiary",
|
|
28
|
+
onPress: clearFilters,
|
|
29
|
+
children: "View all conversations"
|
|
30
|
+
});
|
|
31
|
+
$[2] = clearFilters;
|
|
32
|
+
$[3] = t1;
|
|
33
|
+
} else {
|
|
34
|
+
t1 = $[3];
|
|
35
|
+
}
|
|
36
|
+
let t2;
|
|
37
|
+
if ($[4] !== styles.container || $[5] !== t0 || $[6] !== t1) {
|
|
38
|
+
t2 = /*#__PURE__*/_jsxs(View, {
|
|
39
|
+
style: styles.container,
|
|
40
|
+
children: [t0, t1]
|
|
41
|
+
});
|
|
42
|
+
$[4] = styles.container;
|
|
43
|
+
$[5] = t0;
|
|
44
|
+
$[6] = t1;
|
|
45
|
+
$[7] = t2;
|
|
46
|
+
} else {
|
|
47
|
+
t2 = $[7];
|
|
48
|
+
}
|
|
49
|
+
return t2;
|
|
50
|
+
}
|
|
51
|
+
const useStyles = () => {
|
|
52
|
+
const $ = _c(2);
|
|
53
|
+
const {
|
|
54
|
+
colors
|
|
55
|
+
} = useTheme();
|
|
56
|
+
let t0;
|
|
57
|
+
if ($[0] !== colors.textColorDefaultSecondary) {
|
|
58
|
+
t0 = StyleSheet.create({
|
|
59
|
+
container: {
|
|
60
|
+
alignItems: "center",
|
|
61
|
+
gap: 8,
|
|
62
|
+
paddingHorizontal: 16,
|
|
63
|
+
paddingVertical: 24
|
|
64
|
+
},
|
|
65
|
+
text: {
|
|
66
|
+
textAlign: "center",
|
|
67
|
+
color: colors.textColorDefaultSecondary
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
$[0] = colors.textColorDefaultSecondary;
|
|
71
|
+
$[1] = t0;
|
|
72
|
+
} else {
|
|
73
|
+
t0 = $[1];
|
|
74
|
+
}
|
|
75
|
+
return t0;
|
|
76
|
+
};
|
|
77
|
+
//# sourceMappingURL=filtered_results_footer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filtered_results_footer.js","names":["React","StyleSheet","View","useTheme","useClearConversationFilters","Text","TextButton","jsx","_jsx","jsxs","_jsxs","FilteredResultsFooter","$","_c","styles","useStyles","clearFilters","t0","text","variant","style","children","t1","t2","container","colors","textColorDefaultSecondary","create","alignItems","gap","paddingHorizontal","paddingVertical","textAlign","color"],"sources":["../../../src/components/conversations/filtered_results_footer.tsx"],"sourcesContent":["import React from 'react'\nimport { StyleSheet, View } from 'react-native'\nimport { useTheme } from '../../hooks'\nimport { useClearConversationFilters } from '../../hooks/use_clear_conversation_filters'\nimport { Text, TextButton } from '../display'\n\nexport function FilteredResultsFooter() {\n const styles = useStyles()\n const clearFilters = useClearConversationFilters()\n\n return (\n <View style={styles.container}>\n <Text variant=\"tertiary\" style={styles.text}>\n You’re viewing filtered results\n </Text>\n <TextButton variant=\"tertiary\" onPress={clearFilters}>\n View all conversations\n </TextButton>\n </View>\n )\n}\n\nconst useStyles = () => {\n const { colors } = useTheme()\n\n return StyleSheet.create({\n container: {\n alignItems: 'center',\n gap: 8,\n paddingHorizontal: 16,\n paddingVertical: 24,\n },\n text: {\n textAlign: 'center',\n color: colors.textColorDefaultSecondary,\n },\n })\n}\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAC/C,SAASC,QAAQ,QAAQ,aAAa;AACtC,SAASC,2BAA2B,QAAQ,4CAA4C;AACxF,SAASC,IAAI,EAAEC,UAAU,QAAQ,YAAY;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAE7C,OAAO,SAAAC,sBAAA;EAAA,MAAAC,CAAA,GAAAC,EAAA;EACL,MAAAC,MAAA,GAAeC,SAAS,CAAC,CAAC;EAC1B,MAAAC,YAAA,GAAqBZ,2BAA2B,CAAC,CAAC;EAAA,IAAAa,EAAA;EAAA,IAAAL,CAAA,QAAAE,MAAA,CAAAI,IAAA;IAI9CD,EAAA,gBAAAT,IAAA,CAACH,IAAI;MAASc,OAAU,EAAV,UAAU;MAAQC,KAAW,EAAXN,MAAM,CAAAI,IAAK;MAAAG,QAAA,EAAE;IAE7C,CAAM,CAAC;IAAAT,CAAA,MAAAE,MAAA,CAAAI,IAAA;IAAAN,CAAA,MAAAK,EAAA;EAAA;IAAAA,EAAA,GAAAL,CAAA;EAAA;EAAA,IAAAU,EAAA;EAAA,IAAAV,CAAA,QAAAI,YAAA;IACPM,EAAA,gBAAAd,IAAA,CAACF,UAAU;MAASa,OAAU,EAAV,UAAU;MAAUH,OAAY,EAAZA,YAAY;MAAAK,QAAA,EAAE;IAEtD,CAAY,CAAC;IAAAT,CAAA,MAAAI,YAAA;IAAAJ,CAAA,MAAAU,EAAA;EAAA;IAAAA,EAAA,GAAAV,CAAA;EAAA;EAAA,IAAAW,EAAA;EAAA,IAAAX,CAAA,QAAAE,MAAA,CAAAU,SAAA,IAAAZ,CAAA,QAAAK,EAAA,IAAAL,CAAA,QAAAU,EAAA;IANfC,EAAA,gBAAAb,KAAA,CAACR,IAAI;MAAQkB,KAAgB,EAAhBN,MAAM,CAAAU,SAAU;MAAAH,QAAA,GAC3BJ,EAEO,EACPK,EAEa;IAAA,CACT,CAAC;IAAAV,CAAA,MAAAE,MAAA,CAAAU,SAAA;IAAAZ,CAAA,MAAAK,EAAA;IAAAL,CAAA,MAAAU,EAAA;IAAAV,CAAA,MAAAW,EAAA;EAAA;IAAAA,EAAA,GAAAX,CAAA;EAAA;EAAA,OAPPW,EAOO;AAAA;AAIX,MAAMR,SAAS,GAAGA,CAAA;EAAA,MAAAH,CAAA,GAAAC,EAAA;EAChB;IAAAY;EAAA,IAAmBtB,QAAQ,CAAC,CAAC;EAAA,IAAAc,EAAA;EAAA,IAAAL,CAAA,QAAAa,MAAA,CAAAC,yBAAA;IAEtBT,EAAA,GAAAhB,UAAU,CAAA0B,MAAO,CAAC;MAAAH,SAAA,EACZ;QAAAI,UAAA,EACG,QAAQ;QAAAC,GAAA,EACf,CAAC;QAAAC,iBAAA,EACa,EAAE;QAAAC,eAAA,EACJ;MACnB,CAAC;MAAAb,IAAA,EACK;QAAAc,SAAA,EACO,QAAQ;QAAAC,KAAA,EACZR,MAAM,CAAAC;MACf;IACF,CAAC,CAAC;IAAAd,CAAA,MAAAa,MAAA,CAAAC,yBAAA;IAAAd,CAAA,MAAAK,EAAA;EAAA;IAAAA,EAAA,GAAAL,CAAA;EAAA;EAAA,OAXKK,EAWL;AAAA,CACH","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action_button.d.ts","sourceRoot":"","sources":["../../../src/components/display/action_button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAUzB,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAIjD,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAGnC,eAAO,MAAM,YAAY,GAAI,0GAU1B;IACD,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,kBAAkB,CAAC,EAAE,UAAU,CAAA;IAC/B,eAAe,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACjC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,mBAAmB,EAAE,CAAA;CACjC,
|
|
1
|
+
{"version":3,"file":"action_button.d.ts","sourceRoot":"","sources":["../../../src/components/display/action_button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAUzB,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAIjD,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAGnC,eAAO,MAAM,YAAY,GAAI,0GAU1B;IACD,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,kBAAkB,CAAC,EAAE,UAAU,CAAA;IAC/B,eAAe,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACjC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,mBAAmB,EAAE,CAAA;CACjC,4CAgDA,CAAA"}
|
|
@@ -3,14 +3,14 @@ import React from 'react';
|
|
|
3
3
|
import { StyleSheet, useWindowDimensions, View } from 'react-native';
|
|
4
4
|
import Animated, { FadeIn, FadeOut, LayoutAnimationConfig, ReduceMotion } from 'react-native-reanimated';
|
|
5
5
|
import { useSafeAreaInsets } from 'react-native-safe-area-context';
|
|
6
|
-
import { useTheme } from '../../hooks';
|
|
6
|
+
import { useReduceMotion, useTheme } from '../../hooks';
|
|
7
7
|
import { MAX_FONT_SIZE_MULTIPLIER_LANDMARK } from '../../utils';
|
|
8
8
|
import { Banner } from './banner';
|
|
9
9
|
import { Button } from './button';
|
|
10
10
|
import { Text } from './text';
|
|
11
11
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
12
12
|
export const ActionButton = t0 => {
|
|
13
|
-
const $ = _c(
|
|
13
|
+
const $ = _c(16);
|
|
14
14
|
const {
|
|
15
15
|
visible: t1,
|
|
16
16
|
disabled: t2,
|
|
@@ -35,11 +35,12 @@ export const ActionButton = t0 => {
|
|
|
35
35
|
}
|
|
36
36
|
const warnings = t5;
|
|
37
37
|
const styles = useStyles();
|
|
38
|
+
const reduceMotion = useReduceMotion() ? ReduceMotion.Always : ReduceMotion.Never;
|
|
38
39
|
let t6;
|
|
39
|
-
if ($[2] !== buttonIconNameLeft || $[3] !== disabled || $[4] !== infoText || $[5] !== loading || $[6] !== onPress || $[7] !==
|
|
40
|
+
if ($[2] !== buttonIconNameLeft || $[3] !== disabled || $[4] !== infoText || $[5] !== loading || $[6] !== onPress || $[7] !== reduceMotion || $[8] !== secondaryButton || $[9] !== styles || $[10] !== title || $[11] !== visible || $[12] !== warnings) {
|
|
40
41
|
t6 = visible && /*#__PURE__*/_jsxs(Animated.View, {
|
|
41
|
-
entering: FadeIn.duration(300).reduceMotion(
|
|
42
|
-
exiting: FadeOut.duration(300).reduceMotion(
|
|
42
|
+
entering: FadeIn.duration(300).reduceMotion(reduceMotion),
|
|
43
|
+
exiting: FadeOut.duration(300).reduceMotion(reduceMotion),
|
|
43
44
|
style: styles.container,
|
|
44
45
|
children: [warnings.length > 0 && /*#__PURE__*/_jsx(View, {
|
|
45
46
|
style: styles.warnings,
|
|
@@ -70,25 +71,26 @@ export const ActionButton = t0 => {
|
|
|
70
71
|
$[4] = infoText;
|
|
71
72
|
$[5] = loading;
|
|
72
73
|
$[6] = onPress;
|
|
73
|
-
$[7] =
|
|
74
|
-
$[8] =
|
|
75
|
-
$[9] =
|
|
76
|
-
$[10] =
|
|
77
|
-
$[11] =
|
|
78
|
-
$[12] =
|
|
74
|
+
$[7] = reduceMotion;
|
|
75
|
+
$[8] = secondaryButton;
|
|
76
|
+
$[9] = styles;
|
|
77
|
+
$[10] = title;
|
|
78
|
+
$[11] = visible;
|
|
79
|
+
$[12] = warnings;
|
|
80
|
+
$[13] = t6;
|
|
79
81
|
} else {
|
|
80
|
-
t6 = $[
|
|
82
|
+
t6 = $[13];
|
|
81
83
|
}
|
|
82
84
|
let t7;
|
|
83
|
-
if ($[
|
|
85
|
+
if ($[14] !== t6) {
|
|
84
86
|
t7 = /*#__PURE__*/_jsx(LayoutAnimationConfig, {
|
|
85
87
|
skipEntering: true,
|
|
86
88
|
children: t6
|
|
87
89
|
});
|
|
88
|
-
$[
|
|
89
|
-
$[
|
|
90
|
+
$[14] = t6;
|
|
91
|
+
$[15] = t7;
|
|
90
92
|
} else {
|
|
91
|
-
t7 = $[
|
|
93
|
+
t7 = $[15];
|
|
92
94
|
}
|
|
93
95
|
return t7;
|
|
94
96
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action_button.js","names":["React","StyleSheet","useWindowDimensions","View","Animated","FadeIn","FadeOut","LayoutAnimationConfig","ReduceMotion","useSafeAreaInsets","useTheme","MAX_FONT_SIZE_MULTIPLIER_LANDMARK","Banner","Button","Text","jsx","_jsx","jsxs","_jsxs","ActionButton","t0","$","_c","visible","t1","disabled","t2","onPress","title","infoText","buttonIconNameLeft","secondaryButton","loading","t3","warnings","t4","undefined","t5","styles","useStyles","
|
|
1
|
+
{"version":3,"file":"action_button.js","names":["React","StyleSheet","useWindowDimensions","View","Animated","FadeIn","FadeOut","LayoutAnimationConfig","ReduceMotion","useSafeAreaInsets","useReduceMotion","useTheme","MAX_FONT_SIZE_MULTIPLIER_LANDMARK","Banner","Button","Text","jsx","_jsx","jsxs","_jsxs","ActionButton","t0","$","_c","visible","t1","disabled","t2","onPress","title","infoText","buttonIconNameLeft","secondaryButton","loading","t3","warnings","t4","undefined","t5","styles","useStyles","reduceMotion","Always","Never","t6","entering","duration","exiting","style","container","children","length","map","_temp","Boolean","variant","buttonRow","size","fullWidthButton","accessibilityShowsLargeContentViewer","t7","skipEntering","fontScale","bottom","colors","borderColorDefaultDim","surfaceColor090","create","backgroundColor","paddingHorizontal","paddingTop","paddingBottom","borderTopWidth","borderTopColor","gap","flexDirection","justifyContent","alignItems","flexWrap","flexGrow","textAlign","warning","index","appearance","description","fullMessage","attribute"],"sources":["../../../src/components/display/action_button.tsx"],"sourcesContent":["import React from 'react'\nimport { StyleSheet, useWindowDimensions, View } from 'react-native'\nimport Animated, {\n FadeIn,\n FadeOut,\n LayoutAnimationConfig,\n ReduceMotion,\n} from 'react-native-reanimated'\nimport { useSafeAreaInsets } from 'react-native-safe-area-context'\nimport { useReduceMotion, useTheme } from '../../hooks'\nimport { ConversationWarning } from '../../types'\nimport { MAX_FONT_SIZE_MULTIPLIER_LANDMARK } from '../../utils'\nimport { Banner } from './banner'\nimport { Button } from './button'\nimport { IconString } from './icon'\nimport { Text } from './text'\n\nexport const ActionButton = ({\n visible = true,\n disabled = false,\n onPress,\n title,\n infoText,\n buttonIconNameLeft,\n secondaryButton,\n loading = false,\n warnings = [],\n}: {\n visible?: boolean\n disabled?: boolean\n onPress: () => void\n title: string\n infoText?: string\n buttonIconNameLeft?: IconString\n secondaryButton?: React.ReactNode\n loading?: boolean\n warnings?: ConversationWarning[]\n}) => {\n const styles = useStyles()\n const reduceMotion = useReduceMotion() ? ReduceMotion.Always : ReduceMotion.Never\n\n return (\n <LayoutAnimationConfig skipEntering>\n {visible && (\n <Animated.View\n entering={FadeIn.duration(300).reduceMotion(reduceMotion)}\n exiting={FadeOut.duration(300).reduceMotion(reduceMotion)}\n style={styles.container}\n >\n {warnings.length > 0 && (\n <View style={styles.warnings}>\n {warnings.map((warning, index) => (\n <Banner\n key={`${warning.attribute}-${index}`}\n appearance=\"error\"\n description={warning.fullMessage}\n />\n ))}\n </View>\n )}\n {Boolean(infoText) && (\n <Text style={styles.infoText} variant=\"footnote\">\n {infoText}\n </Text>\n )}\n <View style={styles.buttonRow}>\n {secondaryButton}\n <Button\n variant=\"fill\"\n size=\"lg\"\n onPress={onPress}\n title={title}\n disabled={disabled}\n style={secondaryButton ? null : styles.fullWidthButton}\n iconNameLeft={buttonIconNameLeft}\n loading={loading}\n maxFontSizeMultiplier={MAX_FONT_SIZE_MULTIPLIER_LANDMARK}\n accessibilityShowsLargeContentViewer\n accessibilityLargeContentTitle={title}\n />\n </View>\n </Animated.View>\n )}\n </LayoutAnimationConfig>\n )\n}\n\nconst useStyles = () => {\n const { fontScale } = useWindowDimensions()\n const { bottom } = useSafeAreaInsets()\n const { colors } = useTheme()\n const containerVerticalPadding = 16\n\n return StyleSheet.create({\n container: {\n backgroundColor: colors.surfaceColor090,\n paddingHorizontal: 24,\n paddingTop: containerVerticalPadding,\n paddingBottom: bottom + containerVerticalPadding,\n borderTopWidth: 1,\n borderTopColor: colors.borderColorDefaultDim,\n gap: 16,\n },\n buttonRow: {\n flexDirection: 'row',\n justifyContent: fontScale > 1 ? 'center' : 'space-between',\n alignItems: 'center',\n gap: 16,\n flexWrap: 'wrap-reverse',\n },\n fullWidthButton: {\n flexGrow: 1,\n },\n infoText: {\n textAlign: 'center',\n },\n warnings: {\n gap: 8,\n },\n })\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface FilterDropdownOption {
|
|
2
|
+
id: string;
|
|
3
|
+
label: string;
|
|
4
|
+
}
|
|
5
|
+
export interface FilterDropdownProps {
|
|
6
|
+
options: FilterDropdownOption[];
|
|
7
|
+
selectedId: string;
|
|
8
|
+
onSelect: (id: string) => void;
|
|
9
|
+
onMoreFilters: () => void;
|
|
10
|
+
triggerLabel: string;
|
|
11
|
+
showMoreFilters?: boolean;
|
|
12
|
+
}
|
|
13
|
+
export declare function FilterDropdown({ options, selectedId, onSelect, onMoreFilters, triggerLabel, showMoreFilters, }: FilterDropdownProps): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
//# sourceMappingURL=filter_dropdown.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filter_dropdown.d.ts","sourceRoot":"","sources":["../../../src/components/display/filter_dropdown.tsx"],"names":[],"mappings":"AAyBA,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,oBAAoB,EAAE,CAAA;IAC/B,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9B,aAAa,EAAE,MAAM,IAAI,CAAA;IACzB,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED,wBAAgB,cAAc,CAAC,EAC7B,OAAO,EACP,UAAU,EACV,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,eAAsB,GACvB,EAAE,mBAAmB,2CAgDrB"}
|