@react-navigation/routers 6.1.5 → 6.1.6

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 (40) hide show
  1. package/lib/commonjs/BaseRouter.js +10 -17
  2. package/lib/commonjs/BaseRouter.js.map +1 -1
  3. package/lib/commonjs/CommonActions.js +0 -6
  4. package/lib/commonjs/CommonActions.js.map +1 -1
  5. package/lib/commonjs/DrawerRouter.js +12 -45
  6. package/lib/commonjs/DrawerRouter.js.map +1 -1
  7. package/lib/commonjs/StackRouter.js +40 -73
  8. package/lib/commonjs/StackRouter.js.map +1 -1
  9. package/lib/commonjs/TabRouter.js +25 -59
  10. package/lib/commonjs/TabRouter.js.map +1 -1
  11. package/lib/commonjs/index.js +0 -11
  12. package/lib/commonjs/index.js.map +1 -1
  13. package/lib/commonjs/types.js.map +1 -1
  14. package/lib/module/BaseRouter.js +10 -16
  15. package/lib/module/BaseRouter.js.map +1 -1
  16. package/lib/module/CommonActions.js +0 -2
  17. package/lib/module/CommonActions.js.map +1 -1
  18. package/lib/module/DrawerRouter.js +12 -39
  19. package/lib/module/DrawerRouter.js.map +1 -1
  20. package/lib/module/StackRouter.js +40 -68
  21. package/lib/module/StackRouter.js.map +1 -1
  22. package/lib/module/TabRouter.js +25 -55
  23. package/lib/module/TabRouter.js.map +1 -1
  24. package/lib/module/index.js.map +1 -1
  25. package/lib/module/types.js.map +1 -1
  26. package/lib/typescript/src/BaseRouter.d.ts +1 -0
  27. package/lib/typescript/src/BaseRouter.d.ts.map +1 -0
  28. package/lib/typescript/src/CommonActions.d.ts +1 -0
  29. package/lib/typescript/src/CommonActions.d.ts.map +1 -0
  30. package/lib/typescript/src/DrawerRouter.d.ts +1 -0
  31. package/lib/typescript/src/DrawerRouter.d.ts.map +1 -0
  32. package/lib/typescript/src/StackRouter.d.ts +1 -0
  33. package/lib/typescript/src/StackRouter.d.ts.map +1 -0
  34. package/lib/typescript/src/TabRouter.d.ts +1 -0
  35. package/lib/typescript/src/TabRouter.d.ts.map +1 -0
  36. package/lib/typescript/src/index.d.ts +1 -0
  37. package/lib/typescript/src/index.d.ts.map +1 -0
  38. package/lib/typescript/src/types.d.ts +1 -0
  39. package/lib/typescript/src/types.d.ts.map +1 -0
  40. package/package.json +3 -3
@@ -5,13 +5,9 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.TabActions = void 0;
7
7
  exports.default = TabRouter;
8
-
9
8
  var _nonSecure = require("nanoid/non-secure");
10
-
11
9
  var _BaseRouter = _interopRequireDefault(require("./BaseRouter"));
12
-
13
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
-
15
11
  const TYPE_ROUTE = 'route';
16
12
  const TabActions = {
17
13
  jumpTo(name, params) {
@@ -23,17 +19,14 @@ const TabActions = {
23
19
  }
24
20
  };
25
21
  }
26
-
27
22
  };
28
23
  exports.TabActions = TabActions;
29
-
30
24
  const getRouteHistory = (routes, index, backBehavior, initialRouteName) => {
31
25
  const history = [{
32
26
  type: TYPE_ROUTE,
33
27
  key: routes[index].key
34
28
  }];
35
29
  let initialRouteIndex;
36
-
37
30
  switch (backBehavior) {
38
31
  case 'order':
39
32
  for (let i = index; i > 0; i--) {
@@ -42,9 +35,7 @@ const getRouteHistory = (routes, index, backBehavior, initialRouteName) => {
42
35
  key: routes[i - 1].key
43
36
  });
44
37
  }
45
-
46
38
  break;
47
-
48
39
  case 'firstRoute':
49
40
  if (index !== 0) {
50
41
  history.unshift({
@@ -52,33 +43,25 @@ const getRouteHistory = (routes, index, backBehavior, initialRouteName) => {
52
43
  key: routes[0].key
53
44
  });
54
45
  }
55
-
56
46
  break;
57
-
58
47
  case 'initialRoute':
59
48
  initialRouteIndex = routes.findIndex(route => route.name === initialRouteName);
60
49
  initialRouteIndex = initialRouteIndex === -1 ? 0 : initialRouteIndex;
61
-
62
50
  if (index !== initialRouteIndex) {
63
51
  history.unshift({
64
52
  type: TYPE_ROUTE,
65
53
  key: routes[initialRouteIndex].key
66
54
  });
67
55
  }
68
-
69
56
  break;
70
-
71
57
  case 'history':
72
58
  // The history will fill up on navigation
73
59
  break;
74
60
  }
75
-
76
61
  return history;
77
62
  };
