@planningcenter/chat-react-native 3.42.3-qa-staging.7 → 3.42.3-qa-858.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/build/components/conversation/messages_disabled_banners.d.ts +3 -2
  2. package/build/components/conversation/messages_disabled_banners.d.ts.map +1 -1
  3. package/build/components/conversation/messages_disabled_banners.js +7 -2
  4. package/build/components/conversation/messages_disabled_banners.js.map +1 -1
  5. package/build/components/display/adult_requirement_notice.js +1 -1
  6. package/build/components/display/adult_requirement_notice.js.map +1 -1
  7. package/build/components/display/platform_modal_header_buttons.d.ts +45 -7
  8. package/build/components/display/platform_modal_header_buttons.d.ts.map +1 -1
  9. package/build/components/display/platform_modal_header_buttons.js +108 -9
  10. package/build/components/display/platform_modal_header_buttons.js.map +1 -1
  11. package/build/components/primitive/form_sheet.js +2 -2
  12. package/build/components/primitive/form_sheet.js.map +1 -1
  13. package/build/hooks/use_conversation.d.ts.map +1 -1
  14. package/build/hooks/use_conversation.js +0 -1
  15. package/build/hooks/use_conversation.js.map +1 -1
  16. package/build/hooks/use_conversation_jolt_events.d.ts.map +1 -1
  17. package/build/hooks/use_conversation_jolt_events.js +2 -10
  18. package/build/hooks/use_conversation_jolt_events.js.map +1 -1
  19. package/build/navigation/index.d.ts +76 -149
  20. package/build/navigation/index.d.ts.map +1 -1
  21. package/build/navigation/index.js +67 -79
  22. package/build/navigation/index.js.map +1 -1
  23. package/build/screens/bug_report_screen.d.ts.map +1 -1
  24. package/build/screens/bug_report_screen.js +10 -13
  25. package/build/screens/bug_report_screen.js.map +1 -1
  26. package/build/screens/conversation_details_screen.d.ts.map +1 -1
  27. package/build/screens/conversation_details_screen.js +11 -12
  28. package/build/screens/conversation_details_screen.js.map +1 -1
  29. package/build/screens/conversation_filters/components/rows.js +1 -1
  30. package/build/screens/conversation_filters/components/rows.js.map +1 -1
  31. package/build/screens/conversation_filters_screen.d.ts.map +1 -1
  32. package/build/screens/conversation_filters_screen.js +15 -2
  33. package/build/screens/conversation_filters_screen.js.map +1 -1
  34. package/build/screens/conversation_screen.d.ts.map +1 -1
  35. package/build/screens/conversation_screen.js +7 -3
  36. package/build/screens/conversation_screen.js.map +1 -1
  37. package/build/screens/conversation_select_recipients/components/groups_recipient_row.js +1 -1
  38. package/build/screens/conversation_select_recipients/components/groups_recipient_row.js.map +1 -1
  39. package/build/screens/conversation_select_recipients/components/restricted_group_row.js +1 -1
  40. package/build/screens/conversation_select_recipients/components/restricted_group_row.js.map +1 -1
  41. package/build/screens/message_report_screen.d.ts.map +1 -1
  42. package/build/screens/message_report_screen.js +14 -18
  43. package/build/screens/message_report_screen.js.map +1 -1
  44. package/build/screens/notification_settings_screen.d.ts.map +1 -1
  45. package/build/screens/notification_settings_screen.js +0 -14
  46. package/build/screens/notification_settings_screen.js.map +1 -1
  47. package/build/types/jolt_events/conversation_events.d.ts +2 -2
  48. package/build/types/jolt_events/conversation_events.d.ts.map +1 -1
  49. package/build/types/jolt_events/conversation_events.js.map +1 -1
  50. package/build/types/resources/conversation.d.ts +2 -2
  51. package/build/types/resources/conversation.d.ts.map +1 -1
  52. package/build/types/resources/conversation.js.map +1 -1
  53. package/build/utils/conversation_safety_constants.d.ts +1 -1
  54. package/build/utils/conversation_safety_constants.d.ts.map +1 -1
  55. package/build/utils/conversation_safety_constants.js +1 -1
  56. package/build/utils/conversation_safety_constants.js.map +1 -1
  57. package/build/utils/request/conversation.d.ts.map +1 -1
  58. package/build/utils/request/conversation.js +0 -1
  59. package/build/utils/request/conversation.js.map +1 -1
  60. package/package.json +4 -3
  61. package/src/components/conversation/messages_disabled_banners.tsx +11 -3
  62. package/src/components/display/adult_requirement_notice.tsx +1 -1
  63. package/src/components/display/platform_modal_header_buttons.tsx +209 -13
  64. package/src/components/primitive/form_sheet.tsx +2 -2
  65. package/src/hooks/use_conversation.ts +0 -1
  66. package/src/hooks/use_conversation_jolt_events.ts +3 -16
  67. package/src/navigation/index.tsx +138 -156
  68. package/src/screens/bug_report_screen.tsx +16 -15
  69. package/src/screens/conversation_details_screen.tsx +11 -17
  70. package/src/screens/conversation_filters/components/rows.tsx +2 -2
  71. package/src/screens/conversation_filters_screen.tsx +22 -2
  72. package/src/screens/conversation_screen.tsx +8 -3
  73. package/src/screens/conversation_select_recipients/components/groups_recipient_row.tsx +1 -1
  74. package/src/screens/conversation_select_recipients/components/restricted_group_row.tsx +2 -2
  75. package/src/screens/message_report_screen.tsx +20 -21
  76. package/src/screens/notification_settings_screen.tsx +1 -21
  77. package/src/types/jolt_events/conversation_events.ts +2 -2
  78. package/src/types/resources/conversation.ts +3 -2
  79. package/src/utils/conversation_safety_constants.ts +1 -1
  80. package/src/utils/request/conversation.ts +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"use_conversation_jolt_events.js","sourceRoot":"","sources":["../../src/hooks/use_conversation_jolt_events.ts"],"names":[],"mappings":"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","sourcesContent":["import { useQueryClient } from '@tanstack/react-query'\nimport { useCallback, useMemo } from 'react'\nimport { ApiResource, ConversationResource } from '../types'\nimport { JoltConversationEvent, JoltReactionEvent } from '../types/jolt_events'\nimport { completeMessageCreationConversationTracking } from '../utils/performance_tracking'\nimport { useApiClient } from './use_api_client'\nimport { getConversationRequestArgs } from './use_conversation'\nimport { useCurrentPerson } from './use_current_person'\nimport { useJoltChannel, useJoltEvent } from './use_jolt'\nimport { getRequestQueryKey } from './use_suspense_api'\n\ninterface Props {\n conversationId: number\n}\n\nexport function useConversationJoltEvents({ conversationId }: Props) {\n const joltChannel = useJoltChannel(`chat.conversations.${conversationId}`)\n const queryClient = useQueryClient()\n const currentPerson = useCurrentPerson()\n const currentPersonId = currentPerson?.id\n const apiClient = useApiClient()\n const queryKey = useMemo(\n () => getRequestQueryKey(getConversationRequestArgs({ conversation_id: conversationId })),\n [conversationId]\n )\n\n const handleUpdatedConversation = useCallback(\n (e: JoltConversationEvent) => {\n const {\n last_message_idempotent_key,\n last_message_author_id,\n disabled,\n disabled_reason,\n disabled_message,\n } = e.data.data\n\n if (last_message_idempotent_key && last_message_author_id === currentPersonId) {\n completeMessageCreationConversationTracking({\n apiClient,\n idempotentKey: last_message_idempotent_key,\n })\n }\n\n queryClient.setQueryData<ApiResource<ConversationResource>>(queryKey, prev => {\n if (!prev?.data) return prev\n return {\n ...prev,\n data: {\n ...prev.data,\n disabled,\n disabledReason: disabled_reason,\n disabledMessage: disabled_message,\n },\n }\n })\n\n queryClient.invalidateQueries({ queryKey })\n },\n [queryClient, queryKey, currentPersonId, apiClient]\n )\n\n const handleConversationRead = useCallback(\n (e: JoltConversationEvent) => {\n const { latest_read_message_sort_key } = e.data.data\n queryClient.setQueryData<ApiResource<ConversationResource>>(queryKey, prev => {\n if (!prev?.data || !latest_read_message_sort_key) return prev\n if (\n prev.data.latestReadMessageSortKey &&\n prev.data.latestReadMessageSortKey >= latest_read_message_sort_key\n ) {\n return prev\n }\n\n return {\n ...prev,\n data: {\n ...prev.data,\n latestReadMessageSortKey: latest_read_message_sort_key,\n unreadReaction: false,\n },\n }\n })\n },\n [queryClient, queryKey]\n )\n\n const handleConversationDestroyed = useCallback(() => {\n queryClient.setQueryData<ApiResource<ConversationResource>>(queryKey, prev => {\n if (!prev?.data) return prev\n\n return {\n ...prev,\n data: {\n ...prev.data,\n deleted: true,\n },\n }\n })\n }, [queryClient, queryKey])\n\n const handleReactionJoltEvent = useCallback(\n (event: JoltReactionEvent) => {\n if (event.event !== 'reaction.created') return\n if (event.data.data.author_id === currentPersonId) return\n if (event.data.data.message_author_id !== currentPersonId) return\n\n queryClient.setQueryData<ApiResource<ConversationResource>>(queryKey, prev => {\n if (!prev?.data) return prev\n return { ...prev, data: { ...prev.data, unreadReaction: true } }\n })\n },\n [queryClient, queryKey, currentPersonId]\n )\n\n useJoltEvent(joltChannel, 'conversation.updated', handleUpdatedConversation)\n useJoltEvent(joltChannel, 'conversation.read', handleConversationRead)\n useJoltEvent(joltChannel, 'conversation.destroyed', handleConversationDestroyed)\n useJoltEvent(joltChannel, 'reaction.*', handleReactionJoltEvent)\n}\n"]}
