{"ast":null,"code":"\"use strict\";\n\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nimport * as React from 'react';\nimport { NavigationBuilderContext } from \"./NavigationBuilderContext.js\";\nimport { NavigationContext } from \"./NavigationContext.js\";\nimport { NavigationRouteContext } from \"./NavigationRouteContext.js\";\nimport { SceneView } from \"./SceneView.js\";\nimport { ThemeContext } from \"./theming/ThemeContext.js\";\nimport { useNavigationCache } from \"./useNavigationCache.js\";\nimport { useRouteCache } from \"./useRouteCache.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport function useDescriptors(_ref) {\n  var state = _ref.state,\n    screens = _ref.screens,\n    navigation = _ref.navigation,\n    screenOptions = _ref.screenOptions,\n    screenLayout = _ref.screenLayout,\n    onAction = _ref.onAction,\n    getState = _ref.getState,\n    setState = _ref.setState,\n    addListener = _ref.addListener,\n    addKeyedListener = _ref.addKeyedListener,\n    onRouteFocus = _ref.onRouteFocus,\n    router = _ref.router,\n    emitter = _ref.emitter;\n  var theme = React.useContext(ThemeContext);\n  var _React$useState = React.useState({}),\n    _React$useState2 = _slicedToArray(_React$useState, 2),\n    options = _React$useState2[0],\n    setOptions = _React$useState2[1];\n  var _React$useContext = React.useContext(NavigationBuilderContext),\n    onDispatchAction = _React$useContext.onDispatchAction,\n    onOptionsChange = _React$useContext.onOptionsChange,\n    scheduleUpdate = _React$useContext.scheduleUpdate,\n    flushUpdates = _React$useContext.flushUpdates,\n    stackRef = _React$useContext.stackRef;\n  var context = React.useMemo(function () {\n    return {\n      navigation: navigation,\n      onAction: onAction,\n      addListener: addListener,\n      addKeyedListener: addKeyedListener,\n      onRouteFocus: onRouteFocus,\n      onDispatchAction: onDispatchAction,\n      onOptionsChange: onOptionsChange,\n      scheduleUpdate: scheduleUpdate,\n      flushUpdates: flushUpdates,\n      stackRef: stackRef\n    };\n  }, [navigation, onAction, addListener, addKeyedListener, onRouteFocus, onDispatchAction, onOptionsChange, scheduleUpdate, flushUpdates, stackRef]);\n  var _useNavigationCache = useNavigationCache({\n      state: state,\n      getState: getState,\n      navigation: navigation,\n      setOptions: setOptions,\n      router: router,\n      emitter: emitter\n    }),\n    base = _useNavigationCache.base,\n    navigations = _useNavigationCache.navigations;\n  var routes = useRouteCache(state.routes);\n  var getOptions = function getOptions(route, navigation, overrides) {\n    var config = screens[route.name];\n    var screen = config.props;\n    var optionsList = [screenOptions].concat(_toConsumableArray(config.options ? config.options.filter(Boolean) : []), [screen.options, overrides]);\n    return optionsList.reduce(function (acc, curr) {\n      return Object.assign(acc, typeof curr !== 'function' ? curr : curr({\n        route: route,\n        navigation: navigation,\n        theme: theme\n      }));\n    }, {});\n  };\n  var render = function render(route, navigation, customOptions, routeState) {\n    var _ref2, _screen$layout;\n    var config = screens[route.name];\n    var screen = config.props;\n    var clearOptions = function clearOptions() {\n      return setOptions(function (o) {\n        if (route.key in o) {\n          var _route$key = route.key,\n            _ = o[_route$key],\n            rest = _objectWithoutProperties(o, [_route$key].map(_toPropertyKey));\n          return rest;\n        }\n        return o;\n      });\n    };\n    var layout = (_ref2 = (_screen$layout = screen.layout) != null ? _screen$layout : config.layout) != null ? _ref2 : screenLayout;\n    var element = _jsx(SceneView, {\n      navigation: navigation,\n      route: route,\n      screen: screen,\n      routeState: routeState,\n      getState: getState,\n      setState: setState,\n      options: customOptions,\n      clearOptions: clearOptions\n    });\n    if (layout != null) {\n      element = layout({\n        route: route,\n        navigation: navigation,\n        options: customOptions,\n        theme: theme,\n        children: element\n      });\n    }\n    return _jsx(NavigationBuilderContext.Provider, {\n      value: context,\n      children: _jsx(NavigationContext.Provider, {\n        value: navigation,\n        children: _jsx(NavigationRouteContext.Provider, {\n          value: route,\n          children: element\n        })\n      })\n    }, route.key);\n  };\n  var descriptors = routes.reduce(function (acc, route, i) {\n    var navigation = navigations[route.key];\n    var customOptions = getOptions(route, navigation, options[route.key]);\n    var element = render(route, navigation, customOptions, state.routes[i].state);\n    acc[route.key] = {\n      route: route,\n      navigation: navigation,\n      render: function render() {\n        return element;\n      },\n      options: customOptions\n    };\n    return acc;\n  }, {});\n  var describe = function describe(route, placeholder) {\n    if (!placeholder) {\n      if (!(route.key in descriptors)) {\n        throw new Error(`Couldn't find a route with the key ${route.key}.`);\n      }\n      return descriptors[route.key];\n    }\n    var navigation = base;\n    var customOptions = getOptions(route, navigation, {});\n    var element = render(route, navigation, customOptions, undefined);\n    return {\n      route: route,\n      navigation: navigation,\n      render: function render() {\n        return element;\n      },\n      options: customOptions\n    };\n  };\n  return {\n    describe: describe,\n    descriptors: descriptors\n  };\n}","map":{"version":3,"names":["React","NavigationBuilderContext","NavigationContext","NavigationRouteContext","SceneView","ThemeContext","useNavigationCache","useRouteCache","jsx","_jsx","useDescriptors","_ref","state","screens","navigation","screenOptions","screenLayout","onAction","getState","setState","addListener","addKeyedListener","onRouteFocus","router","emitter","theme","useContext","_React$useState","useState","_React$useState2","_slicedToArray","options","setOptions","_React$useContext","onDispatchAction","onOptionsChange","scheduleUpdate","flushUpdates","stackRef","context","useMemo","_useNavigationCache","base","navigations","routes","getOptions","route","overrides","config","name","screen","props","optionsList","concat","_toConsumableArray","filter","Boolean","reduce","acc","curr","Object","assign","render","customOptions","routeState","_ref2","_screen$layout","clearOptions","o","key","_route$key","_","rest","_objectWithoutProperties","map","_toPropertyKey","layout","element","children","Provider","value","descriptors","i","describe","placeholder","Error","undefined"],"sources":["/Users/pmouli/Documents/GitHub.nosync/boots-strapper/mobile/node_modules/@react-navigation/core/src/useDescriptors.tsx"],"sourcesContent":["import type {\n  NavigationAction,\n  NavigationState,\n  ParamListBase,\n  PartialState,\n  Router,\n} from '@react-navigation/routers';\nimport * as React from 'react';\n\nimport {\n  type AddKeyedListener,\n  type AddListener,\n  NavigationBuilderContext,\n} from './NavigationBuilderContext';\nimport { NavigationContext } from './NavigationContext';\nimport { NavigationRouteContext } from './NavigationRouteContext';\nimport { SceneView } from './SceneView';\nimport { ThemeContext } from './theming/ThemeContext';\nimport type {\n  Descriptor,\n  EventMapBase,\n  NavigationHelpers,\n  NavigationProp,\n  RouteConfig,\n  RouteProp,\n} from './types';\nimport type { NavigationEventEmitter } from './useEventEmitter';\nimport { useNavigationCache } from './useNavigationCache';\nimport { useRouteCache } from './useRouteCache';\n\nexport type ScreenConfigWithParent<\n  State extends NavigationState,\n  ScreenOptions extends {},\n  EventMap extends EventMapBase,\n> = {\n  keys: (string | undefined)[];\n  options: (ScreenOptionsOrCallback<ScreenOptions> | undefined)[] | undefined;\n  layout: ScreenLayout<ScreenOptions> | undefined;\n  props: RouteConfig<\n    ParamListBase,\n    string,\n    State,\n    ScreenOptions,\n    EventMap,\n    unknown\n  >;\n};\n\ntype ScreenLayout<ScreenOptions extends {}> = (props: {\n  route: RouteProp<ParamListBase, string>;\n  options: ScreenOptions;\n  navigation: any;\n  theme: ReactNavigation.Theme;\n  children: React.ReactElement;\n}) => React.ReactElement;\n\ntype ScreenOptionsOrCallback<ScreenOptions extends {}> =\n  | ScreenOptions\n  | ((props: {\n      route: RouteProp<ParamListBase, string>;\n      navigation: any;\n      theme: ReactNavigation.Theme;\n    }) => ScreenOptions);\n\ntype Options<\n  State extends NavigationState,\n  ScreenOptions extends {},\n  EventMap extends EventMapBase,\n> = {\n  state: State;\n  screens: Record<\n    string,\n    ScreenConfigWithParent<State, ScreenOptions, EventMap>\n  >;\n  navigation: NavigationHelpers<ParamListBase>;\n  screenOptions: ScreenOptionsOrCallback<ScreenOptions> | undefined;\n  screenLayout: ScreenLayout<ScreenOptions> | undefined;\n  onAction: (action: NavigationAction) => boolean;\n  getState: () => State;\n  setState: (state: State) => void;\n  addListener: AddListener;\n  addKeyedListener: AddKeyedListener;\n  onRouteFocus: (key: string) => void;\n  router: Router<State, NavigationAction>;\n  emitter: NavigationEventEmitter<EventMap>;\n};\n\n/**\n * Hook to create descriptor objects for the child routes.\n *\n * A descriptor object provides 3 things:\n * - Helper method to render a screen\n * - Options specified by the screen for the navigator\n * - Navigation object intended for the route\n */\nexport function useDescriptors<\n  State extends NavigationState,\n  ActionHelpers extends Record<string, () => void>,\n  ScreenOptions extends {},\n  EventMap extends EventMapBase,\n>({\n  state,\n  screens,\n  navigation,\n  screenOptions,\n  screenLayout,\n  onAction,\n  getState,\n  setState,\n  addListener,\n  addKeyedListener,\n  onRouteFocus,\n  router,\n  emitter,\n}: Options<State, ScreenOptions, EventMap>) {\n  const theme = React.useContext(ThemeContext);\n  const [options, setOptions] = React.useState<Record<string, ScreenOptions>>(\n    {}\n  );\n  const {\n    onDispatchAction,\n    onOptionsChange,\n    scheduleUpdate,\n    flushUpdates,\n    stackRef,\n  } = React.useContext(NavigationBuilderContext);\n\n  const context = React.useMemo(\n    () => ({\n      navigation,\n      onAction,\n      addListener,\n      addKeyedListener,\n      onRouteFocus,\n      onDispatchAction,\n      onOptionsChange,\n      scheduleUpdate,\n      flushUpdates,\n      stackRef,\n    }),\n    [\n      navigation,\n      onAction,\n      addListener,\n      addKeyedListener,\n      onRouteFocus,\n      onDispatchAction,\n      onOptionsChange,\n      scheduleUpdate,\n      flushUpdates,\n      stackRef,\n    ]\n  );\n\n  const { base, navigations } = useNavigationCache<\n    State,\n    ScreenOptions,\n    EventMap,\n    ActionHelpers\n  >({\n    state,\n    getState,\n    navigation,\n    setOptions,\n    router,\n    emitter,\n  });\n\n  const routes = useRouteCache(state.routes);\n\n  const getOptions = (\n    route: RouteProp<ParamListBase, string>,\n    navigation: NavigationProp<\n      ParamListBase,\n      string,\n      string | undefined,\n      State,\n      ScreenOptions,\n      EventMap\n    >,\n    overrides: Record<string, ScreenOptions>\n  ) => {\n    const config = screens[route.name];\n    const screen = config.props;\n\n    const optionsList = [\n      // The default `screenOptions` passed to the navigator\n      screenOptions,\n      // The `screenOptions` props passed to `Group` elements\n      ...((config.options\n        ? config.options.filter(Boolean)\n        : []) as ScreenOptionsOrCallback<ScreenOptions>[]),\n      // The `options` prop passed to `Screen` elements,\n      screen.options,\n      // The options set via `navigation.setOptions`\n      overrides,\n    ];\n\n    return optionsList.reduce<ScreenOptions>(\n      (acc, curr) =>\n        Object.assign(\n          acc,\n          // @ts-expect-error: we check for function but TS still complains\n          typeof curr !== 'function' ? curr : curr({ route, navigation, theme })\n        ),\n      {} as ScreenOptions\n    );\n  };\n\n  const render = (\n    route: RouteProp<ParamListBase, string>,\n    navigation: NavigationProp<\n      ParamListBase,\n      string,\n      string | undefined,\n      State,\n      ScreenOptions,\n      EventMap\n    >,\n    customOptions: ScreenOptions,\n    routeState: NavigationState | PartialState<NavigationState> | undefined\n  ) => {\n    const config = screens[route.name];\n    const screen = config.props;\n\n    const clearOptions = () =>\n      setOptions((o) => {\n        if (route.key in o) {\n          // eslint-disable-next-line @typescript-eslint/no-unused-vars\n          const { [route.key]: _, ...rest } = o;\n          return rest;\n        }\n\n        return o;\n      });\n\n    const layout =\n      // The `layout` prop passed to `Screen` elements,\n      screen.layout ??\n      // The `screenLayout` props passed to `Group` elements\n      config.layout ??\n      // The default `screenLayout` passed to the navigator\n      screenLayout;\n\n    let element = (\n      <SceneView\n        navigation={navigation}\n        route={route}\n        screen={screen}\n        routeState={routeState}\n        getState={getState}\n        setState={setState}\n        options={customOptions}\n        clearOptions={clearOptions}\n      />\n    );\n\n    if (layout != null) {\n      element = layout({\n        route,\n        navigation,\n        options: customOptions,\n        // @ts-expect-error: in practice `theme` will be defined\n        theme,\n        children: element,\n      });\n    }\n\n    return (\n      <NavigationBuilderContext.Provider key={route.key} value={context}>\n        <NavigationContext.Provider value={navigation}>\n          <NavigationRouteContext.Provider value={route}>\n            {element}\n          </NavigationRouteContext.Provider>\n        </NavigationContext.Provider>\n      </NavigationBuilderContext.Provider>\n    );\n  };\n\n  const descriptors = routes.reduce<\n    Record<\n      string,\n      Descriptor<\n        ScreenOptions,\n        NavigationProp<\n          ParamListBase,\n          string,\n          string | undefined,\n          State,\n          ScreenOptions,\n          EventMap\n        > &\n          ActionHelpers,\n        RouteProp<ParamListBase>\n      >\n    >\n  >((acc, route, i) => {\n    const navigation = navigations[route.key];\n    const customOptions = getOptions(route, navigation, options[route.key]);\n    const element = render(\n      route,\n      navigation,\n      customOptions,\n      state.routes[i].state\n    );\n\n    acc[route.key] = {\n      route,\n      // @ts-expect-error: it's missing action helpers, fix later\n      navigation,\n      render() {\n        return element;\n      },\n      options: customOptions as ScreenOptions,\n    };\n\n    return acc;\n  }, {});\n\n  /**\n   * Create a descriptor object for a route.\n   *\n   * @param route Route object for which the descriptor should be created\n   * @param placeholder Whether the descriptor should be a placeholder, e.g. for a route not yet in the state\n   * @returns Descriptor object\n   */\n  const describe = (route: RouteProp<ParamListBase>, placeholder: boolean) => {\n    if (!placeholder) {\n      if (!(route.key in descriptors)) {\n        throw new Error(`Couldn't find a route with the key ${route.key}.`);\n      }\n\n      return descriptors[route.key];\n    }\n\n    const navigation = base;\n    const customOptions = getOptions(route, navigation, {});\n    const element = render(route, navigation, customOptions, undefined);\n\n    return {\n      route,\n      navigation,\n      render() {\n        return element;\n      },\n      options: customOptions as ScreenOptions,\n    };\n  };\n\n  return {\n    describe,\n    descriptors,\n  };\n}\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}