@planningcenter/chat-react-native 3.42.3-qa-staging.6 → 3.43.0-rc.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 (118) 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 +7 -47
  8. package/build/components/display/platform_modal_header_buttons.d.ts.map +1 -1
  9. package/build/components/display/platform_modal_header_buttons.js +9 -119
  10. package/build/components/display/platform_modal_header_buttons.js.map +1 -1
  11. package/build/hooks/index.d.ts +1 -1
  12. package/build/hooks/index.d.ts.map +1 -1
  13. package/build/hooks/index.js +1 -1
  14. package/build/hooks/index.js.map +1 -1
  15. package/build/hooks/use_conversation.d.ts.map +1 -1
  16. package/build/hooks/use_conversation.js +0 -1
  17. package/build/hooks/use_conversation.js.map +1 -1
  18. package/build/hooks/use_conversation_jolt_events.d.ts.map +1 -1
  19. package/build/hooks/use_conversation_jolt_events.js +2 -10
  20. package/build/hooks/use_conversation_jolt_events.js.map +1 -1
  21. package/build/hooks/use_current_person.d.ts.map +1 -1
  22. package/build/hooks/use_current_person.js +0 -1
  23. package/build/hooks/use_current_person.js.map +1 -1
  24. package/build/hooks/use_direct_messages_enabled.d.ts +2 -0
  25. package/build/hooks/use_direct_messages_enabled.d.ts.map +1 -0
  26. package/build/hooks/use_direct_messages_enabled.js +16 -0
  27. package/build/hooks/use_direct_messages_enabled.js.map +1 -0
  28. package/build/hooks/use_features.d.ts +1 -0
  29. package/build/hooks/use_features.d.ts.map +1 -1
  30. package/build/hooks/use_features.js +1 -0
  31. package/build/hooks/use_features.js.map +1 -1
  32. package/build/navigation/index.d.ts +173 -69
  33. package/build/navigation/index.d.ts.map +1 -1
  34. package/build/navigation/index.js +72 -61
  35. package/build/navigation/index.js.map +1 -1
  36. package/build/screens/bug_report_screen.d.ts.map +1 -1
  37. package/build/screens/bug_report_screen.js +13 -10
  38. package/build/screens/bug_report_screen.js.map +1 -1
  39. package/build/screens/conversation_details_screen.d.ts.map +1 -1
  40. package/build/screens/conversation_details_screen.js +12 -11
  41. package/build/screens/conversation_details_screen.js.map +1 -1
  42. package/build/screens/conversation_filters/components/conversation_filters.js +3 -3
  43. package/build/screens/conversation_filters/components/conversation_filters.js.map +1 -1
  44. package/build/screens/conversation_filters/components/rows.js +1 -1
  45. package/build/screens/conversation_filters/components/rows.js.map +1 -1
  46. package/build/screens/conversation_filters_screen.js +2 -2
  47. package/build/screens/conversation_filters_screen.js.map +1 -1
  48. package/build/screens/conversation_screen.d.ts.map +1 -1
  49. package/build/screens/conversation_screen.js +3 -10
  50. package/build/screens/conversation_screen.js.map +1 -1
  51. package/build/screens/conversation_select_recipients/components/groups_recipient_row.js +1 -1
  52. package/build/screens/conversation_select_recipients/components/groups_recipient_row.js.map +1 -1
  53. package/build/screens/conversation_select_recipients/components/restricted_group_row.js +1 -1
  54. package/build/screens/conversation_select_recipients/components/restricted_group_row.js.map +1 -1
  55. package/build/screens/conversation_select_type_screen.d.ts.map +1 -1
  56. package/build/screens/conversation_select_type_screen.js +7 -4
  57. package/build/screens/conversation_select_type_screen.js.map +1 -1
  58. package/build/screens/conversations/components/list_header_component.js +3 -3
  59. package/build/screens/conversations/components/list_header_component.js.map +1 -1
  60. package/build/screens/message_report_screen.d.ts.map +1 -1
  61. package/build/screens/message_report_screen.js +18 -14
  62. package/build/screens/message_report_screen.js.map +1 -1
  63. package/build/screens/notification_settings_screen.d.ts.map +1 -1
  64. package/build/screens/notification_settings_screen.js +14 -0
  65. package/build/screens/notification_settings_screen.js.map +1 -1
  66. package/build/screens/settings_screen.js +3 -3
  67. package/build/screens/settings_screen.js.map +1 -1
  68. package/build/types/jolt_events/conversation_events.d.ts +2 -2
  69. package/build/types/jolt_events/conversation_events.d.ts.map +1 -1
  70. package/build/types/jolt_events/conversation_events.js.map +1 -1
  71. package/build/types/resources/conversation.d.ts +2 -2
  72. package/build/types/resources/conversation.d.ts.map +1 -1
  73. package/build/types/resources/conversation.js.map +1 -1
  74. package/build/types/resources/person.d.ts +0 -1
  75. package/build/types/resources/person.d.ts.map +1 -1
  76. package/build/types/resources/person.js.map +1 -1
  77. package/build/utils/conversation_safety_constants.d.ts +1 -1
  78. package/build/utils/conversation_safety_constants.d.ts.map +1 -1
  79. package/build/utils/conversation_safety_constants.js +1 -1
  80. package/build/utils/conversation_safety_constants.js.map +1 -1
  81. package/build/utils/request/conversation.d.ts.map +1 -1
  82. package/build/utils/request/conversation.js +0 -1
  83. package/build/utils/request/conversation.js.map +1 -1
  84. package/package.json +4 -4
  85. package/src/components/conversation/messages_disabled_banners.tsx +11 -3
  86. package/src/components/display/adult_requirement_notice.tsx +1 -1
  87. package/src/components/display/platform_modal_header_buttons.tsx +13 -254
  88. package/src/hooks/index.ts +1 -1
  89. package/src/hooks/use_conversation.ts +0 -1
  90. package/src/hooks/use_conversation_jolt_events.ts +3 -16
  91. package/src/hooks/use_current_person.ts +0 -1
  92. package/src/hooks/use_direct_messages_enabled.ts +23 -0
  93. package/src/hooks/use_features.ts +1 -0
  94. package/src/navigation/index.tsx +166 -149
  95. package/src/screens/bug_report_screen.tsx +15 -16
  96. package/src/screens/conversation_details_screen.tsx +17 -11
  97. package/src/screens/conversation_filters/components/conversation_filters.tsx +3 -3
  98. package/src/screens/conversation_filters/components/rows.tsx +2 -2
  99. package/src/screens/conversation_filters_screen.tsx +2 -2
  100. package/src/screens/conversation_screen.tsx +3 -11
  101. package/src/screens/conversation_select_recipients/components/groups_recipient_row.tsx +1 -1
  102. package/src/screens/conversation_select_recipients/components/restricted_group_row.tsx +2 -2
  103. package/src/screens/conversation_select_type_screen.tsx +7 -4
  104. package/src/screens/conversations/components/list_header_component.tsx +3 -3
  105. package/src/screens/message_report_screen.tsx +21 -20
  106. package/src/screens/notification_settings_screen.tsx +21 -1
  107. package/src/screens/settings_screen.tsx +3 -3
  108. package/src/types/jolt_events/conversation_events.ts +2 -2
  109. package/src/types/resources/conversation.ts +3 -2
  110. package/src/types/resources/person.ts +0 -1
  111. package/src/utils/conversation_safety_constants.ts +1 -1
  112. package/src/utils/request/conversation.ts +0 -1
  113. package/build/hooks/use_direct_messages_eligible.d.ts +0 -2
  114. package/build/hooks/use_direct_messages_eligible.d.ts.map +0 -1
  115. package/build/hooks/use_direct_messages_eligible.js +0 -9
  116. package/build/hooks/use_direct_messages_eligible.js.map +0 -1
  117. package/src/__tests__/hooks/use_direct_messages_eligible.test.tsx +0 -77
  118. package/src/hooks/use_direct_messages_eligible.ts +0 -11