1
+ {"version":3,"file":"use_conversation_jolt_events.js","sourceRoot":"","sources":["../../src/hooks/use_conversation_jolt_events.ts"],"names":[],"mappings":"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","sourcesContent":["import { useQueryClient } from '@tanstack/react-query'\nimport { useCallback, useMemo } from 'react'\nimport { ApiResource, ConversationResource } from '../types'\nimport { JoltConversationEvent, JoltReactionEvent } from '../types/jolt_events'\nimport { completeMessageCreationConversationTracking } from '../utils/performance_tracking'\nimport { useApiClient } from './use_api_client'\nimport { getConversationRequestArgs } from './use_conversation'\nimport { useCurrentPerson } from './use_current_person'\nimport { useJoltChannel, useJoltEvent } from './use_jolt'\nimport { getRequestQueryKey } from './use_suspense_api'\n\ninterface Props {\n conversationId: number\n}\n\nexport function useConversationJoltEvents({ conversationId }: Props) {\n const joltChannel = useJoltChannel(`chat.conversations.${conversationId}`)\n const queryClient = useQueryClient()\n const currentPerson = useCurrentPerson()\n const currentPersonId = currentPerson?.id\n const apiClient = useApiClient()\n const queryKey = useMemo(\n () => getRequestQueryKey(getConversationRequestArgs({ conversation_id: conversationId })),\n [conversationId]\n )\n\n const handleUpdatedConversation = useCallback(\n (e: JoltConversationEvent) => {\n const { last_message_idempotent_key, last_message_author_id, disabled, disabled_reason } =\n e.data.data\n\n if (last_message_idempotent_key && last_message_author_id === currentPersonId) {\n completeMessageCreationConversationTracking({\n apiClient,\n idempotentKey: last_message_idempotent_key,\n })\n }\n\n queryClient.setQueryData<ApiResource<ConversationResource>>(queryKey, prev => {\n if (!prev?.data) return prev\n return { ...prev, data: { ...prev.data, disabled, disabledReason: disabled_reason } }\n })\n\n queryClient.invalidateQueries({ queryKey })\n },\n [queryClient, queryKey, currentPersonId, apiClient]\n )\n\n const handleConversationRead = useCallback(\n (e: JoltConversationEvent) => {\n const { latest_read_message_sort_key } = e.data.data\n queryClient.setQueryData<ApiResource<ConversationResource>>(queryKey, prev => {\n if (!prev?.data || !latest_read_message_sort_key) return prev\n if (\n prev.data.latestReadMessageSortKey &&\n prev.data.latestReadMessageSortKey >= latest_read_message_sort_key\n ) {\n return prev\n }\n\n return {\n ...prev,\n data: {\n ...prev.data,\n latestReadMessageSortKey: latest_read_message_sort_key,\n unreadReaction: false,\n },\n }\n })\n },\n [queryClient, queryKey]\n )\n\n const handleConversationDestroyed = useCallback(() => {\n queryClient.setQueryData<ApiResource<ConversationResource>>(queryKey, prev => {\n if (!prev?.data) return prev\n\n return {\n ...prev,\n data: {\n ...prev.data,\n deleted: true,\n },\n }\n })\n }, [queryClient, queryKey])\n\n const handleReactionJoltEvent = useCallback(\n (event: JoltReactionEvent) => {\n if (event.event !== 'reaction.created') return\n if (event.data.data.author_id === currentPersonId) return\n if (event.data.data.message_author_id !== currentPersonId) return\n\n queryClient.setQueryData<ApiResource<ConversationResource>>(queryKey, prev => {\n if (!prev?.data) return prev\n return { ...prev, data: { ...prev.data, unreadReaction: true } }\n })\n },\n [queryClient, queryKey, currentPersonId]\n )\n\n useJoltEvent(joltChannel, 'conversation.updated', handleUpdatedConversation)\n useJoltEvent(joltChannel, 'conversation.read', handleConversationRead)\n useJoltEvent(joltChannel, 'conversation.destroyed', handleConversationDestroyed)\n useJoltEvent(joltChannel, 'reaction.*', handleReactionJoltEvent)\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import { StaticParamList } from '@react-navigation/native';
2
- import { NativeStackHeaderRightProps } from '@react-navigation/native-stack';
2
+ import { NativeStackNavigationOptions } from '@react-navigation/native-stack';
3
3
  import { CardStyleInterpolators } from '@react-navigation/stack';
4
4
  import { useDirectMessagesEnabled } from '../hooks';
5
5
  import { AttachmentActionsScreen } from '../screens/attachment_actions/attachment_actions_screen';
@@ -26,70 +26,55 @@ import { SystemMessagePeopleScreen } from '../screens/system_message_people_scre
26
26
  import { ScreenLayoutWithChatAccessGate } from './screenLayout';
27
27
  export declare const NewConversationStack: import("@react-navigation/core").TypedNavigator<{
28
28
  ParamList: import("@react-navigation/routers").ParamListBase;
29
- NavigatorID: undefined;
29
+ NavigatorID: string | undefined;
30
30
  State: import("@react-navigation/routers").StackNavigationState<import("@react-navigation/routers").ParamListBase>;
31
- ScreenOptions: import("@react-navigation/native-stack").NativeStackNavigationOptions;
31
+ ScreenOptions: NativeStackNavigationOptions;
32
32
  EventMap: import("@react-navigation/native-stack").NativeStackNavigationEventMap;
33
33
  NavigationList: {
34
- [x: string]: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, undefined>;
34
+ [x: string]: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, string | undefined>;
35
35
  };
36
- Navigator: ({ id, initialRouteName, children, layout, screenListeners, screenOptions, screenLayout, UNSTABLE_getStateForRouteNamesChange, ...rest }: import("@react-navigation/native-stack").NativeStackNavigatorProps) => import("react/jsx-runtime").JSX.Element;
36
+ Navigator: ({ id, initialRouteName, UNSTABLE_routeNamesChangeBehavior, children, layout, screenListeners, screenOptions, screenLayout, UNSTABLE_router, ...rest }: import("@react-navigation/native-stack").NativeStackNavigatorProps) => import("react/jsx-runtime").JSX.Element;
37
37
  }, {
38
38
  readonly initialRouteName: "ConversationNewEntry";
39
- readonly screenOptions: {
40
- readonly headerBackButtonDisplayMode: "minimal";
41
- };
39
+ readonly screenOptions: () => NativeStackNavigationOptions;
42
40
  readonly screenLayout: typeof ScreenLayoutWithChatAccessGate;
43
41
  readonly screens: {
44
42
  readonly ConversationNewEntry: {
45
43
  readonly screen: ({ route }: import("../screens/conversation_select_recipients/types/screen_props").ConversationSelectRecipientsScreenProps) => import("react/jsx-runtime").JSX.Element;
46
44
  readonly options: ({ navigation }: {
47
45
  route: import("@react-navigation/core").RouteProp<import("@react-navigation/routers").ParamListBase, string>;
48
- navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, undefined>;
46
+ navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, string | undefined>;
49
47
  theme: ReactNavigation.Theme;
50
- }) => {
51
- title: string;
52
- headerRight: (props: NativeStackHeaderRightProps) => import("react/jsx-runtime").JSX.Element;
53
- headerBackVisible: false;
54
- };
48
+ }) => NativeStackNavigationOptions;
55
49
  };
56
50
  readonly ConversationSelectGroupRecipients: {
57
51
  readonly screen: ({ route, }: import("../screens/conversation_select_recipients/types/screen_props").ConversationSelectRecipientsScreenProps) => import("react/jsx-runtime").JSX.Element;
58
52
  readonly options: ({ navigation, route }: {
59
53
  route: import("@react-navigation/core").RouteProp<import("@react-navigation/routers").ParamListBase, string>;
60
- navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, undefined>;
54
+ navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, string | undefined>;
61
55
  theme: ReactNavigation.Theme;
62
- }) => {
63
- title: string;
64
- headerRight: (props: NativeStackHeaderRightProps) => import("react/jsx-runtime").JSX.Element;
65
- };
56
+ }) => NativeStackNavigationOptions;
66
57
  };
