{"version":3,"file":"reactRouterV7.mjs","names":["originalCreateBrowserRouter","originalCreateHashRouter","originalCreateMemoryRouter","originalUseRoutes"],"sources":["../../src/entries/reactRouterV7.ts"],"sourcesContent":["/**\n * React Router v7 integration.\n *\n * @packageDocumentation\n * @example\n * ```ts\n * import { RouterProvider } from 'react-router'\n * import { datadogRum } from '@datadog/browser-rum'\n * import { reactPlugin } from '@datadog/browser-rum-react'\n *\n * // ⚠️ Use \"createBrowserRouter\" from `@datadog/browser-rum-react/react-router-v7` instead of `react-router`\n * import { createBrowserRouter } from '@datadog/browser-rum-react/react-router-v7'\n *\n * datadogRum.init({\n *   applicationId: '<DATADOG_APPLICATION_ID>',\n *   clientToken: '<DATADOG_CLIENT_TOKEN>',\n *   plugins: [reactPlugin({ router: true })],\n *   // ...\n * })\n *\n * const router = createBrowserRouter([\n *   {\n *     path: '/',\n *     element: <Root />,\n *     // ...\n *   },\n * ])\n *\n * ReactDOM.createRoot(document.getElementById('root')).render(<RouterProvider router={router} />)\n * ```\n */\n/* eslint-disable local-rules/disallow-side-effects */\n\nimport {\n  createBrowserRouter as originalCreateBrowserRouter,\n  createHashRouter as originalCreateHashRouter,\n  createMemoryRouter as originalCreateMemoryRouter,\n  useRoutes as originalUseRoutes,\n  useLocation,\n  matchRoutes,\n  createRoutesFromChildren,\n} from 'react-router'\nimport type { Routes as originalRoutes } from 'react-router'\nimport { wrapCreateRouter, createRoutesComponent, wrapUseRoutes } from '../domain/reactRouter'\nimport { setReactRouterType } from '../domain/reactPlugin'\n\nsetReactRouterType('react-router-v7')\n\n/**\n * Use this function in place of `react-router-dom` `createBrowserRouter`. Every time a route is\n * rendered, a new RUM view is created.\n *\n * @see https://reactrouter.com/v7/api/data-routers/createBrowserRouter\n */\nexport const createBrowserRouter: typeof originalCreateBrowserRouter = wrapCreateRouter(originalCreateBrowserRouter)\n\n/**\n * Use this function in place of `react-router-dom` `createHashRouter`. Every time a route is\n * rendered, a new RUM view is created.\n *\n * @see https://reactrouter.com/v7/api/data-routers/createHashRouter\n */\nexport const createHashRouter: typeof originalCreateHashRouter = wrapCreateRouter(originalCreateHashRouter)\n\n/**\n * Use this function in place of `react-router-dom` `createMemoryRouter`. Every time a route is\n * rendered, a new RUM view is created.\n *\n * @see https://reactrouter.com/v7/api/data-routers/createMemoryRouter\n */\nexport const createMemoryRouter: typeof originalCreateMemoryRouter = wrapCreateRouter(originalCreateMemoryRouter)\n\n/**\n * Use this hook in place of `react-router-dom` `useRoutes`. Every time a route is rendered, a new\n * RUM view is created.\n *\n * @see https://reactrouter.com/v7/api/hooks/useRoutes\n */\nexport const useRoutes: typeof originalUseRoutes = wrapUseRoutes({\n  useRoutes: originalUseRoutes,\n  useLocation,\n  matchRoutes,\n})\n\n/**\n * Use this component in place of `react-router-dom` `Routes`. Every time a route is rendered, a new\n * RUM view is created.\n *\n * @see https://reactrouter.com/v7/api/components/Routes\n */\nexport const Routes: typeof originalRoutes = createRoutesComponent(useRoutes, createRoutesFromChildren)\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8CA,mBAAmB,iBAAiB;;;;;;;AAQpC,MAAa,sBAA0D,iBAAiBA,qBAA2B;;;;;;;AAQnH,MAAa,mBAAoD,iBAAiBC,kBAAwB;;;;;;;AAQ1G,MAAa,qBAAwD,iBAAiBC,oBAA0B;;;;;;;AAQhH,MAAa,YAAsC,cAAc;CAC/D,WAAWC;CACX;CACA;AACF,CAAC;;;;;;;AAQD,MAAa,SAAgC,sBAAsB,WAAW,wBAAwB"}