@@ -1 +1 @@
1
- {"version":3,"file":"use_current_person.js","sourceRoot":"","sources":["../../src/hooks/use_current_person.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAGtD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC5D,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAEvE,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,GAAG,EAAE,KAAK;IACV,IAAI,EAAE;QACJ,MAAM,EAAE;YACN,MAAM,EAAE;gBACN,IAAI;gBACJ,MAAM;gBACN,QAAQ;gBACR,UAAU;gBACV,cAAc;gBACd,kBAAkB;gBAClB,0BAA0B;gBAC1B,0BAA0B;gBAC1B,0BAA0B;gBAC1B,UAAU;aACX;SACF;KACF;CACF,CAAA;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG,kBAAkB,CAAC,wBAAwB,CAAC,CAAA;AAEjF,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,cAAc,CAAwB,wBAAwB,EAAE;QACvF,SAAS,EAAE,YAAY;QACvB,MAAM,EAAE,cAAc;KACvB,CAAC,CAAA;IAEF,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAID,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,EAAE;IACxC,MAAM,WAAW,GAAG,cAAc,EAAE,CAAA;IACpC,MAAM,YAAY,GAAG,CACnB,MAAsC,EACtC,gBAAsD,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAChF,EAAE;QACF,WAAW,CAAC,YAAY,CAAqC,qBAAqB,EAAE,IAAI,CAAC,EAAE;YACzF,IAAI,CAAC,IAAI;gBAAE,OAAO,IAAI,CAAA;YAEtB,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAA;QAC5D,CAAC,CAAC,CAAA;IACJ,CAAC,CAAA;IAED,MAAM,gBAAgB,GAAG,GAAG,EAAE;QAC5B,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,qBAAqB,EAAE,CAAC,CAAA;IACpE,CAAC,CAAA;IAED,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAA;AAC/D,CAAC,CAAA","sourcesContent":["import { useQueryClient } from '@tanstack/react-query'\nimport { CurrentPersonResource } from '../types'\nimport { ApiResource } from '../types/api_primitives'\nimport { FIVE_MINUTES, THIRTY_MINUTES } from '../utils/time'\nimport { getRequestQueryKey, useSuspenseGet } from './use_suspense_api'\n\nexport const currentPersonRequestArgs = {\n url: '/me',\n data: {\n fields: {\n Person: [\n 'id',\n 'name',\n 'avatar',\n 'can_chat',\n 'unread_count',\n 'pco_chat_enabled',\n 'age_qualification_status',\n 'direct_messages_disabled',\n 'direct_messages_eligible',\n 'under_18',\n ],\n },\n },\n}\n\nexport const currentPersonQueryKey = getRequestQueryKey(currentPersonRequestArgs)\n\nexport const useCurrentPerson = () => {\n const { data: person } = useSuspenseGet<CurrentPersonResource>(currentPersonRequestArgs, {\n staleTime: FIVE_MINUTES,\n gcTime: THIRTY_MINUTES,\n })\n\n return person\n}\n\ntype ProcessRecord<T> = (record: T, update: Partial<T>) => T\n\nexport const useCurrentPersonCache = () => {\n const queryClient = useQueryClient()\n const handleUpdate = (\n update: Partial<CurrentPersonResource>,\n processRecord: ProcessRecord<CurrentPersonResource> = (r, u) => ({ ...r, ...u })\n ) => {\n queryClient.setQueryData<ApiResource<CurrentPersonResource>>(currentPersonQueryKey, data => {\n if (!data) return data\n\n return { ...data, data: processRecord(data.data, update) }\n })\n }\n\n const handleInvalidate = () => {\n queryClient.invalidateQueries({ queryKey: currentPersonQueryKey })\n }\n\n return { update: handleUpdate, invalidate: handleInvalidate }\n}\n"]}
1
+ {"version":3,"file":"use_current_person.js","sourceRoot":"","sources":["../../src/hooks/use_current_person.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAGtD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC5D,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAEvE,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,GAAG,EAAE,KAAK;IACV,IAAI,EAAE;QACJ,MAAM,EAAE;YACN,MAAM,EAAE;gBACN,IAAI;gBACJ,MAAM;gBACN,QAAQ;gBACR,UAAU;gBACV,cAAc;gBACd,kBAAkB;gBAClB,0BAA0B;gBAC1B,0BAA0B;gBAC1B,UAAU;aACX;SACF;KACF;CACF,CAAA;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG,kBAAkB,CAAC,wBAAwB,CAAC,CAAA;AAEjF,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,cAAc,CAAwB,wBAAwB,EAAE;QACvF,SAAS,EAAE,YAAY;QACvB,MAAM,EAAE,cAAc;KACvB,CAAC,CAAA;IAEF,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAID,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,EAAE;IACxC,MAAM,WAAW,GAAG,cAAc,EAAE,CAAA;IACpC,MAAM,YAAY,GAAG,CACnB,MAAsC,EACtC,gBAAsD,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAChF,EAAE;QACF,WAAW,CAAC,YAAY,CAAqC,qBAAqB,EAAE,IAAI,CAAC,EAAE;YACzF,IAAI,CAAC,IAAI;gBAAE,OAAO,IAAI,CAAA;YAEtB,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAA;QAC5D,CAAC,CAAC,CAAA;IACJ,CAAC,CAAA;IAED,MAAM,gBAAgB,GAAG,GAAG,EAAE;QAC5B,WAAW,CAAC,iBAAiB,CAAC,EAAE,QAAQ,EAAE,qBAAqB,EAAE,CAAC,CAAA;IACpE,CAAC,CAAA;IAED,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAA;AAC/D,CAAC,CAAA","sourcesContent":["import { useQueryClient } from '@tanstack/react-query'\nimport { CurrentPersonResource } from '../types'\nimport { ApiResource } from '../types/api_primitives'\nimport { FIVE_MINUTES, THIRTY_MINUTES } from '../utils/time'\nimport { getRequestQueryKey, useSuspenseGet } from './use_suspense_api'\n\nexport const currentPersonRequestArgs = {\n url: '/me',\n data: {\n fields: {\n Person: [\n 'id',\n 'name',\n 'avatar',\n 'can_chat',\n 'unread_count',\n 'pco_chat_enabled',\n 'age_qualification_status',\n 'direct_messages_disabled',\n 'under_18',\n ],\n },\n },\n}\n\nexport const currentPersonQueryKey = getRequestQueryKey(currentPersonRequestArgs)\n\nexport const useCurrentPerson = () => {\n const { data: person } = useSuspenseGet<CurrentPersonResource>(currentPersonRequestArgs, {\n staleTime: FIVE_MINUTES,\n gcTime: THIRTY_MINUTES,\n })\n\n return person\n}\n\ntype ProcessRecord<T> = (record: T, update: Partial<T>) => T\n\nexport const useCurrentPersonCache = () => {\n const queryClient = useQueryClient()\n const handleUpdate = (\n update: Partial<CurrentPersonResource>,\n processRecord: ProcessRecord<CurrentPersonResource> = (r, u) => ({ ...r, ...u })\n ) => {\n queryClient.setQueryData<ApiResource<CurrentPersonResource>>(currentPersonQueryKey, data => {\n if (!data) return data\n\n return { ...data, data: processRecord(data.data, update) }\n })\n }\n\n const handleInvalidate = () => {\n queryClient.invalidateQueries({ queryKey: currentPersonQueryKey })\n }\n\n return { update: handleUpdate, invalidate: handleInvalidate }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export declare function useDirectMessagesEnabled(): boolean;
2
+ //# sourceMappingURL=use_direct_messages_enabled.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use_direct_messages_enabled.d.ts","sourceRoot":"","sources":["../../src/hooks/use_direct_messages_enabled.ts"],"names":[],"mappings":"AAOA,wBAAgB,wBAAwB,IAAI,OAAO,CAelD"}
@@ -0,0 +1,16 @@
1
+ import { useQuery } from '@tanstack/react-query';
2
+ import { getFeaturesRequestArgs, getFeaturesQueryKey } from '../utils/request/get_features';
3
+ import { useApiClient } from './use_api_client';
4
+ import { availableFeatures } from './use_features';
5
+ export function useDirectMessagesEnabled() {
6
+ const apiClient = useApiClient();
7
+ const { data, isFetched } = useQuery({
8
+ queryKey: getFeaturesQueryKey(),
9
+ queryFn: () => apiClient.chat.get(getFeaturesRequestArgs()),
10
+ staleTime: 1000 * 60 * 5,
11
+ });
12
+ if (!isFetched)
13
+ return false;
14
+ return (data?.data.some(feature => feature.name === availableFeatures.direct_messages_eap && feature.enabled) ?? false);
15
+ }
16
+ //# sourceMappingURL=use_direct_messages_enabled.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use_direct_messages_enabled.js","sourceRoot":"","sources":["../../src/hooks/use_direct_messages_enabled.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAGhD,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAA;AAC3F,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAElD,MAAM,UAAU,wBAAwB;IACtC,MAAM,SAAS,GAAG,YAAY,EAAE,CAAA;IAChC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAiC;QACnE,QAAQ,EAAE,mBAAmB,EAAE;QAC/B,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAiC,sBAAsB,EAAE,CAAC;QAC3F,SAAS,EAAE,IAAI,GAAG,EAAE,GAAG,CAAC;KACzB,CAAC,CAAA;IAEF,IAAI,CAAC,SAAS;QAAE,OAAO,KAAK,CAAA;IAE5B,OAAO,CACL,IAAI,EAAE,IAAI,CAAC,IAAI,CACb,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,iBAAiB,CAAC,mBAAmB,IAAI,OAAO,CAAC,OAAO,CACrF,IAAI,KAAK,CACX,CAAA;AACH,CAAC","sourcesContent":["import { useQuery } from '@tanstack/react-query'\nimport { ApiCollection } from '../types'\nimport type { FeatureResource } from '../types/resources/feature_resource'\nimport { getFeaturesRequestArgs, getFeaturesQueryKey } from '../utils/request/get_features'\nimport { useApiClient } from './use_api_client'\nimport { availableFeatures } from './use_features'\n\nexport function useDirectMessagesEnabled(): boolean {\n const apiClient = useApiClient()\n const { data, isFetched } = useQuery<ApiCollection<FeatureResource>>({\n queryKey: getFeaturesQueryKey(),\n queryFn: () => apiClient.chat.get<ApiCollection<FeatureResource>>(getFeaturesRequestArgs()),\n staleTime: 1000 * 60 * 5,\n })\n\n if (!isFetched) return false\n\n return (\n data?.data.some(\n feature => feature.name === availableFeatures.direct_messages_eap && feature.enabled\n ) ?? false\n )\n}\n"]}
@@ -11,6 +11,7 @@ export declare const availableFeatures: {
11
11
  readonly custom_conversation_avatars: "ROLLOUT_custom_conversation_avatars";
12
12
  readonly conversation_safety_lock: "ROLLOUT_conversation_safety_lock";
13
13
  readonly video_moderation: "ROLLOUT_MOBILE_video_moderation";
14
+ readonly direct_messages_eap: "ROLLOUT_direct_messages_eap";
14
15
  readonly dm_search_clear_fix: "ROLLOUT_MOBILE_dm_search_clear_fix";
15
16
  };
16
17
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"use_features.d.ts","sourceRoot":"","sources":["../../src/hooks/use_features.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAA;AAK1E,KAAK,WAAW,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,OAAO,iBAAiB,CAAC,CAAA;AAE7E,wBAAgB,WAAW;;kCAiBT,WAAW;EAS5B;AAED,eAAO,MAAM,iBAAiB;;;;;;;;CAQ0B,CAAA"}
1
+ {"version":3,"file":"use_features.d.ts","sourceRoot":"","sources":["../../src/hooks/use_features.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAA;AAK1E,KAAK,WAAW,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,OAAO,iBAAiB,CAAC,CAAA;AAE7E,wBAAgB,WAAW;;kCAiBT,WAAW;EAS5B;AAED,eAAO,MAAM,iBAAiB;;;;;;;;;CAS0B,CAAA"}
@@ -29,6 +29,7 @@ export const availableFeatures = {
29
29
  custom_conversation_avatars: 'ROLLOUT_custom_conversation_avatars',
30
30
  conversation_safety_lock: 'ROLLOUT_conversation_safety_lock',
31
31
  video_moderation: 'ROLLOUT_MOBILE_video_moderation',
32
+ direct_messages_eap: 'ROLLOUT_direct_messages_eap',
32
33
  dm_search_clear_fix: 'ROLLOUT_MOBILE_dm_search_clear_fix',
33
34
  };
34
35
  const stableEmptyFeatures = {
@@ -1 +1 @@
1
- {"version":3,"file":"use_features.js","sourceRoot":"","sources":["../../src/hooks/use_features.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AAGnC,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAA;AAC3F,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAI/C,MAAM,UAAU,WAAW;IACzB,MAAM,SAAS,GAAG,YAAY,EAAE,CAAA;IAChC,MAAM,WAAW,GAAG,sBAAsB,EAAE,CAAA;IAE5C,MAAM,EAAE,IAAI,EAAE,GAAG,gBAAgB,CAAC;QAChC,QAAQ,EAAE,mBAAmB,EAAE;QAC/B,OAAO,EAAE,GAAG,EAAE;YACZ,OAAO,SAAS,CAAC,IAAI;iBAClB,GAAG,CAAiC,WAAW,CAAC;iBAChD,KAAK,CAAC,GAAG,EAAE,CAAC,mBAAmB,CAAC,CAAA;QACrC,CAAC;QACD,SAAS,EAAE,YAAY;KACxB,CAAC,CAAA;IAEF,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAA;IAE1B,MAAM,cAAc,GAAG,WAAW,CAChC,CAAC,WAAwB,EAAE,EAAE,CAC3B,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,EAC3E,CAAC,QAAQ,CAAC,CACX,CAAA;IAED,OAAO;QACL,QAAQ;QACR,cAAc;KACf,CAAA;AACH,CAAC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,6BAA6B,EAAE,uCAAuC;IACtE,iBAAiB,EAAE,kCAAkC;IACrD,yBAAyB,EAAE,8CAA8C;IACzE,2BAA2B,EAAE,qCAAqC;IAClE,wBAAwB,EAAE,kCAAkC;IAC5D,gBAAgB,EAAE,iCAAiC;IACnD,mBAAmB,EAAE,oCAAoC;CACH,CAAA;AAExD,MAAM,mBAAmB,GAAmC;IAC1D,IAAI,EAAE,EAAE;IACR,KAAK,EAAE,EAAE;IACT,IAAI,EAAE;QACJ,KAAK,EAAE,CAAC;QACR,UAAU,EAAE,CAAC;KACd;CACF,CAAA","sourcesContent":["import { useSuspenseQuery } from '@tanstack/react-query'\nimport { useCallback } from 'react'\nimport { ApiCollection } from '../types'\nimport type { FeatureResource } from '../types/resources/feature_resource'\nimport { getFeaturesRequestArgs, getFeaturesQueryKey } from '../utils/request/get_features'\nimport { FIVE_MINUTES } from '../utils/time'\nimport { useApiClient } from './use_api_client'\n\ntype FeatureName = (typeof availableFeatures)[keyof typeof availableFeatures]\n\nexport function useFeatures() {\n const apiClient = useApiClient()\n const requestArgs = getFeaturesRequestArgs()\n\n const { data } = useSuspenseQuery({\n queryKey: getFeaturesQueryKey(),\n queryFn: () => {\n return apiClient.chat\n .get<ApiCollection<FeatureResource>>(requestArgs)\n .catch(() => stableEmptyFeatures)\n },\n staleTime: FIVE_MINUTES,\n })\n\n const features = data.data\n\n const featureEnabled = useCallback(\n (featureName: FeatureName) =>\n features.some(feature => feature.name === featureName && feature.enabled),\n [features]\n )\n\n return {\n features,\n featureEnabled,\n }\n}\n\nexport const availableFeatures = {\n gender_specific_conversations: 'ROLLOUT_gender_specific_conversations',\n message_reporting: 'ROLLOUT_MOBILE_message_reporting',\n granular_notifications_ui: 'ROLLOUT_granular_notification_preferences_ui',\n custom_conversation_avatars: 'ROLLOUT_custom_conversation_avatars',\n conversation_safety_lock: 'ROLLOUT_conversation_safety_lock',\n video_moderation: 'ROLLOUT_MOBILE_video_moderation',\n dm_search_clear_fix: 'ROLLOUT_MOBILE_dm_search_clear_fix',\n} as const satisfies Record<string, `ROLLOUT_${string}`>\n\nconst stableEmptyFeatures: ApiCollection<FeatureResource> = {\n data: [],\n links: {},\n meta: {\n count: 0,\n totalCount: 0,\n },\n}\n"]}
1
+ {"version":3,"file":"use_features.js","sourceRoot":"","sources":["../../src/hooks/use_features.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AAGnC,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAA;AAC3F,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAI/C,MAAM,UAAU,WAAW;IACzB,MAAM,SAAS,GAAG,YAAY,EAAE,CAAA;IAChC,MAAM,WAAW,GAAG,sBAAsB,EAAE,CAAA;IAE5C,MAAM,EAAE,IAAI,EAAE,GAAG,gBAAgB,CAAC;QAChC,QAAQ,EAAE,mBAAmB,EAAE;QAC/B,OAAO,EAAE,GAAG,EAAE;YACZ,OAAO,SAAS,CAAC,IAAI;iBAClB,GAAG,CAAiC,WAAW,CAAC;iBAChD,KAAK,CAAC,GAAG,EAAE,CAAC,mBAAmB,CAAC,CAAA;QACrC,CAAC;QACD,SAAS,EAAE,YAAY;KACxB,CAAC,CAAA;IAEF,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAA;IAE1B,MAAM,cAAc,GAAG,WAAW,CAChC,CAAC,WAAwB,EAAE,EAAE,CAC3B,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,EAC3E,CAAC,QAAQ,CAAC,CACX,CAAA;IAED,OAAO;QACL,QAAQ;QACR,cAAc;KACf,CAAA;AACH,CAAC;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,6BAA6B,EAAE,uCAAuC;IACtE,iBAAiB,EAAE,kCAAkC;IACrD,yBAAyB,EAAE,8CAA8C;IACzE,2BAA2B,EAAE,qCAAqC;IAClE,wBAAwB,EAAE,kCAAkC;IAC5D,gBAAgB,EAAE,iCAAiC;IACnD,mBAAmB,EAAE,6BAA6B;IAClD,mBAAmB,EAAE,oCAAoC;CACH,CAAA;AAExD,MAAM,mBAAmB,GAAmC;IAC1D,IAAI,EAAE,EAAE;IACR,KAAK,EAAE,EAAE;IACT,IAAI,EAAE;QACJ,KAAK,EAAE,CAAC;QACR,UAAU,EAAE,CAAC;KACd;CACF,CAAA","sourcesContent":["import { useSuspenseQuery } from '@tanstack/react-query'\nimport { useCallback } from 'react'\nimport { ApiCollection } from '../types'\nimport type { FeatureResource } from '../types/resources/feature_resource'\nimport { getFeaturesRequestArgs, getFeaturesQueryKey } from '../utils/request/get_features'\nimport { FIVE_MINUTES } from '../utils/time'\nimport { useApiClient } from './use_api_client'\n\ntype FeatureName = (typeof availableFeatures)[keyof typeof availableFeatures]\n\nexport function useFeatures() {\n const apiClient = useApiClient()\n const requestArgs = getFeaturesRequestArgs()\n\n const { data } = useSuspenseQuery({\n queryKey: getFeaturesQueryKey(),\n queryFn: () => {\n return apiClient.chat\n .get<ApiCollection<FeatureResource>>(requestArgs)\n .catch(() => stableEmptyFeatures)\n },\n staleTime: FIVE_MINUTES,\n })\n\n const features = data.data\n\n const featureEnabled = useCallback(\n (featureName: FeatureName) =>\n features.some(feature => feature.name === featureName && feature.enabled),\n [features]\n )\n\n return {\n features,\n featureEnabled,\n }\n}\n\nexport const availableFeatures = {\n gender_specific_conversations: 'ROLLOUT_gender_specific_conversations',\n message_reporting: 'ROLLOUT_MOBILE_message_reporting',\n granular_notifications_ui: 'ROLLOUT_granular_notification_preferences_ui',\n custom_conversation_avatars: 'ROLLOUT_custom_conversation_avatars',\n conversation_safety_lock: 'ROLLOUT_conversation_safety_lock',\n video_moderation: 'ROLLOUT_MOBILE_video_moderation',\n direct_messages_eap: 'ROLLOUT_direct_messages_eap',\n dm_search_clear_fix: 'ROLLOUT_MOBILE_dm_search_clear_fix',\n} as const satisfies Record<string, `ROLLOUT_${string}`>\n\nconst stableEmptyFeatures: ApiCollection<FeatureResource> = {\n data: [],\n links: {},\n meta: {\n count: 0,\n totalCount: 0,\n },\n}\n"]}
@@ -1,6 +1,7 @@
1
1
  import { StaticParamList } from '@react-navigation/native';
2
- import { NativeStackNavigationOptions } from '@react-navigation/native-stack';
2
+ import { NativeStackHeaderRightProps } from '@react-navigation/native-stack';
3
3
  import { CardStyleInterpolators } from '@react-navigation/stack';
4
+ import { useDirectMessagesEnabled } from '../hooks';
4
5
  import { AttachmentActionsScreen } from '../screens/attachment_actions/attachment_actions_screen';
5
6
  import { AvatarPickerScreen } from '../screens/avatar_picker/avatar_picker_screen';
6
7
  import { BugReportScreen } from '../screens/bug_report_screen';
@@ -23,47 +24,72 @@ import { SendGiphyScreen } from '../screens/send_giphy_screen';
23
24
  import { SettingsScreen } from '../screens/settings_screen';
24
25
  import { SystemMessagePeopleScreen } from '../screens/system_message_people_screen';
25
26
  import { ScreenLayoutWithChatAccessGate } from './screenLayout';
26
- export declare const NewConversationStack: import("@react-navigation/core").TypedNavigator<import("@react-navigation/native-stack").NativeStackTypeBag<import("@react-navigation/routers").ParamListBase, string | undefined>, {
27
+ export declare const NewConversationStack: import("@react-navigation/core").TypedNavigator<{
28
+ ParamList: import("@react-navigation/routers").ParamListBase;
29
+ NavigatorID: undefined;
30
+ State: import("@react-navigation/routers").StackNavigationState<import("@react-navigation/routers").ParamListBase>;
31
+ ScreenOptions: import("@react-navigation/native-stack").NativeStackNavigationOptions;
32
+ EventMap: import("@react-navigation/native-stack").NativeStackNavigationEventMap;
33
+ NavigationList: {
34
+ [x: string]: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, undefined>;
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;
37
+ }, {
27
38
  readonly initialRouteName: "ConversationNewEntry";
28
- readonly screenOptions: () => NativeStackNavigationOptions;
39
+ readonly screenOptions: {
40
+ readonly headerBackButtonDisplayMode: "minimal";
41
+ };
29
42
  readonly screenLayout: typeof ScreenLayoutWithChatAccessGate;
30
43
  readonly screens: {
31
44
  readonly ConversationNewEntry: {
32
45
  readonly screen: ({ route }: import("../screens/conversation_select_recipients/types/screen_props").ConversationSelectRecipientsScreenProps) => import("react/jsx-runtime").JSX.Element;
33
46
  readonly options: ({ navigation }: {
34
47
  route: import("@react-navigation/core").RouteProp<import("@react-navigation/routers").ParamListBase, string>;
35
- navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, string | undefined>;
48
+ navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, undefined>;
36
49
  theme: ReactNavigation.Theme;
37
- }) => NativeStackNavigationOptions;
50
+ }) => {
51
+ title: string;
52
+ headerRight: (props: NativeStackHeaderRightProps) => import("react/jsx-runtime").JSX.Element;
53
+ headerBackVisible: false;
54
+ };
38
55
  };
39
56
  readonly ConversationSelectGroupRecipients: {
40
57
  readonly screen: ({ route, }: import("../screens/conversation_select_recipients/types/screen_props").ConversationSelectRecipientsScreenProps) => import("react/jsx-runtime").JSX.Element;
41
58
  readonly options: ({ navigation, route }: {
42
59
  route: import("@react-navigation/core").RouteProp<import("@react-navigation/routers").ParamListBase, string>;
43
- navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, string | undefined>;
60
+ navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, undefined>;
44
61
  theme: ReactNavigation.Theme;
45
- }) => NativeStackNavigationOptions;
62
+ }) => {
63
+ title: string;
64
+ headerRight: (props: NativeStackHeaderRightProps) => import("react/jsx-runtime").JSX.Element;
65
+ };
46
66
  };
47
67
  readonly ConversationSelectTeamsILeadRecipients: {
48
68
  readonly screen: ({ route, }: import("../screens/conversation_select_recipients/types/screen_props").ConversationSelectRecipientsScreenProps) => import("react/jsx-runtime").JSX.Element;
49
69
  readonly options: ({ navigation, route }: {
50
70
  route: import("@react-navigation/core").RouteProp<import("@react-navigation/routers").ParamListBase, string>;
51
- navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, string | undefined>;
71
+ navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, undefined>;
52
72
  theme: ReactNavigation.Theme;
53
- }) => NativeStackNavigationOptions;
73
+ }) => {
74
+ title: string;
75
+ headerRight: (props: NativeStackHeaderRightProps) => import("react/jsx-runtime").JSX.Element;
76
+ };
54
77
  };
55
78
  readonly ConversationSelectDirectMessageRecipients: {
56
79
  readonly screen: typeof ConversationSelectDirectMessageRecipientsScreen;
57
- readonly if: () => boolean;
80
+ readonly if: typeof useDirectMessagesEnabled;
58
81
  readonly options: ({ navigation, route }: {
59
82
  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, string | undefined>;
83
+ navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, undefined>;
61
84
  theme: ReactNavigation.Theme;
62
- }) => NativeStackNavigationOptions;
85
+ }) => {
86
+ title: string;
87
+ headerRight: (props: NativeStackHeaderRightProps) => import("react/jsx-runtime").JSX.Element;
88
+ };
63
89
  };
64
90
  readonly ConversationFilterRecipients: {
65
91
  readonly screen: ({ route, }: import("../screens/conversation_filter_recipients/types").ConversationFilterRecipientsScreenProps) => import("react/jsx-runtime").JSX.Element;
66
- readonly options: NativeStackNavigationOptions;
92
+ readonly options: import("@react-navigation/native-stack").NativeStackNavigationOptions;
67
93
  };
68
94
  readonly ConversationNew: {
69
95
  readonly screen: ({ route }: {
@@ -82,47 +108,74 @@ export declare const NewConversationStack: import("@react-navigation/core").Type
82
108
  }) => import("react/jsx-runtime").JSX.Element;
83
109
  readonly options: ({ navigation, route }: {
84
110
  route: import("@react-navigation/core").RouteProp<import("@react-navigation/routers").ParamListBase, string>;
85
- navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, string | undefined>;
111
+ navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, undefined>;
86
112
  theme: ReactNavigation.Theme;
87
- }) => NativeStackNavigationOptions;
113
+ }) => {
114
+ title: string;
115
+ headerLeft: () => null;
116
+ headerRight: (props: NativeStackHeaderRightProps) => import("react/jsx-runtime").JSX.Element;
117
+ };
88
118
  };
89
119
  readonly AvatarPicker: {
90
120
  readonly screen: typeof AvatarPickerScreen;
91
- readonly options: NativeStackNavigationOptions;
121
+ readonly options: import("@react-navigation/native-stack").NativeStackNavigationOptions;
92
122
  };
93
123
  };
94
124
  }>;