67
58
  readonly ConversationSelectTeamsILeadRecipients: {
68
59
  readonly screen: ({ route, }: import("../screens/conversation_select_recipients/types/screen_props").ConversationSelectRecipientsScreenProps) => import("react/jsx-runtime").JSX.Element;
69
60
  readonly options: ({ navigation, route }: {
70
61
  route: import("@react-navigation/core").RouteProp<import("@react-navigation/routers").ParamListBase, string>;
71
- navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, undefined>;
62
+ navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, string | undefined>;
72
63
  theme: ReactNavigation.Theme;
73
- }) => {
74
- title: string;
75
- headerRight: (props: NativeStackHeaderRightProps) => import("react/jsx-runtime").JSX.Element;
76
- };
64
+ }) => NativeStackNavigationOptions;
77
65
  };
78
66
  readonly ConversationSelectDirectMessageRecipients: {
79
67
  readonly screen: typeof ConversationSelectDirectMessageRecipientsScreen;
80
68
  readonly if: typeof useDirectMessagesEnabled;
81
69
  readonly options: ({ navigation, route }: {
82
70
  route: import("@react-navigation/core").RouteProp<import("@react-navigation/routers").ParamListBase, string>;
83
- navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, undefined>;
71
+ navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, string | undefined>;
84
72
  theme: ReactNavigation.Theme;
85
- }) => {
86
- title: string;
87
- headerRight: (props: NativeStackHeaderRightProps) => import("react/jsx-runtime").JSX.Element;
88
- };
73
+ }) => NativeStackNavigationOptions;
89
74
  };