78
-
79
63
  const changeIndex = (state, index, backBehavior, initialRouteName) => {
80
64
  let history;
81
-
82
65
  if (backBehavior === 'history') {
83
66
  const currentKey = state.routes[index].key;
84
67
  history = state.history.filter(it => it.type === 'route' ? it.key !== currentKey : false).concat({
@@ -88,21 +71,20 @@ const changeIndex = (state, index, backBehavior, initialRouteName) => {
88
71
  } else {
89
72
  history = getRouteHistory(state.routes, index, backBehavior, initialRouteName);
90
73
  }
91
-
92
- return { ...state,
74
+ return {
75
+ ...state,
93
76
  index,
94
77
  history
95
78
  };
96
79
  };
97
-
98
80
  function TabRouter(_ref) {
99
81
  let {
100
82
  initialRouteName,
101
83
  backBehavior = 'firstRoute'
102
84
  } = _ref;
103
- const router = { ..._BaseRouter.default,
85
+ const router = {
86
+ ..._BaseRouter.default,
104
87
  type: 'tab',
105
-
106
88
  getInitialState(_ref2) {
107
89
  let {
108
90
  routeNames,
@@ -125,32 +107,30 @@ function TabRouter(_ref) {
125
107
  routes
126
108
  };
127
109
  },
128
-
129
110
  getRehydratedState(partialState, _ref3) {
130
- var _state$routes, _state$index, _state$history$filter, _state$history;
131
-
111
+ var _state$routes, _state$history;
132
112
  let {
133
113
  routeNames,
134
114
  routeParamList
135
115
  } = _ref3;
136
116
  let state = partialState;
137
-
138
117
  if (state.stale === false) {
139
118
  return state;
140
119
  }
141
-
142
120
  const routes = routeNames.map(name => {
143
121
  const route = state.routes.find(r => r.name === name);
144
- return { ...route,
122
+ return {
123
+ ...route,
145
124
  name,
146
125
  key: route && route.name === name && route.key ? route.key : `${name}-${(0, _nonSecure.nanoid)()}`,
147
- params: routeParamList[name] !== undefined ? { ...routeParamList[name],
126
+ params: routeParamList[name] !== undefined ? {
127
+ ...routeParamList[name],
148
128
  ...(route ? route.params : undefined)
149
129
  } : route ? route.params : undefined
150
130
  };
151
131
  });
152
- const index = Math.min(Math.max(routeNames.indexOf((_state$routes = state.routes[(_state$index = state === null || state === void 0 ? void 0 : state.index) !== null && _state$index !== void 0 ? _state$index : 0]) === null || _state$routes === void 0 ? void 0 : _state$routes.name), 0), routes.length - 1);
153
- const history = (_state$history$filter = (_state$history = state.history) === null || _state$history === void 0 ? void 0 : _state$history.filter(it => routes.find(r => r.key === it.key))) !== null && _state$history$filter !== void 0 ? _state$history$filter : [];
132
+ 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);
133
+ const history = ((_state$history = state.history) === null || _state$history === void 0 ? void 0 : _state$history.filter(it => routes.find(r => r.key === it.key))) ?? [];
154
134
  return changeIndex({
155
135
  stale: false,
156
136
  type: 'tab',
@@ -161,7 +141,6 @@ function TabRouter(_ref) {
161
141
  routes
162
142
  }, index, backBehavior, initialRouteName);
163
143
  },
164
-
165
144
  getStateForRouteNamesChange(state, _ref4) {
166
145
  let {
167
146
  routeNames,
@@ -174,108 +153,95 @@ function TabRouter(_ref) {
174
153
  params: routeParamList[name]
175
154
  });
176
155
  const index = Math.max(0, routeNames.indexOf(state.routes[state.index].name));
177
- let history = state.history.filter( // Type will always be 'route' for tabs, but could be different in a router extending this (e.g. drawer)
156
+ let history = state.history.filter(
157
+ // Type will always be 'route' for tabs, but could be different in a router extending this (e.g. drawer)
178
158
  it => it.type !== 'route' || routes.find(r => r.key === it.key));
179
-
180
159
  if (!history.length) {
181
160
  history = getRouteHistory(routes, index, backBehavior, initialRouteName);
182
161
  }
183
-
184
- return { ...state,
162
+ return {
163
+ ...state,
185
164
  history,
186
165
  routeNames,
187
166
  routes,
188
167
  index
189
168
  };
190
169
  },
191
-
192
170
  getStateForRouteFocus(state, key) {
193
171
  const index = state.routes.findIndex(r => r.key === key);
194
-
195
172
  if (index === -1 || index === state.index) {
196
173
  return state;
197
174
  }
198
-
199
175
  return changeIndex(state, index, backBehavior, initialRouteName);
200
176
  },
201
-
202
177
  getStateForAction(state, action, _ref5) {
203
178
  let {
204
179
  routeParamList
205
180
  } = _ref5;
206
-
207
181
  switch (action.type) {
208
182
  case 'JUMP_TO':
209
183
  case 'NAVIGATE':
210
184
  {
211
185
  let index = -1;
212
-
213
186
  if (action.type === 'NAVIGATE' && action.payload.key) {
214
187
  index = state.routes.findIndex(route => route.key === action.payload.key);
215
188
  } else {
216
189
  index = state.routes.findIndex(route => route.name === action.payload.name);
217
190
  }
218
-
219
191
  if (index === -1) {
220
192
  return null;
221
193
  }
222
-
223
- return changeIndex({ ...state,
194
+ return changeIndex({
195
+ ...state,
224
196
  routes: state.routes.map((route, i) => {
225
197
  if (i !== index) {
226
198
  return route;
227
199
  }
228
-
229
200
  let params;
230
-
231
201
  if (action.type === 'NAVIGATE' && action.payload.merge) {
232
- params = action.payload.params !== undefined || routeParamList[route.name] !== undefined ? { ...routeParamList[route.name],
202
+ params = action.payload.params !== undefined || routeParamList[route.name] !== undefined ? {
203
+ ...routeParamList[route.name],
233
204
  ...route.params,
234
205
  ...action.payload.params
235
206
  } : route.params;
236
207
  } else {
237
- params = routeParamList[route.name] !== undefined ? { ...routeParamList[route.name],
208
+ params = routeParamList[route.name] !== undefined ? {
209
+ ...routeParamList[route.name],
238
210
  ...action.payload.params
239
211
  } : action.payload.params;
240
212
  }
241
-
242
213
  const path = action.type === 'NAVIGATE' && action.payload.path != null ? action.payload.path : route.path;
243
- return params !== route.params || path !== route.path ? { ...route,
214
+ return params !== route.params || path !== route.path ? {
215
+ ...route,
244
216
  path,
245
217
  params
246
218
  } : route;
247
219
  })
248
220
  }, index, backBehavior, initialRouteName);
249
221
  }
250
-
251
222
  case 'GO_BACK':
252
223
  {
253
224
  if (state.history.length === 1) {
254
225
  return null;
255
226
  }
256
-
257
227
  const previousKey = state.history[state.history.length - 2].key;
258
228
  const index = state.routes.findIndex(route => route.key === previousKey);
259
-
260
229
  if (index === -1) {
261
230
  return null;
262
231
  }
263
-
264
- return { ...state,
232
+ return {
233
+ ...state,
265
234
  history: state.history.slice(0, -1),
266
235
  index
267
236
  };
268
237
  }
269
-
270
238
  default:
271
239
  return _BaseRouter.default.getStateForAction(state, action);
272
240
  }
273
241
  },
274
-
275
242
  shouldActionChangeFocus(action) {
276
243
  return action.type === 'NAVIGATE';
277
244
  },
278
-
279
245
  actionCreators: TabActions
280
246
  };
281
247
  return router;
@@ -1 +1 @@
1
- {"version":3,"names":["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","BaseRouter","getInitialState","routeNames","routeParamList","undefined","includes","indexOf","map","nanoid","stale","getRehydratedState","partialState","find","r","Math","min","max","length","getStateForRouteNamesChange","routeKeyChanges","getStateForRouteFocus","getStateForAction","action","merge","path","previousKey","slice","shouldActionChangeFocus","actionCreators"],"sources":["TabRouter.tsx"],"sourcesContent":["import { nanoid } from 'nanoid/non-secure';\n\nimport BaseRouter from './BaseRouter';\nimport type {\n CommonNavigationAction,\n DefaultRouterOptions,\n NavigationState,\n ParamListBase,\n PartialState,\n Route,\n Router,\n} from './types';\n\nexport type TabActionType = {\n type: 'JUMP_TO';\n payload: { name: string; params?: object };\n source?: string;\n target?: string;\n};\n\nexport type BackBehavior =\n | 'initialRoute'\n | 'firstRoute'\n | 'history'\n | 'order'\n | 'none';\n\nexport type TabRouterOptions = DefaultRouterOptions & {\n backBehavior?: BackBehavior;\n};\n\nexport type TabNavigationState<ParamList extends ParamListBase> = Omit<\n NavigationState<ParamList>,\n 'history'\n> & {\n /**\n * Type of the router, in this case, it's tab.\n */\n type: 'tab';\n /**\n * List of previously visited route keys.\n */\n history: { type: 'route'; key: string }[];\n};\n\nexport type TabActionHelpers<ParamList extends ParamListBase> = {\n /**\n * Jump to an existing tab.\n *\n * @param name Name of the route for the tab.\n * @param [params] Params object for the route.\n */\n jumpTo<RouteName extends Extract<keyof ParamList, string>>(\n ...args: undefined extends ParamList[RouteName]\n ? [screen: RouteName] | [screen: RouteName, params: ParamList[RouteName]]\n : [screen: RouteName, params: ParamList[RouteName]]\n ): void;\n};\n\nconst TYPE_ROUTE = 'route' as const;\n\nexport const TabActions = {\n jumpTo(name: string, params?: object): TabActionType {\n return { type: 'JUMP_TO', payload: { name, params } };\n },\n};\n\nconst getRouteHistory = (\n routes: Route<string>[],\n index: number,\n backBehavior: BackBehavior,\n initialRouteName: string | undefined\n) => {\n const history = [{ type: TYPE_ROUTE, key: routes[index].key }];\n let initialRouteIndex;\n\n switch (backBehavior) {\n case 'order':\n for (let i = index; i > 0; i--) {\n history.unshift({ type: TYPE_ROUTE, key: routes[i - 1].key });\n }\n break;\n case 'firstRoute':\n if (index !== 0) {\n history.unshift({\n type: TYPE_ROUTE,\n key: routes[0].key,\n });\n }\n break;\n case 'initialRoute':\n initialRouteIndex = routes.findIndex(\n (route) => route.name === initialRouteName\n );\n initialRouteIndex = initialRouteIndex === -1 ? 0 : initialRouteIndex;\n\n if (index !== initialRouteIndex) {\n history.unshift({\n type: TYPE_ROUTE,\n key: routes[initialRouteIndex].key,\n });\n }\n break;\n case 'history':\n // The history will fill up on navigation\n break;\n }\n\n return history;\n};\n\nconst changeIndex = (\n state: TabNavigationState<ParamListBase>,\n index: number,\n backBehavior: BackBehavior,\n initialRouteName: string | undefined\n) => {\n let history;\n\n if (backBehavior === 'history') {\n const currentKey = state.routes[index].key;\n\n history = state.history\n .filter((it) => (it.type === 'route' ? it.key !== currentKey : false))\n .concat({ type: TYPE_ROUTE, key: currentKey });\n } else {\n history = getRouteHistory(\n state.routes,\n index,\n backBehavior,\n initialRouteName\n );\n }\n\n return {\n ...state,\n index,\n history,\n };\n};\n\nexport default function TabRouter({\n initialRouteName,\n backBehavior = 'firstRoute',\n}: TabRouterOptions) {\n const router: Router<\n TabNavigationState<ParamListBase>,\n TabActionType | CommonNavigationAction\n > = {\n ...BaseRouter,\n\n type: 'tab',\n\n getInitialState({ routeNames, routeParamList }) {\n const index =\n initialRouteName !== undefined && routeNames.includes(initialRouteName)\n ? routeNames.indexOf(initialRouteName)\n : 0;\n\n const routes = routeNames.map((name) => ({\n name,\n key: `${name}-${nanoid()}`,\n params: routeParamList[name],\n }));\n\n const history = getRouteHistory(\n routes,\n index,\n backBehavior,\n initialRouteName\n );\n\n return {\n stale: false,\n type: 'tab',\n key: `tab-${nanoid()}`,\n index,\n routeNames,\n history,\n routes,\n };\n },\n\n getRehydratedState(partialState, { routeNames, routeParamList }) {\n let state = partialState;\n\n if (state.stale === false) {\n return state;\n }\n\n const routes = routeNames.map((name) => {\n const route = (\n state as PartialState<TabNavigationState<ParamListBase>>\n ).routes.find((r) => r.name === name);\n\n return {\n ...route,\n name,\n key:\n route && route.name === name && route.key\n ? route.key\n : `${name}-${nanoid()}`,\n params:\n routeParamList[name] !== undefined\n ? {\n ...routeParamList[name],\n ...(route ? route.params : undefined),\n }\n : route\n ? route.params\n : undefined,\n } as Route<string>;\n });\n\n const index = Math.min(\n Math.max(routeNames.indexOf(state.routes[state?.index ?? 0]?.name), 0),\n routes.length - 1\n );\n\n const history =\n state.history?.filter((it) => routes.find((r) => r.key === it.key)) ??\n [];\n\n return changeIndex(\n {\n stale: false,\n type: 'tab',\n key: `tab-${nanoid()}`,\n index,\n routeNames,\n history,\n routes,\n },\n index,\n backBehavior,\n initialRouteName\n );\n },\n\n getStateForRouteNamesChange(\n state,\n { routeNames, routeParamList, routeKeyChanges }\n ) {\n const routes = routeNames.map(\n (name) =>\n state.routes.find(\n (r) => r.name === name && !routeKeyChanges.includes(r.name)\n ) || {\n name,\n key: `${name}-${nanoid()}`,\n params: routeParamList[name],\n }\n );\n\n const index = Math.max(\n 0,\n routeNames.indexOf(state.routes[state.index].name)\n );\n\n let history = state.history.filter(\n // Type will always be 'route' for tabs, but could be different in a router extending this (e.g. drawer)\n (it) => it.type !== 'route' || routes.find((r) => r.key === it.key)\n );\n\n if (!history.length) {\n history = getRouteHistory(\n routes,\n index,\n backBehavior,\n initialRouteName\n );\n }\n\n return {\n ...state,\n history,\n routeNames,\n routes,\n index,\n };\n },\n\n getStateForRouteFocus(state, key) {\n const index = state.routes.findIndex((r) => r.key === key);\n\n if (index === -1 || index === state.index) {\n return state;\n }\n\n return changeIndex(state, index, backBehavior, initialRouteName);\n },\n\n getStateForAction(state, action, { routeParamList }) {\n switch (action.type) {\n case 'JUMP_TO':\n case 'NAVIGATE': {\n let index = -1;\n\n if (action.type === 'NAVIGATE' && action.payload.key) {\n index = state.routes.findIndex(\n (route) => route.key === action.payload.key\n );\n } else {\n index = state.routes.findIndex(\n (route) => route.name === action.payload.name\n );\n }\n\n if (index === -1) {\n return null;\n }\n\n return changeIndex(\n {\n ...state,\n routes: state.routes.map((route, i) => {\n if (i !== index) {\n return route;\n }\n\n let params;\n\n if (action.type === 'NAVIGATE' && action.payload.merge) {\n params =\n action.payload.params !== undefined ||\n routeParamList[route.name] !== undefined\n ? {\n ...routeParamList[route.name],\n ...route.params,\n ...action.payload.params,\n }\n : route.params;\n } else {\n params =\n routeParamList[route.name] !== undefined\n ? {\n ...routeParamList[route.name],\n ...action.payload.params,\n }\n : action.payload.params;\n }\n\n const path =\n action.type === 'NAVIGATE' && action.payload.path != null\n ? action.payload.path\n : route.path;\n\n return params !== route.params || path !== route.path\n ? { ...route, path, params }\n : route;\n }),\n },\n index,\n backBehavior,\n initialRouteName\n );\n }\n\n case 'GO_BACK': {\n if (state.history.length === 1) {\n return null;\n }\n\n const previousKey = state.history[state.history.length - 2].key;\n const index = state.routes.findIndex(\n (route) => route.key === previousKey\n );\n\n if (index === -1) {\n return null;\n }\n\n return {\n ...state,\n history: state.history.slice(0, -1),\n index,\n };\n }\n\n default:\n return BaseRouter.getStateForAction(state, action);\n }\n },\n\n shouldActionChangeFocus(action) {\n return action.type === 'NAVIGATE';\n },\n\n actionCreators: TabActions,\n };\n\n return router;\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["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","BaseRouter","getInitialState","routeNames","routeParamList","undefined","includes","indexOf","map","nanoid","stale","getRehydratedState","partialState","find","r","Math","min","max","length","getStateForRouteNamesChange","routeKeyChanges","getStateForRouteFocus","getStateForAction","action","merge","path","previousKey","slice","shouldActionChangeFocus","actionCreators"],"sourceRoot":"../../src","sources":["TabRouter.tsx"],"mappings":"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"}
@@ -56,21 +56,13 @@ Object.defineProperty(exports, "TabRouter", {
56
56
  return _TabRouter.default;
57
57
  }
58
58
  });
59
-
60
59
  var CommonActions = _interopRequireWildcard(require("./CommonActions"));
61
-
62
60
  exports.CommonActions = CommonActions;
63
-
64
61
  var _BaseRouter = _interopRequireDefault(require("./BaseRouter"));
65
-
66
62
  var _DrawerRouter = _interopRequireWildcard(require("./DrawerRouter"));
67
-
68
63
  var _StackRouter = _interopRequireWildcard(require("./StackRouter"));
69
-
70
64
  var _TabRouter = _interopRequireWildcard(require("./TabRouter"));
71
-
72
65
  var _types = require("./types");
73
-
74
66
  Object.keys(_types).forEach(function (key) {
75
67
  if (key === "default" || key === "__esModule") return;
76
68
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
@@ -82,10 +74,7 @@ Object.keys(_types).forEach(function (key) {
82
74
  }
83
75
  });
84
76
  });
85
-
86
77
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
87
-
88
78
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
89
-
90
79
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
91
80
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["index.tsx"],"sourcesContent":["import * as CommonActions from './CommonActions';\n\nexport { CommonActions };\n\nexport { default as BaseRouter } from './BaseRouter';\nexport type {\n DrawerActionHelpers,\n DrawerActionType,\n DrawerNavigationState,\n DrawerRouterOptions,\n DrawerStatus,\n} from './DrawerRouter';\nexport { DrawerActions, default as DrawerRouter } from './DrawerRouter';\nexport type {\n StackActionHelpers,\n StackActionType,\n StackNavigationState,\n StackRouterOptions,\n} from './StackRouter';\nexport { StackActions, default as StackRouter } from './StackRouter';\nexport type {\n TabActionHelpers,\n TabActionType,\n TabNavigationState,\n TabRouterOptions,\n} from './TabRouter';\nexport { TabActions, default as TabRouter } from './TabRouter';\nexport * from './types';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;AAIA;;AAQA;;AAOA;;AAOA;;AACA;;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
1
+ {"version":3,"names":[],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAiD;AAIjD;AAQA;AAOA;AAOA;AACA;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AAAwB;AAAA;AAAA"}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["types.tsx"],"sourcesContent":["import type * as CommonActions from './CommonActions';\n\nexport type CommonNavigationAction = CommonActions.Action;\n\ntype NavigationRoute<\n ParamList extends ParamListBase,\n RouteName extends keyof ParamList\n> = Route<Extract<RouteName, string>, ParamList[RouteName]> & {\n state?: NavigationState | PartialState<NavigationState>;\n};\n\nexport type NavigationState<ParamList extends ParamListBase = ParamListBase> =\n Readonly<{\n /**\n * Unique key for the navigation state.\n */\n key: string;\n /**\n * Index of the currently focused route.\n */\n index: number;\n /**\n * List of valid route names as defined in the screen components.\n */\n routeNames: Extract<keyof ParamList, string>[];\n /**\n * Alternative entries for history.\n */\n history?: unknown[];\n /**\n * List of rendered routes.\n */\n routes: NavigationRoute<ParamList, keyof ParamList>[];\n /**\n * Custom type for the state, whether it's for tab, stack, drawer etc.\n * During rehydration, the state will be discarded if type doesn't match with router type.\n * It can also be used to detect the type of the navigator we're dealing with.\n */\n type: string;\n /**\n * Whether the navigation state has been rehydrated.\n */\n stale: false;\n }>;\n\nexport type InitialState = Readonly<\n Partial<Omit<NavigationState, 'stale' | 'routes'>> & {\n routes: (Omit<Route<string>, 'key'> & { state?: InitialState })[];\n }\n>;\n\nexport type PartialRoute<R extends Route<string>> = Omit<R, 'key'> & {\n key?: string;\n state?: PartialState<NavigationState>;\n};\n\nexport type PartialState<State extends NavigationState> = Partial<\n Omit<State, 'stale' | 'routes'>\n> &\n Readonly<{\n stale?: true;\n routes: PartialRoute<Route<State['routeNames'][number]>>[];\n }>;\n\nexport type Route<\n RouteName extends string,\n Params extends object | undefined = object | undefined\n> = Readonly<{\n /**\n * Unique key for the route.\n */\n key: string;\n /**\n * User-provided name for the route.\n */\n name: RouteName;\n /**\n * Path associated with the route.\n * Usually present when the screen was opened from a deep link.\n */\n path?: string;\n}> &\n (undefined extends Params\n ? Readonly<{\n /**\n * Params for this route\n */\n params?: Readonly<Params>;\n }>\n : Readonly<{\n /**\n * Params for this route\n */\n params: Readonly<Params>;\n }>);\n\nexport type ParamListBase = Record<string, object | undefined>;\n\nexport type NavigationAction = Readonly<{\n /**\n * Type of the action (e.g. `NAVIGATE`)\n */\n type: string;\n /**\n * Additional data for the action\n */\n payload?: object;\n /**\n * Key of the route which dispatched this action.\n */\n source?: string;\n /**\n * Key of the navigator which should handle this action.\n */\n target?: string;\n}>;\n\nexport type ActionCreators<Action extends NavigationAction> = {\n [key: string]: (...args: any) => Action;\n};\n\nexport type DefaultRouterOptions<RouteName extends string = string> = {\n /**\n * Name of the route to focus by on initial render.\n * If not specified, usually the first route is used.\n */\n initialRouteName?: RouteName;\n};\n\nexport type RouterFactory<\n State extends NavigationState,\n Action extends NavigationAction,\n RouterOptions extends DefaultRouterOptions\n> = (options: RouterOptions) => Router<State, Action>;\n\nexport type RouterConfigOptions = {\n routeNames: string[];\n routeParamList: ParamListBase;\n routeGetIdList: Record<\n string,\n | ((options: { params?: Record<string, any> }) => string | undefined)\n | undefined\n >;\n};\n\nexport type Router<\n State extends NavigationState,\n Action extends NavigationAction\n> = {\n /**\n * Type of the router. Should match the `type` property in state.\n * If the type doesn't match, the state will be discarded during rehydration.\n */\n type: State['type'];\n\n /**\n * Initialize the navigation state.\n *\n * @param options.routeNames List of valid route names as defined in the screen components.\n * @param options.routeParamsList Object containing params for each route.\n */\n getInitialState(options: RouterConfigOptions): State;\n\n /**\n * Rehydrate the full navigation state from a given partial state.\n *\n * @param partialState Navigation state to rehydrate from.\n * @param options.routeNames List of valid route names as defined in the screen components.\n * @param options.routeParamsList Object containing params for each route.\n */\n getRehydratedState(\n partialState: PartialState<State> | State,\n options: RouterConfigOptions\n ): State;\n\n /**\n * Take the current state and updated list of route names, and return a new state.\n *\n * @param state State object to update.\n * @param options.routeNames New list of route names.\n * @param options.routeParamsList Object containing params for each route.\n */\n getStateForRouteNamesChange(\n state: State,\n options: RouterConfigOptions & {\n /**\n * List of routes whose key has changed even if they still have the same name.\n * This allows to remove screens declaratively.\n */\n routeKeyChanges: string[];\n }\n ): State;\n\n /**\n * Take the current state and key of a route, and return a new state with the route focused\n *\n * @param state State object to apply the action on.\n * @param key Key of the route to focus.\n */\n getStateForRouteFocus(state: State, key: string): State;\n\n /**\n * Take the current state and action, and return a new state.\n * If the action cannot be handled, return `null`.\n *\n * @param state State object to apply the action on.\n * @param action Action object to apply.\n * @param options.routeNames List of valid route names as defined in the screen components.\n * @param options.routeParamsList Object containing params for each route.\n */\n getStateForAction(\n state: State,\n action: Action,\n options: RouterConfigOptions\n ): State | PartialState<State> | null;\n\n /**\n * Whether the action should also change focus in parent navigator\n *\n * @param action Action object to check.\n */\n shouldActionChangeFocus(action: NavigationAction): boolean;\n\n /**\n * Action creators for the router.\n */\n actionCreators?: ActionCreators<Action>;\n};\n"],"mappings":""}
1
+ {"version":3,"names":[],"sourceRoot":"../../src","sources":["types.tsx"],"mappings":""}
@@ -1,5 +1,4 @@
1
1
  import { nanoid } from 'nanoid/non-secure';
2
-
3
2
  /**
4
3
  * Base router object that can be used when writing custom routers.
5
4
  * This provides few helper methods to handle common actions such as `RESET`.
@@ -10,52 +9,47 @@ const BaseRouter = {
10
9
  case 'SET_PARAMS':
11
10
  {
12
11
  const index = action.source ? state.routes.findIndex(r => r.key === action.source) : state.index;
13
-
14
12
  if (index === -1) {
15
13
  return null;
16
14
  }
17
-
18
- return { ...state,
19
- routes: state.routes.map((r, i) => i === index ? { ...r,
20
- params: { ...r.params,
15
+ return {
16
+ ...state,
17
+ routes: state.routes.map((r, i) => i === index ? {
18
+ ...r,
19
+ params: {
20
+ ...r.params,
21
21
  ...action.payload.params
22
22
  }
23
23
  } : r)
24
24
  };
25
25
  }
26
-
27
26
  case 'RESET':
28
27
  {
29
28
  const nextState = action.payload;
30
-
31
29
  if (nextState.routes.length === 0 || nextState.routes.some(route => !state.routeNames.includes(route.name))) {
32
30
  return null;
33
31
  }
34
-
35
32
  if (nextState.stale === false) {
36
33
  if (state.routeNames.length !== nextState.routeNames.length || nextState.routeNames.some(name => !state.routeNames.includes(name))) {
37
34
  return null;
38
35
  }
39
-
40
- return { ...nextState,
41
- routes: nextState.routes.map(route => route.key ? route : { ...route,
36
+ return {
37
+ ...nextState,
38
+ routes: nextState.routes.map(route => route.key ? route : {
39
+ ...route,
42
40
  key: `${route.name}-${nanoid()}`
43
41
  })
44
42
  };
45
43
  }
46
-
47
44
  return nextState;
48
45
  }
49
-
50
46
  default:
51
47
  return null;
52
48
  }
53
49
  },
54
-
55
50
  shouldActionChangeFocus(action) {
56
51
  return action.type === 'NAVIGATE';
57
52
  }
58
-
59
53
  };
60
54
  export default BaseRouter;
61
55
  //# sourceMappingURL=BaseRouter.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["nanoid","BaseRouter","getStateForAction","state","action","type","index","source","routes","findIndex","r","key","map","i","params","payload","nextState","length","some","route","routeNames","includes","name","stale","shouldActionChangeFocus"],"sources":["BaseRouter.tsx"],"sourcesContent":["import { nanoid } from 'nanoid/non-secure';\n\nimport type {\n CommonNavigationAction,\n NavigationState,\n PartialState,\n} from './types';\n\n/**\n * Base router object that can be used when writing custom routers.\n * This provides few helper methods to handle common actions such as `RESET`.\n */\nconst BaseRouter = {\n getStateForAction<State extends NavigationState>(\n state: State,\n action: CommonNavigationAction\n ): State | PartialState<State> | null {\n switch (action.type) {\n case 'SET_PARAMS': {\n const index = action.source\n ? state.routes.findIndex((r) => r.key === action.source)\n : state.index;\n\n if (index === -1) {\n return null;\n }\n\n return {\n ...state,\n routes: state.routes.map((r, i) =>\n i === index\n ? { ...r, params: { ...r.params, ...action.payload.params } }\n : r\n ),\n };\n }\n\n case 'RESET': {\n const nextState = action.payload as State | PartialState<State>;\n\n if (\n nextState.routes.length === 0 ||\n nextState.routes.some(\n (route: { name: string }) => !state.routeNames.includes(route.name)\n )\n ) {\n return null;\n }\n\n if (nextState.stale === false) {\n if (\n state.routeNames.length !== nextState.routeNames.length ||\n nextState.routeNames.some(\n (name) => !state.routeNames.includes(name)\n )\n ) {\n return null;\n }\n\n return {\n ...nextState,\n routes: nextState.routes.map((route) =>\n route.key ? route : { ...route, key: `${route.name}-${nanoid()}` }\n ),\n };\n }\n\n return nextState;\n }\n\n default:\n return null;\n }\n },\n\n shouldActionChangeFocus(action: CommonNavigationAction) {\n return action.type === 'NAVIGATE';\n },\n};\n\nexport default BaseRouter;\n"],"mappings":"AAAA,SAASA,MAAT,QAAuB,mBAAvB;;AAQA;AACA;AACA;AACA;AACA,MAAMC,UAAU,GAAG;EACjBC,iBAAiB,CACfC,KADe,EAEfC,MAFe,EAGqB;IACpC,QAAQA,MAAM,CAACC,IAAf;MACE,KAAK,YAAL;QAAmB;UACjB,MAAMC,KAAK,GAAGF,MAAM,CAACG,MAAP,GACVJ,KAAK,CAACK,MAAN,CAAaC,SAAb,CAAwBC,CAAD,IAAOA,CAAC,CAACC,GAAF,KAAUP,MAAM,CAACG,MAA/C,CADU,GAEVJ,KAAK,CAACG,KAFV;;UAIA,IAAIA,KAAK,KAAK,CAAC,CAAf,EAAkB;YAChB,OAAO,IAAP;UACD;;UAED,OAAO,EACL,GAAGH,KADE;YAELK,MAAM,EAAEL,KAAK,CAACK,MAAN,CAAaI,GAAb,CAAiB,CAACF,CAAD,EAAIG,CAAJ,KACvBA,CAAC,KAAKP,KAAN,GACI,EAAE,GAAGI,CAAL;cAAQI,MAAM,EAAE,EAAE,GAAGJ,CAAC,CAACI,MAAP;gBAAe,GAAGV,MAAM,CAACW,OAAP,CAAeD;cAAjC;YAAhB,CADJ,GAEIJ,CAHE;UAFH,CAAP;QAQD;;MAED,KAAK,OAAL;QAAc;UACZ,MAAMM,SAAS,GAAGZ,MAAM,CAACW,OAAzB;;UAEA,IACEC,SAAS,CAACR,MAAV,CAAiBS,MAAjB,KAA4B,CAA5B,IACAD,SAAS,CAACR,MAAV,CAAiBU,IAAjB,CACGC,KAAD,IAA6B,CAAChB,KAAK,CAACiB,UAAN,CAAiBC,QAAjB,CAA0BF,KAAK,CAACG,IAAhC,CADhC,CAFF,EAKE;YACA,OAAO,IAAP;UACD;;UAED,IAAIN,SAAS,CAACO,KAAV,KAAoB,KAAxB,EAA+B;YAC7B,IACEpB,KAAK,CAACiB,UAAN,CAAiBH,MAAjB,KAA4BD,SAAS,CAACI,UAAV,CAAqBH,MAAjD,IACAD,SAAS,CAACI,UAAV,CAAqBF,IAArB,CACGI,IAAD,IAAU,CAACnB,KAAK,CAACiB,UAAN,CAAiBC,QAAjB,CAA0BC,IAA1B,CADb,CAFF,EAKE;cACA,OAAO,IAAP;YACD;;YAED,OAAO,EACL,GAAGN,SADE;cAELR,MAAM,EAAEQ,SAAS,CAACR,MAAV,CAAiBI,GAAjB,CAAsBO,KAAD,IAC3BA,KAAK,CAACR,GAAN,GAAYQ,KAAZ,GAAoB,EAAE,GAAGA,KAAL;gBAAYR,GAAG,EAAG,GAAEQ,KAAK,CAACG,IAAK,IAAGtB,MAAM,EAAG;cAA3C,CADd;YAFH,CAAP;UAMD;;UAED,OAAOgB,SAAP;QACD;;MAED;QACE,OAAO,IAAP;IAtDJ;EAwDD,CA7DgB;;EA+DjBQ,uBAAuB,CAACpB,MAAD,EAAiC;IACtD,OAAOA,MAAM,CAACC,IAAP,KAAgB,UAAvB;EACD;;AAjEgB,CAAnB;AAoEA,eAAeJ,UAAf"}
1
+ {"version":3,"names":["nanoid","BaseRouter","getStateForAction","state","action","type","index","source","routes","findIndex","r","key","map","i","params","payload","nextState","length","some","route","routeNames","includes","name","stale","shouldActionChangeFocus"],"sourceRoot":"../../src","sources":["BaseRouter.tsx"],"mappings":"AAAA,SAASA,MAAM,QAAQ,mBAAmB;AAQ1C;AACA;AACA;AACA;AACA,MAAMC,UAAU,GAAG;EACjBC,iBAAiB,CACfC,KAAY,EACZC,MAA8B,EACM;IACpC,QAAQA,MAAM,CAACC,IAAI;MACjB,KAAK,YAAY;QAAE;UACjB,MAAMC,KAAK,GAAGF,MAAM,CAACG,MAAM,GACvBJ,KAAK,CAACK,MAAM,CAACC,SAAS,CAAEC,CAAC,IAAKA,CAAC,CAACC,GAAG,KAAKP,MAAM,CAACG,MAAM,CAAC,GACtDJ,KAAK,CAACG,KAAK;UAEf,IAAIA,KAAK,KAAK,CAAC,CAAC,EAAE;YAChB,OAAO,IAAI;UACb;UAEA,OAAO;YACL,GAAGH,KAAK;YACRK,MAAM,EAAEL,KAAK,CAACK,MAAM,CAACI,GAAG,CAAC,CAACF,CAAC,EAAEG,CAAC,KAC5BA,CAAC,KAAKP,KAAK,GACP;cAAE,GAAGI,CAAC;cAAEI,MAAM,EAAE;gBAAE,GAAGJ,CAAC,CAACI,MAAM;gBAAE,GAAGV,MAAM,CAACW,OAAO,CAACD;cAAO;YAAE,CAAC,GAC3DJ,CAAC;UAET,CAAC;QACH;MAEA,KAAK,OAAO;QAAE;UACZ,MAAMM,SAAS,GAAGZ,MAAM,CAACW,OAAsC;UAE/D,IACEC,SAAS,CAACR,MAAM,CAACS,MAAM,KAAK,CAAC,IAC7BD,SAAS,CAACR,MAAM,CAACU,IAAI,CAClBC,KAAuB,IAAK,CAAChB,KAAK,CAACiB,UAAU,CAACC,QAAQ,CAACF,KAAK,CAACG,IAAI,CAAC,CACpE,EACD;YACA,OAAO,IAAI;UACb;UAEA,IAAIN,SAAS,CAACO,KAAK,KAAK,KAAK,EAAE;YAC7B,IACEpB,KAAK,CAACiB,UAAU,CAACH,MAAM,KAAKD,SAAS,CAACI,UAAU,CAACH,MAAM,IACvDD,SAAS,CAACI,UAAU,CAACF,IAAI,CACtBI,IAAI,IAAK,CAACnB,KAAK,CAACiB,UAAU,CAACC,QAAQ,CAACC,IAAI,CAAC,CAC3C,EACD;cACA,OAAO,IAAI;YACb;YAEA,OAAO;cACL,GAAGN,SAAS;cACZR,MAAM,EAAEQ,SAAS,CAACR,MAAM,CAACI,GAAG,CAAEO,KAAK,IACjCA,KAAK,CAACR,GAAG,GAAGQ,KAAK,GAAG;gBAAE,GAAGA,KAAK;gBAAER,GAAG,EAAG,GAAEQ,KAAK,CAACG,IAAK,IAAGtB,MAAM,EAAG;cAAE,CAAC;YAEtE,CAAC;UACH;UAEA,OAAOgB,SAAS;QAClB;MAEA;QACE,OAAO,IAAI;IAAC;EAElB,CAAC;EAEDQ,uBAAuB,CAACpB,MAA8B,EAAE;IACtD,OAAOA,MAAM,CAACC,IAAI,KAAK,UAAU;EACnC;AACF,CAAC;AAED,eAAeJ,UAAU"}
@@ -15,11 +15,9 @@ export function navigate() {
15
15
  };
16
16
  } else {
17
17
  const payload = (arguments.length <= 0 ? undefined : arguments[0]) || {};
18
-
19
18
  if (!payload.hasOwnProperty('key') && !payload.hasOwnProperty('name')) {
20
19
  throw new Error('You need to specify name or key when calling navigate with an object as the argument. See https://reactnavigation.org/docs/navigation-actions#navigate for usage.');
21
20
  }
22
-
23
21
  return {
24
22
  type: 'NAVIGATE',
25
23
  payload
@@ -1 +1 @@
1
- {"version":3,"names":["goBack","type","navigate","payload","name","params","hasOwnProperty","Error","reset","state","setParams"],"sources":["CommonActions.tsx"],"sourcesContent":["import type { NavigationState, PartialState, Route } from './types';\n\ntype ResetState =\n | PartialState<NavigationState>\n | NavigationState\n | (Omit<NavigationState, 'routes'> & {\n routes: Omit<Route<string>, 'key'>[];\n });\n\nexport type Action =\n | {\n type: 'GO_BACK';\n source?: string;\n target?: string;\n }\n | {\n type: 'NAVIGATE';\n payload:\n | {\n key: string;\n name?: undefined;\n params?: object;\n path?: string;\n merge?: boolean;\n }\n | {\n name: string;\n key?: string;\n params?: object;\n path?: string;\n merge?: boolean;\n };\n source?: string;\n target?: string;\n }\n | {\n type: 'RESET';\n payload: ResetState | undefined;\n source?: string;\n target?: string;\n }\n | {\n type: 'SET_PARAMS';\n payload: { params?: object };\n source?: string;\n target?: string;\n };\n\nexport function goBack(): Action {\n return { type: 'GO_BACK' };\n}\n\nexport function navigate(\n options:\n | { key: string; params?: object; path?: string; merge?: boolean }\n | {\n name: string;\n key?: string;\n params?: object;\n path?: string;\n merge?: boolean;\n }\n): Action;\n// eslint-disable-next-line no-redeclare\nexport function navigate(name: string, params?: object): Action;\n// eslint-disable-next-line no-redeclare\nexport function navigate(...args: any): Action {\n if (typeof args[0] === 'string') {\n return { type: 'NAVIGATE', payload: { name: args[0], params: args[1] } };\n } else {\n const payload = args[0] || {};\n\n if (!payload.hasOwnProperty('key') && !payload.hasOwnProperty('name')) {\n throw new Error(\n 'You need to specify name or key when calling navigate with an object as the argument. See https://reactnavigation.org/docs/navigation-actions#navigate for usage.'\n );\n }\n\n return { type: 'NAVIGATE', payload };\n }\n}\n\nexport function reset(state: ResetState | undefined): Action {\n return { type: 'RESET', payload: state };\n}\n\nexport function setParams(params: object): Action {\n return { type: 'SET_PARAMS', payload: { params } };\n}\n"],"mappings":"AAgDA,OAAO,SAASA,MAAT,GAA0B;EAC/B,OAAO;IAAEC,IAAI,EAAE;EAAR,CAAP;AACD;AAeD;AACA,OAAO,SAASC,QAAT,GAAwC;EAC7C,IAAI,8DAAmB,QAAvB,EAAiC;IAC/B,OAAO;MAAED,IAAI,EAAE,UAAR;MAAoBE,OAAO,EAAE;QAAEC,IAAI,kDAAN;QAAiBC,MAAM;MAAvB;IAA7B,CAAP;EACD,CAFD,MAEO;IACL,MAAMF,OAAO,GAAG,sDAAW,EAA3B;;IAEA,IAAI,CAACA,OAAO,CAACG,cAAR,CAAuB,KAAvB,CAAD,IAAkC,CAACH,OAAO,CAACG,cAAR,CAAuB,MAAvB,CAAvC,EAAuE;MACrE,MAAM,IAAIC,KAAJ,CACJ,mKADI,CAAN;IAGD;;IAED,OAAO;MAAEN,IAAI,EAAE,UAAR;MAAoBE;IAApB,CAAP;EACD;AACF;AAED,OAAO,SAASK,KAAT,CAAeC,KAAf,EAAsD;EAC3D,OAAO;IAAER,IAAI,EAAE,OAAR;IAAiBE,OAAO,EAAEM;EAA1B,CAAP;AACD;AAED,OAAO,SAASC,SAAT,CAAmBL,MAAnB,EAA2C;EAChD,OAAO;IAAEJ,IAAI,EAAE,YAAR;IAAsBE,OAAO,EAAE;MAAEE;IAAF;EAA/B,CAAP;AACD"}
1
+ {"version":3,"names":["goBack","type","navigate","payload","name","params","hasOwnProperty","Error","reset","state","setParams"],"sourceRoot":"../../src","sources":["CommonActions.tsx"],"mappings":"AAgDA,OAAO,SAASA,MAAM,GAAW;EAC/B,OAAO;IAAEC,IAAI,EAAE;EAAU,CAAC;AAC5B;AAeA;AACA,OAAO,SAASC,QAAQ,GAAuB;EAC7C,IAAI,yDAAc,KAAK,QAAQ,EAAE;IAC/B,OAAO;MAAED,IAAI,EAAE,UAAU;MAAEE,OAAO,EAAE;QAAEC,IAAI,kDAAS;QAAEC,MAAM;MAAU;IAAE,CAAC;EAC1E,CAAC,MAAM;IACL,MAAMF,OAAO,GAAG,sDAAW,CAAC,CAAC;IAE7B,IAAI,CAACA,OAAO,CAACG,cAAc,CAAC,KAAK,CAAC,IAAI,CAACH,OAAO,CAACG,cAAc,CAAC,MAAM,CAAC,EAAE;MACrE,MAAM,IAAIC,KAAK,CACb,mKAAmK,CACpK;IACH;IAEA,OAAO;MAAEN,IAAI,EAAE,UAAU;MAAEE;IAAQ,CAAC;EACtC;AACF;AAEA,OAAO,SAASK,KAAK,CAACC,KAA6B,EAAU;EAC3D,OAAO;IAAER,IAAI,EAAE,OAAO;IAAEE,OAAO,EAAEM;EAAM,CAAC;AAC1C;AAEA,OAAO,SAASC,SAAS,CAACL,MAAc,EAAU;EAChD,OAAO;IAAEJ,IAAI,EAAE,YAAY;IAAEE,OAAO,EAAE;MAAEE;IAAO;EAAE,CAAC;AACpD"}