@amazon-devices/react-navigation__routers 2.0.1758683737

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 (60) hide show
  1. package/LICENSE +7 -0
  2. package/README.md +17 -0
  3. package/SystemBundles/b690027feea4132f8720e462805cba84c12cd0e25f99e321a1a2c8b794832a91.bundle +3515 -0
  4. package/SystemBundles/b690027feea4132f8720e462805cba84c12cd0e25f99e321a1a2c8b794832a91.map +1 -0
  5. package/SystemModules/amzn__react-navigation__routers-2.modules.txt +21 -0
  6. package/SystemModules/amzn__react-navigation__routers-2.private.modules.txt +13 -0
  7. package/SystemModules/keplerscript-system-bundle-config.json +7 -0
  8. package/THIRD_PARTY_NOTICES.txt +24 -0
  9. package/kepler-compatibility.json +8 -0
  10. package/kepler-transformed-package-info.json +3 -0
  11. package/lib/commonjs/BaseRouter.js +61 -0
  12. package/lib/commonjs/BaseRouter.js.map +1 -0
  13. package/lib/commonjs/CommonActions.js +53 -0
  14. package/lib/commonjs/CommonActions.js.map +1 -0
  15. package/lib/commonjs/DrawerRouter.js +154 -0
  16. package/lib/commonjs/DrawerRouter.js.map +1 -0
  17. package/lib/commonjs/StackRouter.js +310 -0
  18. package/lib/commonjs/StackRouter.js.map +1 -0
  19. package/lib/commonjs/TabRouter.js +253 -0
  20. package/lib/commonjs/TabRouter.js.map +1 -0
  21. package/lib/commonjs/index.js +80 -0
  22. package/lib/commonjs/index.js.map +1 -0
  23. package/lib/commonjs/types.js +6 -0
  24. package/lib/commonjs/types.js.map +1 -0
  25. package/lib/module/BaseRouter.js +55 -0
  26. package/lib/module/BaseRouter.js.map +1 -0
  27. package/lib/module/CommonActions.js +44 -0
  28. package/lib/module/CommonActions.js.map +1 -0
  29. package/lib/module/DrawerRouter.js +145 -0
  30. package/lib/module/DrawerRouter.js.map +1 -0
  31. package/lib/module/StackRouter.js +302 -0
  32. package/lib/module/StackRouter.js.map +1 -0
  33. package/lib/module/TabRouter.js +245 -0
  34. package/lib/module/TabRouter.js.map +1 -0
  35. package/lib/module/index.js +8 -0
  36. package/lib/module/index.js.map +1 -0
  37. package/lib/module/types.js +2 -0
  38. package/lib/module/types.js.map +1 -0
  39. package/lib/typescript/src/BaseRouter.d.ts +27 -0
  40. package/lib/typescript/src/BaseRouter.d.ts.map +1 -0
  41. package/lib/typescript/src/CommonActions.d.ts +56 -0
  42. package/lib/typescript/src/CommonActions.d.ts.map +1 -0
  43. package/lib/typescript/src/DrawerRouter.d.ts +53 -0
  44. package/lib/typescript/src/DrawerRouter.d.ts.map +1 -0
  45. package/lib/typescript/src/StackRouter.d.ts +69 -0
  46. package/lib/typescript/src/StackRouter.d.ts.map +1 -0
  47. package/lib/typescript/src/TabRouter.d.ts +41 -0
  48. package/lib/typescript/src/TabRouter.d.ts.map +1 -0
  49. package/lib/typescript/src/index.d.ts +11 -0
  50. package/lib/typescript/src/index.d.ts.map +1 -0
  51. package/lib/typescript/src/types.d.ts +177 -0
  52. package/lib/typescript/src/types.d.ts.map +1 -0
  53. package/package.json +1 -0
  54. package/src/BaseRouter.tsx +81 -0
  55. package/src/CommonActions.tsx +89 -0
  56. package/src/DrawerRouter.tsx +247 -0
  57. package/src/StackRouter.tsx +495 -0
  58. package/src/TabRouter.tsx +407 -0
  59. package/src/index.tsx +28 -0
  60. package/src/types.tsx +228 -0