90
75
  readonly ConversationFilterRecipients: {
91
76
  readonly screen: ({ route, }: import("../screens/conversation_filter_recipients/types").ConversationFilterRecipientsScreenProps) => import("react/jsx-runtime").JSX.Element;
92
- readonly options: import("@react-navigation/native-stack").NativeStackNavigationOptions;
77
+ readonly options: NativeStackNavigationOptions;
93
78
  };
94
79
  readonly ConversationNew: {
95
80
  readonly screen: ({ route }: {
@@ -108,74 +93,57 @@ export declare const NewConversationStack: import("@react-navigation/core").Type
108
93
  }) => import("react/jsx-runtime").JSX.Element;
109
94
  readonly options: ({ navigation, route }: {
110
95
  route: import("@react-navigation/core").RouteProp<import("@react-navigation/routers").ParamListBase, string>;
111
- navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, undefined>;
96
+ navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, string | undefined>;
112
97
  theme: ReactNavigation.Theme;
113
- }) => {
114
- title: string;
115
- headerLeft: () => null;
116
- headerRight: (props: NativeStackHeaderRightProps) => import("react/jsx-runtime").JSX.Element;
117
- };
98
+ }) => NativeStackNavigationOptions;
118
99
  };
119
100
  readonly AvatarPicker: {
120
101
  readonly screen: typeof AvatarPickerScreen;
121
- readonly options: import("@react-navigation/native-stack").NativeStackNavigationOptions;
102
+ readonly options: NativeStackNavigationOptions;
122
103
  };
