@react-navigation/core 7.14.0 → 8.0.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (157) hide show
  1. package/lib/module/BaseNavigationContainer.js +4 -9
  2. package/lib/module/BaseNavigationContainer.js.map +1 -1
  3. package/lib/module/NavigationIndependentTree.js +12 -7
  4. package/lib/module/NavigationIndependentTree.js.map +1 -1
  5. package/lib/module/NavigationProvider.js +49 -0
  6. package/lib/module/NavigationProvider.js.map +1 -0
  7. package/lib/module/PreventRemoveProvider.js +1 -1
  8. package/lib/module/PreventRemoveProvider.js.map +1 -1
  9. package/lib/module/SceneView.js.map +1 -1
  10. package/lib/module/StaticNavigation.js +32 -21
  11. package/lib/module/StaticNavigation.js.map +1 -1
  12. package/lib/module/createNavigationContainerRef.js.map +1 -1
  13. package/lib/module/getActionFromState.js +3 -2
  14. package/lib/module/getActionFromState.js.map +1 -1
  15. package/lib/module/getPathFromState.js +1 -1
  16. package/lib/module/getPathFromState.js.map +1 -1
  17. package/lib/module/getStateFromPath.js +3 -3
  18. package/lib/module/getStateFromPath.js.map +1 -1
  19. package/lib/module/index.js +1 -2
  20. package/lib/module/index.js.map +1 -1
  21. package/lib/module/theming/ThemeContext.js.map +1 -1
  22. package/lib/module/theming/ThemeProvider.js.map +1 -1
  23. package/lib/module/theming/useTheme.js +1 -1
  24. package/lib/module/theming/useTheme.js.map +1 -1
  25. package/lib/module/types.js +41 -0
  26. package/lib/module/types.js.map +1 -1
  27. package/lib/module/useChildListeners.js +2 -4
  28. package/lib/module/useChildListeners.js.map +1 -1
  29. package/lib/module/useDescriptors.js +5 -9
  30. package/lib/module/useDescriptors.js.map +1 -1
  31. package/lib/module/useEventEmitter.js +9 -20
  32. package/lib/module/useEventEmitter.js.map +1 -1
  33. package/lib/module/useFocusEvents.js +1 -1
  34. package/lib/module/useFocusEvents.js.map +1 -1
  35. package/lib/module/useNavigation.js +31 -8
  36. package/lib/module/useNavigation.js.map +1 -1
  37. package/lib/module/useNavigationBuilder.js +10 -12
  38. package/lib/module/useNavigationBuilder.js.map +1 -1
  39. package/lib/module/useNavigationCache.js +18 -11
  40. package/lib/module/useNavigationCache.js.map +1 -1
  41. package/lib/module/useNavigationHelpers.js +2 -14
  42. package/lib/module/useNavigationHelpers.js.map +1 -1
  43. package/lib/module/useNavigationState.js +42 -9
  44. package/lib/module/useNavigationState.js.map +1 -1
  45. package/lib/module/useOnAction.js +2 -7
  46. package/lib/module/useOnAction.js.map +1 -1
  47. package/lib/module/useOnGetState.js +1 -1
  48. package/lib/module/useOnGetState.js.map +1 -1
  49. package/lib/module/useOnPreventRemove.js +1 -1
  50. package/lib/module/useOnPreventRemove.js.map +1 -1
  51. package/lib/module/useRoute.js +23 -5
  52. package/lib/module/useRoute.js.map +1 -1
  53. package/lib/module/useScheduleUpdate.js +1 -2
  54. package/lib/module/useScheduleUpdate.js.map +1 -1
  55. package/lib/module/useSyncState.js +25 -9
  56. package/lib/module/useSyncState.js.map +1 -1
  57. package/lib/module/utilities.js +2 -0
  58. package/lib/module/utilities.js.map +1 -0
  59. package/lib/typescript/src/BaseNavigationContainer.d.ts.map +1 -1
  60. package/lib/typescript/src/NavigationIndependentTree.d.ts.map +1 -1
  61. package/lib/typescript/src/NavigationProvider.d.ts +44 -0
  62. package/lib/typescript/src/NavigationProvider.d.ts.map +1 -0
  63. package/lib/typescript/src/SceneView.d.ts +1 -1
  64. package/lib/typescript/src/SceneView.d.ts.map +1 -1
  65. package/lib/typescript/src/StaticNavigation.d.ts +231 -80
  66. package/lib/typescript/src/StaticNavigation.d.ts.map +1 -1
  67. package/lib/typescript/src/createNavigationContainerRef.d.ts +2 -2
  68. package/lib/typescript/src/createNavigationContainerRef.d.ts.map +1 -1
  69. package/lib/typescript/src/getStateFromPath.d.ts.map +1 -1
  70. package/lib/typescript/src/index.d.ts +2 -3
  71. package/lib/typescript/src/index.d.ts.map +1 -1
  72. package/lib/typescript/src/theming/ThemeContext.d.ts +2 -1
  73. package/lib/typescript/src/theming/ThemeContext.d.ts.map +1 -1
  74. package/lib/typescript/src/theming/ThemeProvider.d.ts +2 -1
  75. package/lib/typescript/src/theming/ThemeProvider.d.ts.map +1 -1
  76. package/lib/typescript/src/theming/useTheme.d.ts +1 -1
  77. package/lib/typescript/src/theming/useTheme.d.ts.map +1 -1
  78. package/lib/typescript/src/types.d.ts +188 -133
  79. package/lib/typescript/src/types.d.ts.map +1 -1
  80. package/lib/typescript/src/useChildListeners.d.ts.map +1 -1
  81. package/lib/typescript/src/useDescriptors.d.ts +27 -109
  82. package/lib/typescript/src/useDescriptors.d.ts.map +1 -1
  83. package/lib/typescript/src/useEventEmitter.d.ts.map +1 -1
  84. package/lib/typescript/src/useNavigation.d.ts +7 -5
  85. package/lib/typescript/src/useNavigation.d.ts.map +1 -1
  86. package/lib/typescript/src/useNavigationBuilder.d.ts +25 -114
  87. package/lib/typescript/src/useNavigationBuilder.d.ts.map +1 -1
  88. package/lib/typescript/src/useNavigationCache.d.ts +8 -22
  89. package/lib/typescript/src/useNavigationCache.d.ts.map +1 -1
  90. package/lib/typescript/src/useNavigationContainerRef.d.ts +2 -2
  91. package/lib/typescript/src/useNavigationContainerRef.d.ts.map +1 -1
  92. package/lib/typescript/src/useNavigationHelpers.d.ts +3 -11
  93. package/lib/typescript/src/useNavigationHelpers.d.ts.map +1 -1
  94. package/lib/typescript/src/useNavigationState.d.ts +10 -3
  95. package/lib/typescript/src/useNavigationState.d.ts.map +1 -1
  96. package/lib/typescript/src/useOnAction.d.ts.map +1 -1
  97. package/lib/typescript/src/useRoute.d.ts +8 -2
  98. package/lib/typescript/src/useRoute.d.ts.map +1 -1
  99. package/lib/typescript/src/useRouteCache.d.ts +12 -3
  100. package/lib/typescript/src/useRouteCache.d.ts.map +1 -1
  101. package/lib/typescript/src/useScheduleUpdate.d.ts.map +1 -1
  102. package/lib/typescript/src/useSyncState.d.ts.map +1 -1
  103. package/lib/typescript/src/utilities.d.ts +99 -0
  104. package/lib/typescript/src/utilities.d.ts.map +1 -0
  105. package/package.json +7 -7
  106. package/src/BaseNavigationContainer.tsx +3 -9
  107. package/src/NavigationIndependentTree.tsx +17 -9
  108. package/src/NavigationProvider.tsx +64 -0
  109. package/src/PreventRemoveProvider.tsx +1 -1
  110. package/src/SceneView.tsx +1 -7
  111. package/src/StaticNavigation.tsx +372 -134
  112. package/src/createNavigationContainerRef.tsx +2 -1
  113. package/src/getActionFromState.tsx +4 -2
  114. package/src/getPathFromState.tsx +6 -5
  115. package/src/getStateFromPath.tsx +11 -11
  116. package/src/index.tsx +8 -4
  117. package/src/theming/ThemeContext.tsx +3 -3
  118. package/src/theming/ThemeProvider.tsx +2 -1
  119. package/src/theming/useTheme.tsx +1 -1
  120. package/src/types.tsx +392 -243
  121. package/src/useChildListeners.tsx +3 -2
  122. package/src/useDescriptors.tsx +11 -17
  123. package/src/useEventEmitter.tsx +14 -31
  124. package/src/useFocusEvents.tsx +1 -1
  125. package/src/useNavigation.tsx +57 -14
  126. package/src/useNavigationBuilder.tsx +10 -13
  127. package/src/useNavigationCache.tsx +40 -18
  128. package/src/useNavigationContainerRef.tsx +2 -2
  129. package/src/useNavigationHelpers.tsx +2 -19
  130. package/src/useNavigationState.tsx +90 -19
  131. package/src/useOnAction.tsx +1 -12
  132. package/src/useOnGetState.tsx +1 -1
  133. package/src/useOnPreventRemove.tsx +1 -1
  134. package/src/useRoute.tsx +52 -7
  135. package/src/useScheduleUpdate.tsx +1 -2
  136. package/src/useSyncState.tsx +28 -13
  137. package/src/utilities.tsx +122 -0
  138. package/lib/module/DeprecatedNavigationInChildContext.js +0 -9
  139. package/lib/module/DeprecatedNavigationInChildContext.js.map +0 -1
  140. package/lib/module/NavigationContext.js +0 -8
  141. package/lib/module/NavigationContext.js.map +0 -1
  142. package/lib/module/NavigationRouteContext.js +0 -9
  143. package/lib/module/NavigationRouteContext.js.map +0 -1
  144. package/lib/module/useClientLayoutEffect.js +0 -9
  145. package/lib/module/useClientLayoutEffect.js.map +0 -1
  146. package/lib/typescript/src/DeprecatedNavigationInChildContext.d.ts +0 -6
  147. package/lib/typescript/src/DeprecatedNavigationInChildContext.d.ts.map +0 -1
  148. package/lib/typescript/src/NavigationContext.d.ts +0 -8
  149. package/lib/typescript/src/NavigationContext.d.ts.map +0 -1
  150. package/lib/typescript/src/NavigationRouteContext.d.ts +0 -7
  151. package/lib/typescript/src/NavigationRouteContext.d.ts.map +0 -1
  152. package/lib/typescript/src/useClientLayoutEffect.d.ts +0 -6
  153. package/lib/typescript/src/useClientLayoutEffect.d.ts.map +0 -1
  154. package/src/DeprecatedNavigationInChildContext.tsx +0 -6
  155. package/src/NavigationContext.tsx +0 -11
  156. package/src/NavigationRouteContext.tsx +0 -9
  157. package/src/useClientLayoutEffect.tsx +0 -10
