{"version":3,"sources":["../src/constants.ts","../src/features/decorator/utils/injectStory.ts","../src/utils/misc.ts","../src/features/decorator/utils/isValidReactNode.ts"],"names":["ADDON_ID","PANEL_ID","EVENTS","injectStory","routes","StoryElement","route","hasOwnProperty","obj","prop","isValidReactNode","React"],"mappings":"oJAAO,IAAMA,EAAW,2BACXC,KAGAC,CAAS,CAAA,CACpB,KAAO,CAAA,CAAA,EAAGF,CAAQ,CAClB,MAAA,CAAA,CAAA,UAAA,CAAY,GAAGA,CAAQ,CAAA,WAAA,CAAA,CACvB,aAAc,CAAGA,EAAAA,CAAQ,CACzB,aAAA,CAAA,CAAA,aAAA,CAAe,GAAGA,CAAQ,CAAA,cAAA,CAAA,CAC1B,eAAgB,CAAGA,EAAAA,CAAQ,kBAC3B,cAAgB,CAAA,CAAA,EAAGA,CAAQ,CAC3B,eAAA,CAAA,CAAA,cAAA,CAAgB,GAAGA,CAAQ,CAAA,eAAA,CAAA,CAC3B,eAAgB,CAAGA,EAAAA,CAAQ,iBAC7B,ECVO,SAASG,CAAYC,CAAAA,CAAAA,CAAuBC,EAAiD,CAElG,OAAID,EAAO,MAAW,GAAA,CAAA,GAAMA,EAAO,CAAC,CAAA,CAAE,QAAa,GAAA,KAAA,CAAA,EAAaA,EAAO,CAAC,CAAA,CAAE,SAAS,MAAW,GAAA,CAAA,CAAA,CACrF,CAAC,CAAE,GAAGA,CAAO,CAAA,CAAC,EAAG,OAASC,CAAAA,CAAa,CAAC,CAGzBD,CAAAA,CAAAA,CAAO,UAAWE,CAAUA,EAAAA,CAAAA,CAAM,eAAe,CAEjD,GAAA,CAAA,CAAA,CACfF,EAAO,GAAKE,CAAAA,CAAAA,EACZA,EAAM,eAEJ,CAAA,CACL,GAAGA,CACH,CAAA,OAAA,CAASD,CACX,CAAA,CALmCC,CAMpC,CAGIF,CAAAA,CAAAA,CAAO,IAAKE,CACZA,EAAAA,CAAAA,CAAM,SAEJ,CACL,GAAGA,CACH,CAAA,QAAA,CAAUH,EAAYG,CAAM,CAAA,QAAA,CAAUD,CAAY,CACpD,CAAA,CAL4BC,CAM7B,CACH,CCXO,SAASC,CAAAA,CAAwDC,EAAQC,CAAiC,CAAA,CAC/G,OAAO,MAAO,CAAA,SAAA,CAAU,eAAe,IAAKD,CAAAA,CAAAA,CAAKC,CAAI,CACvD,CClBO,SAASC,CAAiB,CAAA,CAAA,CAAkC,CACjE,GAAIC,kBAAAA,CAAM,cAAe,CAAA,CAAC,EAAG,OAAO,CAAA,CAAA,CAEpC,OAAQ,CAAM,CAAA,EACZ,KAAKA,kBAAM,CAAA,cAAA,CAAe,CAAC,CAAA,CAC3B,KAAK,OAAO,CAAA,EAAM,SAClB,KAAK,OAAO,GAAM,QAClB,CAAA,KAAK,OAAO,CAAA,EAAM,UAClB,KAAK,CAAA,GAAM,KACX,KAAK,CAAA,GAAM,OACX,KAAK,CAAA,YAAa,QAAUJ,CAAe,CAAA,CAAA,CAAG,OAAO,QAAQ,CAAA,EAC3D,OAAO,CACX,CAAA,CAEA,OAAO,CACT,CAAA","file":"internals.cjs","sourcesContent":["export const ADDON_ID = 'storybook/react-router-v6';\nexport const PANEL_ID = `${ADDON_ID}/panel`;\nexport const PARAM_KEY = `reactRouter`;\n\nexport const EVENTS = {\n  CLEAR: `${ADDON_ID}/clear`,\n  NAVIGATION: `${ADDON_ID}/navigation`,\n  STORY_LOADED: `${ADDON_ID}/story-loaded`,\n  ROUTE_MATCHES: `${ADDON_ID}/route-matches`,\n  ACTION_INVOKED: `${ADDON_ID}/action_invoked`,\n  ACTION_SETTLED: `${ADDON_ID}/action_settled`,\n  LOADER_INVOKED: `${ADDON_ID}/loader_invoked`,\n  LOADER_SETTLED: `${ADDON_ID}/loader_settled`,\n} as const;\n","import React from 'react';\nimport { RouterRoute } from '../types';\n\nexport function injectStory(routes: RouterRoute[], StoryElement: React.ReactElement): RouterRoute[] {\n  // Single route, no children\n  if (routes.length === 1 && (routes[0].children === undefined || routes[0].children.length === 0)) {\n    return [{ ...routes[0], element: StoryElement }];\n  }\n\n  const storyRouteIndex = routes.findIndex((route) => route.useStoryElement);\n\n  if (storyRouteIndex !== -1) {\n    return routes.map((route) => {\n      if (!route.useStoryElement) return route;\n\n      return {\n        ...route,\n        element: StoryElement,\n      };\n    });\n  }\n\n  return routes.map((route) => {\n    if (!route.children) return route;\n\n    return {\n      ...route,\n      children: injectStory(route.children, StoryElement),\n    };\n  });\n}\n","import { AssertKey, ToArray } from './type-utils';\n\nexport type Deferred<T> = {\n  promise: Promise<T>;\n  resolve: (value: T | PromiseLike<T>) => void;\n  reject: (reason?: unknown) => void;\n};\n\nexport function defer<T = void>(): Deferred<T> {\n  const deferred: Partial<Deferred<T>> = {};\n\n  deferred.promise = new Promise<T>((resolve, reject) => {\n    deferred.resolve = resolve;\n    deferred.reject = reject;\n  });\n\n  return deferred as Deferred<T>;\n}\n\nexport function hasOwnProperty<T extends object, K extends PropertyKey>(obj: T, prop: K): obj is AssertKey<T, K> {\n  return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nexport function invariant(value: boolean, message?: string): asserts value;\nexport function invariant<T>(value: T | null | undefined, message?: string): asserts value is T;\nexport function invariant(value: any, message?: string) {\n  if (value === false || value === null || typeof value === 'undefined') {\n    console.warn('Test invariant failed:', message);\n    throw new Error(message);\n  }\n}\n\nexport function castArray(): [];\nexport function castArray<T>(value: T): ToArray<T>;\nexport function castArray<T>(value?: T) {\n  if (arguments.length === 0) {\n    return [];\n  }\n\n  return (Array.isArray(value) ? value : [value]) as ToArray<T>;\n}\n","import React from 'react';\nimport { hasOwnProperty } from '../../../utils/misc';\n\nexport function isValidReactNode(e: unknown): e is React.ReactNode {\n  if (React.isValidElement(e)) return true;\n\n  switch (true) {\n    case React.isValidElement(e):\n    case typeof e === 'string':\n    case typeof e === 'number':\n    case typeof e === 'boolean':\n    case e === null:\n    case e === undefined:\n    case e instanceof Object && hasOwnProperty(e, Symbol.iterator):\n      return true;\n  }\n\n  return false;\n}\n"]}