123
104
  };
124
105
  }>;
125
106
  export declare const ChatStack: import("@react-navigation/core").TypedNavigator<{
126
107
  ParamList: import("@react-navigation/routers").ParamListBase;
127
- NavigatorID: undefined;
108
+ NavigatorID: string | undefined;
128
109
  State: import("@react-navigation/routers").StackNavigationState<import("@react-navigation/routers").ParamListBase>;
129
- ScreenOptions: import("@react-navigation/native-stack").NativeStackNavigationOptions;
110
+ ScreenOptions: NativeStackNavigationOptions;
130
111
  EventMap: import("@react-navigation/native-stack").NativeStackNavigationEventMap;
131
112
  NavigationList: {
132
- [x: string]: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, undefined>;
113
+ [x: string]: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, string | undefined>;
133
114
  };
134
- Navigator: ({ id, initialRouteName, children, layout, screenListeners, screenOptions, screenLayout, UNSTABLE_getStateForRouteNamesChange, ...rest }: import("@react-navigation/native-stack").NativeStackNavigatorProps) => import("react/jsx-runtime").JSX.Element;
115
+ Navigator: ({ id, initialRouteName, UNSTABLE_routeNamesChangeBehavior, children, layout, screenListeners, screenOptions, screenLayout, UNSTABLE_router, ...rest }: import("@react-navigation/native-stack").NativeStackNavigatorProps) => import("react/jsx-runtime").JSX.Element;
135
116
  }, {
136
- readonly screenOptions: {
137
- readonly headerBackButtonDisplayMode: "minimal";
138
- };
117
+ readonly screenOptions: () => NativeStackNavigationOptions;
139
118
  readonly screenLayout: typeof ScreenLayoutWithChatAccessGate;
140
119
  readonly screens: {
141
120
  readonly Conversations: {
142
121
  readonly screen: typeof ConversationsScreen;
143
122
  readonly options: ({ route, navigation }: {
144
123
  route: import("@react-navigation/core").RouteProp<import("@react-navigation/routers").ParamListBase, string>;
145
- navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, undefined>;
124
+ navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, string | undefined>;
146
125
  theme: ReactNavigation.Theme;
147
- }) => {
148
- headerTitle: string;
149
- headerBackVisible: false;
150
- headerRight: (props: NativeStackHeaderRightProps) => import("react/jsx-runtime").JSX.Element;
151
- };
126
+ }) => NativeStackNavigationOptions;
152
127
  };
153
128
  readonly ConversationFilters: {
154
129
  readonly screen: (_props: import("..").ConversationFiltersScreenProps) => import("react/jsx-runtime").JSX.Element;
155
- readonly options: import("@react-navigation/native-stack").NativeStackNavigationOptions;
130
+ readonly options: NativeStackNavigationOptions;
156
131
  };
157
132
  readonly Conversation: {
158
133
  readonly screen: typeof ConversationScreen;
159
134
  readonly options: ({ route, navigation }: {
160
135
  route: import("@react-navigation/core").RouteProp<import("@react-navigation/routers").ParamListBase, string>;
161
- navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, undefined>;
136
+ navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, string | undefined>;
162
137
  theme: ReactNavigation.Theme;
163
- }) => {
164
- headerTitle: (props: NativeStackHeaderRightProps) => import("react/jsx-runtime").JSX.Element;
165
- headerRight: (props: NativeStackHeaderRightProps) => import("react/jsx-runtime").JSX.Element;
166
- headerLeft: (props: import("@react-navigation/native-stack").NativeStackHeaderLeftProps) => import("react/jsx-runtime").JSX.Element;
167
- };
138
+ }) => NativeStackNavigationOptions;
168
139
  };
169
140
  readonly ConversationReply: {
170
141
  readonly screen: typeof ConversationScreen;
171
142
  readonly options: ({ route, navigation }: {
172
143
  route: import("@react-navigation/core").RouteProp<import("@react-navigation/routers").ParamListBase, string>;
173
- navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, undefined>;
144
+ navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, string | undefined>;
174
145
  theme: ReactNavigation.Theme;
175
- }) => {
176
- title: string;
177
- headerLeft: (props: import("@react-navigation/native-stack").NativeStackHeaderLeftProps) => import("react/jsx-runtime").JSX.Element;
178
- };
146
+ }) => NativeStackNavigationOptions;
179
147
  };