95
- export declare const ChatStack: import("@react-navigation/core").TypedNavigator<import("@react-navigation/native-stack").NativeStackTypeBag<import("@react-navigation/routers").ParamListBase, string | undefined>, {
96
- readonly screenOptions: () => NativeStackNavigationOptions;
125
+ export declare const ChatStack: import("@react-navigation/core").TypedNavigator<{
126
+ ParamList: import("@react-navigation/routers").ParamListBase;
127
+ NavigatorID: undefined;
128
+ State: import("@react-navigation/routers").StackNavigationState<import("@react-navigation/routers").ParamListBase>;
129
+ ScreenOptions: import("@react-navigation/native-stack").NativeStackNavigationOptions;
130
+ EventMap: import("@react-navigation/native-stack").NativeStackNavigationEventMap;
131
+ NavigationList: {
132
+ [x: string]: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, undefined>;
133
+ };
134
+ Navigator: ({ id, initialRouteName, children, layout, screenListeners, screenOptions, screenLayout, UNSTABLE_getStateForRouteNamesChange, ...rest }: import("@react-navigation/native-stack").NativeStackNavigatorProps) => import("react/jsx-runtime").JSX.Element;
135
+ }, {
136
+ readonly screenOptions: {
137
+ readonly headerBackButtonDisplayMode: "minimal";
138
+ };
97
139
  readonly screenLayout: typeof ScreenLayoutWithChatAccessGate;
98
140
  readonly screens: {
99
141
  readonly Conversations: {
100
142
  readonly screen: typeof ConversationsScreen;
101
143
  readonly options: ({ route, navigation }: {
102
144
  route: import("@react-navigation/core").RouteProp<import("@react-navigation/routers").ParamListBase, string>;
103
- navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, string | undefined>;
145
+ navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, undefined>;
104
146
  theme: ReactNavigation.Theme;
105
- }) => NativeStackNavigationOptions;
147
+ }) => {
148
+ headerTitle: string;
149
+ headerBackVisible: false;
150
+ headerRight: (props: NativeStackHeaderRightProps) => import("react/jsx-runtime").JSX.Element;
151
+ };
106
152
  };
107
153
  readonly ConversationFilters: {
108
154
  readonly screen: (_props: import("..").ConversationFiltersScreenProps) => import("react/jsx-runtime").JSX.Element;
109
- readonly options: NativeStackNavigationOptions;
155
+ readonly options: import("@react-navigation/native-stack").NativeStackNavigationOptions;
110
156
  };
111
157
  readonly Conversation: {
112
158
  readonly screen: typeof ConversationScreen;
113
159
  readonly options: ({ route, navigation }: {
114
160
  route: import("@react-navigation/core").RouteProp<import("@react-navigation/routers").ParamListBase, string>;
115
- navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, string | undefined>;
161
+ navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, undefined>;
116
162
  theme: ReactNavigation.Theme;
117
- }) => NativeStackNavigationOptions;
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
+ };
118
168
  };
