@planningcenter/chat-react-native 4.4.1-qa-1036.2 → 4.4.1-qa-staging.42

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/build/components/conversation/message_list.d.ts.map +1 -1
  2. package/build/components/conversation/message_list.js +155 -123
  3. package/build/components/conversation/message_list.js.map +1 -1
  4. package/build/components/conversations/conversations.d.ts.map +1 -1
  5. package/build/components/conversations/conversations.js +1 -0
  6. package/build/components/conversations/conversations.js.map +1 -1
  7. package/build/components/display/filter_dropdown.d.ts +1 -0
  8. package/build/components/display/filter_dropdown.d.ts.map +1 -1
  9. package/build/components/display/filter_dropdown.js.map +1 -1
  10. package/build/components/display/keyboard_scroll_view.d.ts.map +1 -1
  11. package/build/components/display/keyboard_scroll_view.js +1 -0
  12. package/build/components/display/keyboard_scroll_view.js.map +1 -1
  13. package/build/components/page/page_error_boundary.d.ts +9 -1
  14. package/build/components/page/page_error_boundary.d.ts.map +1 -1
  15. package/build/components/page/page_error_boundary.js +56 -31
  16. package/build/components/page/page_error_boundary.js.map +1 -1
  17. package/build/navigation/index.d.ts.map +1 -1
  18. package/build/navigation/index.js +11 -3
  19. package/build/navigation/index.js.map +1 -1
  20. package/build/navigation/page_error_fallbacks.d.ts +7 -0
  21. package/build/navigation/page_error_fallbacks.d.ts.map +1 -0
  22. package/build/navigation/page_error_fallbacks.js +7 -0
  23. package/build/navigation/page_error_fallbacks.js.map +1 -0
  24. package/build/navigation/screenLayout.d.ts.map +1 -1
  25. package/build/navigation/screenLayout.js +21 -13
  26. package/build/navigation/screenLayout.js.map +1 -1
  27. package/build/screens/age_check/age_check_required_screen.d.ts.map +1 -1
  28. package/build/screens/age_check/age_check_required_screen.js +1 -0
  29. package/build/screens/age_check/age_check_required_screen.js.map +1 -1
  30. package/build/screens/conversation_details_screen.d.ts.map +1 -1
  31. package/build/screens/conversation_details_screen.js +1 -0
  32. package/build/screens/conversation_details_screen.js.map +1 -1
  33. package/build/screens/conversation_new/components/groups_form.js +25 -18
  34. package/build/screens/conversation_new/components/groups_form.js.map +1 -1
  35. package/build/screens/conversation_new/components/services_form.js +51 -40
  36. package/build/screens/conversation_new/components/services_form.js.map +1 -1
  37. package/build/screens/conversation_select_recipients/conversation_new_entry_screen.d.ts.map +1 -1
  38. package/build/screens/conversation_select_recipients/conversation_new_entry_screen.js +1 -0
  39. package/build/screens/conversation_select_recipients/conversation_new_entry_screen.js.map +1 -1
  40. package/build/screens/conversation_select_recipients/conversation_select_direct_message_recipients_screen.d.ts.map +1 -1
  41. package/build/screens/conversation_select_recipients/conversation_select_direct_message_recipients_screen.js +332 -291
  42. package/build/screens/conversation_select_recipients/conversation_select_direct_message_recipients_screen.js.map +1 -1
  43. package/build/screens/conversation_select_recipients/conversation_select_group_recipients_screen.d.ts.map +1 -1
  44. package/build/screens/conversation_select_recipients/conversation_select_group_recipients_screen.js +1 -0
  45. package/build/screens/conversation_select_recipients/conversation_select_group_recipients_screen.js.map +1 -1
  46. package/build/screens/conversation_select_recipients/conversation_select_teams_i_lead_recipients_screen.d.ts.map +1 -1
  47. package/build/screens/conversation_select_recipients/conversation_select_teams_i_lead_recipients_screen.js +1 -0
  48. package/build/screens/conversation_select_recipients/conversation_select_teams_i_lead_recipients_screen.js.map +1 -1
  49. package/build/screens/conversations/components/filter_dropdown_list_header_component.d.ts.map +1 -1
  50. package/build/screens/conversations/components/filter_dropdown_list_header_component.js +22 -7
  51. package/build/screens/conversations/components/filter_dropdown_list_header_component.js.map +1 -1
  52. package/build/screens/get_help_screen.js +56 -62
  53. package/build/screens/get_help_screen.js.map +1 -1
  54. package/build/screens/group_notification_settings_screen.js +3 -2
  55. package/build/screens/group_notification_settings_screen.js.map +1 -1
  56. package/build/screens/notification_settings_screen.d.ts.map +1 -1
  57. package/build/screens/notification_settings_screen.js +1 -0
  58. package/build/screens/notification_settings_screen.js.map +1 -1
  59. package/build/screens/preferred_app_selection_screen.js +45 -39
  60. package/build/screens/preferred_app_selection_screen.js.map +1 -1
  61. package/build/screens/search/components/search_results_list.d.ts +4 -1
  62. package/build/screens/search/components/search_results_list.d.ts.map +1 -1
  63. package/build/screens/search/components/search_results_list.js +136 -110
  64. package/build/screens/search/components/search_results_list.js.map +1 -1
  65. package/build/screens/search/search_screen.d.ts.map +1 -1
  66. package/build/screens/search/search_screen.js +21 -28
  67. package/build/screens/search/search_screen.js.map +1 -1
  68. package/build/screens/settings_screen.d.ts.map +1 -1
  69. package/build/screens/settings_screen.js +7 -6
  70. package/build/screens/settings_screen.js.map +1 -1
  71. package/build/utils/index.d.ts +1 -0
  72. package/build/utils/index.d.ts.map +1 -1
  73. package/build/utils/index.js +1 -0
  74. package/build/utils/index.js.map +1 -1
  75. package/build/utils/membership_sync_info_text.d.ts +2 -0
  76. package/build/utils/membership_sync_info_text.d.ts.map +1 -0
  77. package/build/utils/membership_sync_info_text.js +4 -0
  78. package/build/utils/membership_sync_info_text.js.map +1 -0
  79. package/package.json +3 -3
  80. package/src/__tests__/navigation/screen_layout.test.tsx +55 -0
  81. package/src/components/conversation/__tests__/message_list.test.tsx +4 -0
  82. package/src/components/conversation/message_list.tsx +6 -0
  83. package/src/components/conversations/conversations.tsx +1 -0
  84. package/src/components/display/filter_dropdown.tsx +1 -0
  85. package/src/components/display/keyboard_scroll_view.tsx +1 -0
  86. package/src/components/page/__tests__/page_error_boundary.test.tsx +33 -0
  87. package/src/components/page/page_error_boundary.tsx +43 -12
  88. package/src/navigation/index.tsx +11 -2
  89. package/src/navigation/page_error_fallbacks.ts +14 -0
  90. package/src/navigation/screenLayout.tsx +6 -3
  91. package/src/screens/age_check/age_check_required_screen.tsx +5 -1
  92. package/src/screens/conversation_details_screen.tsx +1 -0
  93. package/src/screens/conversation_new/components/groups_form.tsx +2 -2
  94. package/src/screens/conversation_new/components/services_form.tsx +2 -2
  95. package/src/screens/conversation_select_recipients/__tests__/conversation_select_direct_message_recipients_screen.test.tsx +100 -0
  96. package/src/screens/conversation_select_recipients/conversation_new_entry_screen.tsx +4 -1
  97. package/src/screens/conversation_select_recipients/conversation_select_direct_message_recipients_screen.tsx +78 -68
  98. package/src/screens/conversation_select_recipients/conversation_select_group_recipients_screen.tsx +1 -0
  99. package/src/screens/conversation_select_recipients/conversation_select_teams_i_lead_recipients_screen.tsx +1 -0
  100. package/src/screens/conversations/components/__tests__/filter_dropdown_list_header_component.test.tsx +59 -1
  101. package/src/screens/conversations/components/filter_dropdown_list_header_component.tsx +24 -9
  102. package/src/screens/get_help_screen.tsx +4 -4
  103. package/src/screens/group_notification_settings_screen.tsx +3 -3
  104. package/src/screens/notification_settings_screen.tsx +1 -0
  105. package/src/screens/preferred_app_selection_screen.tsx +4 -4
  106. package/src/screens/search/__tests__/search_screen.test.tsx +5 -7
  107. package/src/screens/search/components/__tests__/search_results_list.test.tsx +6 -2
  108. package/src/screens/search/components/search_results_list.tsx +34 -13
  109. package/src/screens/search/search_screen.tsx +8 -18
  110. package/src/screens/settings_screen.tsx +25 -25
  111. package/src/utils/__tests__/membership_sync_info_text.test.ts +15 -0
  112. package/src/utils/index.ts +1 -0
  113. package/src/utils/membership_sync_info_text.ts +3 -0