180
148
  readonly TeamConversation: {
181
149
  readonly screen: ({ route }: import("..").TeamConversationScreenProps) => import("react/jsx-runtime").JSX.Element;
@@ -190,134 +158,106 @@ export declare const ChatStack: import("@react-navigation/core").TypedNavigator<
190
158
  readonly screen: typeof ConversationDetailsScreen;
191
159
  readonly options: ({ navigation }: {
192
160
  route: import("@react-navigation/core").RouteProp<import("@react-navigation/routers").ParamListBase, string>;
193
- navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, undefined>;
161
+ navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, string | undefined>;
194
162
  theme: ReactNavigation.Theme;
195
- }) => {
196
- presentation: "modal";
197
- title: string;
198
- headerRight: (props: NativeStackHeaderRightProps) => import("react/jsx-runtime").JSX.Element;
199
- };
163
+ }) => NativeStackNavigationOptions;
200
164
  };
201
165
  readonly AvatarPicker: {
202
166
  readonly screen: typeof AvatarPickerScreen;
203
- readonly options: import("@react-navigation/native-stack").NativeStackNavigationOptions;
167
+ readonly options: NativeStackNavigationOptions;
204
168
  };
205
169
  readonly ChatSettings: {
206
170
  readonly screen: typeof SettingsScreen;
207
171
  readonly options: ({ navigation }: {
208
172
  route: import("@react-navigation/core").RouteProp<import("@react-navigation/routers").ParamListBase, string>;
209
- navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, undefined>;
173
+ navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, string | undefined>;
210
174
  theme: ReactNavigation.Theme;
211
- }) => {
212
- title: string;
213
- headerBackVisible: false;
214
- headerRight: (props: NativeStackHeaderRightProps) => import("react/jsx-runtime").JSX.Element;
215
- };
175
+ }) => NativeStackNavigationOptions;
216
176
  };
217
177
  readonly NotificationSettings: {
218
178
  readonly screen: typeof NotificationSettingsScreen;
219
179
  readonly options: ({ navigation }: {
220
180
  route: import("@react-navigation/core").RouteProp<import("@react-navigation/routers").ParamListBase, string>;
221
- navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, undefined>;
181
+ navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, string | undefined>;
222
182
  theme: ReactNavigation.Theme;
223
- }) => {
224
- title: string;
225
- headerBackVisible: false;
226
- headerRight: (props: NativeStackHeaderRightProps) => import("react/jsx-runtime").JSX.Element;
227
- };
183
+ }) => NativeStackNavigationOptions;
228
184
  };
229
185
  readonly PreferredAppSelection: {
230
186
  readonly screen: typeof PreferredAppSelectionScreen;
231
- readonly options: {
232
- readonly title: "Preferred app";
233
- };
187
+ readonly options: ({ navigation }: {
188
+ route: import("@react-navigation/core").RouteProp<import("@react-navigation/routers").ParamListBase, string>;
189
+ navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, string | undefined>;
190
+ theme: ReactNavigation.Theme;
191
+ }) => NativeStackNavigationOptions;
234
192
  };
235
193
  readonly GroupNotificationSettings: {
236
194
  readonly screen: typeof GroupNotificationSettingsScreen;
237
195
  readonly options: ({ route, navigation }: {
238
196
  route: import("@react-navigation/core").RouteProp<import("@react-navigation/routers").ParamListBase, string>;
239
- navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, undefined>;
197
+ navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, string | undefined>;
240
198
  theme: ReactNavigation.Theme;
241
- }) => {
242
- title: string;
243
- headerRight: (props: NativeStackHeaderRightProps) => import("react/jsx-runtime").JSX.Element;
244
- };
199
+ }) => NativeStackNavigationOptions;
245
200
  };
246
201
  readonly GroupNotificationLevelSelect: {
247
202
  readonly screen: typeof GroupNotificationLevelSelectScreen;
248
- readonly options: import("@react-navigation/native-stack").NativeStackNavigationOptions;
203
+ readonly options: NativeStackNavigationOptions;
249
204
  };
250
205
  readonly ConversationNotificationLevelSelect: {
251
206
  readonly screen: typeof ConversationNotificationLevelSelectScreen;
252
- readonly options: import("@react-navigation/native-stack").NativeStackNavigationOptions;
207
+ readonly options: NativeStackNavigationOptions;
253
208
  };