119
169
  readonly ConversationReply: {
120
170
  readonly screen: typeof ConversationScreen;
121
171
  readonly options: ({ route, navigation }: {
122
172
  route: import("@react-navigation/core").RouteProp<import("@react-navigation/routers").ParamListBase, string>;
123
- navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, string | undefined>;
173
+ navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, undefined>;
124
174
  theme: ReactNavigation.Theme;
125
- }) => NativeStackNavigationOptions;
175
+ }) => {
176
+ title: string;
177
+ headerLeft: (props: import("@react-navigation/native-stack").NativeStackHeaderLeftProps) => import("react/jsx-runtime").JSX.Element;
178
+ };
126
179
  };
127
180
  readonly TeamConversation: {
128
181
  readonly screen: ({ route }: import("..").TeamConversationScreenProps) => import("react/jsx-runtime").JSX.Element;
@@ -137,96 +190,134 @@ export declare const ChatStack: import("@react-navigation/core").TypedNavigator<
137
190
  readonly screen: typeof ConversationDetailsScreen;
138
191
  readonly options: ({ navigation }: {
139
192
  route: import("@react-navigation/core").RouteProp<import("@react-navigation/routers").ParamListBase, string>;
140
- navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, string | undefined>;
193
+ navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, undefined>;
141
194
  theme: ReactNavigation.Theme;
142
- }) => NativeStackNavigationOptions;
195
+ }) => {
196
+ presentation: "modal";
197
+ title: string;
198
+ headerRight: (props: NativeStackHeaderRightProps) => import("react/jsx-runtime").JSX.Element;
199
+ };
143
200
  };