@@ -1 +1 @@
1
- {"version":3,"file":"filter_dropdown.js","names":["React","StyleSheet","View","useTheme","MAX_FONT_SIZE_MULTIPLIER_LANDMARK","Menu","platformFontWeightBold","tokens","Icon","PopoverMenuView","Text","jsx","_jsx","jsxs","_jsxs","MORE_FILTERS_ID","MORE_FILTERS_LABEL","FilterDropdown","t0","$","_c","options","selectedId","onSelect","onMoreFilters","triggerLabel","showMoreFilters","t1","maxWidth","undefined","styles","useStyles","MenuView","t2","t3","option","id","title","label","state","optionActions","map","t4","Symbol","for","displayInline","subactions","moreFiltersAction","actions","nativeEvent","event","handlePressAction","FilterDropdownTrigger","accessible","accessibilityRole","accessibilityHint","t5","container","style","children","viewProps","trigger","numberOfLines","triggerIcon","name","accessibilityElementsHidden","colors","iconColorDefaultPrimary","textColorDefaultPrimary","create","alignSelf","flexDirection","alignItems","gap","paddingVertical","flexShrink","fontWeight","color","fontSize","fontSizeSm"],"sources":["../../../src/components/display/filter_dropdown.tsx"],"sourcesContent":["import React from 'react'\nimport { LayoutChangeEvent, StyleSheet, View } from 'react-native'\nimport { useTheme } from '../../hooks'\nimport {\n MAX_FONT_SIZE_MULTIPLIER_LANDMARK,\n Menu,\n MenuAction,\n MenuActionEvent,\n platformFontWeightBold,\n} from '../../utils'\nimport { tokens } from '../../vendor/tapestry/tokens'\nimport { Icon } from './icon'\nimport { PopoverMenuView } from './popover_menu_view'\nimport { Text } from './text'\n\n// =================================\n// ====== Constants ================\n// =================================\n\nconst MORE_FILTERS_ID = 'more_filters'\nconst MORE_FILTERS_LABEL = 'More filters'\n\n// =================================\n// ====== Component ================\n// =================================\n\nexport interface FilterDropdownOption {\n id: string\n label: string\n}\n\nexport interface FilterDropdownProps {\n options: FilterDropdownOption[]\n selectedId: string\n onSelect: (id: string) => void\n onMoreFilters: () => void\n triggerLabel: string\n showMoreFilters?: boolean\n /**\n * Widest the trigger may render, in points. Hosts that measure the trigger at its intrinsic\n * width need this for the label to truncate.\n */\n maxWidth?: number\n}\n\nexport function FilterDropdown({\n options,\n selectedId,\n onSelect,\n onMoreFilters,\n triggerLabel,\n showMoreFilters = true,\n maxWidth,\n}: FilterDropdownProps) {\n const styles = useStyles()\n const MenuView = Menu.View ?? PopoverMenuView\n\n const optionActions: MenuAction[] = options.map(option => ({\n id: option.id,\n title: option.label,\n state: option.id === selectedId ? ('on' as const) : ('off' as const),\n }))\n const moreFiltersAction: MenuAction = {\n id: MORE_FILTERS_ID,\n title: '',\n displayInline: true,\n subactions: [{ id: MORE_FILTERS_ID, title: MORE_FILTERS_LABEL }],\n }\n const actions = showMoreFilters ? [...optionActions, moreFiltersAction] : optionActions\n\n const handlePressAction = ({ nativeEvent }: MenuActionEvent) => {\n if (nativeEvent.event === MORE_FILTERS_ID) {\n onMoreFilters()\n } else {\n onSelect(nativeEvent.event)\n }\n }\n\n return (\n <MenuView actions={actions} onPressAction={handlePressAction} style={styles.container}>\n <FilterDropdownTrigger\n label={triggerLabel}\n maxWidth={maxWidth}\n accessible\n accessibilityRole=\"button\"\n accessibilityHint=\"Opens filter options\"\n />\n </MenuView>\n )\n}\n\n// =================================\n// ====== Trigger ==================\n// =================================\n\nexport interface FilterDropdownTriggerProps {\n label: string\n maxWidth?: number\n accessible?: boolean\n accessibilityRole?: 'button'\n accessibilityHint?: string\n accessibilityElementsHidden?: boolean\n importantForAccessibility?: 'no-hide-descendants'\n onLayout?: (event: LayoutChangeEvent) => void\n}\n\n/**\n * The label and chevron the dropdown opens from. Exported so a screen can render a hidden copy\n * to measure how wide a label is at the current font scale.\n */\nexport function FilterDropdownTrigger({\n label,\n maxWidth,\n ...viewProps\n}: FilterDropdownTriggerProps) {\n const styles = useStyles()\n\n return (\n <View style={[styles.trigger, maxWidth !== undefined && { maxWidth }]} {...viewProps}>\n <Text\n style={styles.triggerLabel}\n numberOfLines={1}\n maxFontSizeMultiplier={MAX_FONT_SIZE_MULTIPLIER_LANDMARK}\n >\n {label}\n </Text>\n <Icon\n name=\"general.downChevron\"\n style={styles.triggerIcon}\n maxFontSizeMultiplier={MAX_FONT_SIZE_MULTIPLIER_LANDMARK}\n accessibilityElementsHidden\n />\n </View>\n )\n}\n\n// =================================\n// ====== Styles ===================\n// =================================\n\nconst useStyles = () => {\n const { colors } = useTheme()\n\n return StyleSheet.create({\n container: {\n alignSelf: 'flex-start',\n },\n trigger: {\n flexDirection: 'row',\n alignItems: 'center',\n gap: 6,\n paddingVertical: 4,\n },\n triggerLabel: {\n flexShrink: 1,\n fontWeight: platformFontWeightBold,\n color: colors.textColorDefaultPrimary,\n },\n triggerIcon: {\n fontSize: tokens.fontSizeSm,\n color: colors.iconColorDefaultPrimary,\n },\n })\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"filter_dropdown.js","names":["React","StyleSheet","View","useTheme","MAX_FONT_SIZE_MULTIPLIER_LANDMARK","Menu","platformFontWeightBold","tokens","Icon","PopoverMenuView","Text","jsx","_jsx","jsxs","_jsxs","MORE_FILTERS_ID","MORE_FILTERS_LABEL","FilterDropdown","t0","$","_c","options","selectedId","onSelect","onMoreFilters","triggerLabel","showMoreFilters","t1","maxWidth","undefined","styles","useStyles","MenuView","t2","t3","option","id","title","label","state","optionActions","map","t4","Symbol","for","displayInline","subactions","moreFiltersAction","actions","nativeEvent","event","handlePressAction","FilterDropdownTrigger","accessible","accessibilityRole","accessibilityHint","t5","container","style","children","viewProps","trigger","numberOfLines","triggerIcon","name","accessibilityElementsHidden","colors","iconColorDefaultPrimary","textColorDefaultPrimary","create","alignSelf","flexDirection","alignItems","gap","paddingVertical","flexShrink","fontWeight","color","fontSize","fontSizeSm"],"sources":["../../../src/components/display/filter_dropdown.tsx"],"sourcesContent":["import React from 'react'\nimport { LayoutChangeEvent, StyleSheet, View } from 'react-native'\nimport { useTheme } from '../../hooks'\nimport {\n MAX_FONT_SIZE_MULTIPLIER_LANDMARK,\n Menu,\n MenuAction,\n MenuActionEvent,\n platformFontWeightBold,\n} from '../../utils'\nimport { tokens } from '../../vendor/tapestry/tokens'\nimport { Icon } from './icon'\nimport { PopoverMenuView } from './popover_menu_view'\nimport { Text } from './text'\n\n// =================================\n// ====== Constants ================\n// =================================\n\nconst MORE_FILTERS_ID = 'more_filters'\nconst MORE_FILTERS_LABEL = 'More filters'\n\n// =================================\n// ====== Component ================\n// =================================\n\nexport interface FilterDropdownOption {\n id: string\n label: string\n}\n\nexport interface FilterDropdownProps {\n options: FilterDropdownOption[]\n selectedId: string\n onSelect: (id: string) => void\n onMoreFilters: () => void\n triggerLabel: string\n showMoreFilters?: boolean\n /**\n * Widest the trigger may render, in points. Hosts that measure the trigger at its intrinsic\n * width need this for the label to truncate.\n */\n maxWidth?: number\n}\n\nexport function FilterDropdown({\n options,\n selectedId,\n onSelect,\n onMoreFilters,\n triggerLabel,\n showMoreFilters = true,\n maxWidth,\n}: FilterDropdownProps) {\n const styles = useStyles()\n const MenuView = Menu.View ?? PopoverMenuView\n\n const optionActions: MenuAction[] = options.map(option => ({\n id: option.id,\n title: option.label,\n state: option.id === selectedId ? ('on' as const) : ('off' as const),\n }))\n const moreFiltersAction: MenuAction = {\n id: MORE_FILTERS_ID,\n title: '',\n displayInline: true,\n subactions: [{ id: MORE_FILTERS_ID, title: MORE_FILTERS_LABEL }],\n }\n const actions = showMoreFilters ? [...optionActions, moreFiltersAction] : optionActions\n\n const handlePressAction = ({ nativeEvent }: MenuActionEvent) => {\n if (nativeEvent.event === MORE_FILTERS_ID) {\n onMoreFilters()\n } else {\n onSelect(nativeEvent.event)\n }\n }\n\n return (\n <MenuView actions={actions} onPressAction={handlePressAction} style={styles.container}>\n <FilterDropdownTrigger\n label={triggerLabel}\n maxWidth={maxWidth}\n accessible\n accessibilityRole=\"button\"\n accessibilityHint=\"Opens filter options\"\n />\n </MenuView>\n )\n}\n\n// =================================\n// ====== Trigger ==================\n// =================================\n\nexport interface FilterDropdownTriggerProps {\n label: string\n maxWidth?: number\n accessible?: boolean\n accessibilityRole?: 'button'\n accessibilityHint?: string\n accessibilityElementsHidden?: boolean\n importantForAccessibility?: 'no-hide-descendants'\n onLayout?: (event: LayoutChangeEvent) => void\n testID?: string\n}\n\n/**\n * The label and chevron the dropdown opens from. Exported so a screen can render a hidden copy\n * to measure how wide a label is at the current font scale.\n */\nexport function FilterDropdownTrigger({\n label,\n maxWidth,\n ...viewProps\n}: FilterDropdownTriggerProps) {\n const styles = useStyles()\n\n return (\n <View style={[styles.trigger, maxWidth !== undefined && { maxWidth }]} {...viewProps}>\n <Text\n style={styles.triggerLabel}\n numberOfLines={1}\n maxFontSizeMultiplier={MAX_FONT_SIZE_MULTIPLIER_LANDMARK}\n >\n {label}\n </Text>\n <Icon\n name=\"general.downChevron\"\n style={styles.triggerIcon}\n maxFontSizeMultiplier={MAX_FONT_SIZE_MULTIPLIER_LANDMARK}\n accessibilityElementsHidden\n />\n </View>\n )\n}\n\n// =================================\n// ====== Styles ===================\n// =================================\n\nconst useStyles = () => {\n const { colors } = useTheme()\n\n return StyleSheet.create({\n container: {\n alignSelf: 'flex-start',\n },\n trigger: {\n flexDirection: 'row',\n alignItems: 'center',\n gap: 6,\n paddingVertical: 4,\n },\n triggerLabel: {\n flexShrink: 1,\n fontWeight: platformFontWeightBold,\n color: colors.textColorDefaultPrimary,\n },\n triggerIcon: {\n fontSize: tokens.fontSizeSm,\n color: colors.iconColorDefaultPrimary,\n },\n })\n}\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAA4BC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAClE,SAASC,QAAQ,QAAQ,aAAa;AACtC,SACEC,iCAAiC,EACjCC,IAAI,EAGJC,sBAAsB,QACjB,aAAa;AACpB,SAASC,MAAM,QAAQ,8BAA8B;AACrD,SAASC,IAAI,QAAQ,QAAQ;AAC7B,SAASC,eAAe,QAAQ,qBAAqB;AACrD,SAASC,IAAI,QAAQ,QAAQ;;AAE7B;AACA;AACA;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAEA,MAAMC,eAAe,GAAG,cAAc;AACtC,MAAMC,kBAAkB,GAAG,cAAc;;AAEzC;AACA;AACA;;AAqBA,OAAO,SAAAC,eAAAC,EAAA;EAAA,MAAAC,CAAA,GAAAC,EAAA;EAAwB;IAAAC,OAAA;IAAAC,UAAA;IAAAC,QAAA;IAAAC,aAAA;IAAAC,YAAA;IAAAC,eAAA,EAAAC,EAAA;IAAAC;EAAA,IAAAV,EAQT;EAFpB,MAAAQ,eAAA,GAAAC,EAAsB,KAAtBE,SAAsB,GAAtB,IAAsB,GAAtBF,EAAsB;EAGtB,MAAAG,MAAA,GAAeC,SAAS,CAAC,CAAC;EAC1B,MAAAC,QAAA,GAAiB3B,IAAI,CAAAH,IAAwB,IAA5BO,eAA4B;EAAA,IAAAwB,EAAA;EAAA,IAAAd,CAAA,QAAAE,OAAA,IAAAF,CAAA,QAAAG,UAAA,IAAAH,CAAA,QAAAO,eAAA;IAAA,IAAAQ,EAAA;IAAA,IAAAf,CAAA,QAAAG,UAAA;MAEGY,EAAA,GAAAC,MAAA,KAAW;QAAAC,EAAA,EACrDD,MAAM,CAAAC,EAAG;QAAAC,KAAA,EACNF,MAAM,CAAAG,KAAM;QAAAC,KAAA,EACZJ,MAAM,CAAAC,EAAG,KAAKd,UAA+C,GAAjC,IAAI,GAAc;MACvD,CAAC,CAAC;MAAAH,CAAA,MAAAG,UAAA;MAAAH,CAAA,MAAAe,EAAA;IAAA;MAAAA,EAAA,GAAAf,CAAA;IAAA;IAJF,MAAAqB,aAAA,GAAoCnB,OAAO,CAAAoB,GAAI,CAACP,EAI9C,CAAC;IAAA,IAAAQ,EAAA;IAAA,IAAAvB,CAAA,QAAAwB,MAAA,CAAAC,GAAA;MACmCF,EAAA;QAAAN,EAAA,EAChCrB,eAAe;QAAAsB,KAAA,EACZ,EAAE;QAAAQ,aAAA,EACM,IAAI;QAAAC,UAAA,EACP,CAAC;UAAAV,EAAA,EAAMrB,eAAe;UAAAsB,KAAA,EAASrB;QAAmB,CAAC;MACjE,CAAC;MAAAG,CAAA,MAAAuB,EAAA;IAAA;MAAAA,EAAA,GAAAvB,CAAA;IAAA;IALD,MAAA4B,iBAAA,GAAsCL,EAKrC;IACeT,EAAA,GAAAP,eAAe,GAAf,IAAsBc,aAAa,EAAEO,iBAAiB,CAAiB,GAAvEP,aAAuE;IAAArB,CAAA,MAAAE,OAAA;IAAAF,CAAA,MAAAG,UAAA;IAAAH,CAAA,MAAAO,eAAA;IAAAP,CAAA,MAAAc,EAAA;EAAA;IAAAA,EAAA,GAAAd,CAAA;EAAA;EAAvF,MAAA6B,OAAA,GAAgBf,EAAuE;EAAA,IAAAC,EAAA;EAAA,IAAAf,CAAA,QAAAK,aAAA,IAAAL,CAAA,QAAAI,QAAA;IAE7DW,EAAA,GAAAQ,EAAA;MAAC;QAAAO;MAAA,IAAAP,EAAgC;MACzD,IAAIO,WAAW,CAAAC,KAAM,KAAKnC,eAAe;QACvCS,aAAa,CAAC,CAAC;MAAA;QAEfD,QAAQ,CAAC0B,WAAW,CAAAC,KAAM,CAAC;MAAA;IAC5B,CACF;IAAA/B,CAAA,MAAAK,aAAA;IAAAL,CAAA,MAAAI,QAAA;IAAAJ,CAAA,MAAAe,EAAA;EAAA;IAAAA,EAAA,GAAAf,CAAA;EAAA;EAND,MAAAgC,iBAAA,GAA0BjB,EAMzB;EAAA,IAAAQ,EAAA;EAAA,IAAAvB,CAAA,SAAAS,QAAA,IAAAT,CAAA,SAAAM,YAAA;IAIGiB,EAAA,gBAAA9B,IAAA,CAACwC,qBAAqB;MACb3B,KAAY,EAAZA,YAAY;MACTG,QAAQ,EAARA,QAAQ;MAClByB,UAAU,EAAV,IAAU;MACQC,iBAAQ,EAAR,QAAQ;MACRC,iBAAsB,EAAtB;IAAsB,CACzC,CAAC;IAAApC,CAAA,OAAAS,QAAA;IAAAT,CAAA,OAAAM,YAAA;IAAAN,CAAA,OAAAuB,EAAA;EAAA;IAAAA,EAAA,GAAAvB,CAAA;EAAA;EAAA,IAAAqC,EAAA;EAAA,IAAArC,CAAA,SAAA6B,OAAA,IAAA7B,CAAA,SAAAgC,iBAAA,IAAAhC,CAAA,SAAAW,MAAA,CAAA2B,SAAA,IAAAtC,CAAA,SAAAuB,EAAA;IAPJc,EAAA,gBAAA5C,IAAA,CAACoB,QAAQ;MAAUgB,OAAO,EAAPA,OAAO;MAAiBG,aAAiB,EAAjBA,iBAAiB;MAASO,KAAgB,EAAhB5B,MAAM,CAAA2B,SAAU;MAAAE,QAAA,EACnFjB;IAME,CACM,CAAC;IAAAvB,CAAA,OAAA6B,OAAA;IAAA7B,CAAA,OAAAgC,iBAAA;IAAAhC,CAAA,OAAAW,MAAA,CAAA2B,SAAA;IAAAtC,CAAA,OAAAuB,EAAA;IAAAvB,CAAA,OAAAqC,EAAA;EAAA;IAAAA,EAAA,GAAArC,CAAA;EAAA;EAAA,OARXqC,EAQW;AAAA;;AAIf;AACA;AACA;;AAcA;AACA;AACA;AACA;AACA,OAAO,SAAAJ,sBAAAlC,EAAA;EAAA,MAAAC,CAAA,GAAAC,EAAA;EAAA,IAAAkB,KAAA;EAAA,IAAAV,QAAA;EAAA,IAAAgC,SAAA;EAAA,IAAAzC,CAAA,QAAAD,EAAA;IAA+B;MAAAoB,KAAA;MAAAV,QAAA;MAAA,GAAAgC;IAAA,IAAA1C,EAIT;IAAAC,CAAA,MAAAD,EAAA;IAAAC,CAAA,MAAAmB,KAAA;IAAAnB,CAAA,MAAAS,QAAA;IAAAT,CAAA,MAAAyC,SAAA;EAAA;IAAAtB,KAAA,GAAAnB,CAAA;IAAAS,QAAA,GAAAT,CAAA;IAAAyC,SAAA,GAAAzC,CAAA;EAAA;EAC3B,MAAAW,MAAA,GAAeC,SAAS,CAAC,CAAC;EAAA,IAAAJ,EAAA;EAAA,IAAAR,CAAA,QAAAS,QAAA;IAGMD,EAAA,GAAAC,QAAQ,KAAKC,SAAyB,IAAtC;MAAAD;IAAqC,CAAC;IAAAT,CAAA,MAAAS,QAAA;IAAAT,CAAA,MAAAQ,EAAA;EAAA;IAAAA,EAAA,GAAAR,CAAA;EAAA;EAAA,IAAAc,EAAA;EAAA,IAAAd,CAAA,QAAAW,MAAA,CAAA+B,OAAA,IAAA1C,CAAA,QAAAQ,EAAA;IAAvDM,EAAA,IAACH,MAAM,CAAA+B,OAAQ,EAAElC,EAAsC,CAAC;IAAAR,CAAA,MAAAW,MAAA,CAAA+B,OAAA;IAAA1C,CAAA,MAAAQ,EAAA;IAAAR,CAAA,MAAAc,EAAA;EAAA;IAAAA,EAAA,GAAAd,CAAA;EAAA;EAAA,IAAAe,EAAA;EAAA,IAAAf,CAAA,QAAAmB,KAAA,IAAAnB,CAAA,SAAAW,MAAA,CAAAL,YAAA;IACnES,EAAA,gBAAAtB,IAAA,CAACF,IAAI;MACIgD,KAAmB,EAAnB5B,MAAM,CAAAL,YAAa;MACXqC,aAAC,EAAD,CAAC;MACO1D,qBAAiC,EAAjCA,iCAAiC;MAAAuD,QAAA,EAEvDrB;IAAK,CACF,CAAC;IAAAnB,CAAA,MAAAmB,KAAA;IAAAnB,CAAA,OAAAW,MAAA,CAAAL,YAAA;IAAAN,CAAA,OAAAe,EAAA;EAAA;IAAAA,EAAA,GAAAf,CAAA;EAAA;EAAA,IAAAuB,EAAA;EAAA,IAAAvB,CAAA,SAAAW,MAAA,CAAAiC,WAAA;IACPrB,EAAA,gBAAA9B,IAAA,CAACJ,IAAI;MACEwD,IAAqB,EAArB,qBAAqB;MACnBN,KAAkB,EAAlB5B,MAAM,CAAAiC,WAAY;MACF3D,qBAAiC,EAAjCA,iCAAiC;MACxD6D,2BAA2B,EAA3B;IAA2B,CAC5B,CAAC;IAAA9C,CAAA,OAAAW,MAAA,CAAAiC,WAAA;IAAA5C,CAAA,OAAAuB,EAAA;EAAA;IAAAA,EAAA,GAAAvB,CAAA;EAAA;EAAA,IAAAqC,EAAA;EAAA,IAAArC,CAAA,SAAAc,EAAA,IAAAd,CAAA,SAAAe,EAAA,IAAAf,CAAA,SAAAuB,EAAA,IAAAvB,CAAA,SAAAyC,SAAA;IAbJJ,EAAA,gBAAA1C,KAAA,CAACZ,IAAI;MAAQwD,KAAwD,EAAxDzB,EAAwD;MAAA,GAAM2B,SAAS;MAAAD,QAAA,GAClFzB,EAMO,EACPQ,EAKE;IAAA,CACE,CAAC;IAAAvB,CAAA,OAAAc,EAAA;IAAAd,CAAA,OAAAe,EAAA;IAAAf,CAAA,OAAAuB,EAAA;IAAAvB,CAAA,OAAAyC,SAAA;IAAAzC,CAAA,OAAAqC,EAAA;EAAA;IAAAA,EAAA,GAAArC,CAAA;EAAA;EAAA,OAdPqC,EAcO;AAAA;;AAIX;AACA;AACA;;AAEA,MAAMzB,SAAS,GAAGA,CAAA;EAAA,MAAAZ,CAAA,GAAAC,EAAA;EAChB;IAAA8C;EAAA,IAAmB/D,QAAQ,CAAC,CAAC;EAAA,IAAAe,EAAA;EAAA,IAAAC,CAAA,QAAA+C,MAAA,CAAAC,uBAAA,IAAAhD,CAAA,QAAA+C,MAAA,CAAAE,uBAAA;IAEtBlD,EAAA,GAAAjB,UAAU,CAAAoE,MAAO,CAAC;MAAAZ,SAAA,EACZ;QAAAa,SAAA,EACE;MACb,CAAC;MAAAT,OAAA,EACQ;QAAAU,aAAA,EACQ,KAAK;QAAAC,UAAA,EACR,QAAQ;QAAAC,GAAA,EACf,CAAC;QAAAC,eAAA,EACW;MACnB,CAAC;MAAAjD,YAAA,EACa;QAAAkD,UAAA,EACA,CAAC;QAAAC,UAAA,EACDtE,sBAAsB;QAAAuE,KAAA,EAC3BX,MAAM,CAAAE;MACf,CAAC;MAAAL,WAAA,EACY;QAAAe,QAAA,EACDvE,MAAM,CAAAwE,UAAW;QAAAF,KAAA,EACpBX,MAAM,CAAAC;MACf;IACF,CAAC,CAAC;IAAAhD,CAAA,MAAA+C,MAAA,CAAAC,uBAAA;IAAAhD,CAAA,MAAA+C,MAAA,CAAAE,uBAAA;IAAAjD,CAAA,MAAAD,EAAA;EAAA;IAAAA,EAAA,GAAAC,CAAA;EAAA;EAAA,OAnBKD,EAmBL;AAAA,CACH","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"keyboard_scroll_view.d.ts","sourceRoot":"","sources":["../../../src/components/display/keyboard_scroll_view.tsx"],"names":[],"mappings":"AACA,OAAO,EAAwB,eAAe,EAAa,MAAM,cAAc,CAAA;AAK/E,KAAK,uBAAuB,GAAG,IAAI,CAAC,eAAe,EAAE,UAAU,GAAG,uBAAuB,CAAC,CAAA;AAE1F,wBAAgB,kBAAkB,CAAC,EAAE,QAAQ,EAAE,qBAAqB,EAAE,EAAE,uBAAuB,2CA6C9F"}
1
+ {"version":3,"file":"keyboard_scroll_view.d.ts","sourceRoot":"","sources":["../../../src/components/display/keyboard_scroll_view.tsx"],"names":[],"mappings":"AACA,OAAO,EAAwB,eAAe,EAAa,MAAM,cAAc,CAAA;AAK/E,KAAK,uBAAuB,GAAG,IAAI,CAAC,eAAe,EAAE,UAAU,GAAG,uBAAuB,CAAC,CAAA;AAE1F,wBAAgB,kBAAkB,CAAC,EAAE,QAAQ,EAAE,qBAAqB,EAAE,EAAE,uBAAuB,2CA8C9F"}
@@ -53,6 +53,7 @@ export function KeyboardScrollView(t0) {
53
53
  t2 = /*#__PURE__*/_jsx(KeyboardView, {
54
54
  children: /*#__PURE__*/_jsx(ScrollView, {
55
55
  ref: scrollViewRef,
56
+ contentInsetAdjustmentBehavior: "automatic",
56
57
  contentContainerStyle: contentContainerStyle,
57
58
  onLayout: scrollFocusedInputIntoView,
58
59
  onContentSizeChange: scrollFocusedInputIntoView,
@@ -1 +1 @@
1
- {"version":3,"file":"keyboard_scroll_view.js","names":["React","useCallback","useRef","Keyboard","ScrollView","TextInput","KeyboardView","jsx","_jsx","FOCUSED_INPUT_BOTTOM_MARGIN","KeyboardScrollView","t0","$","_c","children","contentContainerStyle","scrollViewRef","t1","Symbol","for","scrollView","current","input","State","currentlyFocusedInput","nativeScrollView","getNativeScrollRef","innerView","getInnerViewRef","measureInWindow","_scrollX","scrollTop","_scrollWidth","scrollHeight","keyboardTop","metrics","screenY","scrollBottom","visibleBottom","undefined","Math","min","visibleHeight","_inputX","inputTop","_inputWidth","inputHeight","inputBottom","measureLayout","_left","contentTop","_contentWidth","contentHeight","scrollTo","y","animated","scrollFocusedInputIntoView","t2"],"sources":["../../../src/components/display/keyboard_scroll_view.tsx"],"sourcesContent":["import React, { useCallback, useRef } from 'react'\nimport { Keyboard, ScrollView, ScrollViewProps, TextInput } from 'react-native'\nimport { KeyboardView } from './keyboard_view'\n\nconst FOCUSED_INPUT_BOTTOM_MARGIN = 32\n\ntype KeyboardScrollViewProps = Pick<ScrollViewProps, 'children' | 'contentContainerStyle'>\n\nexport function KeyboardScrollView({ children, contentContainerStyle }: KeyboardScrollViewProps) {\n const scrollViewRef = useRef<ScrollView>(null)\n\n const scrollFocusedInputIntoView = useCallback(() => {\n const scrollView = scrollViewRef.current\n const input = TextInput.State.currentlyFocusedInput()\n if (!scrollView || !input) return\n\n const nativeScrollView = scrollView.getNativeScrollRef()\n const innerView = scrollView.getInnerViewRef()\n if (!nativeScrollView || !innerView) return\n\n nativeScrollView.measureInWindow((_scrollX, scrollTop, _scrollWidth, scrollHeight) => {\n const keyboardTop = Keyboard.metrics()?.screenY\n const scrollBottom = scrollTop + scrollHeight\n const visibleBottom =\n keyboardTop === undefined ? scrollBottom : Math.min(scrollBottom, keyboardTop)\n const visibleHeight = visibleBottom - scrollTop\n\n input.measureInWindow((_inputX, inputTop, _inputWidth, inputHeight) => {\n const inputBottom = inputTop + inputHeight + FOCUSED_INPUT_BOTTOM_MARGIN\n if (inputBottom <= visibleBottom) return\n\n input.measureLayout(innerView, (_left, contentTop, _contentWidth, contentHeight) => {\n scrollView.scrollTo({\n y: contentTop + contentHeight + FOCUSED_INPUT_BOTTOM_MARGIN - visibleHeight,\n animated: true,\n })\n })\n })\n })\n }, [])\n\n return (\n <KeyboardView>\n <ScrollView\n ref={scrollViewRef}\n contentContainerStyle={contentContainerStyle}\n onLayout={scrollFocusedInputIntoView}\n onContentSizeChange={scrollFocusedInputIntoView}\n >\n {children}\n </ScrollView>\n </KeyboardView>\n )\n}\n"],"mappings":";AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,MAAM,QAAQ,OAAO;AAClD,SAASC,QAAQ,EAAEC,UAAU,EAAmBC,SAAS,QAAQ,cAAc;AAC/E,SAASC,YAAY,QAAQ,iBAAiB;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAE9C,MAAMC,2BAA2B,GAAG,EAAE;AAItC,OAAO,SAAAC,mBAAAC,EAAA;EAAA,MAAAC,CAAA,GAAAC,EAAA;EAA4B;IAAAC,QAAA;IAAAC;EAAA,IAAAJ,EAA4D;EAC7F,MAAAK,aAAA,GAAsBd,MAAM,CAAa,IAAI,CAAC;EAAA,IAAAe,EAAA;EAAA,IAAAL,CAAA,QAAAM,MAAA,CAAAC,GAAA;IAECF,EAAA,GAAAA,CAAA;MAC7C,MAAAG,UAAA,GAAmBJ,aAAa,CAAAK,OAAQ;MACxC,MAAAC,KAAA,GAAcjB,SAAS,CAAAkB,KAAM,CAAAC,qBAAsB,CAAC,CAAC;MACrD,IAAI,CAACJ,UAAoB,IAArB,CAAgBE,KAAK;QAAA;MAAA;MAEzB,MAAAG,gBAAA,GAAyBL,UAAU,CAAAM,kBAAmB,CAAC,CAAC;MACxD,MAAAC,SAAA,GAAkBP,UAAU,CAAAQ,eAAgB,CAAC,CAAC;MAC9C,IAAI,CAACH,gBAA8B,IAA/B,CAAsBE,SAAS;QAAA;MAAA;MAEnCF,gBAAgB,CAAAI,eAAgB,CAAC,CAAAC,QAAA,EAAAC,SAAA,EAAAC,YAAA,EAAAC,YAAA;QAC/B,MAAAC,WAAA,GAAoB/B,QAAQ,CAAAgC,OAAQ,CAAU,CAAC,EAAAC,OAAA;QAC/C,MAAAC,YAAA,GAAqBN,SAAS,GAAGE,YAAY;QAC7C,MAAAK,aAAA,GACEJ,WAAW,KAAKK,SAA8D,GAA9EF,YAA8E,GAAnCG,IAAI,CAAAC,GAAI,CAACJ,YAAY,EAAEH,WAAW,CAAC;QAChF,MAAAQ,aAAA,GAAsBJ,aAAa,GAAGP,SAAS;QAE/CT,KAAK,CAAAO,eAAgB,CAAC,CAAAc,OAAA,EAAAC,QAAA,EAAAC,WAAA,EAAAC,WAAA;UACpB,MAAAC,WAAA,GAAoBH,QAAQ,GAAGE,WAAW,GAAGrC,2BAA2B;UACxE,IAAIsC,WAAW,IAAIT,aAAa;YAAA;UAAA;UAEhChB,KAAK,CAAA0B,aAAc,CAACrB,SAAS,EAAE,CAAAsB,KAAA,EAAAC,UAAA,EAAAC,aAAA,EAAAC,aAAA;YAC7BhC,UAAU,CAAAiC,QAAS,CAAC;cAAAC,CAAA,EACfJ,UAAU,GAAGE,aAAa,GAAG3C,2BAA2B,GAAGiC,aAAa;cAAAa,QAAA,EACjE;YACZ,CAAC,CAAC;UAAA,CACH,CAAC;QAAA,CACH,CAAC;MAAA,CACH,CAAC;IAAA,CACH;IAAA3C,CAAA,MAAAK,EAAA;EAAA;IAAAA,EAAA,GAAAL,CAAA;EAAA;EA5BD,MAAA4C,0BAAA,GAAmCvC,EA4B7B;EAAA,IAAAwC,EAAA;EAAA,IAAA7C,CAAA,QAAAE,QAAA,IAAAF,CAAA,QAAAG,qBAAA;IAGJ0C,EAAA,gBAAAjD,IAAA,CAACF,YAAY;MAAAQ,QAAA,eACXN,IAAA,CAACJ,UAAU;QACJY,GAAa,EAAbA,aAAa;QACKD,qBAAqB,EAArBA,qBAAqB;QAClCyC,QAA0B,EAA1BA,0BAA0B;QACfA,mBAA0B,EAA1BA,0BAA0B;QAAA1C,QAAA,EAE9CA;MAAQ,CACC;IAAC,CACD,CAAC;IAAAF,CAAA,MAAAE,QAAA;IAAAF,CAAA,MAAAG,qBAAA;IAAAH,CAAA,MAAA6C,EAAA;EAAA;IAAAA,EAAA,GAAA7C,CAAA;EAAA;EAAA,OATf6C,EASe;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"keyboard_scroll_view.js","names":["React","useCallback","useRef","Keyboard","ScrollView","TextInput","KeyboardView","jsx","_jsx","FOCUSED_INPUT_BOTTOM_MARGIN","KeyboardScrollView","t0","$","_c","children","contentContainerStyle","scrollViewRef","t1","Symbol","for","scrollView","current","input","State","currentlyFocusedInput","nativeScrollView","getNativeScrollRef","innerView","getInnerViewRef","measureInWindow","_scrollX","scrollTop","_scrollWidth","scrollHeight","keyboardTop","metrics","screenY","scrollBottom","visibleBottom","undefined","Math","min","visibleHeight","_inputX","inputTop","_inputWidth","inputHeight","inputBottom","measureLayout","_left","contentTop","_contentWidth","contentHeight","scrollTo","y","animated","scrollFocusedInputIntoView","t2","contentInsetAdjustmentBehavior"],"sources":["../../../src/components/display/keyboard_scroll_view.tsx"],"sourcesContent":["import React, { useCallback, useRef } from 'react'\nimport { Keyboard, ScrollView, ScrollViewProps, TextInput } from 'react-native'\nimport { KeyboardView } from './keyboard_view'\n\nconst FOCUSED_INPUT_BOTTOM_MARGIN = 32\n\ntype KeyboardScrollViewProps = Pick<ScrollViewProps, 'children' | 'contentContainerStyle'>\n\nexport function KeyboardScrollView({ children, contentContainerStyle }: KeyboardScrollViewProps) {\n const scrollViewRef = useRef<ScrollView>(null)\n\n const scrollFocusedInputIntoView = useCallback(() => {\n const scrollView = scrollViewRef.current\n const input = TextInput.State.currentlyFocusedInput()\n if (!scrollView || !input) return\n\n const nativeScrollView = scrollView.getNativeScrollRef()\n const innerView = scrollView.getInnerViewRef()\n if (!nativeScrollView || !innerView) return\n\n nativeScrollView.measureInWindow((_scrollX, scrollTop, _scrollWidth, scrollHeight) => {\n const keyboardTop = Keyboard.metrics()?.screenY\n const scrollBottom = scrollTop + scrollHeight\n const visibleBottom =\n keyboardTop === undefined ? scrollBottom : Math.min(scrollBottom, keyboardTop)\n const visibleHeight = visibleBottom - scrollTop\n\n input.measureInWindow((_inputX, inputTop, _inputWidth, inputHeight) => {\n const inputBottom = inputTop + inputHeight + FOCUSED_INPUT_BOTTOM_MARGIN\n if (inputBottom <= visibleBottom) return\n\n input.measureLayout(innerView, (_left, contentTop, _contentWidth, contentHeight) => {\n scrollView.scrollTo({\n y: contentTop + contentHeight + FOCUSED_INPUT_BOTTOM_MARGIN - visibleHeight,\n animated: true,\n })\n })\n })\n })\n }, [])\n\n return (\n <KeyboardView>\n <ScrollView\n ref={scrollViewRef}\n contentInsetAdjustmentBehavior=\"automatic\"\n contentContainerStyle={contentContainerStyle}\n onLayout={scrollFocusedInputIntoView}\n onContentSizeChange={scrollFocusedInputIntoView}\n >\n {children}\n </ScrollView>\n </KeyboardView>\n )\n}\n"],"mappings":";AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,MAAM,QAAQ,OAAO;AAClD,SAASC,QAAQ,EAAEC,UAAU,EAAmBC,SAAS,QAAQ,cAAc;AAC/E,SAASC,YAAY,QAAQ,iBAAiB;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAE9C,MAAMC,2BAA2B,GAAG,EAAE;AAItC,OAAO,SAAAC,mBAAAC,EAAA;EAAA,MAAAC,CAAA,GAAAC,EAAA;EAA4B;IAAAC,QAAA;IAAAC;EAAA,IAAAJ,EAA4D;EAC7F,MAAAK,aAAA,GAAsBd,MAAM,CAAa,IAAI,CAAC;EAAA,IAAAe,EAAA;EAAA,IAAAL,CAAA,QAAAM,MAAA,CAAAC,GAAA;IAECF,EAAA,GAAAA,CAAA;MAC7C,MAAAG,UAAA,GAAmBJ,aAAa,CAAAK,OAAQ;MACxC,MAAAC,KAAA,GAAcjB,SAAS,CAAAkB,KAAM,CAAAC,qBAAsB,CAAC,CAAC;MACrD,IAAI,CAACJ,UAAoB,IAArB,CAAgBE,KAAK;QAAA;MAAA;MAEzB,MAAAG,gBAAA,GAAyBL,UAAU,CAAAM,kBAAmB,CAAC,CAAC;MACxD,MAAAC,SAAA,GAAkBP,UAAU,CAAAQ,eAAgB,CAAC,CAAC;MAC9C,IAAI,CAACH,gBAA8B,IAA/B,CAAsBE,SAAS;QAAA;MAAA;MAEnCF,gBAAgB,CAAAI,eAAgB,CAAC,CAAAC,QAAA,EAAAC,SAAA,EAAAC,YAAA,EAAAC,YAAA;QAC/B,MAAAC,WAAA,GAAoB/B,QAAQ,CAAAgC,OAAQ,CAAU,CAAC,EAAAC,OAAA;QAC/C,MAAAC,YAAA,GAAqBN,SAAS,GAAGE,YAAY;QAC7C,MAAAK,aAAA,GACEJ,WAAW,KAAKK,SAA8D,GAA9EF,YAA8E,GAAnCG,IAAI,CAAAC,GAAI,CAACJ,YAAY,EAAEH,WAAW,CAAC;QAChF,MAAAQ,aAAA,GAAsBJ,aAAa,GAAGP,SAAS;QAE/CT,KAAK,CAAAO,eAAgB,CAAC,CAAAc,OAAA,EAAAC,QAAA,EAAAC,WAAA,EAAAC,WAAA;UACpB,MAAAC,WAAA,GAAoBH,QAAQ,GAAGE,WAAW,GAAGrC,2BAA2B;UACxE,IAAIsC,WAAW,IAAIT,aAAa;YAAA;UAAA;UAEhChB,KAAK,CAAA0B,aAAc,CAACrB,SAAS,EAAE,CAAAsB,KAAA,EAAAC,UAAA,EAAAC,aAAA,EAAAC,aAAA;YAC7BhC,UAAU,CAAAiC,QAAS,CAAC;cAAAC,CAAA,EACfJ,UAAU,GAAGE,aAAa,GAAG3C,2BAA2B,GAAGiC,aAAa;cAAAa,QAAA,EACjE;YACZ,CAAC,CAAC;UAAA,CACH,CAAC;QAAA,CACH,CAAC;MAAA,CACH,CAAC;IAAA,CACH;IAAA3C,CAAA,MAAAK,EAAA;EAAA;IAAAA,EAAA,GAAAL,CAAA;EAAA;EA5BD,MAAA4C,0BAAA,GAAmCvC,EA4B7B;EAAA,IAAAwC,EAAA;EAAA,IAAA7C,CAAA,QAAAE,QAAA,IAAAF,CAAA,QAAAG,qBAAA;IAGJ0C,EAAA,gBAAAjD,IAAA,CAACF,YAAY;MAAAQ,QAAA,eACXN,IAAA,CAACJ,UAAU;QACJY,GAAa,EAAbA,aAAa;QACa0C,8BAAW,EAAX,WAAW;QACnB3C,qBAAqB,EAArBA,qBAAqB;QAClCyC,QAA0B,EAA1BA,0BAA0B;QACfA,mBAA0B,EAA1BA,0BAA0B;QAAA1C,QAAA,EAE9CA;MAAQ,CACC;IAAC,CACD,CAAC;IAAAF,CAAA,MAAAE,QAAA;IAAAF,CAAA,MAAAG,qBAAA;IAAAH,CAAA,MAAA6C,EAAA;EAAA;IAAAA,EAAA,GAAA7C,CAAA;EAAA;EAAA,OAVf6C,EAUe;AAAA","ignoreList":[]}
@@ -1,4 +1,12 @@
1
1
  import { PropsWithChildren } from 'react';
2
2
  import { ErrorBoundaryProps } from './error_boundary';
3
- export declare function PageErrorBoundary({ children, ...props }: PropsWithChildren<ErrorBoundaryProps>): import("react/jsx-runtime").JSX.Element;
3
+ export type PageErrorFallback = {
4
+ heading: string;
5
+ body: string;
6
+ };
7
+ type PageErrorBoundaryProps = PropsWithChildren<ErrorBoundaryProps & {
8
+ genericFallback?: PageErrorFallback;
9
+ }>;
10
+ export declare function PageErrorBoundary({ children, genericFallback, ...props }: PageErrorBoundaryProps): import("react/jsx-runtime").JSX.Element;
11
+ export {};
4
12
  //# sourceMappingURL=page_error_boundary.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"page_error_boundary.d.ts","sourceRoot":"","sources":["../../../src/components/page/page_error_boundary.tsx"],"names":[],"mappings":"AAEA,OAAc,EAAE,iBAAiB,EAAqD,MAAM,OAAO,CAAA;AAInG,OAAO,EAAwC,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAM3F,wBAAgB,iBAAiB,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,iBAAiB,CAAC,kBAAkB,CAAC,2CAM9F"}
1
+ {"version":3,"file":"page_error_boundary.d.ts","sourceRoot":"","sources":["../../../src/components/page/page_error_boundary.tsx"],"names":[],"mappings":"AAEA,OAAc,EAAE,iBAAiB,EAAqD,MAAM,OAAO,CAAA;AAInG,OAAO,EAAwC,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAE3F,MAAM,MAAM,iBAAiB,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAA;AAOjE,KAAK,sBAAsB,GAAG,iBAAiB,CAC7C,kBAAkB,GAAG;IAAE,eAAe,CAAC,EAAE,iBAAiB,CAAA;CAAE,CAC7D,CAAA;AAED,wBAAgB,iBAAiB,CAAC,EAChC,QAAQ,EACR,eAAkC,EAClC,GAAG,KAAK,EACT,EAAE,sBAAsB,2CAUxB"}
@@ -7,47 +7,67 @@ import { ResponseError } from '../../utils/response_error';
7
7
  import BlankState from '../primitive/blank_state_primitive';
8
8
  import { ErrorBoundary } from './error_boundary';
9
9
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
- const renderPageFallback = (error, reset) => /*#__PURE__*/_jsx(ErrorView, {
11
- error: error,
12
- reset: reset
13
- });
10
+ const GENERIC_FALLBACK = {
11
+ heading: 'Oops!',
12
+ body: 'Something unexpected happened.'
13
+ };
14
14
  export function PageErrorBoundary(t0) {
15
- const $ = _c(6);
15
+ const $ = _c(10);
16
16
  let children;
17
17
  let props;
18
+ let t1;
18
19
  if ($[0] !== t0) {
19
20
  ({
20
21
  children,
22
+ genericFallback: t1,
21
23
  ...props
22
24
  } = t0);
23
25
  $[0] = t0;
24
26
  $[1] = children;
25
27
  $[2] = props;
28
+ $[3] = t1;
26
29
  } else {
27
30
  children = $[1];
28
31
  props = $[2];
32
+ t1 = $[3];
29
33
  }
30
- let t1;
31
- if ($[3] !== children || $[4] !== props) {
32
- t1 = /*#__PURE__*/_jsx(ErrorBoundary, {
34
+ const genericFallback = t1 === undefined ? GENERIC_FALLBACK : t1;
35
+ let t2;
36
+ if ($[4] !== genericFallback) {
37
+ t2 = (error, reset) => /*#__PURE__*/_jsx(ErrorView, {
38
+ error: error,
39
+ reset: reset,
40
+ generic: genericFallback
41
+ });
42
+ $[4] = genericFallback;
43
+ $[5] = t2;
44
+ } else {
45
+ t2 = $[5];
46
+ }
47
+ const renderPageFallback = t2;
48
+ let t3;
49
+ if ($[6] !== children || $[7] !== props || $[8] !== renderPageFallback) {
50
+ t3 = /*#__PURE__*/_jsx(ErrorBoundary, {
33
51
  scope: "screen",
34
52
  fallback: renderPageFallback,
35
53
  ...props,
36
54
  children: children
37
55
  });
38
- $[3] = children;
39
- $[4] = props;
40
- $[5] = t1;
56
+ $[6] = children;
57
+ $[7] = props;
58
+ $[8] = renderPageFallback;
59
+ $[9] = t3;
41
60
  } else {
42
- t1 = $[5];
61
+ t3 = $[9];
43
62
  }
44
- return t1;
63
+ return t3;
45
64
  }
46
65
  function ErrorView(t0) {
47
- const $ = _c(11);
66
+ const $ = _c(14);
48
67
  const {
49
68
  error,
50
- reset
69
+ reset,
70
+ generic
51
71
  } = t0;
52
72
  const {
53
73
  reset: resetQueries
@@ -80,41 +100,45 @@ function ErrorView(t0) {
80
100
  useEffect(t2, t3);
81
101
  if (error instanceof ResponseError) {
82
102
  let t4;
83
- if ($[6] !== error.response || $[7] !== handleReset) {
103
+ if ($[6] !== error.response || $[7] !== generic || $[8] !== handleReset) {
84
104
  t4 = /*#__PURE__*/_jsx(ResponseErrorView, {
85
105
  response: error.response,
86
- onReset: handleReset
106
+ onReset: handleReset,
107
+ generic: generic
87
108
  });
88
109
  $[6] = error.response;
89
- $[7] = handleReset;
90
- $[8] = t4;
110
+ $[7] = generic;
111
+ $[8] = handleReset;
112
+ $[9] = t4;
91
113
  } else {
92
- t4 = $[8];
114
+ t4 = $[9];
93
115
  }
94
116
  return t4;
95
117
  }
96
118
  if (isNetworkError(error)) {
97
119
  let t4;
98
- if ($[9] === Symbol.for("react.memo_cache_sentinel")) {
120
+ if ($[10] === Symbol.for("react.memo_cache_sentinel")) {
99
121
  t4 = /*#__PURE__*/_jsx(ErrorContent, {
100
122
  heading: "Problem connecting!",
101
123
  body: "Check your internet connection and try again."
102
124
  });
103
- $[9] = t4;
125
+ $[10] = t4;
104
126
  } else {
105
- t4 = $[9];
127
+ t4 = $[10];
106
128
  }
107
129
  return t4;
108
130
  }
109
131
  let t4;
110
- if ($[10] === Symbol.for("react.memo_cache_sentinel")) {
132
+ if ($[11] !== generic.body || $[12] !== generic.heading) {
111
133
  t4 = /*#__PURE__*/_jsx(ErrorContent, {
112
- heading: "Oops!",
113
- body: "Something unexpected happened."
134
+ heading: generic.heading,
135
+ body: generic.body
114
136
  });
115
- $[10] = t4;
137
+ $[11] = generic.body;
138
+ $[12] = generic.heading;
139
+ $[13] = t4;
116
140
  } else {
117
- t4 = $[10];
141
+ t4 = $[13];
118
142
  }
119
143
  return t4;
120
144
  }
@@ -126,7 +150,8 @@ function ResponseErrorView(t0) {
126
150
  const $ = _c(10);
127
151
  const {
128
152
  response,
129
- onReset
153
+ onReset,
154
+ generic
130
155
  } = t0;
131
156
  const {
132
157
  status
@@ -145,7 +170,7 @@ function ResponseErrorView(t0) {
145
170
  }
146
171
  default:
147
172
  {
148
- t1 = "Oops!";
173
+ t1 = generic.heading;
149
174
  }
150
175
  }
151
176
  const heading = t1;
@@ -163,7 +188,7 @@ function ResponseErrorView(t0) {
163
188
  }
164
189
  default:
165
190
  {
166
- t2 = "Something unexpected happened.";
191
+ t2 = generic.body;
167
192
  }
168
193
  }
169
194
  const body = t2;
@@ -1 +1 @@
1
- {"version":3,"file":"page_error_boundary.js","names":["useNavigation","useQueryErrorResetBoundary","React","useCallback","useEffect","useMemo","useRef","useState","onAuthRefresh","ResponseError","BlankState","ErrorBoundary","jsx","_jsx","jsxs","_jsxs","renderPageFallback","error","reset","ErrorView","PageErrorBoundary","t0","$","_c","children","props","t1","scope","resetQueries","handleReset","t2","t3","t4","response","ResponseErrorView","isNetworkError","Symbol","for","ErrorContent","heading","body","networkFailedMessages","RegExp","join","test","message","onReset","status","bb0","bb1","t5","RateLimitedView","RATE_LIMIT_WINDOW_S","retryAfterS","parseInt","headers","get","String","readyAt","Date","now","current","setNow","id","setInterval","prev","clearInterval","navigation","secondsLeft","Math","max","ceil","Root","Imagery","name","Content","Heading","Text","Button","title","disabled","onPress","size","accessibilityRole","TextButton","goBack","t6","navigate","t7"],"sources":["../../../src/components/page/page_error_boundary.tsx"],"sourcesContent":["import { useNavigation } from '@react-navigation/native'\nimport { useQueryErrorResetBoundary } from '@tanstack/react-query'\nimport React, { PropsWithChildren, useCallback, useEffect, useMemo, useRef, useState } from 'react'\nimport { onAuthRefresh } from '../../utils/auth_events'\nimport { ResponseError } from '../../utils/response_error'\nimport BlankState from '../primitive/blank_state_primitive'\nimport { ErrorBoundary, ErrorBoundaryFallback, ErrorBoundaryProps } from './error_boundary'\n\nconst renderPageFallback: ErrorBoundaryFallback = (error, reset) => (\n <ErrorView error={error} reset={reset} />\n)\n\nexport function PageErrorBoundary({ children, ...props }: PropsWithChildren<ErrorBoundaryProps>) {\n return (\n <ErrorBoundary scope=\"screen\" fallback={renderPageFallback} {...props}>\n {children}\n </ErrorBoundary>\n )\n}\n\nfunction ErrorView({ error, reset }: { error: Error; reset: () => void }) {\n const { reset: resetQueries } = useQueryErrorResetBoundary()\n\n const handleReset = useCallback(() => {\n resetQueries()\n reset()\n }, [resetQueries, reset])\n\n useEffect(() => handleReset, [handleReset])\n\n if (error instanceof ResponseError) {\n return <ResponseErrorView response={error.response} onReset={handleReset} />\n }\n\n if (isNetworkError(error)) {\n return (\n <ErrorContent\n heading={'Problem connecting!'}\n body={'Check your internet connection and try again.'}\n />\n )\n }\n\n return <ErrorContent heading={'Oops!'} body={'Something unexpected happened.'} />\n}\n\nfunction isNetworkError(error: Error) {\n const networkFailedMessages = [\n 'Network request failed',\n 'Network request timed out',\n 'Failed to fetch',\n ]\n\n return new RegExp(networkFailedMessages.join('|'), 'i').test(error.message)\n}\n\nfunction ResponseErrorView({ response, onReset }: { response: Response; onReset: () => void }) {\n const { status } = response\n\n const heading = useMemo(() => {\n switch (status) {\n case 403:\n return 'Permission required'\n case 404:\n return 'Content not found'\n default:\n return 'Oops!'\n }\n }, [status])\n\n const body = useMemo(() => {\n switch (status) {\n case 403:\n return 'Contact your administrator for access.'\n case 404:\n return 'If you believe something should be here, please reach out to your administrator.'\n default:\n return 'Something unexpected happened.'\n }\n }, [status])\n\n useEffect(() => {\n if (status !== 401) return\n\n return onAuthRefresh(onReset)\n }, [status, onReset])\n\n if (status === 429) {\n return <RateLimitedView response={response} onReset={onReset} />\n }\n\n return <ErrorContent heading={heading} body={body} />\n}\n\nconst RATE_LIMIT_WINDOW_S = 20\n\nfunction RateLimitedView({ response, onReset }: { response: Response; onReset: () => void }) {\n const retryAfterS = parseInt(\n response.headers?.get('Retry-After') ?? String(RATE_LIMIT_WINDOW_S),\n 10\n )\n const readyAt = useRef(Date.now() + retryAfterS * 1000).current\n const [now, setNow] = useState(Date.now)\n\n useEffect(() => {\n const id = setInterval(() => {\n setNow(prev => (prev >= readyAt ? prev : Date.now()))\n }, 1000)\n return () => clearInterval(id)\n }, [readyAt])\n\n const navigation = useNavigation()\n const secondsLeft = Math.max(0, Math.ceil((readyAt - now) / 1000))\n\n return (\n <BlankState.Root>\n <BlankState.Imagery name=\"people.noTextMessage\" />\n <BlankState.Content>\n <BlankState.Heading>Too many requests</BlankState.Heading>\n <BlankState.Text>\n Chat is being accessed too frequently. Please wait a moment.\n </BlankState.Text>\n </BlankState.Content>\n <BlankState.Button\n title={secondsLeft > 0 ? `Retry in ${secondsLeft}s` : 'Try again'}\n disabled={secondsLeft > 0}\n onPress={onReset}\n size=\"md\"\n accessibilityRole=\"button\"\n />\n <BlankState.TextButton onPress={navigation.goBack}>Go back</BlankState.TextButton>\n </BlankState.Root>\n )\n}\n\nfunction ErrorContent({ heading, body }: { heading: string; body: string }) {\n const navigation = useNavigation()\n\n return (\n <BlankState.Root>\n <BlankState.Imagery name=\"people.noTextMessage\" />\n <BlankState.Content>\n <BlankState.Heading>{heading}</BlankState.Heading>\n <BlankState.Text>{body}</BlankState.Text>\n </BlankState.Content>\n <BlankState.Button\n title=\"Go back\"\n onPress={navigation.goBack}\n size=\"md\"\n accessibilityRole=\"link\"\n />\n <BlankState.TextButton onPress={() => navigation.navigate('BugReport')}>\n Report a bug\n </BlankState.TextButton>\n </BlankState.Root>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"page_error_boundary.js","names":["useNavigation","useQueryErrorResetBoundary","React","useCallback","useEffect","useMemo","useRef","useState","onAuthRefresh","ResponseError","BlankState","ErrorBoundary","jsx","_jsx","jsxs","_jsxs","GENERIC_FALLBACK","heading","body","PageErrorBoundary","t0","$","_c","children","props","t1","genericFallback","undefined","t2","error","reset","ErrorView","renderPageFallback","t3","scope","generic","resetQueries","handleReset","t4","response","ResponseErrorView","isNetworkError","Symbol","for","ErrorContent","networkFailedMessages","RegExp","join","test","message","onReset","status","bb0","bb1","t5","RateLimitedView","RATE_LIMIT_WINDOW_S","retryAfterS","parseInt","headers","get","String","readyAt","Date","now","current","setNow","id","setInterval","prev","clearInterval","navigation","secondsLeft","Math","max","ceil","Root","Imagery","name","Content","Heading","Text","Button","title","disabled","onPress","size","accessibilityRole","TextButton","goBack","t6","navigate","t7"],"sources":["../../../src/components/page/page_error_boundary.tsx"],"sourcesContent":["import { useNavigation } from '@react-navigation/native'\nimport { useQueryErrorResetBoundary } from '@tanstack/react-query'\nimport React, { PropsWithChildren, useCallback, useEffect, useMemo, useRef, useState } from 'react'\nimport { onAuthRefresh } from '../../utils/auth_events'\nimport { ResponseError } from '../../utils/response_error'\nimport BlankState from '../primitive/blank_state_primitive'\nimport { ErrorBoundary, ErrorBoundaryFallback, ErrorBoundaryProps } from './error_boundary'\n\nexport type PageErrorFallback = { heading: string; body: string }\n\nconst GENERIC_FALLBACK: PageErrorFallback = {\n heading: 'Oops!',\n body: 'Something unexpected happened.',\n}\n\ntype PageErrorBoundaryProps = PropsWithChildren<\n ErrorBoundaryProps & { genericFallback?: PageErrorFallback }\n>\n\nexport function PageErrorBoundary({\n children,\n genericFallback = GENERIC_FALLBACK,\n ...props\n}: PageErrorBoundaryProps) {\n const renderPageFallback: ErrorBoundaryFallback = (error, reset) => (\n <ErrorView error={error} reset={reset} generic={genericFallback} />\n )\n\n return (\n <ErrorBoundary scope=\"screen\" fallback={renderPageFallback} {...props}>\n {children}\n </ErrorBoundary>\n )\n}\n\nfunction ErrorView({\n error,\n reset,\n generic,\n}: {\n error: Error\n reset: () => void\n generic: PageErrorFallback\n}) {\n const { reset: resetQueries } = useQueryErrorResetBoundary()\n\n const handleReset = useCallback(() => {\n resetQueries()\n reset()\n }, [resetQueries, reset])\n\n useEffect(() => handleReset, [handleReset])\n\n if (error instanceof ResponseError) {\n return <ResponseErrorView response={error.response} onReset={handleReset} generic={generic} />\n }\n\n if (isNetworkError(error)) {\n return (\n <ErrorContent\n heading={'Problem connecting!'}\n body={'Check your internet connection and try again.'}\n />\n )\n }\n\n return <ErrorContent heading={generic.heading} body={generic.body} />\n}\n\nfunction isNetworkError(error: Error) {\n const networkFailedMessages = [\n 'Network request failed',\n 'Network request timed out',\n 'Failed to fetch',\n ]\n\n return new RegExp(networkFailedMessages.join('|'), 'i').test(error.message)\n}\n\nfunction ResponseErrorView({\n response,\n onReset,\n generic,\n}: {\n response: Response\n onReset: () => void\n generic: PageErrorFallback\n}) {\n const { status } = response\n\n const heading = useMemo(() => {\n switch (status) {\n case 403:\n return 'Permission required'\n case 404:\n return 'Content not found'\n default:\n return generic.heading\n }\n }, [status, generic.heading])\n\n const body = useMemo(() => {\n switch (status) {\n case 403:\n return 'Contact your administrator for access.'\n case 404:\n return 'If you believe something should be here, please reach out to your administrator.'\n default:\n return generic.body\n }\n }, [status, generic.body])\n\n useEffect(() => {\n if (status !== 401) return\n\n return onAuthRefresh(onReset)\n }, [status, onReset])\n\n if (status === 429) {\n return <RateLimitedView response={response} onReset={onReset} />\n }\n\n return <ErrorContent heading={heading} body={body} />\n}\n\nconst RATE_LIMIT_WINDOW_S = 20\n\nfunction RateLimitedView({ response, onReset }: { response: Response; onReset: () => void }) {\n const retryAfterS = parseInt(\n response.headers?.get('Retry-After') ?? String(RATE_LIMIT_WINDOW_S),\n 10\n )\n const readyAt = useRef(Date.now() + retryAfterS * 1000).current\n const [now, setNow] = useState(Date.now)\n\n useEffect(() => {\n const id = setInterval(() => {\n setNow(prev => (prev >= readyAt ? prev : Date.now()))\n }, 1000)\n return () => clearInterval(id)\n }, [readyAt])\n\n const navigation = useNavigation()\n const secondsLeft = Math.max(0, Math.ceil((readyAt - now) / 1000))\n\n return (\n <BlankState.Root>\n <BlankState.Imagery name=\"people.noTextMessage\" />\n <BlankState.Content>\n <BlankState.Heading>Too many requests</BlankState.Heading>\n <BlankState.Text>\n Chat is being accessed too frequently. Please wait a moment.\n </BlankState.Text>\n </BlankState.Content>\n <BlankState.Button\n title={secondsLeft > 0 ? `Retry in ${secondsLeft}s` : 'Try again'}\n disabled={secondsLeft > 0}\n onPress={onReset}\n size=\"md\"\n accessibilityRole=\"button\"\n />\n <BlankState.TextButton onPress={navigation.goBack}>Go back</BlankState.TextButton>\n </BlankState.Root>\n )\n}\n\nfunction ErrorContent({ heading, body }: { heading: string; body: string }) {\n const navigation = useNavigation()\n\n return (\n <BlankState.Root>\n <BlankState.Imagery name=\"people.noTextMessage\" />\n <BlankState.Content>\n <BlankState.Heading>{heading}</BlankState.Heading>\n <BlankState.Text>{body}</BlankState.Text>\n </BlankState.Content>\n <BlankState.Button\n title=\"Go back\"\n onPress={navigation.goBack}\n size=\"md\"\n accessibilityRole=\"link\"\n />\n <BlankState.TextButton onPress={() => navigation.navigate('BugReport')}>\n Report a bug\n </BlankState.TextButton>\n </BlankState.Root>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/navigation/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,EAGL,4BAA4B,EAC7B,MAAM,gCAAgC,CAAA;AACvC,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAChE,OAAO,KAAK,MAAM,OAAO,CAAA;AAQzB,OAAO,EACL,uBAAuB,EAExB,MAAM,yDAAyD,CAAA;AAChE,OAAO,EACL,kBAAkB,EAGnB,MAAM,+CAA+C,CAAA;AACtD,OAAO,EAAE,eAAe,EAA0B,MAAM,8BAA8B,CAAA;AACtF,OAAO,EACL,yBAAyB,EAE1B,MAAM,sDAAsD,CAAA;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAA;AAWlF,OAAO,EACL,yCAAyC,EAE1C,MAAM,0DAA0D,CAAA;AACjE,OAAO,EAEL,kBAAkB,EAEnB,MAAM,gCAAgC,CAAA;AAEvC,OAAO,EAAE,+CAA+C,EAAE,MAAM,gGAAgG,CAAA;AAIhK,OAAO,EACL,4BAA4B,EAE7B,MAAM,4CAA4C,CAAA;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAA;AAEnF,OAAO,EACL,kCAAkC,EAEnC,MAAM,mDAAmD,CAAA;AAC1D,OAAO,EAAE,+BAA+B,EAAE,MAAM,+CAA+C,CAAA;AAC/F,OAAO,EACL,oBAAoB,EAErB,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EAAE,mBAAmB,EAA8B,MAAM,kCAAkC,CAAA;AAClG,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAA;AACpF,OAAO,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAA;AACvF,OAAO,EAAE,eAAe,EAA0B,MAAM,6BAA6B,CAAA;AACrF,OAAO,EAAE,YAAY,EAAuB,MAAM,iCAAiC,CAAA;AACnF,OAAO,EAAE,eAAe,EAA0B,MAAM,8BAA8B,CAAA;AACtF,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAC3D,OAAO,EACL,yBAAyB,EAE1B,MAAM,yCAAyC,CAAA;AAGhD,OAAO,EAAE,8BAA8B,EAAE,MAAM,gBAAgB,CAAA;AAO/D,eAAO,MAAM,oBAAoB;;;;;;;;;;;;kCALA,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmF3D,CAAA;AAEF,eAAO,MAAM,SAAS;;;;;;;;;;;kCArFW,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8CAA5B,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiT3D,CAAA;AAEF,KAAK,kBAAkB,GAAG,eAAe,CAAC,OAAO,SAAS,CAAC,CAAA;AAE3D,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,eAAe,CAAC;QACxB,UAAU,aAAc,SAAQ,kBAAkB;SAAG;KACtD;CACF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/navigation/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,EAGL,4BAA4B,EAC7B,MAAM,gCAAgC,CAAA;AACvC,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAChE,OAAO,KAAK,MAAM,OAAO,CAAA;AAQzB,OAAO,EACL,uBAAuB,EAExB,MAAM,yDAAyD,CAAA;AAChE,OAAO,EACL,kBAAkB,EAGnB,MAAM,+CAA+C,CAAA;AACtD,OAAO,EAAE,eAAe,EAA0B,MAAM,8BAA8B,CAAA;AACtF,OAAO,EACL,yBAAyB,EAE1B,MAAM,sDAAsD,CAAA;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAA;AAWlF,OAAO,EACL,yCAAyC,EAE1C,MAAM,0DAA0D,CAAA;AACjE,OAAO,EAEL,kBAAkB,EAEnB,MAAM,gCAAgC,CAAA;AAEvC,OAAO,EAAE,+CAA+C,EAAE,MAAM,gGAAgG,CAAA;AAIhK,OAAO,EACL,4BAA4B,EAE7B,MAAM,4CAA4C,CAAA;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAA;AAEnF,OAAO,EACL,kCAAkC,EAEnC,MAAM,mDAAmD,CAAA;AAC1D,OAAO,EAAE,+BAA+B,EAAE,MAAM,+CAA+C,CAAA;AAC/F,OAAO,EACL,oBAAoB,EAErB,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EAAE,mBAAmB,EAA8B,MAAM,kCAAkC,CAAA;AAClG,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAA;AACpF,OAAO,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAA;AACvF,OAAO,EAAE,eAAe,EAA0B,MAAM,6BAA6B,CAAA;AACrF,OAAO,EAAE,YAAY,EAAuB,MAAM,iCAAiC,CAAA;AACnF,OAAO,EAAE,eAAe,EAA0B,MAAM,8BAA8B,CAAA;AACtF,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAC3D,OAAO,EACL,yBAAyB,EAE1B,MAAM,yCAAyC,CAAA;AAGhD,OAAO,EAAE,8BAA8B,EAAE,MAAM,gBAAgB,CAAA;AAU/D,eAAO,MAAM,oBAAoB;;;;;;;;;;;;kCALA,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoF3D,CAAA;AAEF,eAAO,MAAM,SAAS;;;;;;;;;;;kCAtFW,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8CAA5B,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuT3D,CAAA;AAEF,KAAK,kBAAkB,GAAG,eAAe,CAAC,OAAO,SAAS,CAAC,CAAA;AAE3D,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,eAAe,CAAC;QACxB,UAAU,aAAc,SAAQ,kBAAkB;SAAG;KACtD;CACF"}
@@ -36,10 +36,14 @@ import { TeamConversationScreen } from '../screens/team_conversation_screen';
36
36
  import { isLiquidGlassEnabled } from '../utils/liquid_glass';
37
37
  import { ScreenLayoutWithChatAccessGate } from './screenLayout';
38
38
  import { jsx as _jsx } from "react/jsx-runtime";
39
+ const conversationGlassHeader = () => isLiquidGlassEnabled() ? {
40
+ headerBlurEffect: 'systemChromeMaterial'
41
+ } : {};
39
42
  const globalScreenOptions = () => ({
40
43
  headerBackButtonDisplayMode: 'minimal',
41
44
  ...(isLiquidGlassEnabled() ? {
42
- headerShadowVisible: false
45
+ headerShadowVisible: false,
46
+ headerTransparent: true
43
47
  } : {})
44
48
  });
45
49
  export const NewConversationStack = createNativeStackNavigator({
@@ -103,7 +107,8 @@ export const NewConversationStack = createNativeStackNavigator({
103
107
  route
104
108
  }) => composeOptions({
105
109
  title: 'New conversation',
106
- headerLeft: () => null
110
+ headerLeft: () => null,
111
+ headerTransparent: false
107
112
  }, withRightClose({
108
113
  onPress: () => {
109
114
  const {
@@ -153,6 +158,7 @@ export const ChatStack = createNativeStackNavigator({
153
158
  route,
154
159
  navigation
155
160
  }) => composeOptions({
161
+ ...conversationGlassHeader(),
156
162
  headerTitle: props => {
157
163
  const {
158
164
  conversation_id,
@@ -195,6 +201,7 @@ export const ChatStack = createNativeStackNavigator({
195
201
  route,
196
202
  navigation
197
203
  }) => composeOptions({
204
+ ...conversationGlassHeader(),
198
205
  title: route.params?.title ?? 'Reply'
199
206
  }, withMinimalBack({
200
207
  onPress: navigation.goBack
@@ -305,7 +312,8 @@ export const ChatStack = createNativeStackNavigator({
305
312
  navigation
306
313
  }) => composeOptions({
307
314
  title: 'New conversation',
308
- headerLeft: () => null
315
+ headerLeft: () => null,
316
+ headerTransparent: false
309
317
  }, withRightClose({
310
318
  onPress: () => navigation.getParent()?.goBack()
311
319
  }))
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["createNativeStackNavigator","CardStyleInterpolators","React","composeOptions","withMinimalBack","withRightClose","withRightDone","useDirectMessagesEligible","useQualifiedByAge","AttachmentActionsScreen","AttachmentActionsScreenOptions","AvatarPickerScreen","AvatarPickerScreenOptions","AvatarPickerCreateScreenOptions","BugReportScreen","BugReportScreenOptions","MessageReadReceiptsScreen","MessageReadReceiptsScreenOptions","ConversationDetailsScreen","ConversationFilterReceipientsScreenOptions","ConversationFilterRecipientsScreen","ConversationFiltersScreen","ConversationFiltersScreenOptions","ConversationNewScreen","ConversationNotificationLevelSelectScreen","ConversationNotificationLevelSelectScreenOptions","ConversationScreen","ConversationScreenTitle","ConversationNewEntryScreen","ConversationSelectDirectMessageRecipientsScreen","ConversationSelectGroupRecipientsScreen","ConversationSelectTeamsILeadRecipientsScreen","ConversationSelectTypeScreen","ConversationSelectTypeScreenOptions","ConversationsScreen","GetHelpScreen","GroupNotificationLevelSelectScreen","GroupNotificationLevelSelectScreenOptions","GroupNotificationSettingsScreen","MessageActionsScreen","MessageActionsScreenOptions","MessageReportScreen","MessageReportScreenOptions","NotFound","NotificationSettingsScreen","PreferredAppSelectionScreen","ReactionsScreen","ReactionsScreenOptions","SearchScreen","SearchScreenOptions","SendGiphyScreen","SendGiphyScreenOptions","SettingsScreen","SystemMessagePeopleScreen","SystemMessagePeopleScreenOptions","TeamConversationScreen","isLiquidGlassEnabled","ScreenLayoutWithChatAccessGate","jsx","_jsx","globalScreenOptions","headerBackButtonDisplayMode","headerShadowVisible","NewConversationStack","initialRouteName","screenOptions","screenLayout","screens","ConversationNewEntry","screen","options","navigation","title","headerBackVisible","onPress","goBack","ConversationSelectGroupRecipients","route","popTo","params","ConversationSelectTeamsILeadRecipients","ConversationSelectDirectMessageRecipients","if","ConversationFilterRecipients","ConversationNew","headerLeft","chat_group_graph_id","group_source_app_name","AvatarPicker","ChatStack","Conversations","headerTitle","ConversationFilters","Search","Conversation","props","conversation_id","badge","deleted","muted","children","getParent","ConversationReply","TeamConversation","animation","cardStyleInterpolator","forNoAnimation","ConversationDetails","presentation","ChatSettings","NotificationSettings","getState","index","PreferredAppSelection","GroupNotificationSettings","GroupNotificationLevelSelect","ConversationNotificationLevelSelect","New","layout","headerShown","GroupConversationNew","SendGiphy","MessageActions","MessageReport","AttachmentActions","ConversationSelectType","Reactions","SystemMessagePeople","MessageReadReceipts","BugReport","GetHelp","linking","path"],"sources":["../../src/navigation/index.tsx"],"sourcesContent":["import { StaticParamList } from '@react-navigation/native'\nimport {\n createNativeStackNavigator,\n NativeStackHeaderRightProps,\n NativeStackNavigationOptions,\n} from '@react-navigation/native-stack'\nimport { CardStyleInterpolators } from '@react-navigation/stack'\nimport React from 'react'\nimport {\n composeOptions,\n withMinimalBack,\n withRightClose,\n withRightDone,\n} from '../components/display/platform_modal_header_buttons'\nimport { useDirectMessagesEligible, useQualifiedByAge } from '../hooks'\nimport {\n AttachmentActionsScreen,\n AttachmentActionsScreenOptions,\n} from '../screens/attachment_actions/attachment_actions_screen'\nimport {\n AvatarPickerScreen,\n AvatarPickerScreenOptions,\n AvatarPickerCreateScreenOptions,\n} from '../screens/avatar_picker/avatar_picker_screen'\nimport { BugReportScreen, BugReportScreenOptions } from '../screens/bug_report_screen'\nimport {\n MessageReadReceiptsScreen,\n MessageReadReceiptsScreenOptions,\n} from '../screens/conversation/message_read_receipts_screen'\nimport { ConversationDetailsScreen } from '../screens/conversation_details_screen'\nimport {\n ConversationFilterReceipientsScreenOptions,\n ConversationFilterRecipientsScreen,\n} from '../screens/conversation_filter_recipients/conversation_filter_recipients_screen'\nimport { ConversationFiltersParams } from '../screens/conversation_filters/screen_props'\nimport {\n ConversationFiltersScreen,\n ConversationFiltersScreenOptions,\n} from '../screens/conversation_filters_screen'\nimport { ConversationNewScreen } from '../screens/conversation_new/conversation_new_screen'\nimport {\n ConversationNotificationLevelSelectScreen,\n ConversationNotificationLevelSelectScreenOptions,\n} from '../screens/conversation_notification_level_select_screen'\nimport {\n ConversationRouteProps,\n ConversationScreen,\n ConversationScreenTitle,\n} from '../screens/conversation_screen'\nimport { ConversationNewEntryScreen } from '../screens/conversation_select_recipients/conversation_new_entry_screen'\nimport { ConversationSelectDirectMessageRecipientsScreen } from '../screens/conversation_select_recipients/conversation_select_direct_message_recipients_screen'\nimport { ConversationSelectGroupRecipientsScreen } from '../screens/conversation_select_recipients/conversation_select_group_recipients_screen'\nimport { ConversationSelectTeamsILeadRecipientsScreen } from '../screens/conversation_select_recipients/conversation_select_teams_i_lead_recipients_screen'\nimport { ConversationSelectRecipientsParams } from '../screens/conversation_select_recipients/types/screen_props'\nimport {\n ConversationSelectTypeScreen,\n ConversationSelectTypeScreenOptions,\n} from '../screens/conversation_select_type_screen'\nimport { ConversationsScreen } from '../screens/conversations/conversations_screen'\nimport { GetHelpScreen } from '../screens/get_help_screen'\nimport {\n GroupNotificationLevelSelectScreen,\n GroupNotificationLevelSelectScreenOptions,\n} from '../screens/group_notification_level_select_screen'\nimport { GroupNotificationSettingsScreen } from '../screens/group_notification_settings_screen'\nimport {\n MessageActionsScreen,\n MessageActionsScreenOptions,\n} from '../screens/message_actions_screen'\nimport { MessageReportScreen, MessageReportScreenOptions } from '../screens/message_report_screen'\nimport { NotFound } from '../screens/not_found'\nimport { NotificationSettingsScreen } from '../screens/notification_settings_screen'\nimport { PreferredAppSelectionScreen } from '../screens/preferred_app_selection_screen'\nimport { ReactionsScreen, ReactionsScreenOptions } from '../screens/reactions_screen'\nimport { SearchScreen, SearchScreenOptions } from '../screens/search/search_screen'\nimport { SendGiphyScreen, SendGiphyScreenOptions } from '../screens/send_giphy_screen'\nimport { SettingsScreen } from '../screens/settings_screen'\nimport {\n SystemMessagePeopleScreen,\n SystemMessagePeopleScreenOptions,\n} from '../screens/system_message_people_screen'\nimport { TeamConversationScreen } from '../screens/team_conversation_screen'\nimport { isLiquidGlassEnabled } from '../utils/liquid_glass'\nimport { ScreenLayoutWithChatAccessGate } from './screenLayout'\n\nconst globalScreenOptions: () => NativeStackNavigationOptions = () => ({\n headerBackButtonDisplayMode: 'minimal',\n ...(isLiquidGlassEnabled() ? { headerShadowVisible: false } : {}),\n})\n\nexport const NewConversationStack = createNativeStackNavigator({\n initialRouteName: 'ConversationNewEntry',\n screenOptions: globalScreenOptions,\n screenLayout: ScreenLayoutWithChatAccessGate,\n screens: {\n ConversationNewEntry: {\n screen: ConversationNewEntryScreen,\n options: ({ navigation }) =>\n composeOptions(\n {\n title: 'New conversation',\n headerBackVisible: false,\n },\n withRightClose({ onPress: navigation.goBack })\n ),\n },\n ConversationSelectGroupRecipients: {\n screen: ConversationSelectGroupRecipientsScreen,\n options: ({ navigation, route }) =>\n composeOptions(\n {\n title: 'New conversation',\n },\n withRightClose({\n onPress: () => navigation.popTo('Conversations', route.params),\n })\n ),\n },\n ConversationSelectTeamsILeadRecipients: {\n screen: ConversationSelectTeamsILeadRecipientsScreen,\n options: ({ navigation, route }) =>\n composeOptions(\n {\n title: 'New conversation',\n },\n withRightClose({\n onPress: () => navigation.popTo('Conversations', route.params),\n })\n ),\n },\n ConversationSelectDirectMessageRecipients: {\n screen: ConversationSelectDirectMessageRecipientsScreen,\n if: useDirectMessagesEligible,\n options: ({ navigation }) =>\n composeOptions(\n {\n title: 'New conversation',\n headerBackVisible: false,\n },\n withRightClose({ onPress: navigation.goBack })\n ),\n },\n ConversationFilterRecipients: {\n screen: ConversationFilterRecipientsScreen,\n options: ConversationFilterReceipientsScreenOptions,\n },\n ConversationNew: {\n screen: ConversationNewScreen,\n options: ({ navigation, route }) =>\n composeOptions(\n {\n title: 'New conversation',\n headerLeft: () => null,\n },\n withRightClose({\n onPress: () => {\n const { chat_group_graph_id, group_source_app_name } =\n route.params as ConversationSelectRecipientsParams\n navigation.popTo('Conversations', { chat_group_graph_id, group_source_app_name })\n },\n })\n ),\n },\n AvatarPicker: {\n screen: AvatarPickerScreen,\n options: AvatarPickerCreateScreenOptions,\n },\n },\n})\n\nexport const ChatStack = createNativeStackNavigator({\n screenOptions: globalScreenOptions,\n screenLayout: ScreenLayoutWithChatAccessGate,\n screens: {\n Conversations: {\n screen: ConversationsScreen,\n options: ({ route, navigation }) =>\n composeOptions(\n {\n headerTitle: (route.params as { title?: string })?.title ?? 'Chat',\n headerBackVisible: false,\n },\n withRightClose({ onPress: navigation.goBack })\n ),\n },\n ConversationFilters: {\n screen: ConversationFiltersScreen,\n options: ConversationFiltersScreenOptions,\n },\n Search: {\n screen: SearchScreen,\n options: SearchScreenOptions,\n },\n Conversation: {\n screen: ConversationScreen,\n options: ({ route, navigation }) =>\n composeOptions(\n {\n headerTitle: (props: NativeStackHeaderRightProps) => {\n const { conversation_id, title, badge, deleted, muted } =\n route.params as ConversationRouteProps\n\n return (\n <ConversationScreenTitle\n conversation_id={conversation_id}\n badge={badge}\n deleted={deleted}\n muted={muted}\n {...props}\n >\n {title ?? 'Conversation'}\n </ConversationScreenTitle>\n )\n },\n },\n withMinimalBack({\n onPress: () => {\n const params = route.params as ConversationRouteProps\n if ((params as ConversationFiltersParams)?.chat_group_graph_id) {\n // Ensure that conversations with a graph id pass them back to the conversation list\n const { chat_group_graph_id } = params\n navigation.popTo('Conversations', { chat_group_graph_id })\n } else {\n navigation.goBack()\n }\n },\n }),\n withRightClose({ onPress: () => navigation.getParent()?.goBack() })\n ),\n },\n ConversationReply: {\n screen: ConversationScreen,\n options: ({ route, navigation }) =>\n composeOptions(\n { title: (route.params as ConversationRouteProps)?.title ?? 'Reply' },\n withMinimalBack({ onPress: navigation.goBack })\n ),\n },\n TeamConversation: {\n screen: TeamConversationScreen,\n if: useQualifiedByAge,\n options: {\n title: 'Finding conversation...',\n animation: 'none',\n cardStyleInterpolator: CardStyleInterpolators.forNoAnimation,\n },\n },\n ConversationDetails: {\n screen: ConversationDetailsScreen,\n options: ({ navigation }) =>\n composeOptions(\n {\n presentation: 'modal',\n title: 'Conversation details',\n },\n withRightDone({ onPress: navigation.goBack })\n ),\n },\n AvatarPicker: {\n screen: AvatarPickerScreen,\n options: AvatarPickerScreenOptions,\n },\n ChatSettings: {\n screen: SettingsScreen,\n options: ({ navigation }) =>\n composeOptions({ title: 'Chat settings' }, withMinimalBack({ onPress: navigation.goBack })),\n },\n NotificationSettings: {\n screen: NotificationSettingsScreen,\n options: ({ navigation }) =>\n navigation.getState().index === 0\n ? composeOptions(\n { title: 'Chat notifications' },\n withRightClose({ onPress: navigation.goBack })\n )\n : composeOptions(\n { title: 'Chat notifications' },\n withMinimalBack({ onPress: navigation.goBack })\n ),\n },\n PreferredAppSelection: {\n screen: PreferredAppSelectionScreen,\n options: ({ navigation }) =>\n composeOptions({ title: 'Preferred app' }, withMinimalBack({ onPress: navigation.goBack })),\n },\n GroupNotificationSettings: {\n screen: GroupNotificationSettingsScreen,\n options: ({ route, navigation }) => {\n const title = (route.params as { title?: string })?.title || 'Group Settings'\n\n // The dismiss button only shows when this is the entry screen (e.g.\n // deep links); deeper in the stack the back button covers dismissal.\n return navigation.getState().index === 0\n ? composeOptions(\n {\n title,\n },\n withRightClose({ onPress: navigation.goBack })\n )\n : composeOptions({ title }, withMinimalBack({ onPress: navigation.goBack }))\n },\n },\n GroupNotificationLevelSelect: {\n screen: GroupNotificationLevelSelectScreen,\n options: GroupNotificationLevelSelectScreenOptions,\n },\n ConversationNotificationLevelSelect: {\n screen: ConversationNotificationLevelSelectScreen,\n options: ConversationNotificationLevelSelectScreenOptions,\n },\n New: {\n screen: NewConversationStack,\n if: useQualifiedByAge,\n layout: ({ children }) => children,\n options: {\n headerShown: false,\n presentation: 'modal',\n },\n },\n GroupConversationNew: {\n screen: ConversationNewScreen,\n if: useQualifiedByAge,\n options: ({ navigation }) =>\n composeOptions(\n {\n title: 'New conversation',\n headerLeft: () => null,\n },\n withRightClose({ onPress: () => navigation.getParent()?.goBack() })\n ),\n },\n SendGiphy: {\n screen: SendGiphyScreen,\n options: SendGiphyScreenOptions,\n },\n MessageActions: {\n screen: MessageActionsScreen,\n // Something about sheetAllowedDetents declared inline breaks TS\n options: MessageActionsScreenOptions,\n },\n MessageReport: {\n screen: MessageReportScreen,\n options: MessageReportScreenOptions,\n },\n AttachmentActions: {\n screen: AttachmentActionsScreen,\n options: AttachmentActionsScreenOptions,\n },\n ConversationSelectType: {\n screen: ConversationSelectTypeScreen,\n options: ConversationSelectTypeScreenOptions,\n },\n Reactions: {\n screen: ReactionsScreen,\n options: ReactionsScreenOptions,\n },\n SystemMessagePeople: {\n screen: SystemMessagePeopleScreen,\n options: SystemMessagePeopleScreenOptions,\n },\n MessageReadReceipts: {\n screen: MessageReadReceiptsScreen,\n options: MessageReadReceiptsScreenOptions,\n },\n BugReport: {\n screen: BugReportScreen,\n options: BugReportScreenOptions,\n },\n GetHelp: {\n screen: GetHelpScreen,\n options: ({ navigation }) =>\n composeOptions(\n {\n headerTitle: 'Get help',\n headerBackVisible: false,\n presentation: 'modal',\n },\n withRightClose({ onPress: navigation.goBack })\n ),\n },\n NotFound: {\n screen: NotFound,\n options: {\n title: '404',\n },\n linking: {\n path: '*',\n },\n },\n },\n})\n\ntype ChatStackParamList = StaticParamList<typeof ChatStack>\n\ndeclare global {\n namespace ReactNavigation {\n interface RootParamList extends ChatStackParamList {}\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["createNativeStackNavigator","CardStyleInterpolators","React","composeOptions","withMinimalBack","withRightClose","withRightDone","useDirectMessagesEligible","useQualifiedByAge","AttachmentActionsScreen","AttachmentActionsScreenOptions","AvatarPickerScreen","AvatarPickerScreenOptions","AvatarPickerCreateScreenOptions","BugReportScreen","BugReportScreenOptions","MessageReadReceiptsScreen","MessageReadReceiptsScreenOptions","ConversationDetailsScreen","ConversationFilterReceipientsScreenOptions","ConversationFilterRecipientsScreen","ConversationFiltersScreen","ConversationFiltersScreenOptions","ConversationNewScreen","ConversationNotificationLevelSelectScreen","ConversationNotificationLevelSelectScreenOptions","ConversationScreen","ConversationScreenTitle","ConversationNewEntryScreen","ConversationSelectDirectMessageRecipientsScreen","ConversationSelectGroupRecipientsScreen","ConversationSelectTeamsILeadRecipientsScreen","ConversationSelectTypeScreen","ConversationSelectTypeScreenOptions","ConversationsScreen","GetHelpScreen","GroupNotificationLevelSelectScreen","GroupNotificationLevelSelectScreenOptions","GroupNotificationSettingsScreen","MessageActionsScreen","MessageActionsScreenOptions","MessageReportScreen","MessageReportScreenOptions","NotFound","NotificationSettingsScreen","PreferredAppSelectionScreen","ReactionsScreen","ReactionsScreenOptions","SearchScreen","SearchScreenOptions","SendGiphyScreen","SendGiphyScreenOptions","SettingsScreen","SystemMessagePeopleScreen","SystemMessagePeopleScreenOptions","TeamConversationScreen","isLiquidGlassEnabled","ScreenLayoutWithChatAccessGate","jsx","_jsx","conversationGlassHeader","headerBlurEffect","globalScreenOptions","headerBackButtonDisplayMode","headerShadowVisible","headerTransparent","NewConversationStack","initialRouteName","screenOptions","screenLayout","screens","ConversationNewEntry","screen","options","navigation","title","headerBackVisible","onPress","goBack","ConversationSelectGroupRecipients","route","popTo","params","ConversationSelectTeamsILeadRecipients","ConversationSelectDirectMessageRecipients","if","ConversationFilterRecipients","ConversationNew","headerLeft","chat_group_graph_id","group_source_app_name","AvatarPicker","ChatStack","Conversations","headerTitle","ConversationFilters","Search","Conversation","props","conversation_id","badge","deleted","muted","children","getParent","ConversationReply","TeamConversation","animation","cardStyleInterpolator","forNoAnimation","ConversationDetails","presentation","ChatSettings","NotificationSettings","getState","index","PreferredAppSelection","GroupNotificationSettings","GroupNotificationLevelSelect","ConversationNotificationLevelSelect","New","layout","headerShown","GroupConversationNew","SendGiphy","MessageActions","MessageReport","AttachmentActions","ConversationSelectType","Reactions","SystemMessagePeople","MessageReadReceipts","BugReport","GetHelp","linking","path"],"sources":["../../src/navigation/index.tsx"],"sourcesContent":["import { StaticParamList } from '@react-navigation/native'\nimport {\n createNativeStackNavigator,\n NativeStackHeaderRightProps,\n NativeStackNavigationOptions,\n} from '@react-navigation/native-stack'\nimport { CardStyleInterpolators } from '@react-navigation/stack'\nimport React from 'react'\nimport {\n composeOptions,\n withMinimalBack,\n withRightClose,\n withRightDone,\n} from '../components/display/platform_modal_header_buttons'\nimport { useDirectMessagesEligible, useQualifiedByAge } from '../hooks'\nimport {\n AttachmentActionsScreen,\n AttachmentActionsScreenOptions,\n} from '../screens/attachment_actions/attachment_actions_screen'\nimport {\n AvatarPickerScreen,\n AvatarPickerScreenOptions,\n AvatarPickerCreateScreenOptions,\n} from '../screens/avatar_picker/avatar_picker_screen'\nimport { BugReportScreen, BugReportScreenOptions } from '../screens/bug_report_screen'\nimport {\n MessageReadReceiptsScreen,\n MessageReadReceiptsScreenOptions,\n} from '../screens/conversation/message_read_receipts_screen'\nimport { ConversationDetailsScreen } from '../screens/conversation_details_screen'\nimport {\n ConversationFilterReceipientsScreenOptions,\n ConversationFilterRecipientsScreen,\n} from '../screens/conversation_filter_recipients/conversation_filter_recipients_screen'\nimport { ConversationFiltersParams } from '../screens/conversation_filters/screen_props'\nimport {\n ConversationFiltersScreen,\n ConversationFiltersScreenOptions,\n} from '../screens/conversation_filters_screen'\nimport { ConversationNewScreen } from '../screens/conversation_new/conversation_new_screen'\nimport {\n ConversationNotificationLevelSelectScreen,\n ConversationNotificationLevelSelectScreenOptions,\n} from '../screens/conversation_notification_level_select_screen'\nimport {\n ConversationRouteProps,\n ConversationScreen,\n ConversationScreenTitle,\n} from '../screens/conversation_screen'\nimport { ConversationNewEntryScreen } from '../screens/conversation_select_recipients/conversation_new_entry_screen'\nimport { ConversationSelectDirectMessageRecipientsScreen } from '../screens/conversation_select_recipients/conversation_select_direct_message_recipients_screen'\nimport { ConversationSelectGroupRecipientsScreen } from '../screens/conversation_select_recipients/conversation_select_group_recipients_screen'\nimport { ConversationSelectTeamsILeadRecipientsScreen } from '../screens/conversation_select_recipients/conversation_select_teams_i_lead_recipients_screen'\nimport { ConversationSelectRecipientsParams } from '../screens/conversation_select_recipients/types/screen_props'\nimport {\n ConversationSelectTypeScreen,\n ConversationSelectTypeScreenOptions,\n} from '../screens/conversation_select_type_screen'\nimport { ConversationsScreen } from '../screens/conversations/conversations_screen'\nimport { GetHelpScreen } from '../screens/get_help_screen'\nimport {\n GroupNotificationLevelSelectScreen,\n GroupNotificationLevelSelectScreenOptions,\n} from '../screens/group_notification_level_select_screen'\nimport { GroupNotificationSettingsScreen } from '../screens/group_notification_settings_screen'\nimport {\n MessageActionsScreen,\n MessageActionsScreenOptions,\n} from '../screens/message_actions_screen'\nimport { MessageReportScreen, MessageReportScreenOptions } from '../screens/message_report_screen'\nimport { NotFound } from '../screens/not_found'\nimport { NotificationSettingsScreen } from '../screens/notification_settings_screen'\nimport { PreferredAppSelectionScreen } from '../screens/preferred_app_selection_screen'\nimport { ReactionsScreen, ReactionsScreenOptions } from '../screens/reactions_screen'\nimport { SearchScreen, SearchScreenOptions } from '../screens/search/search_screen'\nimport { SendGiphyScreen, SendGiphyScreenOptions } from '../screens/send_giphy_screen'\nimport { SettingsScreen } from '../screens/settings_screen'\nimport {\n SystemMessagePeopleScreen,\n SystemMessagePeopleScreenOptions,\n} from '../screens/system_message_people_screen'\nimport { TeamConversationScreen } from '../screens/team_conversation_screen'\nimport { isLiquidGlassEnabled } from '../utils/liquid_glass'\nimport { ScreenLayoutWithChatAccessGate } from './screenLayout'\n\nconst conversationGlassHeader = (): NativeStackNavigationOptions =>\n isLiquidGlassEnabled() ? { headerBlurEffect: 'systemChromeMaterial' } : {}\n\nconst globalScreenOptions: () => NativeStackNavigationOptions = () => ({\n headerBackButtonDisplayMode: 'minimal',\n ...(isLiquidGlassEnabled() ? { headerShadowVisible: false, headerTransparent: true } : {}),\n})\n\nexport const NewConversationStack = createNativeStackNavigator({\n initialRouteName: 'ConversationNewEntry',\n screenOptions: globalScreenOptions,\n screenLayout: ScreenLayoutWithChatAccessGate,\n screens: {\n ConversationNewEntry: {\n screen: ConversationNewEntryScreen,\n options: ({ navigation }) =>\n composeOptions(\n {\n title: 'New conversation',\n headerBackVisible: false,\n },\n withRightClose({ onPress: navigation.goBack })\n ),\n },\n ConversationSelectGroupRecipients: {\n screen: ConversationSelectGroupRecipientsScreen,\n options: ({ navigation, route }) =>\n composeOptions(\n {\n title: 'New conversation',\n },\n withRightClose({\n onPress: () => navigation.popTo('Conversations', route.params),\n })\n ),\n },\n ConversationSelectTeamsILeadRecipients: {\n screen: ConversationSelectTeamsILeadRecipientsScreen,\n options: ({ navigation, route }) =>\n composeOptions(\n {\n title: 'New conversation',\n },\n withRightClose({\n onPress: () => navigation.popTo('Conversations', route.params),\n })\n ),\n },\n ConversationSelectDirectMessageRecipients: {\n screen: ConversationSelectDirectMessageRecipientsScreen,\n if: useDirectMessagesEligible,\n options: ({ navigation }) =>\n composeOptions(\n {\n title: 'New conversation',\n headerBackVisible: false,\n },\n withRightClose({ onPress: navigation.goBack })\n ),\n },\n ConversationFilterRecipients: {\n screen: ConversationFilterRecipientsScreen,\n options: ConversationFilterReceipientsScreenOptions,\n },\n ConversationNew: {\n screen: ConversationNewScreen,\n options: ({ navigation, route }) =>\n composeOptions(\n {\n title: 'New conversation',\n headerLeft: () => null,\n headerTransparent: false,\n },\n withRightClose({\n onPress: () => {\n const { chat_group_graph_id, group_source_app_name } =\n route.params as ConversationSelectRecipientsParams\n navigation.popTo('Conversations', { chat_group_graph_id, group_source_app_name })\n },\n })\n ),\n },\n AvatarPicker: {\n screen: AvatarPickerScreen,\n options: AvatarPickerCreateScreenOptions,\n },\n },\n})\n\nexport const ChatStack = createNativeStackNavigator({\n screenOptions: globalScreenOptions,\n screenLayout: ScreenLayoutWithChatAccessGate,\n screens: {\n Conversations: {\n screen: ConversationsScreen,\n options: ({ route, navigation }) =>\n composeOptions(\n {\n headerTitle: (route.params as { title?: string })?.title ?? 'Chat',\n headerBackVisible: false,\n },\n withRightClose({ onPress: navigation.goBack })\n ),\n },\n ConversationFilters: {\n screen: ConversationFiltersScreen,\n options: ConversationFiltersScreenOptions,\n },\n Search: {\n screen: SearchScreen,\n options: SearchScreenOptions,\n },\n Conversation: {\n screen: ConversationScreen,\n options: ({ route, navigation }) =>\n composeOptions(\n {\n ...conversationGlassHeader(),\n headerTitle: (props: NativeStackHeaderRightProps) => {\n const { conversation_id, title, badge, deleted, muted } =\n route.params as ConversationRouteProps\n\n return (\n <ConversationScreenTitle\n conversation_id={conversation_id}\n badge={badge}\n deleted={deleted}\n muted={muted}\n {...props}\n >\n {title ?? 'Conversation'}\n </ConversationScreenTitle>\n )\n },\n },\n withMinimalBack({\n onPress: () => {\n const params = route.params as ConversationRouteProps\n if ((params as ConversationFiltersParams)?.chat_group_graph_id) {\n // Ensure that conversations with a graph id pass them back to the conversation list\n const { chat_group_graph_id } = params\n navigation.popTo('Conversations', { chat_group_graph_id })\n } else {\n navigation.goBack()\n }\n },\n }),\n withRightClose({ onPress: () => navigation.getParent()?.goBack() })\n ),\n },\n ConversationReply: {\n screen: ConversationScreen,\n options: ({ route, navigation }) =>\n composeOptions(\n {\n ...conversationGlassHeader(),\n title: (route.params as ConversationRouteProps)?.title ?? 'Reply',\n },\n withMinimalBack({ onPress: navigation.goBack })\n ),\n },\n TeamConversation: {\n screen: TeamConversationScreen,\n if: useQualifiedByAge,\n options: {\n title: 'Finding conversation...',\n animation: 'none',\n cardStyleInterpolator: CardStyleInterpolators.forNoAnimation,\n },\n },\n ConversationDetails: {\n screen: ConversationDetailsScreen,\n options: ({ navigation }) =>\n composeOptions(\n {\n presentation: 'modal',\n title: 'Conversation details',\n },\n withRightDone({ onPress: navigation.goBack })\n ),\n },\n AvatarPicker: {\n screen: AvatarPickerScreen,\n options: AvatarPickerScreenOptions,\n },\n ChatSettings: {\n screen: SettingsScreen,\n options: ({ navigation }) =>\n composeOptions({ title: 'Chat settings' }, withMinimalBack({ onPress: navigation.goBack })),\n },\n NotificationSettings: {\n screen: NotificationSettingsScreen,\n options: ({ navigation }) =>\n navigation.getState().index === 0\n ? composeOptions(\n { title: 'Chat notifications' },\n withRightClose({ onPress: navigation.goBack })\n )\n : composeOptions(\n { title: 'Chat notifications' },\n withMinimalBack({ onPress: navigation.goBack })\n ),\n },\n PreferredAppSelection: {\n screen: PreferredAppSelectionScreen,\n options: ({ navigation }) =>\n composeOptions({ title: 'Preferred app' }, withMinimalBack({ onPress: navigation.goBack })),\n },\n GroupNotificationSettings: {\n screen: GroupNotificationSettingsScreen,\n options: ({ route, navigation }) => {\n const title = (route.params as { title?: string })?.title || 'Group Settings'\n\n // The dismiss button only shows when this is the entry screen (e.g.\n // deep links); deeper in the stack the back button covers dismissal.\n return navigation.getState().index === 0\n ? composeOptions(\n {\n title,\n },\n withRightClose({ onPress: navigation.goBack })\n )\n : composeOptions({ title }, withMinimalBack({ onPress: navigation.goBack }))\n },\n },\n GroupNotificationLevelSelect: {\n screen: GroupNotificationLevelSelectScreen,\n options: GroupNotificationLevelSelectScreenOptions,\n },\n ConversationNotificationLevelSelect: {\n screen: ConversationNotificationLevelSelectScreen,\n options: ConversationNotificationLevelSelectScreenOptions,\n },\n New: {\n screen: NewConversationStack,\n if: useQualifiedByAge,\n layout: ({ children }) => children,\n options: {\n headerShown: false,\n presentation: 'modal',\n },\n },\n GroupConversationNew: {\n screen: ConversationNewScreen,\n if: useQualifiedByAge,\n options: ({ navigation }) =>\n composeOptions(\n {\n title: 'New conversation',\n headerLeft: () => null,\n headerTransparent: false,\n },\n withRightClose({ onPress: () => navigation.getParent()?.goBack() })\n ),\n },\n SendGiphy: {\n screen: SendGiphyScreen,\n options: SendGiphyScreenOptions,\n },\n MessageActions: {\n screen: MessageActionsScreen,\n // Something about sheetAllowedDetents declared inline breaks TS\n options: MessageActionsScreenOptions,\n },\n MessageReport: {\n screen: MessageReportScreen,\n options: MessageReportScreenOptions,\n },\n AttachmentActions: {\n screen: AttachmentActionsScreen,\n options: AttachmentActionsScreenOptions,\n },\n ConversationSelectType: {\n screen: ConversationSelectTypeScreen,\n options: ConversationSelectTypeScreenOptions,\n },\n Reactions: {\n screen: ReactionsScreen,\n options: ReactionsScreenOptions,\n },\n SystemMessagePeople: {\n screen: SystemMessagePeopleScreen,\n options: SystemMessagePeopleScreenOptions,\n },\n MessageReadReceipts: {\n screen: MessageReadReceiptsScreen,\n options: MessageReadReceiptsScreenOptions,\n },\n BugReport: {\n screen: BugReportScreen,\n options: BugReportScreenOptions,\n },\n GetHelp: {\n screen: GetHelpScreen,\n options: ({ navigation }) =>\n composeOptions(\n {\n headerTitle: 'Get help',\n headerBackVisible: false,\n presentation: 'modal',\n },\n withRightClose({ onPress: navigation.goBack })\n ),\n },\n NotFound: {\n screen: NotFound,\n options: {\n title: '404',\n },\n linking: {\n path: '*',\n },\n },\n },\n})\n\ntype ChatStackParamList = StaticParamList<typeof ChatStack>\n\ndeclare global {\n namespace ReactNavigation {\n interface RootParamList extends ChatStackParamList {}\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ import type { StaticParamList } from '@react-navigation/native';
2
+ import type { PageErrorFallback } from '../components/page/page_error_boundary';
3
+ import type { NewConversationStack } from './index';
4
+ type RouteName = keyof ReactNavigation.RootParamList | keyof StaticParamList<typeof NewConversationStack>;
5
+ export declare const PAGE_ERROR_FALLBACKS: Partial<Record<RouteName, PageErrorFallback>>;
6
+ export {};
7
+ //# sourceMappingURL=page_error_fallbacks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page_error_fallbacks.d.ts","sourceRoot":"","sources":["../../src/navigation/page_error_fallbacks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAA;AAC/E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAEnD,KAAK,SAAS,GACV,MAAM,eAAe,CAAC,aAAa,GACnC,MAAM,eAAe,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEtD,eAAO,MAAM,oBAAoB,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAK9E,CAAA"}
@@ -0,0 +1,7 @@
1
+ export const PAGE_ERROR_FALLBACKS = {
2
+ ConversationSelectDirectMessageRecipients: {
3
+ heading: "Couldn't load people right now",
4
+ body: 'Try again.'
5
+ }
6
+ };
7
+ //# sourceMappingURL=page_error_fallbacks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page_error_fallbacks.js","names":["PAGE_ERROR_FALLBACKS","ConversationSelectDirectMessageRecipients","heading","body"],"sources":["../../src/navigation/page_error_fallbacks.ts"],"sourcesContent":["import type { StaticParamList } from '@react-navigation/native'\nimport type { PageErrorFallback } from '../components/page/page_error_boundary'\nimport type { NewConversationStack } from './index'\n\ntype RouteName =\n | keyof ReactNavigation.RootParamList\n | keyof StaticParamList<typeof NewConversationStack>\n\nexport const PAGE_ERROR_FALLBACKS: Partial<Record<RouteName, PageErrorFallback>> = {\n ConversationSelectDirectMessageRecipients: {\n heading: \"Couldn't load people right now\",\n body: 'Try again.',\n },\n}\n"],"mappings":"AAQA,OAAO,MAAMA,oBAAmE,GAAG;EACjFC,yCAAyC,EAAE;IACzCC,OAAO,EAAE,gCAAgC;IACzCC,IAAI,EAAE;EACR;AACF,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"screenLayout.d.ts","sourceRoot":"","sources":["../../src/navigation/screenLayout.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAQzB,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAA;CAAE,2CAW1E;AAED,wBAAgB,8BAA8B,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAA;CAAE,2CAQ5F"}
1
+ {"version":3,"file":"screenLayout.d.ts","sourceRoot":"","sources":["../../src/navigation/screenLayout.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AASzB,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAA;CAAE,2CAa1E;AAED,wBAAgB,8BAA8B,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAA;CAAE,2CAQ5F"}