{"version":3,"sources":["../src/RoutingSpec.ts"],"sourcesContent":["import type { FC, ReactNode } from 'react';\n\n/** Named parameters extracted from a route match (`:name` segments, `*` rest). */\nexport type RouteParams = Record<string, string>;\n\n/** A route target that receives the matched params as a prop. */\nexport type RouteComponent = FC<{ params: RouteParams }>;\n\nexport type RoutingRule = {\n  name?: string;\n  /**\n   * What to match against the app-owned `sandboxPath`. A string is a path\n   * template (`/posts/:slug`, `/files/*`, or a literal like `/`) compiled to an\n   * anchored regex; a `RegExp` is used as authored (the escape hatch — you own\n   * anchoring).\n   */\n  pattern: string | RegExp;\n  /** Element to render for this route. Reads params via `useRouteParams()`. */\n  element?: ReactNode;\n  /** Component to render for this route; receives the matched params as a prop. */\n  component?: RouteComponent;\n  /** @deprecated Use `element`. Accepted for backward compatibility. */\n  reactNode?: ReactNode;\n};\n\nexport type RoutingSpec = {\n  routes: RoutingRule[];\n};\n"],"mappings":";;;;;;;;;;;;;;AAAA;AAAA;","names":[]}