254
209
  readonly New: {
255
210
  readonly screen: import("@react-navigation/core").TypedNavigator<{
256
211
  ParamList: import("@react-navigation/routers").ParamListBase;
257
- NavigatorID: undefined;
212
+ NavigatorID: string | undefined;
258
213
  State: import("@react-navigation/routers").StackNavigationState<import("@react-navigation/routers").ParamListBase>;
259
- ScreenOptions: import("@react-navigation/native-stack").NativeStackNavigationOptions;
214
+ ScreenOptions: NativeStackNavigationOptions;
260
215
  EventMap: import("@react-navigation/native-stack").NativeStackNavigationEventMap;
261
216
  NavigationList: {
262
- [x: string]: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, undefined>;
217
+ [x: string]: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, string | undefined>;
263
218
  };
264
- Navigator: ({ id, initialRouteName, children, layout, screenListeners, screenOptions, screenLayout, UNSTABLE_getStateForRouteNamesChange, ...rest }: import("@react-navigation/native-stack").NativeStackNavigatorProps) => import("react/jsx-runtime").JSX.Element;
219
+ Navigator: ({ id, initialRouteName, UNSTABLE_routeNamesChangeBehavior, children, layout, screenListeners, screenOptions, screenLayout, UNSTABLE_router, ...rest }: import("@react-navigation/native-stack").NativeStackNavigatorProps) => import("react/jsx-runtime").JSX.Element;
265
220
  }, {
266
221
  readonly initialRouteName: "ConversationNewEntry";
267
- readonly screenOptions: {
268
- readonly headerBackButtonDisplayMode: "minimal";
269
- };
222
+ readonly screenOptions: () => NativeStackNavigationOptions;
270
223
  readonly screenLayout: typeof ScreenLayoutWithChatAccessGate;
271
224
  readonly screens: {
272
225
  readonly ConversationNewEntry: {
273
226
  readonly screen: ({ route }: import("../screens/conversation_select_recipients/types/screen_props").ConversationSelectRecipientsScreenProps) => import("react/jsx-runtime").JSX.Element;
274
227
  readonly options: ({ navigation }: {
275
228
  route: import("@react-navigation/core").RouteProp<import("@react-navigation/routers").ParamListBase, string>;
276
- navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, undefined>;
229
+ navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, string | undefined>;
277
230
  theme: ReactNavigation.Theme;
278
- }) => {
279
- title: string;
280
- headerRight: (props: NativeStackHeaderRightProps) => import("react/jsx-runtime").JSX.Element;
281
- headerBackVisible: false;
282
- };
231
+ }) => NativeStackNavigationOptions;
283
232
  };
284
233
  readonly ConversationSelectGroupRecipients: {
285
234
  readonly screen: ({ route, }: import("../screens/conversation_select_recipients/types/screen_props").ConversationSelectRecipientsScreenProps) => import("react/jsx-runtime").JSX.Element;
286
235
  readonly options: ({ navigation, route }: {
287
236
  route: import("@react-navigation/core").RouteProp<import("@react-navigation/routers").ParamListBase, string>;
288
- navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, undefined>;
237
+ navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, string | undefined>;
289
238
  theme: ReactNavigation.Theme;
290
- }) => {
291
- title: string;
292
- headerRight: (props: NativeStackHeaderRightProps) => import("react/jsx-runtime").JSX.Element;
293
- };
239
+ }) => NativeStackNavigationOptions;
294
240
  };
295
241
  readonly ConversationSelectTeamsILeadRecipients: {
296
242
  readonly screen: ({ route, }: import("../screens/conversation_select_recipients/types/screen_props").ConversationSelectRecipientsScreenProps) => import("react/jsx-runtime").JSX.Element;
297
243
  readonly options: ({ navigation, route }: {
298
244
  route: import("@react-navigation/core").RouteProp<import("@react-navigation/routers").ParamListBase, string>;
299
- navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, undefined>;
245
+ navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, string | undefined>;
300
246
  theme: ReactNavigation.Theme;
301
- }) => {
302
- title: string;
303
- headerRight: (props: NativeStackHeaderRightProps) => import("react/jsx-runtime").JSX.Element;
304
- };
247
+ }) => NativeStackNavigationOptions;
305
248
  };
306
249
  readonly ConversationSelectDirectMessageRecipients: {
307
250
  readonly screen: typeof ConversationSelectDirectMessageRecipientsScreen;
308
251
  readonly if: typeof useDirectMessagesEnabled;
309
252
  readonly options: ({ navigation, route }: {
310
253
  route: import("@react-navigation/core").RouteProp<import("@react-navigation/routers").ParamListBase, string>;
311
- navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, undefined>;
254
+ navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, string | undefined>;
312
255
  theme: ReactNavigation.Theme;
313
- }) => {
314
- title: string;
315
- headerRight: (props: NativeStackHeaderRightProps) => import("react/jsx-runtime").JSX.Element;
316
- };
256
+ }) => NativeStackNavigationOptions;
317
257
  };
318
258
  readonly ConversationFilterRecipients: {
319
259
  readonly screen: ({ route, }: import("../screens/conversation_filter_recipients/types").ConversationFilterRecipientsScreenProps) => import("react/jsx-runtime").JSX.Element;
320
- readonly options: import("@react-navigation/native-stack").NativeStackNavigationOptions;
260
+ readonly options: NativeStackNavigationOptions;
321
261
  };
322
262
  readonly ConversationNew: {
323
263
  readonly screen: ({ route }: {
@@ -336,17 +276,13 @@ export declare const ChatStack: import("@react-navigation/core").TypedNavigator<
336
276
  }) => import("react/jsx-runtime").JSX.Element;
337
277
  readonly options: ({ navigation, route }: {
338
278
  route: import("@react-navigation/core").RouteProp<import("@react-navigation/routers").ParamListBase, string>;
339
- navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, undefined>;
279
+ navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, string | undefined>;
340
280
  theme: ReactNavigation.Theme;
341
- }) => {
342
- title: string;
343
- headerLeft: () => null;
344
- headerRight: (props: NativeStackHeaderRightProps) => import("react/jsx-runtime").JSX.Element;
345
- };
281
+ }) => NativeStackNavigationOptions;
346
282
  };