144
201
  readonly AvatarPicker: {
145
202
  readonly screen: typeof AvatarPickerScreen;
146
- readonly options: NativeStackNavigationOptions;
203
+ readonly options: import("@react-navigation/native-stack").NativeStackNavigationOptions;
147
204
  };
148
205
  readonly ChatSettings: {
149
206
  readonly screen: typeof SettingsScreen;
150
207
  readonly options: ({ navigation }: {
151
208
  route: import("@react-navigation/core").RouteProp<import("@react-navigation/routers").ParamListBase, string>;
152
- navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, string | undefined>;
209
+ navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, undefined>;
153
210
  theme: ReactNavigation.Theme;
154
- }) => NativeStackNavigationOptions;
211
+ }) => {
212
+ title: string;
213
+ headerBackVisible: false;
214
+ headerRight: (props: NativeStackHeaderRightProps) => import("react/jsx-runtime").JSX.Element;
215
+ };
155
216
  };
156
217
  readonly NotificationSettings: {
157
218
  readonly screen: typeof NotificationSettingsScreen;
158
219
  readonly options: ({ navigation }: {
159
220
  route: import("@react-navigation/core").RouteProp<import("@react-navigation/routers").ParamListBase, string>;
160
- navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, string | undefined>;
221
+ navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, undefined>;
161
222
  theme: ReactNavigation.Theme;
162
- }) => NativeStackNavigationOptions;
223
+ }) => {
224
+ title: string;
225
+ headerBackVisible: false;
226
+ headerRight: (props: NativeStackHeaderRightProps) => import("react/jsx-runtime").JSX.Element;
227
+ };
163
228
  };
