@planningcenter/chat-react-native 3.42.2-qa-staging.2 → 3.42.2-qa-821.1
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/attachments/attachment_card.d.ts +3 -3
- package/build/components/conversation/attachments/attachment_card.d.ts.map +1 -1
- package/build/components/conversation/attachments/attachment_card.js +3 -7
- package/build/components/conversation/attachments/attachment_card.js.map +1 -1
- package/build/components/conversation/attachments/attachment_deleting_overlay.d.ts +1 -2
- package/build/components/conversation/attachments/attachment_deleting_overlay.d.ts.map +1 -1
- package/build/components/conversation/attachments/attachment_deleting_overlay.js +12 -7
- package/build/components/conversation/attachments/attachment_deleting_overlay.js.map +1 -1
- package/build/components/conversation/attachments/audio_attachment.d.ts +1 -2
- package/build/components/conversation/attachments/audio_attachment.d.ts.map +1 -1
- package/build/components/conversation/attachments/audio_attachment.js +6 -23
- package/build/components/conversation/attachments/audio_attachment.js.map +1 -1
- package/build/components/conversation/attachments/expanded_link.d.ts +1 -2
- package/build/components/conversation/attachments/expanded_link.d.ts.map +1 -1
- package/build/components/conversation/attachments/expanded_link.js +2 -8
- package/build/components/conversation/attachments/expanded_link.js.map +1 -1
- package/build/components/conversation/attachments/generic_file_attachment.d.ts +1 -2
- package/build/components/conversation/attachments/generic_file_attachment.d.ts.map +1 -1
- package/build/components/conversation/attachments/generic_file_attachment.js +2 -12
- package/build/components/conversation/attachments/generic_file_attachment.js.map +1 -1
- package/build/components/conversation/attachments/giphy_attachment.d.ts +1 -2
- package/build/components/conversation/attachments/giphy_attachment.d.ts.map +1 -1
- package/build/components/conversation/attachments/giphy_attachment.js +2 -7
- package/build/components/conversation/attachments/giphy_attachment.js.map +1 -1
- package/build/components/conversation/attachments/image_attachment.d.ts +1 -2
- package/build/components/conversation/attachments/image_attachment.d.ts.map +1 -1
- package/build/components/conversation/attachments/image_attachment.js +16 -53
- package/build/components/conversation/attachments/image_attachment.js.map +1 -1
- package/build/components/conversation/attachments/video_attachment.d.ts +1 -2
- package/build/components/conversation/attachments/video_attachment.d.ts.map +1 -1
- package/build/components/conversation/attachments/video_attachment.js +3 -13
- package/build/components/conversation/attachments/video_attachment.js.map +1 -1
- package/build/components/conversation/conversation_start_banner.d.ts +1 -2
- package/build/components/conversation/conversation_start_banner.d.ts.map +1 -1
- package/build/components/conversation/conversation_start_banner.js +2 -14
- package/build/components/conversation/conversation_start_banner.js.map +1 -1
- package/build/components/conversation/empty_conversation_blank_state.d.ts +1 -1
- package/build/components/conversation/empty_conversation_blank_state.d.ts.map +1 -1
- package/build/components/conversation/empty_conversation_blank_state.js +2 -9
- package/build/components/conversation/empty_conversation_blank_state.js.map +1 -1
- package/build/components/conversation/jump_to_bottom_button.d.ts +1 -1
- package/build/components/conversation/jump_to_bottom_button.d.ts.map +1 -1
- package/build/components/conversation/jump_to_bottom_button.js +2 -10
- package/build/components/conversation/jump_to_bottom_button.js.map +1 -1
- package/build/components/conversation/message.d.ts +1 -2
- package/build/components/conversation/message.d.ts.map +1 -1
- package/build/components/conversation/message.js +2 -53
- package/build/components/conversation/message.js.map +1 -1
- package/build/components/conversation/message_attachments.d.ts +1 -2
- package/build/components/conversation/message_attachments.d.ts.map +1 -1
- package/build/components/conversation/message_attachments.js +17 -21
- package/build/components/conversation/message_attachments.js.map +1 -1
- package/build/components/conversation/message_form/message_form_attachment_file.d.ts +1 -2
- package/build/components/conversation/message_form/message_form_attachment_file.d.ts.map +1 -1
- package/build/components/conversation/message_form/message_form_attachment_file.js +2 -2
- package/build/components/conversation/message_form/message_form_attachment_file.js.map +1 -1
- package/build/components/conversation/message_form/message_form_attachment_image.d.ts +1 -2
- package/build/components/conversation/message_form/message_form_attachment_image.d.ts.map +1 -1
- package/build/components/conversation/message_form/message_form_attachment_image.js +2 -2
- package/build/components/conversation/message_form/message_form_attachment_image.js.map +1 -1
- package/build/components/conversation/message_form/message_form_attachment_video.d.ts +1 -2
- package/build/components/conversation/message_form/message_form_attachment_video.d.ts.map +1 -1
- package/build/components/conversation/message_form/message_form_attachment_video.js +2 -2
- package/build/components/conversation/message_form/message_form_attachment_video.js.map +1 -1
- package/build/components/conversation/message_form.d.ts +5 -6
- package/build/components/conversation/message_form.d.ts.map +1 -1
- package/build/components/conversation/message_form.js +20 -82
- package/build/components/conversation/message_form.js.map +1 -1
- package/build/components/conversation/message_markdown.d.ts +1 -2
- package/build/components/conversation/message_markdown.d.ts.map +1 -1
- package/build/components/conversation/message_markdown.js +8 -16
- package/build/components/conversation/message_markdown.js.map +1 -1
- package/build/components/conversation/message_reaction.d.ts +1 -2
- package/build/components/conversation/message_reaction.d.ts.map +1 -1
- package/build/components/conversation/message_reaction.js +3 -5
- package/build/components/conversation/message_reaction.js.map +1 -1
- package/build/components/conversation/message_read_receipts.d.ts +1 -2
- package/build/components/conversation/message_read_receipts.d.ts.map +1 -1
- package/build/components/conversation/message_read_receipts.js +3 -13
- package/build/components/conversation/message_read_receipts.js.map +1 -1
- package/build/components/conversation/messages_disabled_banners.d.ts +3 -3
- package/build/components/conversation/messages_disabled_banners.d.ts.map +1 -1
- package/build/components/conversation/messages_disabled_banners.js +5 -8
- package/build/components/conversation/messages_disabled_banners.js.map +1 -1
- package/build/components/conversation/reply_connectors.d.ts +2 -2
- package/build/components/conversation/reply_connectors.d.ts.map +1 -1
- package/build/components/conversation/reply_connectors.js +18 -50
- package/build/components/conversation/reply_connectors.js.map +1 -1
- package/build/components/conversation/reply_shadow_message.d.ts +1 -2
- package/build/components/conversation/reply_shadow_message.d.ts.map +1 -1
- package/build/components/conversation/reply_shadow_message.js +16 -46
- package/build/components/conversation/reply_shadow_message.js.map +1 -1
- package/build/components/conversation/system_message.d.ts +1 -2
- package/build/components/conversation/system_message.d.ts.map +1 -1
- package/build/components/conversation/system_message.js +3 -12
- package/build/components/conversation/system_message.js.map +1 -1
- package/build/components/conversation/typing_indicator.d.ts +1 -2
- package/build/components/conversation/typing_indicator.d.ts.map +1 -1
- package/build/components/conversation/typing_indicator.js +3 -13
- package/build/components/conversation/typing_indicator.js.map +1 -1
- package/build/components/conversations/conversation_actions.d.ts +2 -2
- package/build/components/conversations/conversation_actions.d.ts.map +1 -1
- package/build/components/conversations/conversation_actions.js +4 -10
- package/build/components/conversations/conversation_actions.js.map +1 -1
- package/build/components/conversations/conversation_preview.d.ts +2 -3
- package/build/components/conversations/conversation_preview.d.ts.map +1 -1
- package/build/components/conversations/conversation_preview.js +12 -76
- package/build/components/conversations/conversation_preview.js.map +1 -1
- package/build/components/conversations/conversations.d.ts +1 -1
- package/build/components/conversations/conversations.d.ts.map +1 -1
- package/build/components/conversations/conversations.js +16 -17
- package/build/components/conversations/conversations.js.map +1 -1
- package/build/components/conversations/conversations_blank_state.d.ts +1 -2
- package/build/components/conversations/conversations_blank_state.d.ts.map +1 -1
- package/build/components/conversations/conversations_blank_state.js +2 -12
- package/build/components/conversations/conversations_blank_state.js.map +1 -1
- package/build/components/conversations/mute_indicator.d.ts +1 -2
- package/build/components/conversations/mute_indicator.d.ts.map +1 -1
- package/build/components/conversations/mute_indicator.js +2 -2
- package/build/components/conversations/mute_indicator.js.map +1 -1
- package/build/components/conversations/swipeable_toggle_button.d.ts +1 -2
- package/build/components/conversations/swipeable_toggle_button.d.ts.map +1 -1
- package/build/components/conversations/swipeable_toggle_button.js +3 -10
- package/build/components/conversations/swipeable_toggle_button.js.map +1 -1
- package/build/components/conversations/unread_count_badge.d.ts +2 -4
- package/build/components/conversations/unread_count_badge.d.ts.map +1 -1
- package/build/components/conversations/unread_count_badge.js +7 -12
- package/build/components/conversations/unread_count_badge.js.map +1 -1
- package/build/components/display/action_button.d.ts +1 -1
- package/build/components/display/action_button.d.ts.map +1 -1
- package/build/components/display/action_button.js +3 -13
- package/build/components/display/action_button.js.map +1 -1
- package/build/components/display/adult_requirement_notice.d.ts +1 -2
- package/build/components/display/adult_requirement_notice.d.ts.map +1 -1
- package/build/components/display/adult_requirement_notice.js +2 -4
- package/build/components/display/adult_requirement_notice.js.map +1 -1
- package/build/components/display/avatar.d.ts +1 -2
- package/build/components/display/avatar.d.ts.map +1 -1
- package/build/components/display/avatar.js +2 -7
- package/build/components/display/avatar.js.map +1 -1
- package/build/components/display/avatar_group.d.ts +1 -2
- package/build/components/display/avatar_group.d.ts.map +1 -1
- package/build/components/display/avatar_group.js +2 -9
- package/build/components/display/avatar_group.js.map +1 -1
- package/build/components/display/badge.d.ts +1 -2
- package/build/components/display/badge.d.ts.map +1 -1
- package/build/components/display/badge.js +6 -37
- package/build/components/display/badge.js.map +1 -1
- package/build/components/display/banner.d.ts +3 -3
- package/build/components/display/banner.d.ts.map +1 -1
- package/build/components/display/banner.js +4 -11
- package/build/components/display/banner.js.map +1 -1
- package/build/components/display/banner_collapsible.d.ts +2 -2
- package/build/components/display/banner_collapsible.d.ts.map +1 -1
- package/build/components/display/banner_collapsible.js +2 -10
- package/build/components/display/banner_collapsible.js.map +1 -1
- package/build/components/display/button.d.ts +1 -2
- package/build/components/display/button.d.ts.map +1 -1
- package/build/components/display/button.js +3 -14
- package/build/components/display/button.js.map +1 -1
- package/build/components/display/child_notice.d.ts +1 -2
- package/build/components/display/child_notice.d.ts.map +1 -1
- package/build/components/display/child_notice.js +3 -15
- package/build/components/display/child_notice.js.map +1 -1
- package/build/components/display/conversation_avatar.d.ts +1 -2
- package/build/components/display/conversation_avatar.d.ts.map +1 -1
- package/build/components/display/conversation_avatar.js +5 -9
- package/build/components/display/conversation_avatar.js.map +1 -1
- package/build/components/display/emoji_avatar.d.ts +1 -2
- package/build/components/display/emoji_avatar.d.ts.map +1 -1
- package/build/components/display/emoji_avatar.js +2 -12
- package/build/components/display/emoji_avatar.js.map +1 -1
- package/build/components/display/file_attachment_preview.d.ts +1 -1
- package/build/components/display/file_attachment_preview.d.ts.map +1 -1
- package/build/components/display/file_attachment_preview.js +3 -17
- package/build/components/display/file_attachment_preview.js.map +1 -1
- package/build/components/display/heading.d.ts +1 -2
- package/build/components/display/heading.d.ts.map +1 -1
- package/build/components/display/heading.js +2 -4
- package/build/components/display/heading.js.map +1 -1
- package/build/components/display/icon.d.ts +1 -2
- package/build/components/display/icon.d.ts.map +1 -1
- package/build/components/display/icon.js +4 -4
- package/build/components/display/icon.js.map +1 -1
- package/build/components/display/icon_avatar.d.ts +1 -2
- package/build/components/display/icon_avatar.d.ts.map +1 -1
- package/build/components/display/icon_avatar.js +2 -12
- package/build/components/display/icon_avatar.js.map +1 -1
- package/build/components/display/icon_button.d.ts +1 -2
- package/build/components/display/icon_button.d.ts.map +1 -1
- package/build/components/display/icon_button.js +3 -5
- package/build/components/display/icon_button.js.map +1 -1
- package/build/components/display/image.d.ts +1 -2
- package/build/components/display/image.d.ts.map +1 -1
- package/build/components/display/image.js +3 -7
- package/build/components/display/image.js.map +1 -1
- package/build/components/display/image_attachment_preview.d.ts +1 -1
- package/build/components/display/image_attachment_preview.d.ts.map +1 -1
- package/build/components/display/image_attachment_preview.js +2 -7
- package/build/components/display/image_attachment_preview.js.map +1 -1
- package/build/components/display/keyboard_view.d.ts +1 -2
- package/build/components/display/keyboard_view.d.ts.map +1 -1
- package/build/components/display/keyboard_view.js +4 -9
- package/build/components/display/keyboard_view.js.map +1 -1
- package/build/components/display/person.d.ts +1 -2
- package/build/components/display/person.d.ts.map +1 -1
- package/build/components/display/person.js +2 -12
- package/build/components/display/person.js.map +1 -1
- package/build/components/display/platform_modal_header_buttons.d.ts +3 -3
- package/build/components/display/platform_modal_header_buttons.d.ts.map +1 -1
- package/build/components/display/platform_modal_header_buttons.js +5 -10
- package/build/components/display/platform_modal_header_buttons.js.map +1 -1
- package/build/components/display/pressable_row.d.ts +1 -1
- package/build/components/display/pressable_row.d.ts.map +1 -1
- package/build/components/display/pressable_row.js +2 -7
- package/build/components/display/pressable_row.js.map +1 -1
- package/build/components/display/spinner.d.ts +1 -2
- package/build/components/display/spinner.d.ts.map +1 -1
- package/build/components/display/spinner.js +3 -9
- package/build/components/display/spinner.js.map +1 -1
- package/build/components/display/switch.d.ts +1 -2
- package/build/components/display/switch.d.ts.map +1 -1
- package/build/components/display/switch.js +2 -2
- package/build/components/display/switch.js.map +1 -1
- package/build/components/display/tabs.d.ts +1 -1
- package/build/components/display/tabs.d.ts.map +1 -1
- package/build/components/display/tabs.js +21 -31
- package/build/components/display/tabs.js.map +1 -1
- package/build/components/display/text.d.ts +1 -2
- package/build/components/display/text.d.ts.map +1 -1
- package/build/components/display/text.js +2 -4
- package/build/components/display/text.js.map +1 -1
- package/build/components/display/text_button.d.ts +1 -2
- package/build/components/display/text_button.d.ts.map +1 -1
- package/build/components/display/text_button.js +3 -8
- package/build/components/display/text_button.js.map +1 -1
- package/build/components/display/text_inline_button.d.ts +1 -2
- package/build/components/display/text_inline_button.d.ts.map +1 -1
- package/build/components/display/text_inline_button.js +4 -5
- package/build/components/display/text_inline_button.js.map +1 -1
- package/build/components/display/text_input.d.ts +1 -1
- package/build/components/display/text_input.d.ts.map +1 -1
- package/build/components/display/text_input.js +2 -1
- package/build/components/display/text_input.js.map +1 -1
- package/build/components/display/toggle_button.d.ts +1 -2
- package/build/components/display/toggle_button.d.ts.map +1 -1
- package/build/components/display/toggle_button.js +3 -9
- package/build/components/display/toggle_button.js.map +1 -1
- package/build/components/display/video_attachment_preview.d.ts +1 -1
- package/build/components/display/video_attachment_preview.d.ts.map +1 -1
- package/build/components/display/video_attachment_preview.js +3 -20
- package/build/components/display/video_attachment_preview.js.map +1 -1
- package/build/components/group_conversation_list.d.ts +1 -1
- package/build/components/group_conversation_list.d.ts.map +1 -1
- package/build/components/group_conversation_list.js +4 -14
- package/build/components/group_conversation_list.js.map +1 -1
- package/build/components/page/component_error_boundary.d.ts +2 -2
- package/build/components/page/component_error_boundary.d.ts.map +1 -1
- package/build/components/page/component_error_boundary.js +2 -4
- package/build/components/page/component_error_boundary.js.map +1 -1
- package/build/components/page/loading.d.ts +1 -2
- package/build/components/page/loading.d.ts.map +1 -1
- package/build/components/page/loading.js +2 -4
- package/build/components/page/loading.js.map +1 -1
- package/build/components/page/page_error_boundary.d.ts +2 -2
- package/build/components/page/page_error_boundary.d.ts.map +1 -1
- package/build/components/page/page_error_boundary.js +11 -32
- package/build/components/page/page_error_boundary.js.map +1 -1
- package/build/components/primitive/avatar_primitive.js +14 -41
- package/build/components/primitive/avatar_primitive.js.map +1 -1
- package/build/components/primitive/banner_primitive.js +10 -18
- package/build/components/primitive/banner_primitive.js.map +1 -1
- package/build/components/primitive/blank_state_primitive.js +8 -12
- package/build/components/primitive/blank_state_primitive.js.map +1 -1
- package/build/components/primitive/form_sheet.d.ts +1 -1
- package/build/components/primitive/form_sheet.d.ts.map +1 -1
- package/build/components/primitive/form_sheet.js +9 -22
- package/build/components/primitive/form_sheet.js.map +1 -1
- package/build/components/safe_area_modal.d.ts +1 -1
- package/build/components/safe_area_modal.d.ts.map +1 -1
- package/build/components/safe_area_modal.js +2 -3
- package/build/components/safe_area_modal.js.map +1 -1
- package/build/contexts/api_provider.d.ts +1 -2
- package/build/contexts/api_provider.d.ts.map +1 -1
- package/build/contexts/api_provider.js +3 -5
- package/build/contexts/api_provider.js.map +1 -1
- package/build/contexts/chat_context.d.ts +1 -1
- package/build/contexts/chat_context.d.ts.map +1 -1
- package/build/contexts/chat_context.js +2 -1
- package/build/contexts/chat_context.js.map +1 -1
- package/build/contexts/conversation_context.d.ts +2 -2
- package/build/contexts/conversation_context.d.ts.map +1 -1
- package/build/contexts/conversation_context.js +3 -2
- package/build/contexts/conversation_context.js.map +1 -1
- package/build/contexts/conversations_context.d.ts +2 -2
- package/build/contexts/conversations_context.d.ts.map +1 -1
- package/build/contexts/conversations_context.js +3 -2
- package/build/contexts/conversations_context.js.map +1 -1
- package/build/contexts/session_context.d.ts +1 -1
- package/build/contexts/session_context.d.ts.map +1 -1
- package/build/contexts/session_context.js +3 -2
- package/build/contexts/session_context.js.map +1 -1
- package/build/hooks/use_animated_message_background_color.d.ts +2 -2
- package/build/hooks/use_conversation.d.ts +1 -1
- package/build/hooks/use_conversation.d.ts.map +1 -1
- package/build/hooks/use_conversation.js +0 -2
- package/build/hooks/use_conversation.js.map +1 -1
- package/build/hooks/use_conversation_jolt_events.d.ts.map +1 -1
- package/build/hooks/use_conversation_jolt_events.js +19 -4
- package/build/hooks/use_conversation_jolt_events.js.map +1 -1
- package/build/hooks/use_conversation_membership.d.ts +1 -1
- package/build/hooks/use_conversation_membership.d.ts.map +1 -1
- package/build/hooks/use_conversation_messages.d.ts +1 -0
- package/build/hooks/use_conversation_messages.d.ts.map +1 -1
- package/build/hooks/use_conversation_messages.js +2 -2
- package/build/hooks/use_conversation_messages.js.map +1 -1
- package/build/hooks/use_conversations_actions.d.ts +36 -36
- package/build/hooks/use_conversations_actions.d.ts.map +1 -1
- package/build/hooks/use_conversations_actions.js +1 -3
- package/build/hooks/use_conversations_actions.js.map +1 -1
- package/build/hooks/use_mark_latest_message_read.d.ts.map +1 -1
- package/build/hooks/use_mark_latest_message_read.js +4 -3
- package/build/hooks/use_mark_latest_message_read.js.map +1 -1
- package/build/hooks/use_person_settings.d.ts +1 -1
- package/build/index.d.ts +2 -1
- package/build/index.d.ts.map +1 -1
- package/build/index.js.map +1 -1
- package/build/navigation/chat_access_gate.d.ts +2 -2
- package/build/navigation/chat_access_gate.d.ts.map +1 -1
- package/build/navigation/chat_access_gate.js +6 -5
- package/build/navigation/chat_access_gate.js.map +1 -1
- package/build/navigation/index.d.ts +35 -36
- package/build/navigation/index.d.ts.map +1 -1
- package/build/navigation/index.js +19 -21
- package/build/navigation/index.js.map +1 -1
- package/build/navigation/screenLayout.d.ts +2 -2
- package/build/navigation/screenLayout.d.ts.map +1 -1
- package/build/navigation/screenLayout.js +3 -9
- package/build/navigation/screenLayout.js.map +1 -1
- package/build/polyfills/events/EventTarget.d.ts +1 -1
- package/build/polyfills/events/EventTarget.d.ts.map +1 -1
- package/build/polyfills/events/EventTarget.js.map +1 -1
- package/build/screens/age_check/age_check_required_screen.d.ts +1 -2
- package/build/screens/age_check/age_check_required_screen.d.ts.map +1 -1
- package/build/screens/age_check/age_check_required_screen.js +3 -46
- package/build/screens/age_check/age_check_required_screen.js.map +1 -1
- package/build/screens/age_check/age_check_underage_screen.d.ts +1 -2
- package/build/screens/age_check/age_check_underage_screen.d.ts.map +1 -1
- package/build/screens/age_check/age_check_underage_screen.js +2 -25
- package/build/screens/age_check/age_check_underage_screen.js.map +1 -1
- package/build/screens/age_check/components/age_check_select_birthdate_modal.d.ts +1 -2
- package/build/screens/age_check/components/age_check_select_birthdate_modal.d.ts.map +1 -1
- package/build/screens/age_check/components/age_check_select_birthdate_modal.js +6 -25
- package/build/screens/age_check/components/age_check_select_birthdate_modal.js.map +1 -1
- package/build/screens/attachment_actions/attachment_actions_screen.d.ts +1 -2
- package/build/screens/attachment_actions/attachment_actions_screen.d.ts.map +1 -1
- package/build/screens/attachment_actions/attachment_actions_screen.js +3 -5
- package/build/screens/attachment_actions/attachment_actions_screen.js.map +1 -1
- package/build/screens/avatar_picker/avatar_picker_screen.d.ts +1 -2
- package/build/screens/avatar_picker/avatar_picker_screen.d.ts.map +1 -1
- package/build/screens/avatar_picker/avatar_picker_screen.js +9 -36
- package/build/screens/avatar_picker/avatar_picker_screen.js.map +1 -1
- package/build/screens/avatar_picker/avatar_preview.d.ts +1 -1
- package/build/screens/avatar_picker/avatar_preview.d.ts.map +1 -1
- package/build/screens/avatar_picker/avatar_preview.js +5 -9
- package/build/screens/avatar_picker/avatar_preview.js.map +1 -1
- package/build/screens/avatar_picker/color_picker.d.ts +1 -2
- package/build/screens/avatar_picker/color_picker.d.ts.map +1 -1
- package/build/screens/avatar_picker/color_picker.js +4 -5
- package/build/screens/avatar_picker/color_picker.js.map +1 -1
- package/build/screens/avatar_picker/emoji_tab.d.ts +1 -2
- package/build/screens/avatar_picker/emoji_tab.d.ts.map +1 -1
- package/build/screens/avatar_picker/emoji_tab.js +12 -13
- package/build/screens/avatar_picker/emoji_tab.js.map +1 -1
- package/build/screens/avatar_picker/icon_grid.d.ts +1 -2
- package/build/screens/avatar_picker/icon_grid.d.ts.map +1 -1
- package/build/screens/avatar_picker/icon_grid.js +4 -5
- package/build/screens/avatar_picker/icon_grid.js.map +1 -1
- package/build/screens/avatar_picker/upload_tab.d.ts +1 -2
- package/build/screens/avatar_picker/upload_tab.d.ts.map +1 -1
- package/build/screens/avatar_picker/upload_tab.js +3 -4
- package/build/screens/avatar_picker/upload_tab.js.map +1 -1
- package/build/screens/bug_report_screen.d.ts +1 -2
- package/build/screens/bug_report_screen.d.ts.map +1 -1
- package/build/screens/bug_report_screen.js +11 -117
- package/build/screens/bug_report_screen.js.map +1 -1
- package/build/screens/conversation/message_read_receipts_screen.d.ts +1 -2
- package/build/screens/conversation/message_read_receipts_screen.d.ts.map +1 -1
- package/build/screens/conversation/message_read_receipts_screen.js +4 -20
- package/build/screens/conversation/message_read_receipts_screen.js.map +1 -1
- package/build/screens/conversation_details_screen.d.ts +1 -2
- package/build/screens/conversation_details_screen.d.ts.map +1 -1
- package/build/screens/conversation_details_screen.js +43 -106
- package/build/screens/conversation_details_screen.js.map +1 -1
- package/build/screens/conversation_filter_recipients/components/checkbox_row.d.ts +1 -1
- package/build/screens/conversation_filter_recipients/components/checkbox_row.d.ts.map +1 -1
- package/build/screens/conversation_filter_recipients/components/checkbox_row.js +3 -9
- package/build/screens/conversation_filter_recipients/components/checkbox_row.js.map +1 -1
- package/build/screens/conversation_filter_recipients/components/header_row.d.ts +1 -1
- package/build/screens/conversation_filter_recipients/components/header_row.d.ts.map +1 -1
- package/build/screens/conversation_filter_recipients/components/header_row.js +2 -12
- package/build/screens/conversation_filter_recipients/components/header_row.js.map +1 -1
- package/build/screens/conversation_filter_recipients/conversation_filter_recipients_screen.d.ts +1 -2
- package/build/screens/conversation_filter_recipients/conversation_filter_recipients_screen.d.ts.map +1 -1
- package/build/screens/conversation_filter_recipients/conversation_filter_recipients_screen.js +20 -44
- package/build/screens/conversation_filter_recipients/conversation_filter_recipients_screen.js.map +1 -1
- package/build/screens/conversation_filters/components/conversation_filters.d.ts +1 -2
- package/build/screens/conversation_filters/components/conversation_filters.d.ts.map +1 -1
- package/build/screens/conversation_filters/components/conversation_filters.js +10 -11
- package/build/screens/conversation_filters/components/conversation_filters.js.map +1 -1
- package/build/screens/conversation_filters/components/rows.d.ts +6 -6
- package/build/screens/conversation_filters/components/rows.d.ts.map +1 -1
- package/build/screens/conversation_filters/components/rows.js +7 -34
- package/build/screens/conversation_filters/components/rows.js.map +1 -1
- package/build/screens/conversation_filters/context/conversation_filter_context.d.ts +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 +2 -1
- package/build/screens/conversation_filters/context/conversation_filter_context.js.map +1 -1
- package/build/screens/conversation_filters/group_filters.d.ts +1 -2
- package/build/screens/conversation_filters/group_filters.d.ts.map +1 -1
- package/build/screens/conversation_filters/group_filters.js +2 -2
- package/build/screens/conversation_filters/group_filters.js.map +1 -1
- package/build/screens/conversation_filters/team_filters.d.ts +1 -2
- package/build/screens/conversation_filters/team_filters.d.ts.map +1 -1
- package/build/screens/conversation_filters/team_filters.js +2 -2
- package/build/screens/conversation_filters/team_filters.js.map +1 -1
- package/build/screens/conversation_filters_screen.d.ts +1 -2
- package/build/screens/conversation_filters_screen.d.ts.map +1 -1
- package/build/screens/conversation_filters_screen.js +4 -16
- package/build/screens/conversation_filters_screen.js.map +1 -1
- package/build/screens/conversation_new/components/avatar_selection_row.d.ts +2 -3
- package/build/screens/conversation_new/components/avatar_selection_row.d.ts.map +1 -1
- package/build/screens/conversation_new/components/avatar_selection_row.js +6 -16
- package/build/screens/conversation_new/components/avatar_selection_row.js.map +1 -1
- package/build/screens/conversation_new/components/filter_by_plan.d.ts +3 -4
- package/build/screens/conversation_new/components/filter_by_plan.d.ts.map +1 -1
- package/build/screens/conversation_new/components/filter_by_plan.js +22 -46
- package/build/screens/conversation_new/components/filter_by_plan.js.map +1 -1
- package/build/screens/conversation_new/components/form_list.d.ts +2 -3
- package/build/screens/conversation_new/components/form_list.d.ts.map +1 -1
- package/build/screens/conversation_new/components/form_list.js +4 -6
- package/build/screens/conversation_new/components/form_list.js.map +1 -1
- package/build/screens/conversation_new/components/gender_filter_toggle.d.ts +1 -2
- package/build/screens/conversation_new/components/gender_filter_toggle.d.ts.map +1 -1
- package/build/screens/conversation_new/components/gender_filter_toggle.js +4 -20
- package/build/screens/conversation_new/components/gender_filter_toggle.js.map +1 -1
- package/build/screens/conversation_new/components/groups_form.d.ts +1 -2
- package/build/screens/conversation_new/components/groups_form.d.ts.map +1 -1
- package/build/screens/conversation_new/components/groups_form.js +4 -30
- package/build/screens/conversation_new/components/groups_form.js.map +1 -1
- package/build/screens/conversation_new/components/services_form.d.ts +1 -2
- package/build/screens/conversation_new/components/services_form.d.ts.map +1 -1
- package/build/screens/conversation_new/components/services_form.js +27 -61
- package/build/screens/conversation_new/components/services_form.js.map +1 -1
- package/build/screens/conversation_new/components/source_app_error_card.d.ts +1 -1
- package/build/screens/conversation_new/components/source_app_error_card.d.ts.map +1 -1
- package/build/screens/conversation_new/components/source_app_error_card.js +2 -3
- package/build/screens/conversation_new/components/source_app_error_card.js.map +1 -1
- package/build/screens/conversation_new/conversation_new_screen.d.ts +1 -2
- package/build/screens/conversation_new/conversation_new_screen.d.ts.map +1 -1
- package/build/screens/conversation_new/conversation_new_screen.js +4 -4
- package/build/screens/conversation_new/conversation_new_screen.js.map +1 -1
- package/build/screens/conversation_notification_level_select_screen.d.ts +1 -2
- package/build/screens/conversation_notification_level_select_screen.d.ts.map +1 -1
- package/build/screens/conversation_notification_level_select_screen.js +4 -6
- package/build/screens/conversation_notification_level_select_screen.js.map +1 -1
- package/build/screens/conversation_screen.d.ts +2 -3
- package/build/screens/conversation_screen.d.ts.map +1 -1
- package/build/screens/conversation_screen.js +25 -66
- package/build/screens/conversation_screen.js.map +1 -1
- package/build/screens/conversation_select_recipients/components/groups_recipient_row.d.ts +1 -1
- package/build/screens/conversation_select_recipients/components/groups_recipient_row.d.ts.map +1 -1
- package/build/screens/conversation_select_recipients/components/groups_recipient_row.js +2 -1
- package/build/screens/conversation_select_recipients/components/groups_recipient_row.js.map +1 -1
- package/build/screens/conversation_select_recipients/components/recipient_link_row.d.ts +1 -2
- package/build/screens/conversation_select_recipients/components/recipient_link_row.d.ts.map +1 -1
- package/build/screens/conversation_select_recipients/components/recipient_link_row.js +2 -15
- package/build/screens/conversation_select_recipients/components/recipient_link_row.js.map +1 -1
- package/build/screens/conversation_select_recipients/components/restricted_group_row.d.ts +1 -2
- package/build/screens/conversation_select_recipients/components/restricted_group_row.d.ts.map +1 -1
- package/build/screens/conversation_select_recipients/components/restricted_group_row.js +2 -14
- package/build/screens/conversation_select_recipients/components/restricted_group_row.js.map +1 -1
- package/build/screens/conversation_select_recipients/components/team_recipient_row.d.ts +1 -1
- package/build/screens/conversation_select_recipients/components/team_recipient_row.d.ts.map +1 -1
- package/build/screens/conversation_select_recipients/components/team_recipient_row.js +2 -1
- package/build/screens/conversation_select_recipients/components/team_recipient_row.js.map +1 -1
- package/build/screens/conversation_select_recipients/components/view_more_link_row.d.ts +1 -1
- package/build/screens/conversation_select_recipients/components/view_more_link_row.d.ts.map +1 -1
- package/build/screens/conversation_select_recipients/components/view_more_link_row.js +2 -5
- package/build/screens/conversation_select_recipients/components/view_more_link_row.js.map +1 -1
- package/build/screens/conversation_select_recipients/conversation_new_entry_screen.d.ts +1 -2
- package/build/screens/conversation_select_recipients/conversation_new_entry_screen.d.ts.map +1 -1
- package/build/screens/conversation_select_recipients/conversation_new_entry_screen.js +4 -11
- package/build/screens/conversation_select_recipients/conversation_new_entry_screen.js.map +1 -1
- package/build/screens/conversation_select_recipients/conversation_select_direct_message_recipients_screen.d.ts +1 -1
- package/build/screens/conversation_select_recipients/conversation_select_direct_message_recipients_screen.d.ts.map +1 -1
- package/build/screens/conversation_select_recipients/conversation_select_direct_message_recipients_screen.js +11 -83
- package/build/screens/conversation_select_recipients/conversation_select_direct_message_recipients_screen.js.map +1 -1
- package/build/screens/conversation_select_recipients/conversation_select_group_recipients_screen.d.ts +1 -2
- package/build/screens/conversation_select_recipients/conversation_select_group_recipients_screen.d.ts.map +1 -1
- package/build/screens/conversation_select_recipients/conversation_select_group_recipients_screen.js +7 -14
- package/build/screens/conversation_select_recipients/conversation_select_group_recipients_screen.js.map +1 -1
- package/build/screens/conversation_select_recipients/conversation_select_teams_i_lead_recipients_screen.d.ts +1 -2
- package/build/screens/conversation_select_recipients/conversation_select_teams_i_lead_recipients_screen.d.ts.map +1 -1
- package/build/screens/conversation_select_recipients/conversation_select_teams_i_lead_recipients_screen.js +15 -18
- package/build/screens/conversation_select_recipients/conversation_select_teams_i_lead_recipients_screen.js.map +1 -1
- package/build/screens/conversation_select_type_screen.d.ts +1 -2
- package/build/screens/conversation_select_type_screen.d.ts.map +1 -1
- package/build/screens/conversation_select_type_screen.js +3 -10
- package/build/screens/conversation_select_type_screen.js.map +1 -1
- package/build/screens/conversations/components/chat_group_badge.d.ts +1 -2
- package/build/screens/conversations/components/chat_group_badge.d.ts.map +1 -1
- package/build/screens/conversations/components/chat_group_badge.js +3 -4
- package/build/screens/conversations/components/chat_group_badge.js.map +1 -1
- package/build/screens/conversations/components/list_header_action_button.d.ts +1 -2
- package/build/screens/conversations/components/list_header_action_button.d.ts.map +1 -1
- package/build/screens/conversations/components/list_header_action_button.js +3 -5
- package/build/screens/conversations/components/list_header_action_button.js.map +1 -1
- package/build/screens/conversations/components/list_header_component.d.ts +1 -2
- package/build/screens/conversations/components/list_header_component.d.ts.map +1 -1
- package/build/screens/conversations/components/list_header_component.js +19 -42
- package/build/screens/conversations/components/list_header_component.js.map +1 -1
- package/build/screens/conversations/conversations_screen.d.ts +1 -2
- package/build/screens/conversations/conversations_screen.d.ts.map +1 -1
- package/build/screens/conversations/conversations_screen.js +2 -6
- package/build/screens/conversations/conversations_screen.js.map +1 -1
- package/build/screens/design_system_screen.d.ts +1 -2
- package/build/screens/design_system_screen.d.ts.map +1 -1
- package/build/screens/design_system_screen.js +35 -558
- package/build/screens/design_system_screen.js.map +1 -1
- package/build/screens/get_help_screen.d.ts +1 -1
- package/build/screens/get_help_screen.d.ts.map +1 -1
- package/build/screens/get_help_screen.js +4 -25
- package/build/screens/get_help_screen.js.map +1 -1
- package/build/screens/group_notification_level_select_screen.d.ts +1 -2
- package/build/screens/group_notification_level_select_screen.d.ts.map +1 -1
- package/build/screens/group_notification_level_select_screen.js +2 -4
- package/build/screens/group_notification_level_select_screen.js.map +1 -1
- package/build/screens/group_notification_settings_screen.d.ts +1 -2
- package/build/screens/group_notification_settings_screen.d.ts.map +1 -1
- package/build/screens/group_notification_settings_screen.js +3 -25
- package/build/screens/group_notification_settings_screen.js.map +1 -1
- package/build/screens/message_actions_screen.d.ts +1 -2
- package/build/screens/message_actions_screen.d.ts.map +1 -1
- package/build/screens/message_actions_screen.js +12 -28
- package/build/screens/message_actions_screen.js.map +1 -1
- package/build/screens/message_report/components/message_preview.d.ts +1 -2
- package/build/screens/message_report/components/message_preview.d.ts.map +1 -1
- package/build/screens/message_report/components/message_preview.js +2 -22
- package/build/screens/message_report/components/message_preview.js.map +1 -1
- package/build/screens/message_report/components/report_reason_list.d.ts +1 -2
- package/build/screens/message_report/components/report_reason_list.d.ts.map +1 -1
- package/build/screens/message_report/components/report_reason_list.js +4 -13
- package/build/screens/message_report/components/report_reason_list.js.map +1 -1
- package/build/screens/message_report_screen.d.ts +1 -2
- package/build/screens/message_report_screen.d.ts.map +1 -1
- package/build/screens/message_report_screen.js +9 -61
- package/build/screens/message_report_screen.js.map +1 -1
- package/build/screens/not_found.d.ts +1 -2
- package/build/screens/not_found.d.ts.map +1 -1
- package/build/screens/not_found.js +2 -5
- package/build/screens/not_found.js.map +1 -1
- package/build/screens/notification_settings/hooks/groups.d.ts +1 -1
- package/build/screens/notification_settings/hooks/groups.d.ts.map +1 -1
- package/build/screens/notification_settings_screen.d.ts +1 -2
- package/build/screens/notification_settings_screen.d.ts.map +1 -1
- package/build/screens/notification_settings_screen.js +28 -66
- package/build/screens/notification_settings_screen.js.map +1 -1
- package/build/screens/preferred_app_selection_screen.d.ts +1 -2
- package/build/screens/preferred_app_selection_screen.d.ts.map +1 -1
- package/build/screens/preferred_app_selection_screen.js +3 -21
- package/build/screens/preferred_app_selection_screen.js.map +1 -1
- package/build/screens/reactions_screen.d.ts +1 -2
- package/build/screens/reactions_screen.d.ts.map +1 -1
- package/build/screens/reactions_screen.js +7 -19
- package/build/screens/reactions_screen.js.map +1 -1
- package/build/screens/send_giphy_screen.d.ts +1 -2
- package/build/screens/send_giphy_screen.d.ts.map +1 -1
- package/build/screens/send_giphy_screen.js +5 -31
- package/build/screens/send_giphy_screen.js.map +1 -1
- package/build/screens/settings_screen.d.ts +1 -2
- package/build/screens/settings_screen.d.ts.map +1 -1
- package/build/screens/settings_screen.js +4 -26
- package/build/screens/settings_screen.js.map +1 -1
- package/build/screens/system_message_people_screen.d.ts +1 -2
- package/build/screens/system_message_people_screen.d.ts.map +1 -1
- package/build/screens/system_message_people_screen.js +4 -10
- package/build/screens/system_message_people_screen.js.map +1 -1
- package/build/screens/team_conversation_screen.d.ts +1 -1
- package/build/screens/team_conversation_screen.d.ts.map +1 -1
- package/build/screens/team_conversation_screen.js +4 -12
- package/build/screens/team_conversation_screen.js.map +1 -1
- package/build/types/resources/conversation.d.ts +1 -10
- package/build/types/resources/conversation.d.ts.map +1 -1
- package/build/types/resources/conversation.js.map +1 -1
- package/build/utils/request/conversation.d.ts.map +1 -1
- package/build/utils/request/conversation.js +0 -2
- package/build/utils/request/conversation.js.map +1 -1
- package/build/utils/sha_256.js.map +1 -1
- package/build/utils/system_messages.d.ts +1 -1
- package/build/utils/system_messages.d.ts.map +1 -1
- package/build/utils/system_messages.js.map +1 -1
- package/build/utils/theme.d.ts +2 -2
- package/build/utils/theme.d.ts.map +1 -1
- package/build/utils/theme.js.map +1 -1
- package/package.json +12 -12
- package/src/__tests__/hooks/use_attachment_uploader.test.tsx +1 -0
- package/src/__tests__/hooks/use_font_scale.test.ts +7 -3
- package/src/__tests__/utils/native_adapters/configuration.ts +1 -1
- package/src/__tests__/utils/system_messages.ts +1 -1
- package/src/__tests__/utils/uri.ts +8 -50
- package/src/__utils__/handlers.ts +5 -6
- package/src/components/conversation/attachments/attachment_deleting_overlay.tsx +10 -3
- package/src/components/conversations/conversation_preview.tsx +23 -58
- package/src/components/conversations/unread_count_badge.tsx +4 -13
- package/src/components/page/__tests__/component_error_boundary.test.tsx +1 -1
- package/src/components/page/__tests__/error_boundary.test.tsx +6 -2
- package/src/components/page/__tests__/page_error_boundary.test.tsx +1 -1
- package/src/hooks/use_conversation.ts +0 -2
- package/src/hooks/use_conversation_jolt_events.ts +19 -3
- package/src/hooks/use_conversation_messages.ts +6 -5
- package/src/hooks/use_conversations_actions.ts +1 -3
- package/src/hooks/use_mark_latest_message_read.ts +4 -3
- package/src/index.tsx +2 -1
- package/src/polyfills/events/EventTarget.ts +1 -1
- package/src/screens/conversation_screen.tsx +4 -2
- package/src/screens/conversations/components/list_header_component.tsx +6 -6
- package/src/types/resources/conversation.ts +1 -11
- package/src/utils/request/conversation.ts +0 -2
- package/src/utils/sha_256.ts +24 -24
- package/src/utils/system_messages.ts +1 -1
- package/src/utils/theme.ts +3 -2
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
1
2
|
import { FontAwesomeIcon } from '@fortawesome/react-native-fontawesome';
|
|
2
|
-
import
|
|
3
|
+
import { useState } from 'react';
|
|
3
4
|
import { Alert, Pressable, ScrollView, StyleSheet, View } from 'react-native';
|
|
4
5
|
import { Avatar, AvatarGroup, Badge, Banner, BannerCollapsible, Button, ConversationAvatar, EmojiAvatar, IconAvatar, ToggleButton, Heading, Icon, IconButton, Image, Person, Spinner, Switch, Text, TextButton, TextInlineButton, ImageAttachmentPreview, } from '../components/display';
|
|
5
6
|
import { VideoAttachmentPreview } from '../components/display/video_attachment_preview';
|
|
@@ -52,524 +53,51 @@ const buttonPress = () => Alert.alert('Button clicked');
|
|
|
52
53
|
// =================================
|
|
53
54
|
export function DesignSystemScreen() {
|
|
54
55
|
const styles = useStyles();
|
|
55
|
-
return (
|
|
56
|
-
<ThemeSection />
|
|
57
|
-
<IndicatorsSection />
|
|
58
|
-
<HeadingTextSection />
|
|
59
|
-
<PressablesSection />
|
|
60
|
-
<HapticsSection />
|
|
61
|
-
<ImageIconsSection />
|
|
62
|
-
<FormControlsSection />
|
|
63
|
-
<StatusComponentsSection />
|
|
64
|
-
<FontAwesomeIconsSection />
|
|
65
|
-
<MiscComponentsSection isLast/>
|
|
66
|
-
</ScrollView>);
|
|
56
|
+
return (_jsxs(ScrollView, { contentContainerStyle: styles.container, style: styles.scrollView, children: [_jsx(ThemeSection, {}), _jsx(IndicatorsSection, {}), _jsx(HeadingTextSection, {}), _jsx(PressablesSection, {}), _jsx(HapticsSection, {}), _jsx(ImageIconsSection, {}), _jsx(FormControlsSection, {}), _jsx(StatusComponentsSection, {}), _jsx(FontAwesomeIconsSection, {}), _jsx(MiscComponentsSection, { isLast: true })] }));
|
|
67
57
|
}
|
|
68
58
|
function ThemeSection({ isLast }) {
|
|
69
|
-
return (
|
|
70
|
-
<TextGroup>
|
|
71
|
-
<Text>There are four main parts to our theming system…</Text>
|
|
72
|
-
<TextRow>
|
|
73
|
-
<Heading variant="h3">Default theme</Heading>
|
|
74
|
-
<Text>
|
|
75
|
-
Start at `src/utils/theme` when adding new theme values or checking what target apps
|
|
76
|
-
have access to. The file has more instructions and examples.
|
|
77
|
-
</Text>
|
|
78
|
-
<Text>At a high level, it provides…</Text>
|
|
79
|
-
<TextListItem label="1.">
|
|
80
|
-
Access to consuming app targets of what theme values that they can be customized.
|
|
81
|
-
</TextListItem>
|
|
82
|
-
<TextListItem label="2.">
|
|
83
|
-
Fallback values for our components to use if the values weren't overriden.
|
|
84
|
-
</TextListItem>
|
|
85
|
-
</TextRow>
|
|
86
|
-
<TextRow>
|
|
87
|
-
<Heading variant="h3">Customizing the theme</Heading>
|
|
88
|
-
<Text>
|
|
89
|
-
Apps can override any default theme value by passing a `theme` object to our
|
|
90
|
-
`ChatProvider` that holds a `theme` and a `colorScheme`.
|
|
91
|
-
</Text>
|
|
92
|
-
<Text>
|
|
93
|
-
Currently types can be enforced by setting the parent theme object to
|
|
94
|
-
`CreateChatThemeProps`.
|
|
95
|
-
</Text>
|
|
96
|
-
<Text variant="footnote">
|
|
97
|
-
Example setup: `apps/sandbox/src/context/chat_context_provider.tsx`
|
|
98
|
-
</Text>
|
|
99
|
-
</TextRow>
|
|
100
|
-
<TextRow>
|
|
101
|
-
<Heading variant="h3">Merged theme</Heading>
|
|
102
|
-
<Text>
|
|
103
|
-
In `src/contexts/chat_context.tsx` we merge the default theme and any custom values
|
|
104
|
-
coming from a product target with the `useCreateChatTheme` hook. It creates a single
|
|
105
|
-
`ChatTheme` type.
|
|
106
|
-
</Text>
|
|
107
|
-
</TextRow>
|
|
108
|
-
<TextRow>
|
|
109
|
-
<Heading variant="h3">Using theme values</Heading>
|
|
110
|
-
<Text>
|
|
111
|
-
Inside of our own `chat-react-native` components we can access the merged `ChatTheme`
|
|
112
|
-
object via our own `useTheme` hook.
|
|
113
|
-
</Text>
|
|
114
|
-
<Text variant="footnote">Example setup: `src/components/display/button.tsx`</Text>
|
|
115
|
-
</TextRow>
|
|
116
|
-
</TextGroup>
|
|
117
|
-
</CollapsableSection>);
|
|
59
|
+
return (_jsx(CollapsableSection, { title: "Theme", isLast: isLast, children: _jsxs(TextGroup, { children: [_jsx(Text, { children: "There are four main parts to our theming system\u2026" }), _jsxs(TextRow, { children: [_jsx(Heading, { variant: "h3", children: "Default theme" }), _jsx(Text, { children: "Start at `src/utils/theme` when adding new theme values or checking what target apps have access to. The file has more instructions and examples." }), _jsx(Text, { children: "At a high level, it provides\u2026" }), _jsx(TextListItem, { label: "1.", children: "Access to consuming app targets of what theme values that they can be customized." }), _jsx(TextListItem, { label: "2.", children: "Fallback values for our components to use if the values weren't overriden." })] }), _jsxs(TextRow, { children: [_jsx(Heading, { variant: "h3", children: "Customizing the theme" }), _jsx(Text, { children: "Apps can override any default theme value by passing a `theme` object to our `ChatProvider` that holds a `theme` and a `colorScheme`." }), _jsx(Text, { children: "Currently types can be enforced by setting the parent theme object to `CreateChatThemeProps`." }), _jsx(Text, { variant: "footnote", children: "Example setup: `apps/sandbox/src/context/chat_context_provider.tsx`" })] }), _jsxs(TextRow, { children: [_jsx(Heading, { variant: "h3", children: "Merged theme" }), _jsx(Text, { children: "In `src/contexts/chat_context.tsx` we merge the default theme and any custom values coming from a product target with the `useCreateChatTheme` hook. It creates a single `ChatTheme` type." })] }), _jsxs(TextRow, { children: [_jsx(Heading, { variant: "h3", children: "Using theme values" }), _jsx(Text, { children: "Inside of our own `chat-react-native` components we can access the merged `ChatTheme` object via our own `useTheme` hook." }), _jsx(Text, { variant: "footnote", children: "Example setup: `src/components/display/button.tsx`" })] })] }) }));
|
|
118
60
|
}
|
|
119
61
|
function IndicatorsSection({ isLast }) {
|
|
120
|
-
return (
|
|
121
|
-
<Group title="Spinner" description="Loading indicators that can be used within or close to atomic components. Not intended for full-screen loading.">
|
|
122
|
-
<Row>
|
|
123
|
-
<Spinner size={24}/>
|
|
124
|
-
</Row>
|
|
125
|
-
</Group>
|
|
126
|
-
</CollapsableSection>);
|
|
62
|
+
return (_jsx(CollapsableSection, { title: "Indicators", isLast: isLast, children: _jsx(Group, { title: "Spinner", description: "Loading indicators that can be used within or close to atomic components. Not intended for full-screen loading.", children: _jsx(Row, { children: _jsx(Spinner, { size: 24 }) }) }) }));
|
|
127
63
|
}
|
|
128
64
|
function HeadingTextSection({ isLast }) {
|
|
129
65
|
const styles = useStyles();
|
|
130
|
-
return (
|
|
131
|
-
<Group title="Heading" description="Use for headings & titles as it includes the a11y 'header' role. Change the size and style with the h1-h4 variants.">
|
|
132
|
-
<Column style={styles.columnCenter}>
|
|
133
|
-
<Heading>Heading 1</Heading>
|
|
134
|
-
<Heading variant="h2">Heading 2</Heading>
|
|
135
|
-
<Heading variant="h3">Heading 3</Heading>
|
|
136
|
-
<Heading variant="h4">Heading 4</Heading>
|
|
137
|
-
</Column>
|
|
138
|
-
</Group>
|
|
139
|
-
<Group title="Text" description="Use for body copy and supporting text.">
|
|
140
|
-
<Column style={styles.columnCenter}>
|
|
141
|
-
<Text>Plain text</Text>
|
|
142
|
-
<Text variant="secondary">Secondary</Text>
|
|
143
|
-
<Text variant="tertiary">Tertiary</Text>
|
|
144
|
-
<Text variant="footnote">Footnote</Text>
|
|
145
|
-
</Column>
|
|
146
|
-
</Group>
|
|
147
|
-
</CollapsableSection>);
|
|
66
|
+
return (_jsxs(CollapsableSection, { title: "Heading & Text", isLast: isLast, children: [_jsx(Group, { title: "Heading", description: "Use for headings & titles as it includes the a11y 'header' role. Change the size and style with the h1-h4 variants.", children: _jsxs(Column, { style: styles.columnCenter, children: [_jsx(Heading, { children: "Heading 1" }), _jsx(Heading, { variant: "h2", children: "Heading 2" }), _jsx(Heading, { variant: "h3", children: "Heading 3" }), _jsx(Heading, { variant: "h4", children: "Heading 4" })] }) }), _jsx(Group, { title: "Text", description: "Use for body copy and supporting text.", children: _jsxs(Column, { style: styles.columnCenter, children: [_jsx(Text, { children: "Plain text" }), _jsx(Text, { variant: "secondary", children: "Secondary" }), _jsx(Text, { variant: "tertiary", children: "Tertiary" }), _jsx(Text, { variant: "footnote", children: "Footnote" })] }) })] }));
|
|
148
67
|
}
|
|
149
68
|
function PressablesSection({ isLast }) {
|
|
150
69
|
const styles = useStyles();
|
|
151
70
|
const [filterSelected, setFilterSelected] = useState('Groups');
|
|
152
|
-
return (<CollapsableSection title="Pressables" isLast={isLast}>
|
|
153
|
-
<Group title="Button" description="Feature fill and outline variants for primary and danger usecases, along with disabled & loading states. Optionally shows icons to the left and right of the text.">
|
|
154
|
-
<Row>
|
|
155
|
-
<Button onPress={buttonPress} title="Default" size="sm"/>
|
|
156
|
-
<Button onPress={buttonPress} title="Default" size="md"/>
|
|
157
|
-
<Button onPress={buttonPress} title="Danger" appearance="danger" size="lg"/>
|
|
158
|
-
</Row>
|
|
159
|
-
<Row>
|
|
160
|
-
<Button disabled onPress={buttonPress} title="Disabled" size="sm"/>
|
|
161
|
-
<Button disabled onPress={buttonPress} title="Disabled" size="md"/>
|
|
162
|
-
<Button disabled onPress={buttonPress} title="Disabled" appearance="danger" size="lg"/>
|
|
163
|
-
</Row>
|
|
164
|
-
<Row>
|
|
165
|
-
<Button onPress={buttonPress} title="Default" size="sm" iconNameLeft="general.plus" maxFontSizeMultiplier={MAX_FONT_SIZE_MULTIPLIER}/>
|
|
166
|
-
<Button onPress={buttonPress} title="Default" size="md" iconNameRight="churchCenter.sort" maxFontSizeMultiplier={MAX_FONT_SIZE_MULTIPLIER}/>
|
|
167
|
-
<Button onPress={buttonPress} title="Danger" appearance="danger" size="lg" iconNameLeft="groups.cards" iconNameRight="general.downChevron" maxFontSizeMultiplier={MAX_FONT_SIZE_MULTIPLIER}/>
|
|
168
|
-
</Row>
|
|
169
|
-
<Row>
|
|
170
|
-
<Button loading onPress={buttonPress} title="Default" size="sm"/>
|
|
171
|
-
<Button loading onPress={buttonPress} title="Default" size="md"/>
|
|
172
|
-
<Button loading onPress={buttonPress} title="Danger" appearance="danger" size="lg"/>
|
|
173
|
-
</Row>
|
|
174
|
-
<Row>
|
|
175
|
-
<Button onPress={buttonPress} title="Default" size="sm" variant="outline"/>
|
|
176
|
-
<Button onPress={buttonPress} title="Default" size="md" variant="outline"/>
|
|
177
|
-
<Button onPress={buttonPress} title="Danger" appearance="danger" size="lg" variant="outline"/>
|
|
178
|
-
</Row>
|
|
179
|
-
<Row>
|
|
180
|
-
<Button onPress={buttonPress} title="Default" size="sm" variant="outline" iconNameLeft="general.plus" maxFontSizeMultiplier={MAX_FONT_SIZE_MULTIPLIER}/>
|
|
181
|
-
<Button onPress={buttonPress} title="Default" size="md" variant="outline" iconNameRight="churchCenter.sort" maxFontSizeMultiplier={MAX_FONT_SIZE_MULTIPLIER}/>
|
|
182
|
-
<Button onPress={buttonPress} title="Danger" appearance="danger" size="lg" variant="outline" iconNameLeft="groups.cards" iconNameRight="general.downChevron" maxFontSizeMultiplier={MAX_FONT_SIZE_MULTIPLIER}/>
|
|
183
|
-
</Row>
|
|
184
|
-
<Row>
|
|
185
|
-
<Button disabled onPress={buttonPress} title="Disabled" size="sm" variant="outline" iconNameLeft="general.plus" maxFontSizeMultiplier={MAX_FONT_SIZE_MULTIPLIER}/>
|
|
186
|
-
<Button disabled onPress={buttonPress} title="Disabled" size="md" variant="outline" iconNameRight="churchCenter.sort" maxFontSizeMultiplier={MAX_FONT_SIZE_MULTIPLIER}/>
|
|
187
|
-
<Button disabled onPress={buttonPress} title="Disabled" appearance="danger" size="lg" variant="outline" iconNameLeft="groups.cards" iconNameRight="general.downChevron" maxFontSizeMultiplier={MAX_FONT_SIZE_MULTIPLIER}/>
|
|
188
|
-
</Row>
|
|
189
|
-
<Row>
|
|
190
|
-
<Button loading onPress={buttonPress} title="Default" size="sm" variant="outline" iconNameLeft="general.plus" maxFontSizeMultiplier={MAX_FONT_SIZE_MULTIPLIER}/>
|
|
191
|
-
<Button loading onPress={buttonPress} title="Default" size="md" variant="outline" iconNameRight="churchCenter.sort" maxFontSizeMultiplier={MAX_FONT_SIZE_MULTIPLIER}/>
|
|
192
|
-
<Button loading onPress={buttonPress} title="Danger" appearance="danger" size="lg" variant="outline" iconNameLeft="groups.cards" iconNameRight="general.downChevron" maxFontSizeMultiplier={MAX_FONT_SIZE_MULTIPLIER}/>
|
|
193
|
-
</Row>
|
|
194
|
-
</Group>
|
|
195
|
-
<Group title="ToggleButton" description="Button with active and deactive states. Supports right & left icons, along with standard pressable props.">
|
|
196
|
-
<Row>
|
|
197
|
-
<ToggleButton onPress={() => setFilterSelected('Groups')} title="Groups" active={filterSelected === 'Groups'} accessibilityLabel="Filter to group conversations"/>
|
|
198
|
-
<ToggleButton onPress={() => setFilterSelected('Teams')} title="Teams" active={filterSelected === 'Teams'} accessibilityLabel="Filter to team conversations"/>
|
|
199
|
-
<ToggleButton onPress={() => setFilterSelected('More')} title="More" active={filterSelected === 'More'} iconNameRight="general.threeReducingHorizontalBars" accessibilityLabel="View more filters"/>
|
|
200
|
-
</Row>
|
|
201
|
-
</Group>
|
|
202
|
-
<Group title="IconButton" description="Supports different appearances, sizes, along with loading & disabled states. Use `iconStyle` for custom colors and font sizes. Requires `accessibilityLabel` as icon's don't provide context to screen readers.">
|
|
203
|
-
<Row>
|
|
204
|
-
<IconButton onPress={buttonPress} name="general.paperclip" accessibilityLabel="Add attachment" accessibilityHint="Opens your device's image gallary" size="md"/>
|
|
205
|
-
<IconButton onPress={buttonPress} name="general.paperclip" accessibilityLabel="Add attachment" accessibilityHint="Opens your device's image gallary" appearance="danger" size="lg"/>
|
|
206
|
-
<IconButton onPress={buttonPress} name="general.paperclip" accessibilityLabel="Add attachment" accessibilityHint="Opens your device's image gallary" appearance="interaction" size="xl"/>
|
|
207
|
-
<IconButton onPress={buttonPress} name="general.paperclip" accessibilityLabel="Add attachment" accessibilityHint="Opens your device's image gallary" iconStyle={styles.customIconButtonColor} size="xxl"/>
|
|
208
|
-
<IconButton onPress={buttonPress} name="general.paperclip" accessibilityLabel="Add attachment" accessibilityHint="Opens your device's image gallary" size="xxxl"/>
|
|
209
|
-
</Row>
|
|
210
|
-
<Row>
|
|
211
|
-
<IconButton onPress={buttonPress} name="general.paperclip" accessibilityLabel="Add attachment" accessibilityHint="Opens your device's image gallary" size="md" disabled/>
|
|
212
|
-
<IconButton onPress={buttonPress} name="general.paperclip" accessibilityLabel="Add attachment" accessibilityHint="Opens your device's image gallary" appearance="danger" size="lg" disabled/>
|
|
213
|
-
<IconButton onPress={buttonPress} name="general.paperclip" accessibilityLabel="Add attachment" accessibilityHint="Opens your device's image gallary" appearance="interaction" size="xl" disabled/>
|
|
214
|
-
<IconButton onPress={buttonPress} name="general.paperclip" accessibilityLabel="Add attachment" accessibilityHint="Opens your device's image gallary" iconStyle={styles.customIconButtonColor} size="xxl" disabled/>
|
|
215
|
-
<IconButton onPress={buttonPress} name="general.paperclip" accessibilityLabel="Add attachment" accessibilityHint="Opens your device's image gallary" size="xxxl" disabled/>
|
|
216
|
-
</Row>
|
|
217
|
-
<Row>
|
|
218
|
-
<IconButton onPress={buttonPress} name="general.paperclip" accessibilityLabel="Add attachment" accessibilityHint="Opens your device's image gallary" size="md" loading/>
|
|
219
|
-
<IconButton onPress={buttonPress} name="general.paperclip" accessibilityLabel="Add attachment" accessibilityHint="Opens your device's image gallary" appearance="danger" size="lg" loading/>
|
|
220
|
-
<IconButton onPress={buttonPress} name="general.paperclip" accessibilityLabel="Add attachment" accessibilityHint="Opens your device's image gallary" appearance="interaction" size="xl" loading/>
|
|
221
|
-
<IconButton onPress={buttonPress} name="general.paperclip" accessibilityLabel="Add attachment" accessibilityHint="Opens your device's image gallary" iconStyle={styles.customIconButtonColor} size="xxl" loading/>
|
|
222
|
-
<IconButton onPress={buttonPress} name="general.paperclip" accessibilityLabel="Add attachment" accessibilityHint="Opens your device's image gallary" size="xxxl" loading/>
|
|
223
|
-
</Row>
|
|
224
|
-
</Group>
|
|
225
|
-
<Group title="TextButton" description="Pressable text with default & danger appearance options. Can be disabled and accept `Text` variance props.">
|
|
226
|
-
<Row>
|
|
227
|
-
<TextButton onPress={buttonPress}>Default</TextButton>
|
|
228
|
-
<TextButton onPress={buttonPress} variant="secondary">
|
|
229
|
-
Default
|
|
230
|
-
</TextButton>
|
|
231
|
-
<TextButton onPress={buttonPress} variant="tertiary">
|
|
232
|
-
Default
|
|
233
|
-
</TextButton>
|
|
234
|
-
<TextButton onPress={buttonPress} variant="footnote">
|
|
235
|
-
Default
|
|
236
|
-
</TextButton>
|
|
237
|
-
</Row>
|
|
238
|
-
<Row>
|
|
239
|
-
<TextButton onPress={buttonPress} appearance="danger">
|
|
240
|
-
Danger
|
|
241
|
-
</TextButton>
|
|
242
|
-
<TextButton onPress={buttonPress} variant="secondary" appearance="danger">
|
|
243
|
-
Danger
|
|
244
|
-
</TextButton>
|
|
245
|
-
<TextButton onPress={buttonPress} variant="tertiary" appearance="danger">
|
|
246
|
-
Danger
|
|
247
|
-
</TextButton>
|
|
248
|
-
<TextButton onPress={buttonPress} variant="footnote" appearance="danger">
|
|
249
|
-
Danger
|
|
250
|
-
</TextButton>
|
|
251
|
-
</Row>
|
|
252
|
-
<Row>
|
|
253
|
-
<TextButton onPress={buttonPress} disabled>
|
|
254
|
-
Disabled
|
|
255
|
-
</TextButton>
|
|
256
|
-
<TextButton onPress={buttonPress} variant="secondary" disabled>
|
|
257
|
-
Disabled
|
|
258
|
-
</TextButton>
|
|
259
|
-
<TextButton onPress={buttonPress} variant="tertiary" disabled>
|
|
260
|
-
Disabled
|
|
261
|
-
</TextButton>
|
|
262
|
-
<TextButton onPress={buttonPress} variant="footnote" disabled>
|
|
263
|
-
Disabled
|
|
264
|
-
</TextButton>
|
|
265
|
-
</Row>
|
|
266
|
-
</Group>
|
|
267
|
-
<Group title="TextInlineButton" description="Supports nesting within `Text`. Temporary component until React Native fixes a layout bug in `Pressable` which used in `TextButton`.">
|
|
268
|
-
<Row style={styles.alignRowLeft}>
|
|
269
|
-
<Text>
|
|
270
|
-
This text is next to{' '}
|
|
271
|
-
<TextInlineButton onPress={buttonPress}>default button text</TextInlineButton> Lorem
|
|
272
|
-
ipsum dolor{' '}
|
|
273
|
-
<TextInlineButton onPress={buttonPress} appearance="danger">
|
|
274
|
-
danger button text
|
|
275
|
-
</TextInlineButton>{' '}
|
|
276
|
-
consectetur{' '}
|
|
277
|
-
<TextInlineButton onPress={buttonPress} disabled>
|
|
278
|
-
disabled button text
|
|
279
|
-
</TextInlineButton>{' '}
|
|
280
|
-
elit.
|
|
281
|
-
</Text>
|
|
282
|
-
<Text variant="secondary">
|
|
283
|
-
This text is next to{' '}
|
|
284
|
-
<TextInlineButton variant="secondary" onPress={buttonPress}>
|
|
285
|
-
default button text
|
|
286
|
-
</TextInlineButton>{' '}
|
|
287
|
-
Lorem ipsum dolor{' '}
|
|
288
|
-
<TextInlineButton variant="secondary" onPress={buttonPress} appearance="danger">
|
|
289
|
-
danger button text
|
|
290
|
-
</TextInlineButton>{' '}
|
|
291
|
-
consectetur{' '}
|
|
292
|
-
<TextInlineButton variant="secondary" onPress={buttonPress} disabled>
|
|
293
|
-
disabled button text
|
|
294
|
-
</TextInlineButton>{' '}
|
|
295
|
-
elit.
|
|
296
|
-
</Text>
|
|
297
|
-
<Text variant="tertiary">
|
|
298
|
-
This text is next to{' '}
|
|
299
|
-
<TextInlineButton variant="tertiary" onPress={buttonPress}>
|
|
300
|
-
default button text
|
|
301
|
-
</TextInlineButton>{' '}
|
|
302
|
-
Lorem ipsum dolor{' '}
|
|
303
|
-
<TextInlineButton variant="tertiary" onPress={buttonPress} appearance="danger">
|
|
304
|
-
danger button text
|
|
305
|
-
</TextInlineButton>{' '}
|
|
306
|
-
consectetur{' '}
|
|
307
|
-
<TextInlineButton variant="tertiary" onPress={buttonPress} disabled>
|
|
308
|
-
disabled button text
|
|
309
|
-
</TextInlineButton>{' '}
|
|
310
|
-
elit.
|
|
311
|
-
</Text>
|
|
312
|
-
<Text variant="footnote">
|
|
313
|
-
This text is next to{' '}
|
|
314
|
-
<TextInlineButton variant="footnote" onPress={buttonPress}>
|
|
315
|
-
default button text
|
|
316
|
-
</TextInlineButton>{' '}
|
|
317
|
-
Lorem ipsum dolor{' '}
|
|
318
|
-
<TextInlineButton variant="footnote" onPress={buttonPress} appearance="danger">
|
|
319
|
-
danger button text
|
|
320
|
-
</TextInlineButton>{' '}
|
|
321
|
-
consectetur{' '}
|
|
322
|
-
<TextInlineButton variant="footnote" onPress={buttonPress} disabled>
|
|
323
|
-
disabled button text
|
|
324
|
-
</TextInlineButton>{' '}
|
|
325
|
-
elit.
|
|
326
|
-
</Text>
|
|
327
|
-
</Row>
|
|
328
|
-
</Group>
|
|
329
|
-
</CollapsableSection>);
|
|
71
|
+
return (_jsxs(CollapsableSection, { title: "Pressables", isLast: isLast, children: [_jsxs(Group, { title: "Button", description: "Feature fill and outline variants for primary and danger usecases, along with disabled & loading states. Optionally shows icons to the left and right of the text.", children: [_jsxs(Row, { children: [_jsx(Button, { onPress: buttonPress, title: "Default", size: "sm" }), _jsx(Button, { onPress: buttonPress, title: "Default", size: "md" }), _jsx(Button, { onPress: buttonPress, title: "Danger", appearance: "danger", size: "lg" })] }), _jsxs(Row, { children: [_jsx(Button, { disabled: true, onPress: buttonPress, title: "Disabled", size: "sm" }), _jsx(Button, { disabled: true, onPress: buttonPress, title: "Disabled", size: "md" }), _jsx(Button, { disabled: true, onPress: buttonPress, title: "Disabled", appearance: "danger", size: "lg" })] }), _jsxs(Row, { children: [_jsx(Button, { onPress: buttonPress, title: "Default", size: "sm", iconNameLeft: "general.plus", maxFontSizeMultiplier: MAX_FONT_SIZE_MULTIPLIER }), _jsx(Button, { onPress: buttonPress, title: "Default", size: "md", iconNameRight: "churchCenter.sort", maxFontSizeMultiplier: MAX_FONT_SIZE_MULTIPLIER }), _jsx(Button, { onPress: buttonPress, title: "Danger", appearance: "danger", size: "lg", iconNameLeft: "groups.cards", iconNameRight: "general.downChevron", maxFontSizeMultiplier: MAX_FONT_SIZE_MULTIPLIER })] }), _jsxs(Row, { children: [_jsx(Button, { loading: true, onPress: buttonPress, title: "Default", size: "sm" }), _jsx(Button, { loading: true, onPress: buttonPress, title: "Default", size: "md" }), _jsx(Button, { loading: true, onPress: buttonPress, title: "Danger", appearance: "danger", size: "lg" })] }), _jsxs(Row, { children: [_jsx(Button, { onPress: buttonPress, title: "Default", size: "sm", variant: "outline" }), _jsx(Button, { onPress: buttonPress, title: "Default", size: "md", variant: "outline" }), _jsx(Button, { onPress: buttonPress, title: "Danger", appearance: "danger", size: "lg", variant: "outline" })] }), _jsxs(Row, { children: [_jsx(Button, { onPress: buttonPress, title: "Default", size: "sm", variant: "outline", iconNameLeft: "general.plus", maxFontSizeMultiplier: MAX_FONT_SIZE_MULTIPLIER }), _jsx(Button, { onPress: buttonPress, title: "Default", size: "md", variant: "outline", iconNameRight: "churchCenter.sort", maxFontSizeMultiplier: MAX_FONT_SIZE_MULTIPLIER }), _jsx(Button, { onPress: buttonPress, title: "Danger", appearance: "danger", size: "lg", variant: "outline", iconNameLeft: "groups.cards", iconNameRight: "general.downChevron", maxFontSizeMultiplier: MAX_FONT_SIZE_MULTIPLIER })] }), _jsxs(Row, { children: [_jsx(Button, { disabled: true, onPress: buttonPress, title: "Disabled", size: "sm", variant: "outline", iconNameLeft: "general.plus", maxFontSizeMultiplier: MAX_FONT_SIZE_MULTIPLIER }), _jsx(Button, { disabled: true, onPress: buttonPress, title: "Disabled", size: "md", variant: "outline", iconNameRight: "churchCenter.sort", maxFontSizeMultiplier: MAX_FONT_SIZE_MULTIPLIER }), _jsx(Button, { disabled: true, onPress: buttonPress, title: "Disabled", appearance: "danger", size: "lg", variant: "outline", iconNameLeft: "groups.cards", iconNameRight: "general.downChevron", maxFontSizeMultiplier: MAX_FONT_SIZE_MULTIPLIER })] }), _jsxs(Row, { children: [_jsx(Button, { loading: true, onPress: buttonPress, title: "Default", size: "sm", variant: "outline", iconNameLeft: "general.plus", maxFontSizeMultiplier: MAX_FONT_SIZE_MULTIPLIER }), _jsx(Button, { loading: true, onPress: buttonPress, title: "Default", size: "md", variant: "outline", iconNameRight: "churchCenter.sort", maxFontSizeMultiplier: MAX_FONT_SIZE_MULTIPLIER }), _jsx(Button, { loading: true, onPress: buttonPress, title: "Danger", appearance: "danger", size: "lg", variant: "outline", iconNameLeft: "groups.cards", iconNameRight: "general.downChevron", maxFontSizeMultiplier: MAX_FONT_SIZE_MULTIPLIER })] })] }), _jsx(Group, { title: "ToggleButton", description: "Button with active and deactive states. Supports right & left icons, along with standard pressable props.", children: _jsxs(Row, { children: [_jsx(ToggleButton, { onPress: () => setFilterSelected('Groups'), title: "Groups", active: filterSelected === 'Groups', accessibilityLabel: "Filter to group conversations" }), _jsx(ToggleButton, { onPress: () => setFilterSelected('Teams'), title: "Teams", active: filterSelected === 'Teams', accessibilityLabel: "Filter to team conversations" }), _jsx(ToggleButton, { onPress: () => setFilterSelected('More'), title: "More", active: filterSelected === 'More', iconNameRight: "general.threeReducingHorizontalBars", accessibilityLabel: "View more filters" })] }) }), _jsxs(Group, { title: "IconButton", description: "Supports different appearances, sizes, along with loading & disabled states. Use `iconStyle` for custom colors and font sizes. Requires `accessibilityLabel` as icon's don't provide context to screen readers.", children: [_jsxs(Row, { children: [_jsx(IconButton, { onPress: buttonPress, name: "general.paperclip", accessibilityLabel: "Add attachment", accessibilityHint: "Opens your device's image gallary", size: "md" }), _jsx(IconButton, { onPress: buttonPress, name: "general.paperclip", accessibilityLabel: "Add attachment", accessibilityHint: "Opens your device's image gallary", appearance: "danger", size: "lg" }), _jsx(IconButton, { onPress: buttonPress, name: "general.paperclip", accessibilityLabel: "Add attachment", accessibilityHint: "Opens your device's image gallary", appearance: "interaction", size: "xl" }), _jsx(IconButton, { onPress: buttonPress, name: "general.paperclip", accessibilityLabel: "Add attachment", accessibilityHint: "Opens your device's image gallary", iconStyle: styles.customIconButtonColor, size: "xxl" }), _jsx(IconButton, { onPress: buttonPress, name: "general.paperclip", accessibilityLabel: "Add attachment", accessibilityHint: "Opens your device's image gallary", size: "xxxl" })] }), _jsxs(Row, { children: [_jsx(IconButton, { onPress: buttonPress, name: "general.paperclip", accessibilityLabel: "Add attachment", accessibilityHint: "Opens your device's image gallary", size: "md", disabled: true }), _jsx(IconButton, { onPress: buttonPress, name: "general.paperclip", accessibilityLabel: "Add attachment", accessibilityHint: "Opens your device's image gallary", appearance: "danger", size: "lg", disabled: true }), _jsx(IconButton, { onPress: buttonPress, name: "general.paperclip", accessibilityLabel: "Add attachment", accessibilityHint: "Opens your device's image gallary", appearance: "interaction", size: "xl", disabled: true }), _jsx(IconButton, { onPress: buttonPress, name: "general.paperclip", accessibilityLabel: "Add attachment", accessibilityHint: "Opens your device's image gallary", iconStyle: styles.customIconButtonColor, size: "xxl", disabled: true }), _jsx(IconButton, { onPress: buttonPress, name: "general.paperclip", accessibilityLabel: "Add attachment", accessibilityHint: "Opens your device's image gallary", size: "xxxl", disabled: true })] }), _jsxs(Row, { children: [_jsx(IconButton, { onPress: buttonPress, name: "general.paperclip", accessibilityLabel: "Add attachment", accessibilityHint: "Opens your device's image gallary", size: "md", loading: true }), _jsx(IconButton, { onPress: buttonPress, name: "general.paperclip", accessibilityLabel: "Add attachment", accessibilityHint: "Opens your device's image gallary", appearance: "danger", size: "lg", loading: true }), _jsx(IconButton, { onPress: buttonPress, name: "general.paperclip", accessibilityLabel: "Add attachment", accessibilityHint: "Opens your device's image gallary", appearance: "interaction", size: "xl", loading: true }), _jsx(IconButton, { onPress: buttonPress, name: "general.paperclip", accessibilityLabel: "Add attachment", accessibilityHint: "Opens your device's image gallary", iconStyle: styles.customIconButtonColor, size: "xxl", loading: true }), _jsx(IconButton, { onPress: buttonPress, name: "general.paperclip", accessibilityLabel: "Add attachment", accessibilityHint: "Opens your device's image gallary", size: "xxxl", loading: true })] })] }), _jsxs(Group, { title: "TextButton", description: "Pressable text with default & danger appearance options. Can be disabled and accept `Text` variance props.", children: [_jsxs(Row, { children: [_jsx(TextButton, { onPress: buttonPress, children: "Default" }), _jsx(TextButton, { onPress: buttonPress, variant: "secondary", children: "Default" }), _jsx(TextButton, { onPress: buttonPress, variant: "tertiary", children: "Default" }), _jsx(TextButton, { onPress: buttonPress, variant: "footnote", children: "Default" })] }), _jsxs(Row, { children: [_jsx(TextButton, { onPress: buttonPress, appearance: "danger", children: "Danger" }), _jsx(TextButton, { onPress: buttonPress, variant: "secondary", appearance: "danger", children: "Danger" }), _jsx(TextButton, { onPress: buttonPress, variant: "tertiary", appearance: "danger", children: "Danger" }), _jsx(TextButton, { onPress: buttonPress, variant: "footnote", appearance: "danger", children: "Danger" })] }), _jsxs(Row, { children: [_jsx(TextButton, { onPress: buttonPress, disabled: true, children: "Disabled" }), _jsx(TextButton, { onPress: buttonPress, variant: "secondary", disabled: true, children: "Disabled" }), _jsx(TextButton, { onPress: buttonPress, variant: "tertiary", disabled: true, children: "Disabled" }), _jsx(TextButton, { onPress: buttonPress, variant: "footnote", disabled: true, children: "Disabled" })] })] }), _jsx(Group, { title: "TextInlineButton", description: "Supports nesting within `Text`. Temporary component until React Native fixes a layout bug in `Pressable` which used in `TextButton`.", children: _jsxs(Row, { style: styles.alignRowLeft, children: [_jsxs(Text, { children: ["This text is next to", ' ', _jsx(TextInlineButton, { onPress: buttonPress, children: "default button text" }), " Lorem ipsum dolor", ' ', _jsx(TextInlineButton, { onPress: buttonPress, appearance: "danger", children: "danger button text" }), ' ', "consectetur", ' ', _jsx(TextInlineButton, { onPress: buttonPress, disabled: true, children: "disabled button text" }), ' ', "elit."] }), _jsxs(Text, { variant: "secondary", children: ["This text is next to", ' ', _jsx(TextInlineButton, { variant: "secondary", onPress: buttonPress, children: "default button text" }), ' ', "Lorem ipsum dolor", ' ', _jsx(TextInlineButton, { variant: "secondary", onPress: buttonPress, appearance: "danger", children: "danger button text" }), ' ', "consectetur", ' ', _jsx(TextInlineButton, { variant: "secondary", onPress: buttonPress, disabled: true, children: "disabled button text" }), ' ', "elit."] }), _jsxs(Text, { variant: "tertiary", children: ["This text is next to", ' ', _jsx(TextInlineButton, { variant: "tertiary", onPress: buttonPress, children: "default button text" }), ' ', "Lorem ipsum dolor", ' ', _jsx(TextInlineButton, { variant: "tertiary", onPress: buttonPress, appearance: "danger", children: "danger button text" }), ' ', "consectetur", ' ', _jsx(TextInlineButton, { variant: "tertiary", onPress: buttonPress, disabled: true, children: "disabled button text" }), ' ', "elit."] }), _jsxs(Text, { variant: "footnote", children: ["This text is next to", ' ', _jsx(TextInlineButton, { variant: "footnote", onPress: buttonPress, children: "default button text" }), ' ', "Lorem ipsum dolor", ' ', _jsx(TextInlineButton, { variant: "footnote", onPress: buttonPress, appearance: "danger", children: "danger button text" }), ' ', "consectetur", ' ', _jsx(TextInlineButton, { variant: "footnote", onPress: buttonPress, disabled: true, children: "disabled button text" }), ' ', "elit."] })] }) })] }));
|
|
330
72
|
}
|
|
331
73
|
function HapticsSection({ isLast }) {
|
|
332
|
-
return (
|
|
333
|
-
<TextGroup>
|
|
334
|
-
<Text>
|
|
335
|
-
Haptics help communicate changes and interactions in the UI by making them feel physical
|
|
336
|
-
and "weighty". They are a progressive enhancement and shouldn't replace visual feedback.
|
|
337
|
-
</Text>
|
|
338
|
-
</TextGroup>
|
|
339
|
-
<Group title="Impact" description="Communicates that a user interaction is occurring.">
|
|
340
|
-
<Row>
|
|
341
|
-
<HapticButton title="Impact Light" onPress={() => Haptic.impactLight()}/>
|
|
342
|
-
<HapticButton title="Impact Medium" onPress={() => Haptic.impactMedium()}/>
|
|
343
|
-
<HapticButton title="Impact Heavy" onPress={() => Haptic.impactHeavy()}/>
|
|
344
|
-
<HapticButton title="Rigid" onPress={() => Haptic.rigid()}/>
|
|
345
|
-
<HapticButton title="Soft" onPress={() => Haptic.soft()}/>
|
|
346
|
-
</Row>
|
|
347
|
-
</Group>
|
|
348
|
-
<Group title="Notification" description="Communicates the result of a user or application action.">
|
|
349
|
-
<Row>
|
|
350
|
-
<HapticButton title="Notification Success" onPress={() => Haptic.notificationSuccess()}/>
|
|
351
|
-
<HapticButton title="Notification Warning" onPress={() => Haptic.notificationWarning()}/>
|
|
352
|
-
<HapticButton title="Notification Error" onPress={() => Haptic.notificationError()}/>
|
|
353
|
-
</Row>
|
|
354
|
-
</Group>
|
|
355
|
-
</CollapsableSection>);
|
|
74
|
+
return (_jsxs(CollapsableSection, { title: "Haptics", isLast: isLast, children: [_jsx(TextGroup, { children: _jsx(Text, { children: "Haptics help communicate changes and interactions in the UI by making them feel physical and \"weighty\". They are a progressive enhancement and shouldn't replace visual feedback." }) }), _jsx(Group, { title: "Impact", description: "Communicates that a user interaction is occurring.", children: _jsxs(Row, { children: [_jsx(HapticButton, { title: "Impact Light", onPress: () => Haptic.impactLight() }), _jsx(HapticButton, { title: "Impact Medium", onPress: () => Haptic.impactMedium() }), _jsx(HapticButton, { title: "Impact Heavy", onPress: () => Haptic.impactHeavy() }), _jsx(HapticButton, { title: "Rigid", onPress: () => Haptic.rigid() }), _jsx(HapticButton, { title: "Soft", onPress: () => Haptic.soft() })] }) }), _jsx(Group, { title: "Notification", description: "Communicates the result of a user or application action.", children: _jsxs(Row, { children: [_jsx(HapticButton, { title: "Notification Success", onPress: () => Haptic.notificationSuccess() }), _jsx(HapticButton, { title: "Notification Warning", onPress: () => Haptic.notificationWarning() }), _jsx(HapticButton, { title: "Notification Error", onPress: () => Haptic.notificationError() })] }) })] }));
|
|
356
75
|
}
|
|
357
76
|
function ImageIconsSection({ isLast }) {
|
|
358
77
|
const styles = useStyles();
|
|
359
78
|
const { colors } = useTheme();
|
|
360
|
-
return (
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
<ImageAttachmentPreview size="sm" uri={URL.image} fileName="mountains.jpg" onRemovePress={buttonPress} error/>
|
|
375
|
-
<ImageAttachmentPreview uri={URL.image} fileName="mountains.jpg" onRemovePress={buttonPress} error/>
|
|
376
|
-
</Row>
|
|
377
|
-
</Group>
|
|
378
|
-
<Group title="VideoAttachmentPreview" description="Displays an video attachment with a close button. It takes a `name` prop, an optional duration, and can show loading and error states.">
|
|
379
|
-
<Row>
|
|
380
|
-
<VideoAttachmentPreview name="mountains.mp4" onRemovePress={buttonPress}/>
|
|
381
|
-
<VideoAttachmentPreview name="mountains.mp4" duration="1:20" onRemovePress={buttonPress}/>
|
|
382
|
-
<VideoAttachmentPreview name="mountains.mp4" onRemovePress={buttonPress} loading hideRemoveButton/>
|
|
383
|
-
<VideoAttachmentPreview name="mountains.mp4" duration="1:20" onRemovePress={buttonPress} error/>
|
|
384
|
-
</Row>
|
|
385
|
-
</Group>
|
|
386
|
-
<Group title="Avatar" description='Displays the profile image for a user in different sizes and has a loading spinner. Can optionally show an online/offline "presence" indicator. Fallback condition and icon are optionally configurable.'>
|
|
387
|
-
<Row>
|
|
388
|
-
<Avatar sourceUri={URL.broken}/>
|
|
389
|
-
<Avatar size="md" sourceUri={URL.avatar_fallback}/>
|
|
390
|
-
<Avatar sourceUri={URL.avatar}/>
|
|
391
|
-
</Row>
|
|
392
|
-
<Row>
|
|
393
|
-
<Avatar presence="offline" sourceUri={URL.broken}/>
|
|
394
|
-
<Avatar presence="online" size="md" sourceUri={URL.avatar_fallback}/>
|
|
395
|
-
<Avatar presence="offline" sourceUri={URL.avatar}/>
|
|
396
|
-
</Row>
|
|
397
|
-
<Row>
|
|
398
|
-
<Avatar sourceUri=""/>
|
|
399
|
-
<Avatar sourceUri="" size="md"/>
|
|
400
|
-
<Avatar sourceUri="" size="sm"/>
|
|
401
|
-
<Avatar sourceUri={URL.broken} showFallback={true} fallbackIconName="general.star" size="sm"/>
|
|
402
|
-
</Row>
|
|
403
|
-
</Group>
|
|
404
|
-
<Group title="AvatarGroup" description="Shows 1-4 images in a grid at different sizes. Loading spinner shows until all images successfully load. Fallback condition and icon are optionally configurable.">
|
|
405
|
-
<Row>
|
|
406
|
-
<AvatarGroup sourceUris={[URL.broken]}/>
|
|
407
|
-
<AvatarGroup sourceUris={[URL.broken, URL.broken, ...URL.two_avatars]}/>
|
|
408
|
-
<AvatarGroup sourceUris={[URL.avatar]}/>
|
|
409
|
-
<AvatarGroup sourceUris={URL.two_avatars}/>
|
|
410
|
-
<AvatarGroup sourceUris={URL.three_avatars}/>
|
|
411
|
-
<AvatarGroup sourceUris={URL.four_avatars}/>
|
|
412
|
-
</Row>
|
|
413
|
-
<Row>
|
|
414
|
-
<AvatarGroup sourceUris={[]} showFallback={true} fallbackIconName="general.person"/>
|
|
415
|
-
<AvatarGroup sourceUris={[]} showFallback={true} fallbackIconName="people.noTextMessage"/>
|
|
416
|
-
<AvatarGroup sourceUris={[]} showFallback={true} fallbackIconName="general.star" size="md"/>
|
|
417
|
-
<AvatarGroup sourceUris={[]} showFallback={true} fallbackIconName="general.heart" size="sm"/>
|
|
418
|
-
</Row>
|
|
419
|
-
</Group>
|
|
420
|
-
<Group title="IconAvatar" description="Renders a FontAwesome icon centered on a gradient background. Used by ConversationAvatar for icon-type custom avatars, and reusable in the avatar picker UI.">
|
|
421
|
-
<Row>
|
|
422
|
-
<IconAvatar iconKey="church" color="warm-sunset" size="lg"/>
|
|
423
|
-
<IconAvatar iconKey="guitar" color="cosmic" size="lg"/>
|
|
424
|
-
<IconAvatar iconKey="music" color="iris" size="md"/>
|
|
425
|
-
<IconAvatar iconKey="dove" color="rose-teal" size="sm"/>
|
|
426
|
-
<IconAvatar iconKey="cross" color="gold" size="xs"/>
|
|
427
|
-
</Row>
|
|
428
|
-
<Row>
|
|
429
|
-
<IconAvatar iconKey="church" color="garden" size="lg"/>
|
|
430
|
-
<IconAvatar iconKey="church" color="twilight" size="lg"/>
|
|
431
|
-
<IconAvatar iconKey="church" color="amethyst" size="lg"/>
|
|
432
|
-
<IconAvatar iconKey="church" color="rainbow" size="lg"/>
|
|
433
|
-
</Row>
|
|
434
|
-
</Group>
|
|
435
|
-
<Group title="EmojiAvatar" description="Renders an emoji centered on a gradient background. Used by ConversationAvatar for emoji-type custom avatars.">
|
|
436
|
-
<Row>
|
|
437
|
-
<EmojiAvatar emoji="🎉" color="warm-sunset" size="lg"/>
|
|
438
|
-
<EmojiAvatar emoji="🔥" color="cosmic" size="lg"/>
|
|
439
|
-
<EmojiAvatar emoji="💬" color="iris" size="md"/>
|
|
440
|
-
<EmojiAvatar emoji="⭐" color="gold" size="sm"/>
|
|
441
|
-
<EmojiAvatar emoji="🎵" color="navy-purple" size="xs"/>
|
|
442
|
-
</Row>
|
|
443
|
-
</Group>
|
|
444
|
-
<Group title="ConversationAvatar" description="Smart avatar that resolves a conversation's custom avatar (image, icon, or emoji) or falls back to the member AvatarGroup. Takes a conversation object and delegates to IconAvatar, EmojiAvatar, or AvatarGroup.">
|
|
445
|
-
<Row>
|
|
446
|
-
<ConversationAvatar conversation={{
|
|
447
|
-
customAvatarType: 'icon',
|
|
448
|
-
customAvatarKey: 'church',
|
|
449
|
-
customAvatarColor: 'warm-sunset',
|
|
450
|
-
}}/>
|
|
451
|
-
<ConversationAvatar conversation={{
|
|
452
|
-
customAvatarType: 'emoji',
|
|
453
|
-
customAvatarKey: '🎉',
|
|
454
|
-
customAvatarColor: 'cosmic',
|
|
455
|
-
}}/>
|
|
456
|
-
<ConversationAvatar conversation={{
|
|
457
|
-
customAvatarType: 'image',
|
|
458
|
-
customAvatarImageUrl: URL.avatar,
|
|
459
|
-
}}/>
|
|
460
|
-
<ConversationAvatar conversation={{
|
|
461
|
-
previewAvatarUrls: URL.two_avatars,
|
|
462
|
-
}}/>
|
|
463
|
-
<ConversationAvatar conversation={{}} fallbackIconName="people.noTextMessage"/>
|
|
464
|
-
</Row>
|
|
465
|
-
</Group>
|
|
466
|
-
<Group title="Icon" description="Displays any icon from @planningcenter/icons. Missing icons will fallback to a grey circle. Styling with `fontSize` will allow it to scale with the device's text a11y size.">
|
|
467
|
-
<Row>
|
|
468
|
-
{/* @ts-expect-error - Testing missing icon fallback */}
|
|
469
|
-
<Icon name="missingIcon" size={20}/>
|
|
470
|
-
<Icon name="general.textMessage" size={20}/>
|
|
471
|
-
<Icon name="general.bell" size={20} color={colors.needsDesignPass}/>
|
|
472
|
-
<Icon name="churchCenter.sort" style={styles.icon}/>
|
|
473
|
-
</Row>
|
|
474
|
-
</Group>
|
|
475
|
-
</CollapsableSection>);
|
|
79
|
+
return (_jsxs(CollapsableSection, { title: "Images & Icons", isLast: isLast, children: [_jsx(Group, { title: "Image", description: "Foundational way of displaying images. Loading or broken images will fallback to show a spinner. Hide decortive images from screen readers with `alt=''`.", children: _jsxs(Row, { children: [_jsx(Image, { source: { uri: URL.broken }, style: styles.image, alt: "Mountain sunrise" }), _jsx(Image, { source: { uri: URL.image }, style: styles.image, alt: "Mountain sunrise" }), _jsx(Image, { source: { uri: URL.image }, style: styles.image, alt: "" })] }) }), _jsx(Group, { title: "ImageAttachmentPreview", description: "Displays an image attachment in different sizes with a close button. It takes a `fileName` prop that gets passed to the image's `alt` attribute. Can show loading and error states.", children: _jsxs(Row, { children: [_jsx(ImageAttachmentPreview, { size: "sm", uri: URL.image, fileName: "mountains.jpg", onRemovePress: buttonPress }), _jsx(ImageAttachmentPreview, { uri: URL.image, fileName: "mountains.jpg", onRemovePress: buttonPress }), _jsx(ImageAttachmentPreview, { size: "sm", uri: URL.image, fileName: "mountains.jpg", onRemovePress: buttonPress, loading: true, hideRemoveButton: true }), _jsx(ImageAttachmentPreview, { uri: URL.image, fileName: "mountains.jpg", onRemovePress: buttonPress, loading: true, hideRemoveButton: true }), _jsx(ImageAttachmentPreview, { size: "sm", uri: URL.image, fileName: "mountains.jpg", onRemovePress: buttonPress, error: true }), _jsx(ImageAttachmentPreview, { uri: URL.image, fileName: "mountains.jpg", onRemovePress: buttonPress, error: true })] }) }), _jsx(Group, { title: "VideoAttachmentPreview", description: "Displays an video attachment with a close button. It takes a `name` prop, an optional duration, and can show loading and error states.", children: _jsxs(Row, { children: [_jsx(VideoAttachmentPreview, { name: "mountains.mp4", onRemovePress: buttonPress }), _jsx(VideoAttachmentPreview, { name: "mountains.mp4", duration: "1:20", onRemovePress: buttonPress }), _jsx(VideoAttachmentPreview, { name: "mountains.mp4", onRemovePress: buttonPress, loading: true, hideRemoveButton: true }), _jsx(VideoAttachmentPreview, { name: "mountains.mp4", duration: "1:20", onRemovePress: buttonPress, error: true })] }) }), _jsxs(Group, { title: "Avatar", description: 'Displays the profile image for a user in different sizes and has a loading spinner. Can optionally show an online/offline "presence" indicator. Fallback condition and icon are optionally configurable.', children: [_jsxs(Row, { children: [_jsx(Avatar, { sourceUri: URL.broken }), _jsx(Avatar, { size: "md", sourceUri: URL.avatar_fallback }), _jsx(Avatar, { sourceUri: URL.avatar })] }), _jsxs(Row, { children: [_jsx(Avatar, { presence: "offline", sourceUri: URL.broken }), _jsx(Avatar, { presence: "online", size: "md", sourceUri: URL.avatar_fallback }), _jsx(Avatar, { presence: "offline", sourceUri: URL.avatar })] }), _jsxs(Row, { children: [_jsx(Avatar, { sourceUri: "" }), _jsx(Avatar, { sourceUri: "", size: "md" }), _jsx(Avatar, { sourceUri: "", size: "sm" }), _jsx(Avatar, { sourceUri: URL.broken, showFallback: true, fallbackIconName: "general.star", size: "sm" })] })] }), _jsxs(Group, { title: "AvatarGroup", description: "Shows 1-4 images in a grid at different sizes. Loading spinner shows until all images successfully load. Fallback condition and icon are optionally configurable.", children: [_jsxs(Row, { children: [_jsx(AvatarGroup, { sourceUris: [URL.broken] }), _jsx(AvatarGroup, { sourceUris: [URL.broken, URL.broken, ...URL.two_avatars] }), _jsx(AvatarGroup, { sourceUris: [URL.avatar] }), _jsx(AvatarGroup, { sourceUris: URL.two_avatars }), _jsx(AvatarGroup, { sourceUris: URL.three_avatars }), _jsx(AvatarGroup, { sourceUris: URL.four_avatars })] }), _jsxs(Row, { children: [_jsx(AvatarGroup, { sourceUris: [], showFallback: true, fallbackIconName: "general.person" }), _jsx(AvatarGroup, { sourceUris: [], showFallback: true, fallbackIconName: "people.noTextMessage" }), _jsx(AvatarGroup, { sourceUris: [], showFallback: true, fallbackIconName: "general.star", size: "md" }), _jsx(AvatarGroup, { sourceUris: [], showFallback: true, fallbackIconName: "general.heart", size: "sm" })] })] }), _jsxs(Group, { title: "IconAvatar", description: "Renders a FontAwesome icon centered on a gradient background. Used by ConversationAvatar for icon-type custom avatars, and reusable in the avatar picker UI.", children: [_jsxs(Row, { children: [_jsx(IconAvatar, { iconKey: "church", color: "warm-sunset", size: "lg" }), _jsx(IconAvatar, { iconKey: "guitar", color: "cosmic", size: "lg" }), _jsx(IconAvatar, { iconKey: "music", color: "iris", size: "md" }), _jsx(IconAvatar, { iconKey: "dove", color: "rose-teal", size: "sm" }), _jsx(IconAvatar, { iconKey: "cross", color: "gold", size: "xs" })] }), _jsxs(Row, { children: [_jsx(IconAvatar, { iconKey: "church", color: "garden", size: "lg" }), _jsx(IconAvatar, { iconKey: "church", color: "twilight", size: "lg" }), _jsx(IconAvatar, { iconKey: "church", color: "amethyst", size: "lg" }), _jsx(IconAvatar, { iconKey: "church", color: "rainbow", size: "lg" })] })] }), _jsx(Group, { title: "EmojiAvatar", description: "Renders an emoji centered on a gradient background. Used by ConversationAvatar for emoji-type custom avatars.", children: _jsxs(Row, { children: [_jsx(EmojiAvatar, { emoji: "\uD83C\uDF89", color: "warm-sunset", size: "lg" }), _jsx(EmojiAvatar, { emoji: "\uD83D\uDD25", color: "cosmic", size: "lg" }), _jsx(EmojiAvatar, { emoji: "\uD83D\uDCAC", color: "iris", size: "md" }), _jsx(EmojiAvatar, { emoji: "\u2B50", color: "gold", size: "sm" }), _jsx(EmojiAvatar, { emoji: "\uD83C\uDFB5", color: "navy-purple", size: "xs" })] }) }), _jsx(Group, { title: "ConversationAvatar", description: "Smart avatar that resolves a conversation's custom avatar (image, icon, or emoji) or falls back to the member AvatarGroup. Takes a conversation object and delegates to IconAvatar, EmojiAvatar, or AvatarGroup.", children: _jsxs(Row, { children: [_jsx(ConversationAvatar, { conversation: {
|
|
80
|
+
customAvatarType: 'icon',
|
|
81
|
+
customAvatarKey: 'church',
|
|
82
|
+
customAvatarColor: 'warm-sunset',
|
|
83
|
+
} }), _jsx(ConversationAvatar, { conversation: {
|
|
84
|
+
customAvatarType: 'emoji',
|
|
85
|
+
customAvatarKey: '🎉',
|
|
86
|
+
customAvatarColor: 'cosmic',
|
|
87
|
+
} }), _jsx(ConversationAvatar, { conversation: {
|
|
88
|
+
customAvatarType: 'image',
|
|
89
|
+
customAvatarImageUrl: URL.avatar,
|
|
90
|
+
} }), _jsx(ConversationAvatar, { conversation: {
|
|
91
|
+
previewAvatarUrls: URL.two_avatars,
|
|
92
|
+
} }), _jsx(ConversationAvatar, { conversation: {}, fallbackIconName: "people.noTextMessage" })] }) }), _jsx(Group, { title: "Icon", description: "Displays any icon from @planningcenter/icons. Missing icons will fallback to a grey circle. Styling with `fontSize` will allow it to scale with the device's text a11y size.", children: _jsxs(Row, { children: [_jsx(Icon, { name: "missingIcon", size: 20 }), _jsx(Icon, { name: "general.textMessage", size: 20 }), _jsx(Icon, { name: "general.bell", size: 20, color: colors.needsDesignPass }), _jsx(Icon, { name: "churchCenter.sort", style: styles.icon })] }) })] }));
|
|
476
93
|
}
|
|
477
94
|
function FormControlsSection({ isLast }) {
|
|
478
95
|
const [switchOn, setSwitchOn] = useState(true);
|
|
479
96
|
const [switchOff, setSwitchOff] = useState(false);
|
|
480
|
-
return (
|
|
481
|
-
<Group title="Switch" description="Use to toggle a boolean value for some sort of contained setting. (ie. Muting a conversation) This is a light wrapper that takes into account themed colors.">
|
|
482
|
-
<Row>
|
|
483
|
-
<Switch value={switchOn} onValueChange={value => setSwitchOn(value)}/>
|
|
484
|
-
<Switch value={switchOff} onValueChange={value => setSwitchOff(value)}/>
|
|
485
|
-
<Switch value={true} disabled/>
|
|
486
|
-
<Switch value={false} disabled/>
|
|
487
|
-
</Row>
|
|
488
|
-
</Group>
|
|
489
|
-
</CollapsableSection>);
|
|
97
|
+
return (_jsx(CollapsableSection, { title: "Form Controls", isLast: isLast, children: _jsx(Group, { title: "Switch", description: "Use to toggle a boolean value for some sort of contained setting. (ie. Muting a conversation) This is a light wrapper that takes into account themed colors.", children: _jsxs(Row, { children: [_jsx(Switch, { value: switchOn, onValueChange: value => setSwitchOn(value) }), _jsx(Switch, { value: switchOff, onValueChange: value => setSwitchOff(value) }), _jsx(Switch, { value: true, disabled: true }), _jsx(Switch, { value: false, disabled: true })] }) }) }));
|
|
490
98
|
}
|
|
491
99
|
function StatusComponentsSection({ isLast }) {
|
|
492
|
-
return (
|
|
493
|
-
<Group title="Badge" description="Badge that can convey a status and show an icon. It also supports a meta label and product logo for the conversation list and conversation header. Target products can change colors and hide the logo via theming.">
|
|
494
|
-
<Row>
|
|
495
|
-
<Badge label="Neutral" appearance="neutral"/>
|
|
496
|
-
<Badge label="Error" appearance="error"/>
|
|
497
|
-
<Badge label="Info" appearance="info"/>
|
|
498
|
-
<Badge label="Success" appearance="success"/>
|
|
499
|
-
<Badge label="Warning" appearance="warning"/>
|
|
500
|
-
</Row>
|
|
501
|
-
<Row>
|
|
502
|
-
<Badge label="Neutral" appearance="neutral" iconName="general.star"/>
|
|
503
|
-
<Badge label="Error" appearance="error" iconName="general.exclamationTriangle"/>
|
|
504
|
-
<Badge label="Info" appearance="info" iconName="general.outlinedInfoCircle"/>
|
|
505
|
-
<Badge label="Success" appearance="success" iconName="general.check"/>
|
|
506
|
-
<Badge label="Warning" appearance="warning" iconName="general.shieldExclamation"/>
|
|
507
|
-
</Row>
|
|
508
|
-
<Row>
|
|
509
|
-
<Badge variant="meta" productLogoName="groups" label="Group" metaLabel="Worlds longest group name that will probably overflow if it gets very much longer"/>
|
|
510
|
-
<Badge variant="meta" productLogoName="groups" label="Group" metaLabel="Young adults"/>
|
|
511
|
-
<Badge variant="meta" productLogoName="services" label="Plan" metaLabel="June 19, 2025"/>
|
|
512
|
-
<Badge variant="meta" productLogoName="services" label="Team"/>
|
|
513
|
-
</Row>
|
|
514
|
-
<Row>
|
|
515
|
-
<Badge variant="metaSubtle" productLogoName="groups" label="Group" metaLabel="Worlds longest group name that will probably overflow if it gets very much longer"/>
|
|
516
|
-
<Badge variant="metaSubtle" productLogoName="groups" label="Group" metaLabel="Young adults"/>
|
|
517
|
-
<Badge variant="metaSubtle" productLogoName="services" label="Plan" metaLabel="June 19, 2025"/>
|
|
518
|
-
<Badge variant="metaSubtle" productLogoName="services" label="Team"/>
|
|
519
|
-
</Row>
|
|
520
|
-
</Group>
|
|
521
|
-
<Group title="Banner" description="Banners that can convey a status with color and an optional icon. They render a description and optional heading. A `Banner.Link` can be used by wrapping it in `Banner.Text` and passing it to `description`. Target products can change colors via theming.">
|
|
522
|
-
<Column>
|
|
523
|
-
<Banner appearance="neutral" showIcon={false} description="Et sint Quis non excepturi enim et conseq atur porro est galisum labore ea volupt."/>
|
|
524
|
-
<Banner appearance="info" heading="Banner heading" description="Et sint Quis non excepturi enim et conseq atur porro est galisum labore ea volupt."/>
|
|
525
|
-
<Banner appearance="success" heading="Banner heading" description={<BannerPrimitive.Text>
|
|
526
|
-
Et sint Quis non excepturi{' '}
|
|
527
|
-
<BannerPrimitive.Link onPress={buttonPress}>
|
|
528
|
-
enim et conseq atur porro est
|
|
529
|
-
</BannerPrimitive.Link>{' '}
|
|
530
|
-
galisum labore ea volupt.
|
|
531
|
-
</BannerPrimitive.Text>}/>
|
|
532
|
-
<Banner appearance="warning" iconName="general.shieldExclamation" heading="13 members under age 13" description="Et sint Quis non excepturi enim et conseq atur porro est galisum labore ea volupt."/>
|
|
533
|
-
<Banner appearance="error" heading="Banner heading" description="Et sint Quis non excepturi enim et conseq atur porro est galisum labore ea volupt."/>
|
|
534
|
-
</Column>
|
|
535
|
-
</Group>
|
|
536
|
-
<Group title="BannerCollapsible" description="Same as `Banner` but takes children that can be hidden/revealed on a tap.">
|
|
537
|
-
<Column>
|
|
538
|
-
<BannerCollapsible appearance="neutral" showIcon={false} heading="Banner heading">
|
|
539
|
-
<BannerPrimitive.Text>
|
|
540
|
-
Et sint Quis non excepturi enim et conseq atur porro est galisum labore ea volupt.
|
|
541
|
-
</BannerPrimitive.Text>
|
|
542
|
-
</BannerCollapsible>
|
|
543
|
-
<BannerCollapsible appearance="info" heading="Banner heading">
|
|
544
|
-
<BannerPrimitive.Text>
|
|
545
|
-
Et sint Quis non excepturi enim et conseq atur porro est galisum labore ea volupt.
|
|
546
|
-
</BannerPrimitive.Text>
|
|
547
|
-
</BannerCollapsible>
|
|
548
|
-
<BannerCollapsible appearance="success" heading="Banner heading">
|
|
549
|
-
<BannerPrimitive.Text>
|
|
550
|
-
Et sint Quis non excepturi{' '}
|
|
551
|
-
<BannerPrimitive.Link onPress={buttonPress}>
|
|
552
|
-
enim et conseq atur porro est
|
|
553
|
-
</BannerPrimitive.Link>{' '}
|
|
554
|
-
galisum labore ea volupt.
|
|
555
|
-
</BannerPrimitive.Text>
|
|
556
|
-
</BannerCollapsible>
|
|
557
|
-
<BannerCollapsible appearance="warning" iconName="general.shieldExclamation" heading="13 members under age 13" description="Et sint Quis non excepturi enim et conse.">
|
|
558
|
-
<BannerPrimitive.Text>
|
|
559
|
-
More hdden content that can be revealed on a tap. Lorem ipsum dolor sit amet,
|
|
560
|
-
consectetur
|
|
561
|
-
</BannerPrimitive.Text>
|
|
562
|
-
</BannerCollapsible>
|
|
563
|
-
<BannerCollapsible appearance="error" heading="Banner heading" description="Et sint Quis non excepturi enim et conseq atur porro est galisum labore ea volupt.">
|
|
564
|
-
<BannerPrimitive.Text>
|
|
565
|
-
Et sint Quis non excepturi enim et conseq atur porro est galisum labore ea volupt. Et
|
|
566
|
-
sint Quis non excepturi enim et conseq atur porro est galisum labore ea volupt. Et
|
|
567
|
-
sint Quis non excepturi enim et .
|
|
568
|
-
</BannerPrimitive.Text>
|
|
569
|
-
</BannerCollapsible>
|
|
570
|
-
</Column>
|
|
571
|
-
</Group>
|
|
572
|
-
</CollapsableSection>);
|
|
100
|
+
return (_jsxs(CollapsableSection, { title: "Status components", isLast: isLast, children: [_jsxs(Group, { title: "Badge", description: "Badge that can convey a status and show an icon. It also supports a meta label and product logo for the conversation list and conversation header. Target products can change colors and hide the logo via theming.", children: [_jsxs(Row, { children: [_jsx(Badge, { label: "Neutral", appearance: "neutral" }), _jsx(Badge, { label: "Error", appearance: "error" }), _jsx(Badge, { label: "Info", appearance: "info" }), _jsx(Badge, { label: "Success", appearance: "success" }), _jsx(Badge, { label: "Warning", appearance: "warning" })] }), _jsxs(Row, { children: [_jsx(Badge, { label: "Neutral", appearance: "neutral", iconName: "general.star" }), _jsx(Badge, { label: "Error", appearance: "error", iconName: "general.exclamationTriangle" }), _jsx(Badge, { label: "Info", appearance: "info", iconName: "general.outlinedInfoCircle" }), _jsx(Badge, { label: "Success", appearance: "success", iconName: "general.check" }), _jsx(Badge, { label: "Warning", appearance: "warning", iconName: "general.shieldExclamation" })] }), _jsxs(Row, { children: [_jsx(Badge, { variant: "meta", productLogoName: "groups", label: "Group", metaLabel: "Worlds longest group name that will probably overflow if it gets very much longer" }), _jsx(Badge, { variant: "meta", productLogoName: "groups", label: "Group", metaLabel: "Young adults" }), _jsx(Badge, { variant: "meta", productLogoName: "services", label: "Plan", metaLabel: "June 19, 2025" }), _jsx(Badge, { variant: "meta", productLogoName: "services", label: "Team" })] }), _jsxs(Row, { children: [_jsx(Badge, { variant: "metaSubtle", productLogoName: "groups", label: "Group", metaLabel: "Worlds longest group name that will probably overflow if it gets very much longer" }), _jsx(Badge, { variant: "metaSubtle", productLogoName: "groups", label: "Group", metaLabel: "Young adults" }), _jsx(Badge, { variant: "metaSubtle", productLogoName: "services", label: "Plan", metaLabel: "June 19, 2025" }), _jsx(Badge, { variant: "metaSubtle", productLogoName: "services", label: "Team" })] })] }), _jsx(Group, { title: "Banner", description: "Banners that can convey a status with color and an optional icon. They render a description and optional heading. A `Banner.Link` can be used by wrapping it in `Banner.Text` and passing it to `description`. Target products can change colors via theming.", children: _jsxs(Column, { children: [_jsx(Banner, { appearance: "neutral", showIcon: false, description: "Et sint Quis non excepturi enim et conseq atur porro est galisum labore ea volupt." }), _jsx(Banner, { appearance: "info", heading: "Banner heading", description: "Et sint Quis non excepturi enim et conseq atur porro est galisum labore ea volupt." }), _jsx(Banner, { appearance: "success", heading: "Banner heading", description: _jsxs(BannerPrimitive.Text, { children: ["Et sint Quis non excepturi", ' ', _jsx(BannerPrimitive.Link, { onPress: buttonPress, children: "enim et conseq atur porro est" }), ' ', "galisum labore ea volupt."] }) }), _jsx(Banner, { appearance: "warning", iconName: "general.shieldExclamation", heading: "13 members under age 13", description: "Et sint Quis non excepturi enim et conseq atur porro est galisum labore ea volupt." }), _jsx(Banner, { appearance: "error", heading: "Banner heading", description: "Et sint Quis non excepturi enim et conseq atur porro est galisum labore ea volupt." })] }) }), _jsx(Group, { title: "BannerCollapsible", description: "Same as `Banner` but takes children that can be hidden/revealed on a tap.", children: _jsxs(Column, { children: [_jsx(BannerCollapsible, { appearance: "neutral", showIcon: false, heading: "Banner heading", children: _jsx(BannerPrimitive.Text, { children: "Et sint Quis non excepturi enim et conseq atur porro est galisum labore ea volupt." }) }), _jsx(BannerCollapsible, { appearance: "info", heading: "Banner heading", children: _jsx(BannerPrimitive.Text, { children: "Et sint Quis non excepturi enim et conseq atur porro est galisum labore ea volupt." }) }), _jsx(BannerCollapsible, { appearance: "success", heading: "Banner heading", children: _jsxs(BannerPrimitive.Text, { children: ["Et sint Quis non excepturi", ' ', _jsx(BannerPrimitive.Link, { onPress: buttonPress, children: "enim et conseq atur porro est" }), ' ', "galisum labore ea volupt."] }) }), _jsx(BannerCollapsible, { appearance: "warning", iconName: "general.shieldExclamation", heading: "13 members under age 13", description: "Et sint Quis non excepturi enim et conse.", children: _jsx(BannerPrimitive.Text, { children: "More hdden content that can be revealed on a tap. Lorem ipsum dolor sit amet, consectetur" }) }), _jsx(BannerCollapsible, { appearance: "error", heading: "Banner heading", description: "Et sint Quis non excepturi enim et conseq atur porro est galisum labore ea volupt.", children: _jsx(BannerPrimitive.Text, { children: "Et sint Quis non excepturi enim et conseq atur porro est galisum labore ea volupt. Et sint Quis non excepturi enim et conseq atur porro est galisum labore ea volupt. Et sint Quis non excepturi enim et ." }) })] }) })] }));
|
|
573
101
|
}
|
|
574
102
|
const FA_ICONS = [
|
|
575
103
|
{
|
|
@@ -636,18 +164,7 @@ const FA_ICONS = [
|
|
|
636
164
|
];
|
|
637
165
|
function FontAwesomeIconsSection({ isLast }) {
|
|
638
166
|
const { colors } = useTheme();
|
|
639
|
-
return (
|
|
640
|
-
{FA_ICONS.map(({ category, icons }) => (<Group key={category} title={category}>
|
|
641
|
-
<View style={faStyles.grid}>
|
|
642
|
-
{icons.map(name => (<View key={name} style={faStyles.cell}>
|
|
643
|
-
<FontAwesomeIcon icon={['fas', name]} size={20} color={colors.iconColorDefaultSecondary}/>
|
|
644
|
-
<Text variant="footnote" numberOfLines={1}>
|
|
645
|
-
{name}
|
|
646
|
-
</Text>
|
|
647
|
-
</View>))}
|
|
648
|
-
</View>
|
|
649
|
-
</Group>))}
|
|
650
|
-
</CollapsableSection>);
|
|
167
|
+
return (_jsx(CollapsableSection, { title: "FontAwesome Pro Icons", isLast: isLast, children: FA_ICONS.map(({ category, icons }) => (_jsx(Group, { title: category, children: _jsx(View, { style: faStyles.grid, children: icons.map(name => (_jsxs(View, { style: faStyles.cell, children: [_jsx(FontAwesomeIcon, { icon: ['fas', name], size: 20, color: colors.iconColorDefaultSecondary }), _jsx(Text, { variant: "footnote", numberOfLines: 1, children: name })] }, name))) }) }, category))) }));
|
|
651
168
|
}
|
|
652
169
|
const faStyles = StyleSheet.create({
|
|
653
170
|
grid: {
|
|
@@ -662,84 +179,44 @@ const faStyles = StyleSheet.create({
|
|
|
662
179
|
},
|
|
663
180
|
});
|
|
664
181
|
function MiscComponentsSection({ isLast }) {
|
|
665
|
-
return (
|
|
666
|
-
<Group title="Person" description="Takes a person object (`MemberResource` type) and displays an avatar, name, and badges. If person is a child we show a special badge and faded styles. Implomentation is based on a similar Chat Web component.">
|
|
667
|
-
<Column>
|
|
668
|
-
<Person person={personAdult}/>
|
|
669
|
-
<Person person={personChild}/>
|
|
670
|
-
</Column>
|
|
671
|
-
</Group>
|
|
672
|
-
<Group title="BlankState" description="Compound component with primitives to display imagary, heading, title, and a button.">
|
|
673
|
-
<Column>
|
|
674
|
-
<BlankState.Root>
|
|
675
|
-
<BlankState.Imagery name="general.outlinedTextMessage"/>
|
|
676
|
-
<BlankState.Content>
|
|
677
|
-
<BlankState.Heading>No messages</BlankState.Heading>
|
|
678
|
-
<BlankState.Text>
|
|
679
|
-
Conversation is hidden from everyone until you send a message.
|
|
680
|
-
</BlankState.Text>
|
|
681
|
-
</BlankState.Content>
|
|
682
|
-
<BlankState.Button onPress={buttonPress} title="Go back" accessibilityHint="Navigates back to the conversations list" accessibilityRole="link"/>
|
|
683
|
-
</BlankState.Root>
|
|
684
|
-
</Column>
|
|
685
|
-
</Group>
|
|
686
|
-
</CollapsableSection>);
|
|
182
|
+
return (_jsxs(CollapsableSection, { title: "Misc components", isLast: isLast, children: [_jsx(Group, { title: "Person", description: "Takes a person object (`MemberResource` type) and displays an avatar, name, and badges. If person is a child we show a special badge and faded styles. Implomentation is based on a similar Chat Web component.", children: _jsxs(Column, { children: [_jsx(Person, { person: personAdult }), _jsx(Person, { person: personChild })] }) }), _jsx(Group, { title: "BlankState", description: "Compound component with primitives to display imagary, heading, title, and a button.", children: _jsx(Column, { children: _jsxs(BlankState.Root, { children: [_jsx(BlankState.Imagery, { name: "general.outlinedTextMessage" }), _jsxs(BlankState.Content, { children: [_jsx(BlankState.Heading, { children: "No messages" }), _jsx(BlankState.Text, { children: "Conversation is hidden from everyone until you send a message." })] }), _jsx(BlankState.Button, { onPress: buttonPress, title: "Go back", accessibilityHint: "Navigates back to the conversations list", accessibilityRole: "link" })] }) }) })] }));
|
|
687
183
|
}
|
|
688
184
|
function CollapsableSection({ children, title, isLast = false }) {
|
|
689
185
|
const styles = useStyles();
|
|
690
186
|
const { colors } = useTheme();
|
|
691
187
|
const [collapsed, setCollapsed] = useState(true);
|
|
692
|
-
return (
|
|
693
|
-
<Pressable onPress={() => setCollapsed(!collapsed)} style={({ pressed }) => [styles.sectionHeader, pressed && platformPressedOpacityStyle]} android_ripple={{ color: colors.androidRippleNeutral, borderless: false, foreground: true }}>
|
|
694
|
-
<Heading>{title}</Heading>
|
|
695
|
-
<Icon name={collapsed ? 'general.plus' : 'general.minus'} size={16}/>
|
|
696
|
-
</Pressable>
|
|
697
|
-
{!collapsed && <View style={styles.sectionChildren}>{children}</View>}
|
|
698
|
-
</View>);
|
|
188
|
+
return (_jsxs(View, { style: [styles.section, styles.sectionBorderTop, isLast && styles.sectionBorderBottom], children: [_jsxs(Pressable, { onPress: () => setCollapsed(!collapsed), style: ({ pressed }) => [styles.sectionHeader, pressed && platformPressedOpacityStyle], android_ripple: { color: colors.androidRippleNeutral, borderless: false, foreground: true }, children: [_jsx(Heading, { children: title }), _jsx(Icon, { name: collapsed ? 'general.plus' : 'general.minus', size: 16 })] }), !collapsed && _jsx(View, { style: styles.sectionChildren, children: children })] }));
|
|
699
189
|
}
|
|
700
190
|
function Group({ title, description, children }) {
|
|
701
191
|
const styles = useStyles();
|
|
702
|
-
return (
|
|
703
|
-
<View style={styles.groupHeading}>
|
|
704
|
-
<Heading variant="h3">{title}</Heading>
|
|
705
|
-
{description && <Text variant="tertiary">{description}</Text>}
|
|
706
|
-
</View>
|
|
707
|
-
{children}
|
|
708
|
-
</View>);
|
|
192
|
+
return (_jsxs(View, { style: styles.group, children: [_jsxs(View, { style: styles.groupHeading, children: [_jsx(Heading, { variant: "h3", children: title }), description && _jsx(Text, { variant: "tertiary", children: description })] }), children] }));
|
|
709
193
|
}
|
|
710
194
|
function Row({ children, style }) {
|
|
711
195
|
const styles = useStyles();
|
|
712
|
-
return
|
|
196
|
+
return _jsx(View, { style: [styles.row, style], children: children });
|
|
713
197
|
}
|
|
714
198
|
function Column({ children, style }) {
|
|
715
199
|
const styles = useStyles();
|
|
716
|
-
return
|
|
200
|
+
return _jsx(View, { style: [styles.column, style], children: children });
|
|
717
201
|
}
|
|
718
202
|
function TextGroup({ children }) {
|
|
719
203
|
const styles = useStyles();
|
|
720
|
-
return
|
|
204
|
+
return _jsx(View, { style: styles.textGroup, children: children });
|
|
721
205
|
}
|
|
722
206
|
function TextRow({ children, style }) {
|
|
723
207
|
const styles = useStyles();
|
|
724
|
-
return
|
|
208
|
+
return _jsx(View, { style: [styles.textRow, style], children: children });
|
|
725
209
|
}
|
|
726
210
|
function TextListItem({ label, children }) {
|
|
727
211
|
const styles = useStyles();
|
|
728
|
-
return (
|
|
729
|
-
<Text variant="tertiary" style={styles.mediumWeight}>
|
|
730
|
-
{label}
|
|
731
|
-
</Text>{' '}
|
|
732
|
-
{children}
|
|
733
|
-
</Text>);
|
|
212
|
+
return (_jsxs(Text, { variant: "tertiary", children: [_jsx(Text, { variant: "tertiary", style: styles.mediumWeight, children: label }), ' ', children] }));
|
|
734
213
|
}
|
|
735
214
|
function HapticButton({ title, onPress }) {
|
|
736
215
|
const styles = useStyles();
|
|
737
|
-
return (
|
|
216
|
+
return (_jsx(Pressable, { onPress: onPress, style: ({ pressed }) => ({
|
|
738
217
|
...styles.hapticButton,
|
|
739
218
|
...{ opacity: pressed ? 0.5 : 1 },
|
|
740
|
-
})}
|
|
741
|
-
<Text style={styles.hapticButtonText}>{title}</Text>
|
|
742
|
-
</Pressable>);
|
|
219
|
+
}), children: _jsx(Text, { style: styles.hapticButtonText, children: title }) }));
|
|
743
220
|
}
|
|
744
221
|
// =================================
|
|
745
222
|
// ====== Styles ===================
|