347
283
  readonly AvatarPicker: {
348
284
  readonly screen: typeof AvatarPickerScreen;
349
- readonly options: import("@react-navigation/native-stack").NativeStackNavigationOptions;
285
+ readonly options: NativeStackNavigationOptions;
350
286
  };
351
287
  };
352
288
  }>;
@@ -374,49 +310,45 @@ export declare const ChatStack: import("@react-navigation/core").TypedNavigator<
374
310
  readonly if: () => boolean;
375
311
  readonly options: ({ navigation }: {
376
312
  route: import("@react-navigation/core").RouteProp<import("@react-navigation/routers").ParamListBase, string>;
377
- navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, undefined>;
313
+ navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, string | undefined>;
378
314
  theme: ReactNavigation.Theme;
379
- }) => {
380
- title: string;
381
- headerLeft: () => null;
382
- headerRight: (props: NativeStackHeaderRightProps) => import("react/jsx-runtime").JSX.Element;
383
- };
315
+ }) => NativeStackNavigationOptions;
384
316
  };
385
317
  readonly SendGiphy: {
386
318
  readonly screen: typeof SendGiphyScreen;
387
- readonly options: import("@react-navigation/native-stack").NativeStackNavigationOptions;
319
+ readonly options: NativeStackNavigationOptions;
388
320
  };
389
321
  readonly MessageActions: {
390
322
  readonly screen: typeof MessageActionsScreen;
391
- readonly options: import("@react-navigation/native-stack").NativeStackNavigationOptions;
323
+ readonly options: NativeStackNavigationOptions;
392
324
  };
393
325
  readonly MessageReport: {
394
326
  readonly screen: typeof MessageReportScreen;
395
- readonly options: ({ navigation, route, }: import("@react-navigation/native-stack").NativeStackScreenProps<any>) => import("@react-navigation/native-stack").NativeStackNavigationOptions;
327
+ readonly options: ({ navigation, route, }: import("@react-navigation/native-stack").NativeStackScreenProps<any>) => NativeStackNavigationOptions;
396
328
  };
397
329
  readonly AttachmentActions: {
398
330
  readonly screen: typeof AttachmentActionsScreen;
399
- readonly options: import("@react-navigation/native-stack").NativeStackNavigationOptions;
331
+ readonly options: NativeStackNavigationOptions;
400
332
  };
401
333
  readonly ConversationSelectType: {
402
334
  readonly screen: typeof ConversationSelectTypeScreen;
403
- readonly options: import("@react-navigation/native-stack").NativeStackNavigationOptions;
335
+ readonly options: NativeStackNavigationOptions;
404
336
  };
405
337
  readonly Reactions: {
406
338
  readonly screen: typeof ReactionsScreen;
407
- readonly options: import("@react-navigation/native-stack").NativeStackNavigationOptions;
339
+ readonly options: NativeStackNavigationOptions;
408
340
  };
409
341
  readonly SystemMessagePeople: {
410
342
  readonly screen: typeof SystemMessagePeopleScreen;
411
- readonly options: import("@react-navigation/native-stack").NativeStackNavigationOptions;
343
+ readonly options: NativeStackNavigationOptions;
412
344
  };
413
345
  readonly MessageReadReceipts: {
414
346
  readonly screen: typeof MessageReadReceiptsScreen;
415
- readonly options: import("@react-navigation/native-stack").NativeStackNavigationOptions;
347
+ readonly options: NativeStackNavigationOptions;
416
348
  };
417
349
  readonly BugReport: {
418
350
  readonly screen: typeof BugReportScreen;
419
- readonly options: ({ navigation, }: import("@react-navigation/native-stack").NativeStackScreenProps<any>) => import("@react-navigation/native-stack").NativeStackNavigationOptions;
351
+ readonly options: ({ navigation, }: import("@react-navigation/native-stack").NativeStackScreenProps<any>) => NativeStackNavigationOptions;
420
352
  };
421
353
  readonly GetHelp: {
422
354
  readonly screen: ({ route }: {
@@ -428,14 +360,9 @@ export declare const ChatStack: import("@react-navigation/core").TypedNavigator<
428
360
  }) => import("react/jsx-runtime").JSX.Element;
429
361
  readonly options: ({ navigation }: {
430
362
  route: import("@react-navigation/core").RouteProp<import("@react-navigation/routers").ParamListBase, string>;
431
- navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, undefined>;
363
+ navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, string | undefined>;
432
364
  theme: ReactNavigation.Theme;
433
- }) => {
434
- headerTitle: string;
435
- headerBackVisible: false;
436
- presentation: "modal";
437
- headerRight: (props: NativeStackHeaderRightProps) => import("react/jsx-runtime").JSX.Element;
438
- };
365
+ }) => NativeStackNavigationOptions;
439
366
  };
440
367
  readonly NotFound: {
441
368
  readonly screen: typeof NotFound;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/navigation/index.tsx"],"names":[],"mappings":"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"}
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;AAQhE,OAAO,EAAE,wBAAwB,EAAqB,MAAM,UAAU,CAAA;AACtE,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,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoF3D,CAAA;AAEF,eAAO,MAAM,SAAS;;;;;;;;;;;kCAtFW,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8CAA5B,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6S3D,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"}