164
229
  readonly PreferredAppSelection: {
165
230
  readonly screen: typeof PreferredAppSelectionScreen;
166
- readonly options: ({ navigation }: {
167
- route: import("@react-navigation/core").RouteProp<import("@react-navigation/routers").ParamListBase, string>;
168
- navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, string | undefined>;
169
- theme: ReactNavigation.Theme;
170
- }) => NativeStackNavigationOptions;
231
+ readonly options: {
232
+ readonly title: "Preferred app";
233
+ };
171
234
  };
172
235
  readonly GroupNotificationSettings: {
173
236
  readonly screen: typeof GroupNotificationSettingsScreen;
174
237
  readonly options: ({ route, navigation }: {
175
238
  route: import("@react-navigation/core").RouteProp<import("@react-navigation/routers").ParamListBase, string>;
176
- navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, string | undefined>;
239
+ navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, undefined>;
177
240
  theme: ReactNavigation.Theme;
178
- }) => NativeStackNavigationOptions;
241
+ }) => {
242
+ title: string;
243
+ headerRight: (props: NativeStackHeaderRightProps) => import("react/jsx-runtime").JSX.Element;
244
+ };
179
245
  };
180
246
  readonly GroupNotificationLevelSelect: {
181
247
  readonly screen: typeof GroupNotificationLevelSelectScreen;
182
- readonly options: NativeStackNavigationOptions;
248
+ readonly options: import("@react-navigation/native-stack").NativeStackNavigationOptions;
183
249
  };