@@ -0,0 +1,245 @@
1
+ import { nanoid } from 'nanoid/non-secure';
2
+ import BaseRouter from './BaseRouter';
3
+ const TYPE_ROUTE = 'route';
4
+ export const TabActions = {
5
+ jumpTo(name, params) {
6
+ return {
7
+ type: 'JUMP_TO',
8
+ payload: {
9
+ name,
10
+ params
11
+ }
12
+ };
13
+ }
14
+ };
15
+ const getRouteHistory = (routes, index, backBehavior, initialRouteName) => {
16
+ const history = [{
17
+ type: TYPE_ROUTE,
18
+ key: routes[index].key
19
+ }];
20
+ let initialRouteIndex;
21
+ switch (backBehavior) {
22
+ case 'order':
23
+ for (let i = index; i > 0; i--) {
24
+ history.unshift({
25
+ type: TYPE_ROUTE,
26
+ key: routes[i - 1].key
27
+ });
28
+ }
29
+ break;
30
+ case 'firstRoute':
31
+ if (index !== 0) {
32
+ history.unshift({
33
+ type: TYPE_ROUTE,
34
+ key: routes[0].key
35
+ });
36
+ }
37
+ break;
38
+ case 'initialRoute':
39
+ initialRouteIndex = routes.findIndex(route => route.name === initialRouteName);
40
+ initialRouteIndex = initialRouteIndex === -1 ? 0 : initialRouteIndex;
41
+ if (index !== initialRouteIndex) {
42
+ history.unshift({
43
+ type: TYPE_ROUTE,
44
+ key: routes[initialRouteIndex].key
45
+ });
46
+ }
47
+ break;
48
+ case 'history':
49
+ // The history will fill up on navigation
50
+ break;
51
+ }
52
+ return history;
53
+ };
54
+ const changeIndex = (state, index, backBehavior, initialRouteName) => {
55
+ let history;
56
+ if (backBehavior === 'history') {
57
+ const currentKey = state.routes[index].key;
58
+ history = state.history.filter(it => it.type === 'route' ? it.key !== currentKey : false).concat({
59
+ type: TYPE_ROUTE,
60
+ key: currentKey
61
+ });
62
+ } else {
63
+ history = getRouteHistory(state.routes, index, backBehavior, initialRouteName);
64
+ }
65
+ return {
66
+ ...state,
67
+ index,
68
+ history
69
+ };
70
+ };
71
+ export default function TabRouter({
72
+ initialRouteName,
73
+ backBehavior = 'firstRoute'
74
+ }) {
75
+ const router = {
76
+ ...BaseRouter,
77
+ type: 'tab',
78
+ getInitialState({
79
+ routeNames,
80
+ routeParamList
81
+ }) {
82
+ const index = initialRouteName !== undefined && routeNames.includes(initialRouteName) ? routeNames.indexOf(initialRouteName) : 0;
83
+ const routes = routeNames.map(name => ({
84
+ name,
85
+ key: `${name}-${nanoid()}`,
86
+ params: routeParamList[name]
87
+ }));
88
+ const history = getRouteHistory(routes, index, backBehavior, initialRouteName);
89
+ return {
90
+ stale: false,
91
+ type: 'tab',
92
+ key: `tab-${nanoid()}`,
93
+ index,
94
+ routeNames,
95
+ history,
96
+ routes
97
+ };
98
+ },
99
+ getRehydratedState(partialState, {
100
+ routeNames,
101
+ routeParamList
102
+ }) {
103
+ var _state$routes, _state$history;
104
+ let state = partialState;
105
+ if (state.stale === false) {
106
+ return state;
107
+ }
108
+ const routes = routeNames.map(name => {
109
+ const route = state.routes.find(r => r.name === name);
110
+ return {
111
+ ...route,
112
+ name,
113
+ key: route && route.name === name && route.key ? route.key : `${name}-${nanoid()}`,
114
+ params: routeParamList[name] !== undefined ? {
115
+ ...routeParamList[name],
116
+ ...(route ? route.params : undefined)
117
+ } : route ? route.params : undefined
118
+ };
119
+ });
120
+ const index = Math.min(Math.max(routeNames.indexOf((_state$routes = state.routes[(state === null || state === void 0 ? void 0 : state.index) ?? 0]) === null || _state$routes === void 0 ? void 0 : _state$routes.name), 0), routes.length - 1);
121
+ const history = ((_state$history = state.history) === null || _state$history === void 0 ? void 0 : _state$history.filter(it => routes.find(r => r.key === it.key))) ?? [];
122
+ return changeIndex({
123
+ stale: false,
124
+ type: 'tab',
125
+ key: `tab-${nanoid()}`,
126
+ index,
127
+ routeNames,
128
+ history,
129
+ routes
130
+ }, index, backBehavior, initialRouteName);
131
+ },
132
+ getStateForRouteNamesChange(state, {
133
+ routeNames,
134
+ routeParamList,
135
+ routeKeyChanges
136
+ }) {
137
+ const routes = routeNames.map(name => state.routes.find(r => r.name === name && !routeKeyChanges.includes(r.name)) || {
138
+ name,
139
+ key: `${name}-${nanoid()}`,
140
+ params: routeParamList[name]
141
+ });
142
+ const index = Math.max(0, routeNames.indexOf(state.routes[state.index].name));
143
+ let history = state.history.filter(
144
+ // Type will always be 'route' for tabs, but could be different in a router extending this (e.g. drawer)
145
+ it => it.type !== 'route' || routes.find(r => r.key === it.key));
146
+ if (!history.length) {
147
+ history = getRouteHistory(routes, index, backBehavior, initialRouteName);
148
+ }
149
+ return {
150
+ ...state,
151
+ history,
152
+ routeNames,
153
+ routes,
154
+ index
155
+ };
156
+ },
157
+ getStateForRouteFocus(state, key) {
158
+ const index = state.routes.findIndex(r => r.key === key);
159
+ if (index === -1 || index === state.index) {
160
+ return state;
161
+ }
162
+ return changeIndex(state, index, backBehavior, initialRouteName);
163
+ },
164
+ getStateForAction(state, action, {
165
+ routeParamList,
166
+ routeGetIdList
167
+ }) {
168
+ switch (action.type) {
169
+ case 'JUMP_TO':
170
+ case 'NAVIGATE':
171
+ {
172
+ let index = -1;
173
+ if (action.type === 'NAVIGATE' && action.payload.key) {
174
+ index = state.routes.findIndex(route => route.key === action.payload.key);
175
+ } else {
176
+ index = state.routes.findIndex(route => route.name === action.payload.name);
177
+ }
178
+ if (index === -1) {
179
+ return null;
180
+ }
181
+ return changeIndex({
182
+ ...state,
183
+ routes: state.routes.map((route, i) => {
184
+ if (i !== index) {
185
+ return route;
186
+ }
187
+ const getId = routeGetIdList[route.name];
188
+ const currentId = getId === null || getId === void 0 ? void 0 : getId({
189
+ params: route.params
190
+ });
191
+ const nextId = getId === null || getId === void 0 ? void 0 : getId({
192
+ params: action.payload.params
193
+ });
194
+ const key = currentId === nextId ? route.key : `${route.name}-${nanoid()}`;
195
+ let params;
196
+ if (action.type === 'NAVIGATE' && action.payload.merge && currentId === nextId) {
197
+ params = action.payload.params !== undefined || routeParamList[route.name] !== undefined ? {
198
+ ...routeParamList[route.name],
199
+ ...route.params,
200
+ ...action.payload.params
201
+ } : route.params;
202
+ } else {
203
+ params = routeParamList[route.name] !== undefined ? {
204
+ ...routeParamList[route.name],
205
+ ...action.payload.params
206
+ } : action.payload.params;
207
+ }
208
+ const path = action.type === 'NAVIGATE' && action.payload.path != null ? action.payload.path : route.path;
209
+ return params !== route.params || path !== route.path ? {
210
+ ...route,
211
+ key,
212
+ path,
213
+ params
214
+ } : route;
215
+ })
216
+ }, index, backBehavior, initialRouteName);
217
+ }
218
+ case 'GO_BACK':
219
+ {
220
+ if (state.history.length === 1) {
221
+ return null;
222
+ }
223
+ const previousKey = state.history[state.history.length - 2].key;
224
+ const index = state.routes.findIndex(route => route.key === previousKey);
225
+ if (index === -1) {
226
+ return null;
227
+ }
228
+ return {
229
+ ...state,
230
+ history: state.history.slice(0, -1),
231
+ index
232
+ };
233
+ }
234
+ default:
235
+ return BaseRouter.getStateForAction(state, action);
236
+ }
237
+ },
238
+ shouldActionChangeFocus(action) {
239
+ return action.type === 'NAVIGATE';
240
+ },
241
+ actionCreators: TabActions
242
+ };
243
+ return router;
244
+ }
245
+ //# sourceMappingURL=TabRouter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["nanoid","BaseRouter","TYPE_ROUTE","TabActions","jumpTo","name","params","type","payload","getRouteHistory","routes","index","backBehavior","initialRouteName","history","key","initialRouteIndex","i","unshift","findIndex","route","changeIndex","state","currentKey","filter","it","concat","TabRouter","router","getInitialState","routeNames","routeParamList","undefined","includes","indexOf","map","stale","getRehydratedState","partialState","_state$routes","_state$history","find","r","Math","min","max","length","getStateForRouteNamesChange","routeKeyChanges","getStateForRouteFocus","getStateForAction","action","routeGetIdList","getId","currentId","nextId","merge","path","previousKey","slice","shouldActionChangeFocus","actionCreators"],"sourceRoot":"../../src","sources":["TabRouter.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,8 @@
1
+ import * as CommonActions from './CommonActions';
2
+ export { CommonActions };
3
+ export { default as BaseRouter } from './BaseRouter';
4
+ export { DrawerActions, default as DrawerRouter } from './DrawerRouter';
5
+ export { StackActions, default as StackRouter } from './StackRouter';
6
+ export { TabActions, default as TabRouter } from './TabRouter';
7
+ export * from './types';
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CommonActions","default","BaseRouter","DrawerActions","DrawerRouter","StackActions","StackRouter","TabActions","TabRouter"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,OAAO,KAAKA,aAAa,MAAM,iBAAiB;AAEhD,SAASA,aAAa;AAEtB,SAASC,OAAO,IAAIC,UAAU,QAAQ,cAAc;AAQpD,SAASC,aAAa,EAAEF,OAAO,IAAIG,YAAY,QAAQ,gBAAgB;AAOvE,SAASC,YAAY,EAAEJ,OAAO,IAAIK,WAAW,QAAQ,eAAe;AAOpE,SAASC,UAAU,EAAEN,OAAO,IAAIO,SAAS,QAAQ,aAAa;AAC9D,cAAc,SAAS","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../src","sources":["types.tsx"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,27 @@
1
+ import type { CommonNavigationAction, PartialState } from './types';
2
+ /**
3
+ * Base router object that can be used when writing custom routers.
4
+ * This provides few helper methods to handle common actions such as `RESET`.
5
+ */
6
+ declare const BaseRouter: {
7
+ getStateForAction<State extends Readonly<{
8
+ key: string;
9
+ index: number;
10
+ routeNames: string[];
11
+ history?: unknown[] | undefined;
12
+ routes: (Readonly<{
13
+ key: string;
14
+ name: string;
15
+ path?: string | undefined;
16
+ }> & Readonly<{
17
+ params?: Readonly<object | undefined>;
18
+ }> & {
19
+ state?: Readonly<any> | PartialState<Readonly<any>> | undefined;
20
+ })[];
21
+ type: string;
22
+ stale: false;
23
+ }>>(state: State, action: CommonNavigationAction): State | PartialState<State> | null;
24
+ shouldActionChangeFocus(action: CommonNavigationAction): boolean;
25
+ };
26
+ export default BaseRouter;
27
+ //# sourceMappingURL=BaseRouter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseRouter.d.ts","sourceRoot":"","sources":["../../../src/BaseRouter.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,sBAAsB,EAEtB,YAAY,EACb,MAAM,SAAS,CAAC;AAEjB;;;GAGG;AACH,QAAA,MAAM,UAAU;;;;;;;;;;;;;;;;;8BAGJ,sBAAsB;oCA4DA,sBAAsB;CAGvD,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -0,0 +1,56 @@
1
+ import type { NavigationState, PartialState, Route } from './types';
2
+ type ResetState = PartialState<NavigationState> | NavigationState | (Omit<NavigationState, 'routes'> & {
3
+ routes: Omit<Route<string>, 'key'>[];
4
+ });
5
+ export type Action = {
6
+ type: 'GO_BACK';
7
+ source?: string;
8
+ target?: string;
9
+ } | {
10
+ type: 'NAVIGATE';
11
+ payload: {
12
+ key: string;
13
+ name?: undefined;
14
+ params?: object;
15
+ path?: string;
16
+ merge?: boolean;
17
+ } | {
18
+ name: string;
19
+ key?: string;
20
+ params?: object;
21
+ path?: string;
22
+ merge?: boolean;
23
+ };
24
+ source?: string;
25
+ target?: string;
26
+ } | {
27
+ type: 'RESET';
28
+ payload: ResetState | undefined;
29
+ source?: string;
30
+ target?: string;
31
+ } | {
32
+ type: 'SET_PARAMS';
33
+ payload: {
34
+ params?: object;
35
+ };
36
+ source?: string;
37
+ target?: string;
38
+ };
39
+ export declare function goBack(): Action;
40
+ export declare function navigate(options: {
41
+ key: string;
42
+ params?: object;
43
+ path?: string;
44
+ merge?: boolean;
45
+ } | {
46
+ name: string;
47
+ key?: string;
48
+ params?: object;
49
+ path?: string;
50
+ merge?: boolean;
51
+ }): Action;
52
+ export declare function navigate(name: string, params?: object): Action;
53
+ export declare function reset(state: ResetState | undefined): Action;
54
+ export declare function setParams(params: object): Action;
55
+ export {};
56
+ //# sourceMappingURL=CommonActions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CommonActions.d.ts","sourceRoot":"","sources":["../../../src/CommonActions.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEpE,KAAK,UAAU,GACX,YAAY,CAAC,eAAe,CAAC,GAC7B,eAAe,GACf,CAAC,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,GAAG;IACjC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;CACtC,CAAC,CAAC;AAEP,MAAM,MAAM,MAAM,GACd;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GACD;IACE,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EACH;QACE,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,CAAC,EAAE,SAAS,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,GACD;QACE,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,CAAC;IACN,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GACD;IACE,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,UAAU,GAAG,SAAS,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GACD;IACE,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEN,wBAAgB,MAAM,IAAI,MAAM,CAE/B;AAED,wBAAgB,QAAQ,CACtB,OAAO,EACH;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAChE;IACE,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,GACJ,MAAM,CAAC;AAEV,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;AAkBhE,wBAAgB,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,GAAG,MAAM,CAE3D;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEhD"}
@@ -0,0 +1,53 @@
1
+ import { TabActionHelpers, TabActionType, TabNavigationState, TabRouterOptions } from './TabRouter';
2
+ import type { CommonNavigationAction, ParamListBase, Router } from './types';
3
+ export type DrawerStatus = 'open' | 'closed';
4
+ export type DrawerActionType = TabActionType | {
5
+ type: 'OPEN_DRAWER' | 'CLOSE_DRAWER' | 'TOGGLE_DRAWER';
6
+ source?: string;
7
+ target?: string;
8
+ };
9
+ export type DrawerRouterOptions = TabRouterOptions & {
10
+ defaultStatus?: DrawerStatus;
11
+ };
12
+ export type DrawerNavigationState<ParamList extends ParamListBase> = Omit<TabNavigationState<ParamList>, 'type' | 'history'> & {
13
+ /**
14
+ * Type of the router, in this case, it's drawer.
15
+ */
16
+ type: 'drawer';
17
+ /**
18
+ * Default status of the drawer.
19
+ */
20
+ default: DrawerStatus;
21
+ /**
22
+ * List of previously visited route keys and drawer open status.
23
+ */
24
+ history: ({
25
+ type: 'route';
26
+ key: string;
27
+ } | {
28
+ type: 'drawer';
29
+ status: DrawerStatus;
30
+ })[];
31
+ };
32
+ export type DrawerActionHelpers<ParamList extends ParamListBase> = TabActionHelpers<ParamList> & {
33
+ /**
34
+ * Open the drawer sidebar.
35
+ */
36
+ openDrawer(): void;
37
+ /**
38
+ * Close the drawer sidebar.
39
+ */
40
+ closeDrawer(): void;
41
+ /**
42
+ * Open the drawer sidebar if closed, or close if opened.
43
+ */
44
+ toggleDrawer(): void;
45
+ };
46
+ export declare const DrawerActions: {
47
+ openDrawer(): DrawerActionType;
48
+ closeDrawer(): DrawerActionType;
49
+ toggleDrawer(): DrawerActionType;
50
+ jumpTo(name: string, params?: object | undefined): TabActionType;
51
+ };
52
+ export default function DrawerRouter({ defaultStatus, ...rest }: DrawerRouterOptions): Router<DrawerNavigationState<ParamListBase>, DrawerActionType | CommonNavigationAction>;
53
+ //# sourceMappingURL=DrawerRouter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DrawerRouter.d.ts","sourceRoot":"","sources":["../../../src/DrawerRouter.tsx"],"names":[],"mappings":"AAEA,OAAkB,EAChB,gBAAgB,EAEhB,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EACV,sBAAsB,EACtB,aAAa,EAEb,MAAM,EACP,MAAM,SAAS,CAAC;AACjB,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,QAAQ,CAAC;AAE7C,MAAM,MAAM,gBAAgB,GACxB,aAAa,GACb;IACE,IAAI,EAAE,aAAa,GAAG,cAAc,GAAG,eAAe,CAAC;IACvD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEN,MAAM,MAAM,mBAAmB,GAAG,gBAAgB,GAAG;IACnD,aAAa,CAAC,EAAE,YAAY,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,qBAAqB,CAAC,SAAS,SAAS,aAAa,IAAI,IAAI,CACvE,kBAAkB,CAAC,SAAS,CAAC,EAC7B,MAAM,GAAG,SAAS,CACnB,GAAG;IACF;;OAEG;IACH,IAAI,EAAE,QAAQ,CAAC;IACf;;OAEG;IACH,OAAO,EAAE,YAAY,CAAC;IACtB;;OAEG;IACH,OAAO,EAAE,CACL;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAC9B;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,MAAM,EAAE,YAAY,CAAA;KAAE,CAC3C,EAAE,CAAC;CACL,CAAC;AAEF,MAAM,MAAM,mBAAmB,CAAC,SAAS,SAAS,aAAa,IAC7D,gBAAgB,CAAC,SAAS,CAAC,GAAG;IAC5B;;OAEG;IACH,UAAU,IAAI,IAAI,CAAC;IAEnB;;OAEG;IACH,WAAW,IAAI,IAAI,CAAC;IAEpB;;OAEG;IACH,YAAY,IAAI,IAAI,CAAC;CACtB,CAAC;AAEJ,eAAO,MAAM,aAAa;kBAEV,gBAAgB;mBAGf,gBAAgB;oBAGf,gBAAgB;;CAGjC,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EACnC,aAAwB,EACxB,GAAG,IAAI,EACR,EAAE,mBAAmB,GAAG,MAAM,CAC7B,qBAAqB,CAAC,aAAa,CAAC,EACpC,gBAAgB,GAAG,sBAAsB,CAC1C,CA+JA"}
@@ -0,0 +1,69 @@
1
+ import type { DefaultRouterOptions, NavigationState, ParamListBase, Router } from './types';
2
+ export type StackActionType = {
3
+ type: 'REPLACE';
4
+ payload: {
5
+ name: string;
6
+ key?: string | undefined;
7
+ params?: object;
8
+ };
9
+ source?: string;
10
+ target?: string;
11
+ } | {
12
+ type: 'PUSH';
13
+ payload: {
14
+ name: string;
15
+ params?: object;
16
+ };
17
+ source?: string;
18
+ target?: string;
19
+ } | {
20
+ type: 'POP';
21
+ payload: {
22
+ count: number;
23
+ };
24
+ source?: string;
25
+ target?: string;
26
+ } | {
27
+ type: 'POP_TO_TOP';
28
+ source?: string;
29
+ target?: string;
30
+ };
31
+ export type StackRouterOptions = DefaultRouterOptions;
32
+ export type StackNavigationState<ParamList extends ParamListBase> = NavigationState<ParamList> & {
33
+ /**
34
+ * Type of the router, in this case, it's stack.
35
+ */
36
+ type: 'stack';
37
+ };
38
+ export type StackActionHelpers<ParamList extends ParamListBase> = {
39
+ /**
40
+ * Replace the current route with a new one.
41
+ *
42
+ * @param name Route name of the new route.
43
+ * @param [params] Params object for the new route.
44
+ */
45
+ replace<RouteName extends keyof ParamList>(...args: undefined extends ParamList[RouteName] ? [screen: RouteName] | [screen: RouteName, params: ParamList[RouteName]] : [screen: RouteName, params: ParamList[RouteName]]): void;
46
+ /**
47
+ * Push a new screen onto the stack.
48
+ *
49
+ * @param name Name of the route for the tab.
50
+ * @param [params] Params object for the route.
51
+ */
52
+ push<RouteName extends keyof ParamList>(...args: undefined extends ParamList[RouteName] ? [screen: RouteName] | [screen: RouteName, params: ParamList[RouteName]] : [screen: RouteName, params: ParamList[RouteName]]): void;
53
+ /**
54
+ * Pop a screen from the stack.
55
+ */
56
+ pop(count?: number): void;
57
+ /**
58
+ * Pop to the first route in the stack, dismissing all other screens.
59
+ */
60
+ popToTop(): void;
61
+ };
62
+ export declare const StackActions: {
63
+ replace(name: string, params?: object): StackActionType;
64
+ push(name: string, params?: object): StackActionType;
65
+ pop(count?: number): StackActionType;
66
+ popToTop(): StackActionType;
67
+ };
68
+ export default function StackRouter(options: StackRouterOptions): Router<StackNavigationState<ParamListBase>, import("./CommonActions").Action | StackActionType>;
69
+ //# sourceMappingURL=StackRouter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StackRouter.d.ts","sourceRoot":"","sources":["../../../src/StackRouter.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAEV,oBAAoB,EACpB,eAAe,EACf,aAAa,EAEb,MAAM,EACP,MAAM,SAAS,CAAC;AAEjB,MAAM,MAAM,eAAe,GACvB;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACrE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GACD;IACE,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GACD;IACE,IAAI,EAAE,KAAK,CAAC;IACZ,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GACD;IACE,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEN,MAAM,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;AAEtD,MAAM,MAAM,oBAAoB,CAAC,SAAS,SAAS,aAAa,IAC9D,eAAe,CAAC,SAAS,CAAC,GAAG;IAC3B;;OAEG;IACH,IAAI,EAAE,OAAO,CAAC;CACf,CAAC;AAEJ,MAAM,MAAM,kBAAkB,CAAC,SAAS,SAAS,aAAa,IAAI;IAChE;;;;;OAKG;IACH,OAAO,CAAC,SAAS,SAAS,MAAM,SAAS,EACvC,GAAG,IAAI,EAAE,SAAS,SAAS,SAAS,CAAC,SAAS,CAAC,GAC3C,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,GACvE,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,GACpD,IAAI,CAAC;IAER;;;;;OAKG;IACH,IAAI,CAAC,SAAS,SAAS,MAAM,SAAS,EACpC,GAAG,IAAI,EAAE,SAAS,SAAS,SAAS,CAAC,SAAS,CAAC,GAC3C,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,GACvE,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,GACpD,IAAI,CAAC;IAER;;OAEG;IACH,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1B;;OAEG;IACH,QAAQ,IAAI,IAAI,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,YAAY;kBACT,MAAM,WAAW,MAAM,GAAG,eAAe;eAG5C,MAAM,WAAW,MAAM,GAAG,eAAe;gBAGzC,MAAM,GAAO,eAAe;gBAG3B,eAAe;CAG5B,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,OAAO,EAAE,kBAAkB,mGA4Y9D"}
@@ -0,0 +1,41 @@
1
+ import type { DefaultRouterOptions, NavigationState, ParamListBase, Router } from './types';
2
+ export type TabActionType = {
3
+ type: 'JUMP_TO';
4
+ payload: {
5
+ name: string;
6
+ params?: object;
7
+ };
8
+ source?: string;
9
+ target?: string;
10
+ };
11
+ export type BackBehavior = 'initialRoute' | 'firstRoute' | 'history' | 'order' | 'none';
12
+ export type TabRouterOptions = DefaultRouterOptions & {
13
+ backBehavior?: BackBehavior;
14
+ };
15
+ export type TabNavigationState<ParamList extends ParamListBase> = Omit<NavigationState<ParamList>, 'history'> & {
16
+ /**
17
+ * Type of the router, in this case, it's tab.
18
+ */
19
+ type: 'tab';
20
+ /**
21
+ * List of previously visited route keys.
22
+ */
23
+ history: {
24
+ type: 'route';
25
+ key: string;
26
+ }[];
27
+ };
28
+ export type TabActionHelpers<ParamList extends ParamListBase> = {
29
+ /**
30
+ * Jump to an existing tab.
31
+ *
32
+ * @param name Name of the route for the tab.
33
+ * @param [params] Params object for the route.
34
+ */
35
+ jumpTo<RouteName extends Extract<keyof ParamList, string>>(...args: undefined extends ParamList[RouteName] ? [screen: RouteName] | [screen: RouteName, params: ParamList[RouteName]] : [screen: RouteName, params: ParamList[RouteName]]): void;
36
+ };
37
+ export declare const TabActions: {
38
+ jumpTo(name: string, params?: object): TabActionType;
39
+ };
40
+ export default function TabRouter({ initialRouteName, backBehavior, }: TabRouterOptions): Router<TabNavigationState<ParamListBase>, import("./CommonActions").Action | TabActionType>;
41
+ //# sourceMappingURL=TabRouter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TabRouter.d.ts","sourceRoot":"","sources":["../../../src/TabRouter.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAEV,oBAAoB,EACpB,eAAe,EACf,aAAa,EAGb,MAAM,EACP,MAAM,SAAS,CAAC;AAEjB,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,YAAY,GACpB,cAAc,GACd,YAAY,GACZ,SAAS,GACT,OAAO,GACP,MAAM,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,oBAAoB,GAAG;IACpD,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAAC,SAAS,SAAS,aAAa,IAAI,IAAI,CACpE,eAAe,CAAC,SAAS,CAAC,EAC1B,SAAS,CACV,GAAG;IACF;;OAEG;IACH,IAAI,EAAE,KAAK,CAAC;IACZ;;OAEG;IACH,OAAO,EAAE;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,gBAAgB,CAAC,SAAS,SAAS,aAAa,IAAI;IAC9D;;;;;OAKG;IACH,MAAM,CAAC,SAAS,SAAS,OAAO,CAAC,MAAM,SAAS,EAAE,MAAM,CAAC,EACvD,GAAG,IAAI,EAAE,SAAS,SAAS,SAAS,CAAC,SAAS,CAAC,GAC3C,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,GACvE,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,GACpD,IAAI,CAAC;CACT,CAAC;AAIF,eAAO,MAAM,UAAU;iBACR,MAAM,WAAW,MAAM,GAAG,aAAa;CAGrD,CAAC;AA4EF,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAChC,gBAAgB,EAChB,YAA2B,GAC5B,EAAE,gBAAgB,+FAsQlB"}
@@ -0,0 +1,11 @@
1
+ import * as CommonActions from './CommonActions';
2
+ export { CommonActions };
3
+ export { default as BaseRouter } from './BaseRouter';
4
+ export type { DrawerActionHelpers, DrawerActionType, DrawerNavigationState, DrawerRouterOptions, DrawerStatus, } from './DrawerRouter';
5
+ export { DrawerActions, default as DrawerRouter } from './DrawerRouter';
6
+ export type { StackActionHelpers, StackActionType, StackNavigationState, StackRouterOptions, } from './StackRouter';
7
+ export { StackActions, default as StackRouter } from './StackRouter';
8
+ export type { TabActionHelpers, TabActionType, TabNavigationState, TabRouterOptions, } from './TabRouter';
9
+ export { TabActions, default as TabRouter } from './TabRouter';
10
+ export * from './types';
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,aAAa,MAAM,iBAAiB,CAAC;AAEjD,OAAO,EAAE,aAAa,EAAE,CAAC;AAEzB,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,YAAY,EACV,mBAAmB,EACnB,gBAAgB,EAChB,qBAAqB,EACrB,mBAAmB,EACnB,YAAY,GACb,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACxE,YAAY,EACV,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,YAAY,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACrE,YAAY,EACV,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,UAAU,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AAC/D,cAAc,SAAS,CAAC"}