@@ -1,7 +1,7 @@
1
- import type { NavigationAction, NavigationState, ParamListBase, PartialState, Router } from '@react-navigation/routers';
1
+ import type { NavigationAction, NavigationState, ParamListBase, Router } from '@react-navigation/routers';
2
2
  import * as React from 'react';
3
3
  import { type AddKeyedListener, type AddListener } from './NavigationBuilderContext';
4
- import type { Descriptor, EventMapBase, NavigationHelpers, NavigationProp, RouteConfig, RouteProp } from './types';
4
+ import type { Descriptor, EventMapBase, NavigationHelpers, NavigationProp, RouteConfig, RouteProp, Theme } from './types';
5
5
  import type { NavigationEventEmitter } from './useEventEmitter';
6
6
  export type ScreenConfigWithParent<State extends NavigationState, ScreenOptions extends {}, EventMap extends EventMapBase> = {
7
7
  keys: (string | undefined)[];
@@ -13,13 +13,13 @@ type ScreenLayout<ScreenOptions extends {}> = (props: {
13
13
  route: RouteProp<ParamListBase, string>;
14
14
  options: ScreenOptions;
15
15
  navigation: any;
16
- theme: ReactNavigation.Theme;
16
+ theme: Theme;
17
17
  children: React.ReactElement;
18
18
  }) => React.ReactElement;
19
19
  type ScreenOptionsOrCallback<ScreenOptions extends {}> = ScreenOptions | ((props: {
20
20
  route: RouteProp<ParamListBase, string>;
21
21
  navigation: any;
22
- theme: ReactNavigation.Theme;
22
+ theme: Theme;
23
23
  }) => ScreenOptions);
24
24
  type Options<State extends NavigationState, ScreenOptions extends {}, EventMap extends EventMapBase> = {
25
25
  state: State;
@@ -44,111 +44,29 @@ type Options<State extends NavigationState, ScreenOptions extends {}, EventMap e
44
44
  * - Options specified by the screen for the navigator
45
45
  * - Navigation object intended for the route
46
46
  */
47
- export declare function useDescriptors<State extends NavigationState, ActionHelpers extends Record<string, () => void>, ScreenOptions extends {}, EventMap extends EventMapBase>({ state, screens, navigation, screenOptions, screenLayout, onAction, getState, setState, addListener, addKeyedListener, onRouteFocus, router, emitter, }: Options<State, ScreenOptions, EventMap>): {
48
- describe: (route: RouteProp<ParamListBase>, placeholder: boolean) => Descriptor<ScreenOptions, Omit<{
49
- dispatch(action: Readonly<{
50
- type: string;
51
- payload?: object;
52
- source?: string;
53
- target?: string;
54
- }> | ((state: Readonly<State>) => Readonly<{
55
- type: string;
56
- payload?: object;
57
- source?: string;
58
- target?: string;
59
- }>)): void;
60
- navigate<RouteName extends string>(...args: RouteName extends unknown ? [screen: RouteName, params?: object | undefined, options?: {
61
- merge?: boolean;
62
- pop?: boolean;
63
- } | undefined] : never): void;
64
- navigate<RouteName extends string>(options: RouteName extends unknown ? {
65
- name: RouteName;
66
- params: object | undefined;
67
- path?: string;
68
- merge?: boolean;
69
- pop?: boolean;
70
- } : never): void;
71
- navigateDeprecated<RouteName extends string>(...args: RouteName extends unknown ? [screen: RouteName, params?: object | undefined] : never): void;
72
- navigateDeprecated<RouteName extends string>(options: RouteName extends unknown ? {
73
- name: RouteName;
74
- params: object | undefined;
75
- merge?: boolean;
76
- } : never): void;
77
- preload<RouteName extends string>(...args: RouteName extends unknown ? [screen: RouteName, params?: object | undefined] : never): void;
78
- reset(state: State | PartialState<State>): void;
79
- goBack(): void;
80
- isFocused(): boolean;
81
- canGoBack(): boolean;
82
- getId(): string | undefined;
83
- getParent<T = NavigationHelpers<ParamListBase, {}> | undefined>(id?: string): T;
84
- getState(): State;
85
- } & import("./types").PrivateValueStore<[ParamListBase, unknown, unknown]>, "getParent"> & {
86
- getParent<T = NavigationProp<ParamListBase, string, string | undefined, Readonly<{
87
- key: string;
88
- index: number;
89
- routeNames: string[];
90
- history?: unknown[];
91
- routes: import("@react-navigation/routers").NavigationRoute<ParamListBase, string>[];
92
- type: string;
93
- stale: false;
94
- }>, {}, {}> | undefined>(id?: string | undefined): T;
95
- setOptions(options: Partial<ScreenOptions>): void;
96
- } & {
97
- setParams(params: Partial<object | undefined>): void;
98
- replaceParams(params: object | undefined): void;
99
- } & import("./types").EventConsumer<EventMap & import("./types").EventMapCore<State>> & import("./types").PrivateValueStore<[ParamListBase, string, EventMap]> & ActionHelpers, RouteProp<ParamListBase>>;
100
- descriptors: Record<string, Descriptor<ScreenOptions, Omit<{
101
- dispatch(action: Readonly<{
102
- type: string;
103
- payload?: object;
104
- source?: string;
105
- target?: string;
106
- }> | ((state: Readonly<State>) => Readonly<{
107
- type: string;
108
- payload?: object;
109
- source?: string;
110
- target?: string;
111
- }>)): void;
112
- navigate<RouteName extends string>(...args: RouteName extends unknown ? [screen: RouteName, params?: object | undefined, options?: {
113
- merge?: boolean;
114
- pop?: boolean;
115
- } | undefined] : never): void;
116
- navigate<RouteName extends string>(options: RouteName extends unknown ? {
117
- name: RouteName;
118
- params: object | undefined;
119
- path?: string;
120
- merge?: boolean;
121
- pop?: boolean;
122
- } : never): void;
123
- navigateDeprecated<RouteName extends string>(...args: RouteName extends unknown ? [screen: RouteName, params?: object | undefined] : never): void;
124
- navigateDeprecated<RouteName extends string>(options: RouteName extends unknown ? {
125
- name: RouteName;
126
- params: object | undefined;
127
- merge?: boolean;
128
- } : never): void;
129
- preload<RouteName extends string>(...args: RouteName extends unknown ? [screen: RouteName, params?: object | undefined] : never): void;
130
- reset(state: State | PartialState<State>): void;
131
- goBack(): void;
132
- isFocused(): boolean;
133
- canGoBack(): boolean;
134
- getId(): string | undefined;
135
- getParent<T = NavigationHelpers<ParamListBase, {}> | undefined>(id?: string): T;
136
- getState(): State;
137
- } & import("./types").PrivateValueStore<[ParamListBase, unknown, unknown]>, "getParent"> & {
138
- getParent<T = NavigationProp<ParamListBase, string, string | undefined, Readonly<{
139
- key: string;
140
- index: number;
141
- routeNames: string[];
142
- history?: unknown[];
143
- routes: import("@react-navigation/routers").NavigationRoute<ParamListBase, string>[];
144
- type: string;
145
- stale: false;
146
- }>, {}, {}> | undefined>(id?: string | undefined): T;
147
- setOptions(options: Partial<ScreenOptions>): void;
148
- } & {
149
- setParams(params: Partial<object | undefined>): void;
150
- replaceParams(params: object | undefined): void;
151
- } & import("./types").EventConsumer<EventMap & import("./types").EventMapCore<State>> & import("./types").PrivateValueStore<[ParamListBase, string, EventMap]> & ActionHelpers, RouteProp<ParamListBase>>>;
47
+ export declare function useDescriptors<State extends NavigationState, ActionHelpers extends Record<string, (...args: any) => void>, ScreenOptions extends {}, EventMap extends EventMapBase>({ state, screens, navigation, screenOptions, screenLayout, onAction, getState, setState, addListener, addKeyedListener, onRouteFocus, router, emitter, }: Options<State, ScreenOptions, EventMap>): {
48
+ describe: (route: RouteProp<ParamListBase>, placeholder: boolean) => Descriptor<ScreenOptions, NavigationProp<ParamListBase, string, State, ScreenOptions, EventMap, ActionHelpers>, Readonly<{
49
+ key: string;
50
+ name: string;
51
+ path?: string;
52
+ history?: {
53
+ type: "params";
54
+ params: object;
55
+ }[];
56
+ } & Readonly<{
57
+ params?: Readonly<object | undefined>;
58
+ }>>>;
59
+ descriptors: Record<string, Descriptor<ScreenOptions, NavigationProp<ParamListBase, string, State, ScreenOptions, EventMap, ActionHelpers>, Readonly<{
60
+ key: string;
61
+ name: string;
62
+ path?: string;
63
+ history?: {
64
+ type: "params";
65
+ params: object;
66
+ }[];
67
+ } & Readonly<{
68
+ params?: Readonly<object | undefined>;
69
+ }>>>>;
152
70
  };
153
71
  export {};
154
72
  //# sourceMappingURL=useDescriptors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useDescriptors.d.ts","sourceRoot":"","sources":["../../../src/useDescriptors.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useDescriptors.d.ts","sourceRoot":"","sources":["../../../src/useDescriptors.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useEventEmitter.d.ts","sourceRoot":"","sources":["../../../src/useEventEmitter.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAY,aAAa,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAErE,MAAM,MAAM,sBAAsB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAC9D,YAAY,CAAC,CAAC,CAAC,GAAG;IAChB,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,aAAa,CAAC,CAAC,CAAC,CAAC;CAC9C,CAAC;AAIJ;;GAEG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3D,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI,GACxB,sBAAsB,CAAC,CAAC,CAAC,CA4H3B"}
1
+ {"version":3,"file":"useEventEmitter.d.ts","sourceRoot":"","sources":["../../../src/useEventEmitter.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAY,aAAa,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAErE,MAAM,MAAM,sBAAsB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAC9D,YAAY,CAAC,CAAC,CAAC,GAAG;IAChB,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,aAAa,CAAC,CAAC,CAAC,CAAC;CAC9C,CAAC;AAIJ;;GAEG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3D,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI,GACxB,sBAAsB,CAAC,CAAC,CAAC,CA2G3B"}
@@ -1,11 +1,13 @@
1
- import { type NavigationState } from '@react-navigation/routers';
2
- import type { NavigationProp } from './types';
1
+ import type { GenericNavigation, NavigationListForNavigator, NavigationListForNested, RootNavigator, RootParamList } from './types';
3
2
  /**
4
3
  * Hook to access the navigation prop of the parent screen anywhere.
5
4
  *
5
+ * If the route name of the current or one of the parents is specified,
6
+ * the navigation prop for that route is returned.
7
+ *
6
8
  * @returns Navigation prop of the parent screen.
7
9
  */
8
- export declare function useNavigation<T = Omit<NavigationProp<ReactNavigation.RootParamList>, 'getState'> & {
9
- getState(): NavigationState | undefined;
10
- }>(): T;
10
+ export declare function useNavigation(): GenericNavigation<RootParamList>;
11
+ export declare function useNavigation<const Navigator = RootNavigator>(): NavigationListForNavigator<Navigator>[keyof NavigationListForNavigator<Navigator>];
12
+ export declare function useNavigation<const Navigator = RootNavigator, const RouteName extends keyof NavigationListForNested<Navigator> = keyof NavigationListForNested<Navigator>>(name: RouteName): NavigationListForNested<Navigator>[RouteName];
11
13
  //# sourceMappingURL=useNavigation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useNavigation.d.ts","sourceRoot":"","sources":["../../../src/useNavigation.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAKjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,GAAG;IACpE,QAAQ,IAAI,eAAe,GAAG,SAAS,CAAC;CACzC,KACE,CAAC,CAYL"}
1
+ {"version":3,"file":"useNavigation.d.ts","sourceRoot":"","sources":["../../../src/useNavigation.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,iBAAiB,EACjB,0BAA0B,EAC1B,uBAAuB,EACvB,aAAa,EACb,aAAa,EACd,MAAM,SAAS,CAAC;AAEjB;;;;;;;GAOG;AACH,wBAAgB,aAAa,IAAI,iBAAiB,CAAC,aAAa,CAAC,CAAC;AAClE,wBAAgB,aAAa,CAC3B,KAAK,CAAC,SAAS,GAAG,aAAa,KAC5B,0BAA0B,CAAC,SAAS,CAAC,CAAC,MAAM,0BAA0B,CAAC,SAAS,CAAC,CAAC,CAAC;AACxF,wBAAgB,aAAa,CAC3B,KAAK,CAAC,SAAS,GAAG,aAAa,EAC/B,KAAK,CAAC,SAAS,SACb,MAAM,uBAAuB,CAAC,SAAS,CAAC,GAAG,MAAM,uBAAuB,CAAC,SAAS,CAAC,EACrF,IAAI,EAAE,SAAS,GAAG,uBAAuB,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { type DefaultRouterOptions, type NavigationAction, type NavigationState, type ParamListBase, type PartialState, type RouterFactory } from '@react-navigation/routers';
2
2
  import * as React from 'react';
3
- import { type DefaultNavigatorOptions, type EventMapCore, PrivateValueStore } from './types';
3
+ import { type DefaultNavigatorOptions, PrivateValueStore } from './types';
4
4
  /**
5
5
  * Hook for building navigators.
6
6
  *
@@ -8,7 +8,7 @@ import { type DefaultNavigatorOptions, type EventMapCore, PrivateValueStore } fr
8
8
  * @param options Options object containing `children` and additional options for the router.
9
9
  * @returns An object containing `state`, `navigation`, `descriptors` objects.
10
10
  */
11
- export declare function useNavigationBuilder<State extends NavigationState, RouterOptions extends DefaultRouterOptions, ActionHelpers extends Record<string, (...args: any) => void>, ScreenOptions extends {}, EventMap extends Record<string, any>>(createRouter: RouterFactory<State, NavigationAction, RouterOptions>, options: DefaultNavigatorOptions<ParamListBase, string | undefined, State, ScreenOptions, EventMap, any> & RouterOptions): {
11
+ export declare function useNavigationBuilder<State extends NavigationState, RouterOptions extends DefaultRouterOptions, ActionHelpers extends Record<string, (...args: any) => void>, ScreenOptions extends {}, EventMap extends Record<string, any>>(createRouter: RouterFactory<State, NavigationAction, RouterOptions>, options: DefaultNavigatorOptions<ParamListBase, State, ScreenOptions, EventMap, any> & RouterOptions): {
12
12
  state: State;
13
13
  navigation: {
14
14
  dispatch(action: Readonly<{
@@ -41,12 +41,6 @@ export declare function useNavigationBuilder<State extends NavigationState, Rout
41
41
  merge?: boolean;
42
42
  pop?: boolean;
43
43
  } : never): void;
44
- navigateDeprecated<RouteName extends string>(...args: RouteName extends unknown ? [screen: RouteName, params?: object | undefined] : never): void;
45
- navigateDeprecated<RouteName extends string>(options: RouteName extends unknown ? {
46
- name: RouteName;
47
- params: object | undefined;
48
- merge?: boolean;
49
- } : never): void;
50
44
  preload<RouteName extends string>(...args: RouteName extends unknown ? [screen: RouteName, params?: object | undefined] : never): void;
51
45
  reset(state: Readonly<{
52
46
  key: string;
@@ -68,8 +62,6 @@ export declare function useNavigationBuilder<State extends NavigationState, Rout
68
62
  goBack(): void;
69
63
  isFocused(): boolean;
70
64
  canGoBack(): boolean;
71
- getId(): string | undefined;
72
- getParent<T = import("./types").NavigationHelpers<ParamListBase, {}> | undefined>(id?: string): T;
73
65
  getState(): Readonly<{
74
66
  key: string;
75
67
  index: number;
@@ -82,111 +74,30 @@ export declare function useNavigationBuilder<State extends NavigationState, Rout
82
74
  } & PrivateValueStore<[ParamListBase, unknown, unknown]> & import("./types").EventEmitter<EventMap> & {
83
75
  setParams(params: Partial<object | undefined>): void;
84
76
  replaceParams(params: object | undefined): void;
77
+ pushParams(params: object | undefined): void;
85
78
  } & ActionHelpers;
86
- describe: (route: import("./types").RouteProp<ParamListBase>, placeholder: boolean) => import("./types").Descriptor<ScreenOptions, Omit<{
87
- dispatch(action: Readonly<{
88
- type: string;
89
- payload?: object;
90
- source?: string;
91
- target?: string;
92
- }> | ((state: Readonly<State>) => Readonly<{
93
- type: string;
94
- payload?: object;
95
- source?: string;
96
- target?: string;
97
- }>)): void;
98
- navigate<RouteName extends string>(...args: RouteName extends unknown ? [screen: RouteName, params?: object | undefined, options?: {
99
- merge?: boolean;
100
- pop?: boolean;
101
- } | undefined] : never): void;
102
- navigate<RouteName extends string>(options: RouteName extends unknown ? {
103
- name: RouteName;
104
- params: object | undefined;
105
- path?: string;
106
- merge?: boolean;
107
- pop?: boolean;
108
- } : never): void;
109
- navigateDeprecated<RouteName extends string>(...args: RouteName extends unknown ? [screen: RouteName, params?: object | undefined] : never): void;
110
- navigateDeprecated<RouteName extends string>(options: RouteName extends unknown ? {
111
- name: RouteName;
112
- params: object | undefined;
113
- merge?: boolean;
114
- } : never): void;
115
- preload<RouteName extends string>(...args: RouteName extends unknown ? [screen: RouteName, params?: object | undefined] : never): void;
116
- reset(state: State | PartialState<State>): void;
117
- goBack(): void;
118
- isFocused(): boolean;
119
- canGoBack(): boolean;
120
- getId(): string | undefined;
121
- getParent<T = import("./types").NavigationHelpers<ParamListBase, {}> | undefined>(id?: string): T;
122
- getState(): State;
123
- } & PrivateValueStore<[ParamListBase, unknown, unknown]>, "getParent"> & {
124
- getParent<T = import("./types").NavigationProp<ParamListBase, string, string | undefined, Readonly<{
125
- key: string;
126
- index: number;
127
- routeNames: string[];
128
- history?: unknown[];
129
- routes: import("@react-navigation/routers").NavigationRoute<ParamListBase, string>[];
130
- type: string;
131
- stale: false;
132
- }>, {}, {}> | undefined>(id?: string | undefined): T;
133
- setOptions(options: Partial<ScreenOptions>): void;
134
- } & {
135
- setParams(params: Partial<object | undefined>): void;
136
- replaceParams(params: object | undefined): void;
137
- } & import("./types").EventConsumer<EventMap & EventMapCore<State>> & PrivateValueStore<[ParamListBase, string, EventMap]> & ActionHelpers, import("./types").RouteProp<ParamListBase>>;
138
- descriptors: Record<string, import("./types").Descriptor<ScreenOptions, Omit<{
139
- dispatch(action: Readonly<{
140
- type: string;
141
- payload?: object;
142
- source?: string;
143
- target?: string;
144
- }> | ((state: Readonly<State>) => Readonly<{
145
- type: string;
146
- payload?: object;
147
- source?: string;
148
- target?: string;
149
- }>)): void;
150
- navigate<RouteName extends string>(...args: RouteName extends unknown ? [screen: RouteName, params?: object | undefined, options?: {
151
- merge?: boolean;
152
- pop?: boolean;
153
- } | undefined] : never): void;
154
- navigate<RouteName extends string>(options: RouteName extends unknown ? {
155
- name: RouteName;
156
- params: object | undefined;
157
- path?: string;
158
- merge?: boolean;
159
- pop?: boolean;
160
- } : never): void;
161
- navigateDeprecated<RouteName extends string>(...args: RouteName extends unknown ? [screen: RouteName, params?: object | undefined] : never): void;
162
- navigateDeprecated<RouteName extends string>(options: RouteName extends unknown ? {
163
- name: RouteName;
164
- params: object | undefined;
165
- merge?: boolean;
166
- } : never): void;
167
- preload<RouteName extends string>(...args: RouteName extends unknown ? [screen: RouteName, params?: object | undefined] : never): void;
168
- reset(state: State | PartialState<State>): void;
169
- goBack(): void;
170
- isFocused(): boolean;
171
- canGoBack(): boolean;
172
- getId(): string | undefined;
173
- getParent<T = import("./types").NavigationHelpers<ParamListBase, {}> | undefined>(id?: string): T;
174
- getState(): State;
175
- } & PrivateValueStore<[ParamListBase, unknown, unknown]>, "getParent"> & {
176
- getParent<T = import("./types").NavigationProp<ParamListBase, string, string | undefined, Readonly<{
177
- key: string;
178
- index: number;
179
- routeNames: string[];
180
- history?: unknown[];
181
- routes: import("@react-navigation/routers").NavigationRoute<ParamListBase, string>[];
182
- type: string;
183
- stale: false;
184
- }>, {}, {}> | undefined>(id?: string | undefined): T;
185
- setOptions(options: Partial<ScreenOptions>): void;
186
- } & {
187
- setParams(params: Partial<object | undefined>): void;
188
- replaceParams(params: object | undefined): void;
189
- } & import("./types").EventConsumer<EventMap & EventMapCore<State>> & PrivateValueStore<[ParamListBase, string, EventMap]> & ActionHelpers, import("./types").RouteProp<ParamListBase>>>;
79
+ describe: (route: import("./types").RouteProp<ParamListBase>, placeholder: boolean) => import("./types").Descriptor<ScreenOptions, import("./types").NavigationProp<ParamListBase, string, State, ScreenOptions, EventMap, ActionHelpers>, Readonly<{
80
+ key: string;
81
+ name: string;
82
+ path?: string;
83
+ history?: {
84
+ type: "params";
85
+ params: object;
86
+ }[];
87
+ } & Readonly<{
88
+ params?: Readonly<object | undefined>;
89
+ }>>>;
90
+ descriptors: Record<string, import("./types").Descriptor<ScreenOptions, import("./types").NavigationProp<ParamListBase, string, State, ScreenOptions, EventMap, ActionHelpers>, Readonly<{
91
+ key: string;
92
+ name: string;
93
+ path?: string;
94
+ history?: {
95
+ type: "params";
96
+ params: object;
97
+ }[];
98
+ } & Readonly<{
99
+ params?: Readonly<object | undefined>;
100
+ }>>>>;
190
101
  NavigationContent: ({ children }: {
191
102
  children: React.ReactNode;
192
103
  }) => import("react/jsx-runtime").JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"useNavigationBuilder.d.ts","sourceRoot":"","sources":["../../../src/useNavigationBuilder.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,YAAY,EAIjB,KAAK,aAAa,EACnB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAc/B,OAAO,EACL,KAAK,uBAAuB,EAE5B,KAAK,YAAY,EAEjB,iBAAiB,EAElB,MAAM,SAAS,CAAC;AAsQjB;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,oBAAoB,EAC1C,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC,EAC5D,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAEpC,YAAY,EAAE,aAAa,CAAC,KAAK,EAAE,gBAAgB,EAAE,aAAa,CAAC,EACnE,OAAO,EAAE,uBAAuB,CAC9B,aAAa,EACb,MAAM,GAAG,SAAS,EAClB,KAAK,EACL,aAAa,EACb,QAAQ,EACR,GAAG,CACJ,GACC,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsnBhB"}
1
+ {"version":3,"file":"useNavigationBuilder.d.ts","sourceRoot":"","sources":["../../../src/useNavigationBuilder.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,YAAY,EAIjB,KAAK,aAAa,EACnB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAc/B,OAAO,EACL,KAAK,uBAAuB,EAI5B,iBAAiB,EAElB,MAAM,SAAS,CAAC;AAqQjB;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,oBAAoB,EAC1C,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC,EAC5D,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAEpC,YAAY,EAAE,aAAa,CAAC,KAAK,EAAE,gBAAgB,EAAE,aAAa,CAAC,EACnE,OAAO,EAAE,uBAAuB,CAC9B,aAAa,EACb,KAAK,EACL,aAAa,EACb,QAAQ,EACR,GAAG,CACJ,GACC,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqnBhB"}
@@ -9,14 +9,14 @@ type Options<State extends NavigationState, ScreenOptions extends {}, EventMap e
9
9
  router: Router<State, NavigationAction>;
10
10
  emitter: NavigationEventEmitter<EventMap>;
11
11
  };
12
- type NavigationItem<State extends NavigationState, ScreenOptions extends {}, EventMap extends Record<string, any>> = NavigationProp<ParamListBase, string, string | undefined, State, ScreenOptions, EventMap>;
13
- type NavigationCache<State extends NavigationState, ScreenOptions extends {}, EventMap extends Record<string, any>> = Record<string, NavigationItem<State, ScreenOptions, EventMap>>;
12
+ type NavigationItem<State extends NavigationState, ScreenOptions extends {}, EventMap extends Record<string, any>, ActionHelpers extends Record<string, (...args: any) => void>> = NavigationProp<ParamListBase, string, State, ScreenOptions, EventMap, ActionHelpers>;
13
+ type NavigationCache<State extends NavigationState, ScreenOptions extends {}, EventMap extends Record<string, any>, ActionHelpers extends Record<string, (...args: any) => void>> = Record<string, NavigationItem<State, ScreenOptions, EventMap, ActionHelpers>>;
14
14
  /**
15
15
  * Hook to cache navigation objects for each screen in the navigator.
16
16
  * It's important to cache them to make sure navigation objects don't change between renders.
17
17
  * This lets us apply optimizations like `React.memo` to minimize re-rendering screens.
18
18
  */
19
- export declare function useNavigationCache<State extends NavigationState, ScreenOptions extends {}, EventMap extends Record<string, any>, ActionHelpers extends Record<string, () => void>>({ state, getState, navigation, setOptions, router, emitter, }: Options<State, ScreenOptions, EventMap>): {
19
+ export declare function useNavigationCache<State extends NavigationState, ScreenOptions extends {}, EventMap extends Record<string, any>, ActionHelpers extends Record<string, (...args: any) => void>>({ state, getState, navigation, setOptions, router, emitter, }: Options<State, ScreenOptions, EventMap>): {
20
20
  base: Omit<{
21
21
  dispatch(action: Readonly<{
22
22
  type: string;
@@ -40,36 +40,22 @@ export declare function useNavigationCache<State extends NavigationState, Screen
40
40
  merge?: boolean;
41
41
  pop?: boolean;
42
42
  } : never): void;
43
- navigateDeprecated<RouteName extends string>(...args: RouteName extends unknown ? [screen: RouteName, params?: object | undefined] : never): void;
44
- navigateDeprecated<RouteName extends string>(options: RouteName extends unknown ? {
45
- name: RouteName;
46
- params: object | undefined;
47
- merge?: boolean;
48
- } : never): void;
49
43
  preload<RouteName extends string>(...args: RouteName extends unknown ? [screen: RouteName, params?: object | undefined] : never): void;
50
44
  reset(state: State | import("@react-navigation/routers").PartialState<State>): void;
51
45
  goBack(): void;
52
46
  isFocused(): boolean;
53
47
  canGoBack(): boolean;
54
- getId(): string | undefined;
55
- getParent<T = NavigationHelpers<ParamListBase, {}> | undefined>(id?: string): T;
56
48
  getState(): State;
57
49
  } & import("./types").PrivateValueStore<[ParamListBase, unknown, unknown]>, "getParent"> & {
58
- getParent<T = NavigationProp<ParamListBase, string, string | undefined, Readonly<{
59
- key: string;
60
- index: number;
61
- routeNames: string[];
62
- history?: unknown[];
63
- routes: import("@react-navigation/routers").NavigationRoute<ParamListBase, string>[];
64
- type: string;
65
- stale: false;
66
- }>, {}, {}> | undefined>(id?: string | undefined): T;
67
50
  setOptions(options: Partial<ScreenOptions>): void;
51
+ getParent(routeName: string): NavigationProp<ParamListBase, string, State, ScreenOptions, EventMap, ActionHelpers>;
52
+ getParent(): NavigationProp<ParamListBase> | undefined;
68
53
  } & {
69
54
  setParams(params: Partial<object | undefined>): void;
70
55
  replaceParams(params: object | undefined): void;
71
- } & import("./types").EventConsumer<EventMap & import("./types").EventMapCore<State>> & import("./types").PrivateValueStore<[ParamListBase, string, EventMap]> & ActionHelpers;
72
- navigations: NavigationCache<State, ScreenOptions, EventMap>;
56
+ pushParams(params: object | undefined): void;
57
+ } & ActionHelpers & import("./types").EventConsumer<EventMap & import("./types").EventMapCore<State>> & import("./types").PrivateValueStore<[ParamListBase, string, EventMap]>;
58
+ navigations: NavigationCache<State, ScreenOptions, EventMap, ActionHelpers>;
73
59
  };
74
60
  export {};
75
61
  //# sourceMappingURL=useNavigationCache.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useNavigationCache.d.ts","sourceRoot":"","sources":["../../../src/useNavigationCache.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,MAAM,EACZ,MAAM,2BAA2B,CAAC;AAInC,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACjE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAEhE,KAAK,OAAO,CACV,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAClC;IACF,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,MAAM,KAAK,CAAC;IACtB,UAAU,EAAE,iBAAiB,CAAC,aAAa,CAAC,GAC1C,OAAO,CAAC,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAChE,UAAU,EAAE,CACV,EAAE,EAAE,CACF,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,KACnC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,KAC/B,IAAI,CAAC;IACV,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IACxC,OAAO,EAAE,sBAAsB,CAAC,QAAQ,CAAC,CAAC;CAC3C,CAAC;AAEF,KAAK,cAAc,CACjB,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAClC,cAAc,CAChB,aAAa,EACb,MAAM,EACN,MAAM,GAAG,SAAS,EAClB,KAAK,EACL,aAAa,EACb,QAAQ,CACT,CAAC;AAEF,KAAK,eAAe,CAClB,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAClC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC;AAEnE;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpC,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,EAChD,EACA,KAAK,EACL,QAAQ,EACR,UAAU,EACV,UAAU,EACV,MAAM,EACN,OAAO,GACR,EAAE,OAAO,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4KzC"}
1
+ {"version":3,"file":"useNavigationCache.d.ts","sourceRoot":"","sources":["../../../src/useNavigationCache.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,MAAM,EACZ,MAAM,2BAA2B,CAAC;AAKnC,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACjE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAEhE,KAAK,OAAO,CACV,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAClC;IACF,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,MAAM,KAAK,CAAC;IACtB,UAAU,EAAE,iBAAiB,CAAC,aAAa,CAAC,GAC1C,OAAO,CAAC,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAChE,UAAU,EAAE,CACV,EAAE,EAAE,CACF,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,KACnC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,KAC/B,IAAI,CAAC;IACV,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IACxC,OAAO,EAAE,sBAAsB,CAAC,QAAQ,CAAC,CAAC;CAC3C,CAAC;AAEF,KAAK,cAAc,CACjB,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpC,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC,IAC1D,cAAc,CAChB,aAAa,EACb,MAAM,EACN,KAAK,EACL,aAAa,EACb,QAAQ,EACR,aAAa,CACd,CAAC;AAEF,KAAK,eAAe,CAClB,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpC,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC,IAC1D,MAAM,CACR,MAAM,EACN,cAAc,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,CAAC,CAC9D,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpC,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC,EAC5D,EACA,KAAK,EACL,QAAQ,EACR,UAAU,EACV,UAAU,EACV,MAAM,EACN,OAAO,GACR,EAAE,OAAO,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4LzC"}
@@ -1,3 +1,3 @@
1
- import type { NavigationContainerRefWithCurrent } from './types';
2
- export declare function useNavigationContainerRef<ParamList extends {} = ReactNavigation.RootParamList>(): NavigationContainerRefWithCurrent<ParamList>;
1
+ import type { NavigationContainerRefWithCurrent, RootParamList } from './types';
2
+ export declare function useNavigationContainerRef<ParamList extends {} = RootParamList>(): NavigationContainerRefWithCurrent<ParamList>;
3
3
  //# sourceMappingURL=useNavigationContainerRef.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useNavigationContainerRef.d.ts","sourceRoot":"","sources":["../../../src/useNavigationContainerRef.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,SAAS,CAAC;AAEjE,wBAAgB,yBAAyB,CACvC,SAAS,SAAS,EAAE,GAAG,eAAe,CAAC,aAAa,KACjD,iCAAiC,CAAC,SAAS,CAAC,CAShD"}
1
+ {"version":3,"file":"useNavigationContainerRef.d.ts","sourceRoot":"","sources":["../../../src/useNavigationContainerRef.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iCAAiC,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAEhF,wBAAgB,yBAAyB,CACvC,SAAS,SAAS,EAAE,GAAG,aAAa,KACjC,iCAAiC,CAAC,SAAS,CAAC,CAShD"}
@@ -1,9 +1,8 @@
1
1
  import { type NavigationAction, type NavigationState, type ParamListBase, type Router } from '@react-navigation/routers';
2
2
  import * as React from 'react';
3
- import { type NavigationHelpers, PrivateValueStore } from './types';
3
+ import { PrivateValueStore } from './types';
4
4
  import type { NavigationEventEmitter } from './useEventEmitter';
5
5
  type Options<State extends NavigationState, Action extends NavigationAction> = {
6
- id: string | undefined;
7
6
  onAction: (action: NavigationAction) => boolean;
8
7
  onUnhandledAction: (action: NavigationAction) => void;
9
8
  getState: () => State;
@@ -15,7 +14,7 @@ type Options<State extends NavigationState, Action extends NavigationAction> = {
15
14
  * Navigation object with helper methods to be used by a navigator.
16
15
  * This object includes methods for common actions as well as methods the parent screen's navigation object.
17
16
  */
18
- export declare function useNavigationHelpers<State extends NavigationState, ActionHelpers extends Record<string, () => void>, Action extends NavigationAction, EventMap extends Record<string, any>>({ id: navigatorId, onAction, onUnhandledAction, getState, emitter, router, stateRef, }: Options<State, Action>): {
17
+ export declare function useNavigationHelpers<State extends NavigationState, ActionHelpers extends Record<string, (...args: any) => void>, Action extends NavigationAction, EventMap extends Record<string, any>>({ onAction, onUnhandledAction, getState, emitter, router, stateRef, }: Options<State, Action>): {
19
18
  dispatch(action: Readonly<{
20
19
  type: string;
21
20
  payload?: object;
@@ -46,12 +45,6 @@ export declare function useNavigationHelpers<State extends NavigationState, Acti
46
45
  merge?: boolean;
47
46
  pop?: boolean;
48
47
  } : never): void;
49
- navigateDeprecated<RouteName extends string>(...args: RouteName extends unknown ? [screen: RouteName, params?: object | undefined] : never): void;
50
- navigateDeprecated<RouteName extends string>(options: RouteName extends unknown ? {
51
- name: RouteName;
52
- params: object | undefined;
53
- merge?: boolean;
54
- } : never): void;
55
48
  preload<RouteName extends string>(...args: RouteName extends unknown ? [screen: RouteName, params?: object | undefined] : never): void;
56
49
  reset(state: Readonly<{
57
50
  key: string;
@@ -73,8 +66,6 @@ export declare function useNavigationHelpers<State extends NavigationState, Acti
73
66
  goBack(): void;
74
67
  isFocused(): boolean;
75
68
  canGoBack(): boolean;
76
- getId(): string | undefined;
77
- getParent<T = NavigationHelpers<ParamListBase, {}> | undefined>(id?: string): T;
78
69
  getState(): Readonly<{
79
70
  key: string;
80
71
  index: number;
@@ -87,6 +78,7 @@ export declare function useNavigationHelpers<State extends NavigationState, Acti
87
78
  } & PrivateValueStore<[ParamListBase, unknown, unknown]> & import("./types").EventEmitter<EventMap> & {
88
79
  setParams(params: Partial<object | undefined>): void;
89
80
  replaceParams(params: object | undefined): void;
81
+ pushParams(params: object | undefined): void;
90
82
  } & ActionHelpers;
91
83
  export {};
92
84
  //# sourceMappingURL=useNavigationHelpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useNavigationHelpers.d.ts","sourceRoot":"","sources":["../../../src/useNavigationHelpers.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,MAAM,EACZ,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,KAAK,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AACpE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAMhE,KAAK,OAAO,CAAC,KAAK,SAAS,eAAe,EAAE,MAAM,SAAS,gBAAgB,IAAI;IAC7E,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC;IACvB,QAAQ,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,OAAO,CAAC;IAChD,iBAAiB,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACtD,QAAQ,EAAE,MAAM,KAAK,CAAC;IACtB,OAAO,EAAE,sBAAsB,CAAC,GAAG,CAAC,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC9B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;CACzC,CAAC;AAEF;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,EAChD,MAAM,SAAS,gBAAgB,EAC/B,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpC,EACA,EAAE,EAAE,WAAW,EACf,QAAQ,EACR,iBAAiB,EACjB,QAAQ,EACR,OAAO,EACP,MAAM,EACN,QAAQ,GACT,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAqFxB"}
1
+ {"version":3,"file":"useNavigationHelpers.d.ts","sourceRoot":"","sources":["../../../src/useNavigationHelpers.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,MAAM,EACZ,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAA0B,iBAAiB,EAAE,MAAM,SAAS,CAAC;AACpE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAMhE,KAAK,OAAO,CAAC,KAAK,SAAS,eAAe,EAAE,MAAM,SAAS,gBAAgB,IAAI;IAC7E,QAAQ,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,OAAO,CAAC;IAChD,iBAAiB,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACtD,QAAQ,EAAE,MAAM,KAAK,CAAC;IACtB,OAAO,EAAE,sBAAsB,CAAC,GAAG,CAAC,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC9B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;CACzC,CAAC;AAEF;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC,EAC5D,MAAM,SAAS,gBAAgB,EAC/B,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpC,EACA,QAAQ,EACR,iBAAiB,EACjB,QAAQ,EACR,OAAO,EACP,MAAM,EACN,QAAQ,GACT,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAsExB"}
@@ -1,12 +1,19 @@
1
1
  import type { NavigationState, ParamListBase } from '@react-navigation/routers';
2
2
  import * as React from 'react';
3
- type Selector<ParamList extends ParamListBase, T> = (state: NavigationState<ParamList>) => T;
3
+ import type { NavigationListForNested, RootNavigator } from './types';
4
+ type NavigationStateForNested<Navigator, RouteName extends keyof NavigationListForNested<Navigator>> = NavigationListForNested<Navigator>[RouteName] extends {
5
+ getState: () => infer State;
6
+ } ? State : never;
4
7
  /**
5
8
  * Hook to get a value from the current navigation state using a selector.
6
9
  *
7
- * @param selector Selector function to get a value from the state.
10
+ * If the route name of the current or one of the parents is specified,
11
+ * the navigation state of the navigator for that route is used.
12
+ *
13
+ * A selector function must be provided to select the desired value from the navigation state.
8
14
  */
9
- export declare function useNavigationState<ParamList extends ParamListBase, T>(selector: Selector<ParamList, T>): T;
15
+ export declare function useNavigationState<const T, const Navigator = RootNavigator, const RouteName extends keyof NavigationListForNested<Navigator> = keyof NavigationListForNested<Navigator>>(routeName: RouteName, selector: (state: NavigationStateForNested<Navigator, RouteName>) => T): T;
16
+ export declare function useNavigationState<T>(selector: (state: NavigationState<ParamListBase>) => T): T;
10
17
  export declare function NavigationStateListenerProvider({ state, children, }: {
11
18
  state: NavigationState<ParamListBase>;
12
19
  children: React.ReactNode;
@@ -1 +1 @@
1
- {"version":3,"file":"useNavigationState.d.ts","sourceRoot":"","sources":["../../../src/useNavigationState.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAChF,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,KAAK,QAAQ,CAAC,SAAS,SAAS,aAAa,EAAE,CAAC,IAAI,CAClD,KAAK,EAAE,eAAe,CAAC,SAAS,CAAC,KAC9B,CAAC,CAAC;AAEP;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,SAAS,aAAa,EAAE,CAAC,EACnE,QAAQ,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,GAC/B,CAAC,CAkBH;AAED,wBAAgB,+BAA+B,CAAC,EAC9C,KAAK,EACL,QAAQ,GACT,EAAE;IACD,KAAK,EAAE,eAAe,CAAC,aAAa,CAAC,CAAC;IACtC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,2CA8BA"}
1
+ {"version":3,"file":"useNavigationState.d.ts","sourceRoot":"","sources":["../../../src/useNavigationState.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAChF,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EACV,uBAAuB,EAEvB,aAAa,EACd,MAAM,SAAS,CAAC;AAQjB,KAAK,wBAAwB,CAC3B,SAAS,EACT,SAAS,SAAS,MAAM,uBAAuB,CAAC,SAAS,CAAC,IACxD,uBAAuB,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,SAAS;IACxD,QAAQ,EAAE,MAAM,MAAM,KAAK,CAAC;CAC7B,GACG,KAAK,GACL,KAAK,CAAC;AAEV;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,CAAC,CAAC,EACP,KAAK,CAAC,SAAS,GAAG,aAAa,EAC/B,KAAK,CAAC,SAAS,SACb,MAAM,uBAAuB,CAAC,SAAS,CAAC,GAAG,MAAM,uBAAuB,CAAC,SAAS,CAAC,EAErF,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,wBAAwB,CAAC,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,GACrE,CAAC,CAAC;AACL,wBAAgB,kBAAkB,CAAC,CAAC,EAClC,QAAQ,EAAE,CAAC,KAAK,EAAE,eAAe,CAAC,aAAa,CAAC,KAAK,CAAC,GACrD,CAAC,CAAC;AAkEL,wBAAgB,+BAA+B,CAAC,EAC9C,KAAK,EACL,QAAQ,GACT,EAAE;IACD,KAAK,EAAE,eAAe,CAAC,aAAa,CAAC,CAAC;IACtC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,2CA8BA"}
@@ -1 +1 @@
1
- {"version":3,"file":"useOnAction.d.ts","sourceRoot":"","sources":["../../../src/useOnAction.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,MAAM,EACN,mBAAmB,EACpB,MAAM,2BAA2B,CAAC;AAInC,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,EAE/B,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAGhE,KAAK,OAAO,GAAG;IACb,MAAM,EAAE,MAAM,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC;IAClD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,eAAe,CAAC;IAChC,QAAQ,EAAE,CAAC,KAAK,EAAE,eAAe,GAAG,YAAY,CAAC,eAAe,CAAC,KAAK,IAAI,CAAC;IAC3E,eAAe,EAAE,mBAAmB,EAAE,CAAC;IACvC,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,yBAAyB,GAAG,SAAS,CAAC,CAAC;IAC7E,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,OAAO,EAAE,sBAAsB,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;CACpD,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,EAC1B,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,GAAG,EACH,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,OAAO,GACR,EAAE,OAAO,YAoBI,gBAAgB,sBACL,GAAG,CAAC,MAAM,CAAC,aA8GnC"}
1
+ {"version":3,"file":"useOnAction.d.ts","sourceRoot":"","sources":["../../../src/useOnAction.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,MAAM,EACN,mBAAmB,EACpB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,EAE/B,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAGhE,KAAK,OAAO,GAAG;IACb,MAAM,EAAE,MAAM,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC;IAClD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,eAAe,CAAC;IAChC,QAAQ,EAAE,CAAC,KAAK,EAAE,eAAe,GAAG,YAAY,CAAC,eAAe,CAAC,KAAK,IAAI,CAAC;IAC3E,eAAe,EAAE,mBAAmB,EAAE,CAAC;IACvC,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,yBAAyB,GAAG,SAAS,CAAC,CAAC;IAC7E,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,OAAO,EAAE,sBAAsB,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;CACpD,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,EAC1B,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,GAAG,EACH,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,OAAO,GACR,EAAE,OAAO,YAiBI,gBAAgB,sBACL,GAAG,CAAC,MAAM,CAAC,aAuGnC"}
@@ -1,9 +1,15 @@
1
1
  import type { ParamListBase } from '@react-navigation/routers';
2
- import type { RouteProp } from './types';
2
+ import type { RootParamList, RouteForName, RouteProp } from './types';
3
+ /**
4
+ * Get all possible route names from a param list and its nested navigators.
5
+ */
6
+ type AllRouteNames<ParamList extends {}> = RouteForName<ParamList, string>['name'];
3
7
  /**
4
8
  * Hook to access the route prop of the parent screen anywhere.
5
9
  *
6
10
  * @returns Route prop of the parent screen.
7
11
  */
8
- export declare function useRoute<T extends RouteProp<ParamListBase>>(): T;
12
+ export declare function useRoute<const ParamList extends {} = RootParamList, const RouteName extends AllRouteNames<ParamList> = AllRouteNames<ParamList>>(name: RouteName): RouteForName<ParamList, RouteName>;
13
+ export declare function useRoute<const ParamList extends {} = RootParamList>(): {} extends ParamList ? RouteProp<ParamListBase> : ParamList extends ParamListBase ? RouteForName<ParamList, string> : RouteProp<ParamListBase>;
14
+ export {};
9
15
  //# sourceMappingURL=useRoute.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useRoute.d.ts","sourceRoot":"","sources":["../../../src/useRoute.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAI/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,CAUhE"}
1
+ {"version":3,"file":"useRoute.d.ts","sourceRoot":"","sources":["../../../src/useRoute.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAO/D,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEtE;;GAEG;AACH,KAAK,aAAa,CAAC,SAAS,SAAS,EAAE,IAAI,YAAY,CACrD,SAAS,EACT,MAAM,CACP,CAAC,MAAM,CAAC,CAAC;AAEV;;;;GAIG;AACH,wBAAgB,QAAQ,CACtB,KAAK,CAAC,SAAS,SAAS,EAAE,GAAG,aAAa,EAC1C,KAAK,CAAC,SAAS,SAAS,aAAa,CAAC,SAAS,CAAC,GAAG,aAAa,CAAC,SAAS,CAAC,EAC3E,IAAI,EAAE,SAAS,GAAG,YAAY,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AACvD,wBAAgB,QAAQ,CACtB,KAAK,CAAC,SAAS,SAAS,EAAE,GAAG,aAAa,KACvC,EAAE,SAAS,SAAS,GACrB,SAAS,CAAC,aAAa,CAAC,GACxB,SAAS,SAAS,aAAa,GAC7B,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,GAC/B,SAAS,CAAC,aAAa,CAAC,CAAC"}