184
250
  readonly ConversationNotificationLevelSelect: {
185
251
  readonly screen: typeof ConversationNotificationLevelSelectScreen;
186
- readonly options: NativeStackNavigationOptions;
252
+ readonly options: import("@react-navigation/native-stack").NativeStackNavigationOptions;
187
253
  };
188
254
  readonly New: {
189
- readonly screen: import("@react-navigation/core").TypedNavigator<import("@react-navigation/native-stack").NativeStackTypeBag<import("@react-navigation/routers").ParamListBase, string | undefined>, {
255
+ readonly screen: import("@react-navigation/core").TypedNavigator<{
256
+ ParamList: import("@react-navigation/routers").ParamListBase;
257
+ NavigatorID: undefined;
258
+ State: import("@react-navigation/routers").StackNavigationState<import("@react-navigation/routers").ParamListBase>;
259
+ ScreenOptions: import("@react-navigation/native-stack").NativeStackNavigationOptions;
260
+ EventMap: import("@react-navigation/native-stack").NativeStackNavigationEventMap;
261
+ NavigationList: {
262
+ [x: string]: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, undefined>;
263
+ };
264
+ Navigator: ({ id, initialRouteName, children, layout, screenListeners, screenOptions, screenLayout, UNSTABLE_getStateForRouteNamesChange, ...rest }: import("@react-navigation/native-stack").NativeStackNavigatorProps) => import("react/jsx-runtime").JSX.Element;
265
+ }, {
190
266
  readonly initialRouteName: "ConversationNewEntry";
191
- readonly screenOptions: () => NativeStackNavigationOptions;
267
+ readonly screenOptions: {
268
+ readonly headerBackButtonDisplayMode: "minimal";
269
+ };
192
270
  readonly screenLayout: typeof ScreenLayoutWithChatAccessGate;
193
271
  readonly screens: {
194
272
  readonly ConversationNewEntry: {
195
273
  readonly screen: ({ route }: import("../screens/conversation_select_recipients/types/screen_props").ConversationSelectRecipientsScreenProps) => import("react/jsx-runtime").JSX.Element;
196
274
  readonly options: ({ navigation }: {
197
275
  route: import("@react-navigation/core").RouteProp<import("@react-navigation/routers").ParamListBase, string>;
198
- navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, string | undefined>;
276
+ navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, undefined>;
199
277
  theme: ReactNavigation.Theme;
200
- }) => NativeStackNavigationOptions;
278
+ }) => {
279
+ title: string;
280
+ headerRight: (props: NativeStackHeaderRightProps) => import("react/jsx-runtime").JSX.Element;
281
+ headerBackVisible: false;
282
+ };
201
283
  };
202
284
  readonly ConversationSelectGroupRecipients: {
203
285
  readonly screen: ({ route, }: import("../screens/conversation_select_recipients/types/screen_props").ConversationSelectRecipientsScreenProps) => import("react/jsx-runtime").JSX.Element;
204
286
  readonly options: ({ navigation, route }: {
205
287
  route: import("@react-navigation/core").RouteProp<import("@react-navigation/routers").ParamListBase, string>;
206
- navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, string | undefined>;
288
+ navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, undefined>;
207
289
  theme: ReactNavigation.Theme;
208
- }) => NativeStackNavigationOptions;
290
+ }) => {
291
+ title: string;
292
+ headerRight: (props: NativeStackHeaderRightProps) => import("react/jsx-runtime").JSX.Element;
293
+ };
209
294
  };
210
295
  readonly ConversationSelectTeamsILeadRecipients: {
211
296
  readonly screen: ({ route, }: import("../screens/conversation_select_recipients/types/screen_props").ConversationSelectRecipientsScreenProps) => import("react/jsx-runtime").JSX.Element;
212
297
  readonly options: ({ navigation, route }: {
213
298
  route: import("@react-navigation/core").RouteProp<import("@react-navigation/routers").ParamListBase, string>;
214
- navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, string | undefined>;
299
+ navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, undefined>;
215
300
  theme: ReactNavigation.Theme;
216
- }) => NativeStackNavigationOptions;
301
+ }) => {
302
+ title: string;
303
+ headerRight: (props: NativeStackHeaderRightProps) => import("react/jsx-runtime").JSX.Element;
304
+ };
217
305
  };
218
306
  readonly ConversationSelectDirectMessageRecipients: {
219
307
  readonly screen: typeof ConversationSelectDirectMessageRecipientsScreen;
220
- readonly if: () => boolean;
308
+ readonly if: typeof useDirectMessagesEnabled;
221
309
  readonly options: ({ navigation, route }: {
222
310
  route: import("@react-navigation/core").RouteProp<import("@react-navigation/routers").ParamListBase, string>;
223
- navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, string | undefined>;
311
+ navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, undefined>;
224
312
  theme: ReactNavigation.Theme;
225
- }) => NativeStackNavigationOptions;
313
+ }) => {
314
+ title: string;
315
+ headerRight: (props: NativeStackHeaderRightProps) => import("react/jsx-runtime").JSX.Element;
316
+ };
226
317
  };
227
318
  readonly ConversationFilterRecipients: {
228
319
  readonly screen: ({ route, }: import("../screens/conversation_filter_recipients/types").ConversationFilterRecipientsScreenProps) => import("react/jsx-runtime").JSX.Element;
229
- readonly options: NativeStackNavigationOptions;
320
+ readonly options: import("@react-navigation/native-stack").NativeStackNavigationOptions;
230
321
  };
231
322
  readonly ConversationNew: {
232
323
  readonly screen: ({ route }: {
@@ -245,13 +336,17 @@ export declare const ChatStack: import("@react-navigation/core").TypedNavigator<
245
336
  }) => import("react/jsx-runtime").JSX.Element;
246
337
  readonly options: ({ navigation, route }: {
247
338
  route: import("@react-navigation/core").RouteProp<import("@react-navigation/routers").ParamListBase, string>;
248
- navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, string | undefined>;
339
+ navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, undefined>;
249
340
  theme: ReactNavigation.Theme;
250
- }) => NativeStackNavigationOptions;
341
+ }) => {
342
+ title: string;
343
+ headerLeft: () => null;
344
+ headerRight: (props: NativeStackHeaderRightProps) => import("react/jsx-runtime").JSX.Element;
345
+ };
251
346
  };
252
347
  readonly AvatarPicker: {
253
348
  readonly screen: typeof AvatarPickerScreen;
254
- readonly options: NativeStackNavigationOptions;
349
+ readonly options: import("@react-navigation/native-stack").NativeStackNavigationOptions;
255
350
  };
256
351
  };
257
352
  }>;
@@ -279,45 +374,49 @@ export declare const ChatStack: import("@react-navigation/core").TypedNavigator<
279
374
  readonly if: () => boolean;
280
375
  readonly options: ({ navigation }: {
281
376
  route: import("@react-navigation/core").RouteProp<import("@react-navigation/routers").ParamListBase, string>;
282
- navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, string | undefined>;
377
+ navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, undefined>;
283
378
  theme: ReactNavigation.Theme;
284
- }) => NativeStackNavigationOptions;
379
+ }) => {
380
+ title: string;
381
+ headerLeft: () => null;
382
+ headerRight: (props: NativeStackHeaderRightProps) => import("react/jsx-runtime").JSX.Element;
383
+ };
285
384
  };
286
385
  readonly SendGiphy: {
287
386
  readonly screen: typeof SendGiphyScreen;
288
- readonly options: NativeStackNavigationOptions;
387
+ readonly options: import("@react-navigation/native-stack").NativeStackNavigationOptions;
289
388
  };
290
389
  readonly MessageActions: {
291
390
  readonly screen: typeof MessageActionsScreen;
292
- readonly options: NativeStackNavigationOptions;
391
+ readonly options: import("@react-navigation/native-stack").NativeStackNavigationOptions;
293
392
  };
294
393
  readonly MessageReport: {
295
394
  readonly screen: typeof MessageReportScreen;
296
- readonly options: ({ navigation, route, }: import("@react-navigation/native-stack").NativeStackScreenProps<any>) => NativeStackNavigationOptions;
395
+ readonly options: ({ navigation, route, }: import("@react-navigation/native-stack").NativeStackScreenProps<any>) => import("@react-navigation/native-stack").NativeStackNavigationOptions;
297
396
  };
298
397
  readonly AttachmentActions: {
299
398
  readonly screen: typeof AttachmentActionsScreen;
300
- readonly options: NativeStackNavigationOptions;
399
+ readonly options: import("@react-navigation/native-stack").NativeStackNavigationOptions;
301
400
  };
302
401
  readonly ConversationSelectType: {
303
402
  readonly screen: typeof ConversationSelectTypeScreen;
304
- readonly options: NativeStackNavigationOptions;
403
+ readonly options: import("@react-navigation/native-stack").NativeStackNavigationOptions;
305
404
  };
306
405
  readonly Reactions: {
307
406
  readonly screen: typeof ReactionsScreen;
308
- readonly options: NativeStackNavigationOptions;
407
+ readonly options: import("@react-navigation/native-stack").NativeStackNavigationOptions;
309
408
  };
310
409
  readonly SystemMessagePeople: {
311
410
  readonly screen: typeof SystemMessagePeopleScreen;
312
- readonly options: NativeStackNavigationOptions;
411
+ readonly options: import("@react-navigation/native-stack").NativeStackNavigationOptions;
313
412
  };
314
413
  readonly MessageReadReceipts: {
315
414
  readonly screen: typeof MessageReadReceiptsScreen;
316
- readonly options: NativeStackNavigationOptions;
415
+ readonly options: import("@react-navigation/native-stack").NativeStackNavigationOptions;
317
416
  };
318
417
  readonly BugReport: {
319
418
  readonly screen: typeof BugReportScreen;
320
- readonly options: ({ navigation, }: import("@react-navigation/native-stack").NativeStackScreenProps<any>) => NativeStackNavigationOptions;
419
+ readonly options: ({ navigation, }: import("@react-navigation/native-stack").NativeStackScreenProps<any>) => import("@react-navigation/native-stack").NativeStackNavigationOptions;
321
420
  };
322
421
  readonly GetHelp: {
323
422
  readonly screen: ({ route }: {
@@ -329,9 +428,14 @@ export declare const ChatStack: import("@react-navigation/core").TypedNavigator<
329
428
  }) => import("react/jsx-runtime").JSX.Element;
330
429
  readonly options: ({ navigation }: {
331
430
  route: import("@react-navigation/core").RouteProp<import("@react-navigation/routers").ParamListBase, string>;
332
- navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, string | undefined>;
431
+ navigation: import("@react-navigation/native-stack").NativeStackNavigationProp<import("@react-navigation/routers").ParamListBase, string, undefined>;
333
432
  theme: ReactNavigation.Theme;
334
- }) => NativeStackNavigationOptions;
433
+ }) => {
434
+ headerTitle: string;
435
+ headerBackVisible: false;
436
+ presentation: "modal";
437
+ headerRight: (props: NativeStackHeaderRightProps) => import("react/jsx-runtime").JSX.Element;
438
+ };
335
439
  };
336
440
  readonly NotFound: {
337
441
  readonly screen: typeof NotFound;
@@ -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;AAUhE,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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/navigation/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,EAEL,2BAA2B,EAC5B,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;AAEhD,OAAO,EAAE,8BAA8B,EAAE,MAAM,gBAAgB,CAAA;AAO/D,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;qCAWJ,2BAA2B;;;;;;;;;;;;qCAU3B,2BAA2B;;;;;;;;;;;qCAa3B,2BAA2B;;;;;;;;;;;;qCAc3B,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAkB3B,2BAA2B;;;;;;;;EAkBtD,CAAA;AAEF,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;qCAWO,2BAA2B;;;;;;;;;;;;;;qCAgB3B,2BAA2B;qCAgB3B,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAqD3B,2BAA2B;;;;;;;;;;;;;;;;qCAc3B,2BAA2B;;;;;;;;;;;;qCAU3B,2BAA2B;;;;;;;;;;;;;;;;;qCAe3B,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iDAlN3B,2BAA2B;;;;;;;;;;;;iDAU3B,2BAA2B;;;;;;;;;;;iDAa3B,2BAA2B;;;;;;;;;;;;iDAc3B,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iDAkB3B,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyPtD,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"}