reroute-js 0.6.0 → 0.7.1

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 (114) hide show
  1. package/README.md +1 -0
  2. package/_/basic/package.json +4 -4
  3. package/_/basic/src/client/index.html +1 -1
  4. package/_/basic/src/index.ts +1 -3
  5. package/_/blog/package.json +4 -4
  6. package/_/blog/src/client/App.tsx +1 -0
  7. package/_/blog/src/client/index.html +1 -1
  8. package/_/blog/src/client/routes/blog/content/1-hello-world.tsx +1 -1
  9. package/_/blog/src/client/routes/blog/content/3-markdown-with-syntax-highlighting.mdx +213 -0
  10. package/_/blog/src/client/routes/blog/content/4-content-in-markdown.md +143 -0
  11. package/_/blog/src/client/routes/blog/content/5-mdx-with-components.mdx +267 -0
  12. package/_/blog/src/client/routes/blog/index.tsx +59 -0
  13. package/_/blog/src/client/routes/client.tsx +564 -0
  14. package/_/blog/src/client/routes/docs.tsx +670 -0
  15. package/_/blog/src/client/routes/index.tsx +37 -0
  16. package/_/blog/src/client/routes/markdown-demo.md +169 -0
  17. package/_/blog/src/client/routes/markdown.tsx +160 -0
  18. package/_/blog/src/index.ts +5 -2
  19. package/_/store/package.json +4 -4
  20. package/_/store/src/client/index.html +1 -1
  21. package/_/store/src/index.ts +1 -1
  22. package/cli/bin.d.ts +1 -1
  23. package/cli/bin.js +806 -14
  24. package/cli/bin.js.map +11 -7
  25. package/cli/index.d.ts +1 -1
  26. package/cli/index.js +52 -3
  27. package/cli/index.js.map +4 -3
  28. package/cli/src/cli.d.ts +1 -1
  29. package/cli/src/commands/boot.d.ts +1 -1
  30. package/cli/src/commands/build.d.ts +19 -0
  31. package/cli/src/commands/build.d.ts.map +1 -0
  32. package/cli/src/commands/dev.d.ts +18 -0
  33. package/cli/src/commands/dev.d.ts.map +1 -0
  34. package/cli/src/commands/gen.d.ts +1 -1
  35. package/cli/src/commands/init.d.ts +1 -1
  36. package/cli/src/commands/start.d.ts +19 -0
  37. package/cli/src/commands/start.d.ts.map +1 -0
  38. package/cli/src/libs/index.d.ts +2 -1
  39. package/cli/src/libs/index.d.ts.map +1 -1
  40. package/cli/src/libs/log.d.ts +46 -0
  41. package/cli/src/libs/log.d.ts.map +1 -0
  42. package/cli/src/libs/markdown-processor.d.ts +1 -1
  43. package/cli/src/libs/markdown.d.ts +1 -1
  44. package/cli/src/libs/tailwind.d.ts +1 -1
  45. package/cli/src/libs/version.d.ts +1 -1
  46. package/core/index.d.ts +1 -1
  47. package/core/index.js +5 -5
  48. package/core/index.js.map +3 -3
  49. package/core/src/bundler/hash.d.ts +1 -1
  50. package/core/src/bundler/index.d.ts +1 -1
  51. package/core/src/bundler/transpile.d.ts +1 -1
  52. package/core/src/content/discovery.d.ts +1 -1
  53. package/core/src/content/index.d.ts +1 -1
  54. package/core/src/content/metadata.d.ts +1 -1
  55. package/core/src/content/registry.d.ts +1 -1
  56. package/core/src/index.d.ts +1 -1
  57. package/core/src/ssr/data.d.ts +1 -1
  58. package/core/src/ssr/index.d.ts +1 -1
  59. package/core/src/ssr/modules.d.ts +1 -1
  60. package/core/src/ssr/render.d.ts +1 -1
  61. package/core/src/ssr/seed.d.ts +1 -1
  62. package/core/src/template/html.d.ts +1 -1
  63. package/core/src/template/index.d.ts +1 -1
  64. package/core/src/types.d.ts +1 -1
  65. package/core/src/utils/cache.d.ts +1 -1
  66. package/core/src/utils/compression.d.ts +1 -1
  67. package/core/src/utils/index.d.ts +1 -1
  68. package/core/src/utils/mime.d.ts +1 -1
  69. package/core/src/utils/path.d.ts +1 -1
  70. package/elysia/index.d.ts +1 -1
  71. package/elysia/index.js +5 -5
  72. package/elysia/index.js.map +3 -3
  73. package/elysia/src/index.d.ts +1 -1
  74. package/elysia/src/libs/http.d.ts +1 -1
  75. package/elysia/src/libs/image.d.ts +1 -1
  76. package/elysia/src/plugin.d.ts +1 -1
  77. package/elysia/src/routes/artifacts.d.ts +1 -1
  78. package/elysia/src/routes/content.d.ts +1 -1
  79. package/elysia/src/routes/dev.d.ts +1 -1
  80. package/elysia/src/routes/image.d.ts +1 -1
  81. package/elysia/src/routes/ssr.d.ts +1 -1
  82. package/elysia/src/routes/static.d.ts +1 -1
  83. package/elysia/src/types.d.ts +1 -1
  84. package/package.json +6 -1
  85. package/react/index.d.ts +1 -1
  86. package/react/index.js +70 -23
  87. package/react/index.js.map +3 -3
  88. package/react/src/components/ClientOnly.d.ts +1 -1
  89. package/react/src/components/ContentRoute.d.ts +1 -1
  90. package/react/src/components/Image.d.ts +1 -1
  91. package/react/src/components/Link.d.ts +1 -1
  92. package/react/src/components/Markdown.d.ts +1 -1
  93. package/react/src/components/Outlet.d.ts +1 -1
  94. package/react/src/components/index.d.ts +1 -1
  95. package/react/src/hooks/index.d.ts +1 -1
  96. package/react/src/hooks/useContent.d.ts +1 -1
  97. package/react/src/hooks/useData.d.ts +1 -1
  98. package/react/src/hooks/useNavigate.d.ts +1 -1
  99. package/react/src/hooks/useParams.d.ts +1 -1
  100. package/react/src/hooks/useRouter.d.ts +1 -1
  101. package/react/src/hooks/useSearchParams.d.ts +1 -1
  102. package/react/src/index.d.ts +1 -1
  103. package/react/src/providers/ContentProvider.d.ts +1 -1
  104. package/react/src/providers/RerouteProvider.d.ts +1 -1
  105. package/react/src/providers/RouterProvider.d.ts +1 -1
  106. package/react/src/providers/RouterProvider.d.ts.map +1 -1
  107. package/react/src/providers/index.d.ts +1 -1
  108. package/react/src/types/any.d.ts +1 -1
  109. package/react/src/types/index.d.ts +1 -1
  110. package/react/src/types/router.d.ts +1 -1
  111. package/react/src/utils/content.d.ts +1 -1
  112. package/react/src/utils/head.d.ts +1 -1
  113. package/react/src/utils/index.d.ts +1 -1
  114. package/_/blog/src/client/components/Counter.tsx +0 -14
package/react/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v0.6.0
2
+ * reroute-js v0.7.1
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2025 stewones <hi@stewan.io>
package/react/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v0.6.0
2
+ * reroute-js v0.7.1
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2025 stewones <hi@stewan.io>
@@ -407,6 +407,23 @@ function setScrollRestorationEnabled(enabled) {
407
407
  scrollRestorationEnabled = enabled;
408
408
  }
409
409
  var scrollPositions = new Map;
410
+ function hasViewTransitionNames() {
411
+ if (!isBrowser2)
412
+ return false;
413
+ try {
414
+ const allElements = document.querySelectorAll("*");
415
+ for (const el of allElements) {
416
+ const computedStyle = window.getComputedStyle(el);
417
+ const transitionName = computedStyle.viewTransitionName;
418
+ if (transitionName && transitionName !== "none") {
419
+ return true;
420
+ }
421
+ }
422
+ return false;
423
+ } catch {
424
+ return false;
425
+ }
426
+ }
410
427
  function navigateInternal(to, options = {}) {
411
428
  if (!isBrowser2)
412
429
  return;
@@ -438,32 +455,54 @@ function navigateInternal(to, options = {}) {
438
455
  };
439
456
  emitChange();
440
457
  };
441
- if (viewTransitionsEnabled) {
458
+ const shouldUseViewTransition = viewTransitionsEnabled && hasViewTransitionNames();
459
+ if (shouldUseViewTransition) {
442
460
  document.startViewTransition(() => {
443
461
  flushSync(() => {
444
462
  updateState();
463
+ if (url.hash) {
464
+ const immediate = document.querySelector(url.hash);
465
+ if (immediate) {
466
+ immediate.scrollIntoView({ behavior: "smooth", block: "start" });
467
+ } else {
468
+ let attempts = 0;
469
+ const maxAttempts = 10;
470
+ const tryScroll = () => {
471
+ const el = document.querySelector(url.hash);
472
+ if (el) {
473
+ el.scrollIntoView({ behavior: "smooth", block: "start" });
474
+ } else if (attempts < maxAttempts) {
475
+ attempts++;
476
+ requestAnimationFrame(tryScroll);
477
+ }
478
+ };
479
+ requestAnimationFrame(tryScroll);
480
+ }
481
+ } else {
482
+ window.scrollTo({ top: 0, left: 0, behavior: "instant" });
483
+ }
445
484
  });
446
485
  });
447
486
  } else {
448
487
  updateState();
449
- }
450
- if (url.hash) {
451
- let attempts = 0;
452
- const maxAttempts = 10;
453
- const tryScroll = () => {
454
- const element = document.querySelector(url.hash);
455
- if (element) {
456
- element.scrollIntoView({ behavior: "smooth", block: "start" });
457
- } else if (attempts < maxAttempts) {
458
- attempts++;
459
- setTimeout(tryScroll, 50);
488
+ requestAnimationFrame(() => {
489
+ if (url.hash) {
490
+ let attempts = 0;
491
+ const maxAttempts = 10;
492
+ const tryScroll = () => {
493
+ const element = document.querySelector(url.hash);
494
+ if (element) {
495
+ element.scrollIntoView({ behavior: "smooth", block: "start" });
496
+ } else if (attempts < maxAttempts) {
497
+ attempts++;
498
+ requestAnimationFrame(tryScroll);
499
+ }
500
+ };
501
+ tryScroll();
502
+ } else {
503
+ window.scrollTo({ top: 0, left: 0, behavior: "instant" });
460
504
  }
461
- };
462
- setTimeout(tryScroll, viewTransitionsEnabled ? 100 : 50);
463
- } else {
464
- setTimeout(() => {
465
- window.scrollTo({ top: 0, behavior: "instant" });
466
- }, viewTransitionsEnabled ? 100 : 50);
505
+ });
467
506
  }
468
507
  }
469
508
  function RouterProvider({
@@ -561,7 +600,8 @@ function RouterProvider({
561
600
  currentLocation = next;
562
601
  emitChange();
563
602
  };
564
- if (viewTransitionsEnabled) {
603
+ const shouldUseViewTransition = viewTransitionsEnabled && hasViewTransitionNames();
604
+ if (shouldUseViewTransition) {
565
605
  document.startViewTransition(() => {
566
606
  flushSync(() => {
567
607
  updateState();
@@ -573,7 +613,7 @@ function RouterProvider({
573
613
  if (scrollRestorationEnabled) {
574
614
  const nextPath = next.pathname + next.search + next.hash;
575
615
  const savedPosition = scrollPositions.get(nextPath);
576
- setTimeout(() => {
616
+ const restoreScroll = () => {
577
617
  if (next.hash) {
578
618
  const element = document.querySelector(next.hash);
579
619
  if (element) {
@@ -586,7 +626,14 @@ function RouterProvider({
586
626
  behavior: "instant"
587
627
  });
588
628
  }
589
- }, viewTransitionsEnabled ? 50 : 0);
629
+ };
630
+ if (shouldUseViewTransition) {
631
+ requestAnimationFrame(() => {
632
+ requestAnimationFrame(restoreScroll);
633
+ });
634
+ } else {
635
+ requestAnimationFrame(restoreScroll);
636
+ }
590
637
  }
591
638
  };
592
639
  window.addEventListener("popstate", handlePopState);
@@ -1478,4 +1525,4 @@ export {
1478
1525
  ClientOnly
1479
1526
  };
1480
1527
 
1481
- //# debugId=CB077059E687760364756E2164756E21
1528
+ //# debugId=C5ADD8AC677D585F64756E2164756E21
@@ -9,7 +9,7 @@
9
9
  "import type { ContentRef, ContentResolver } from '../providers/ContentProvider';\nimport type { Any } from '../types/any';\n\nexport function parseContentHref(\n\thref: string,\n): { collection: string; name: string } | undefined {\n\ttry {\n\t\tconst url = new URL(href, 'http://local');\n\t\tconst [collection, name] = url.pathname.split('/').filter(Boolean);\n\t\tif (!collection || !name) return undefined;\n\t\treturn { collection, name };\n\t} catch {\n\t\treturn undefined;\n\t}\n}\n\nexport function createResolverFromGetEntry(\n\tgetEntry: (collection: string, name: string) => Any | undefined,\n): ContentResolver {\n\treturn (href: string): ContentRef => {\n\t\tconst parsed = parseContentHref(href);\n\t\tif (!parsed) return undefined;\n\t\ttry {\n\t\t\tconst entry = getEntry(parsed.collection, parsed.name) as Any;\n\t\t\tif (!entry) return parsed;\n\t\t\tconst moduleUrl = (entry as Any)?.module as string | undefined;\n\t\t\treturn moduleUrl ? { ...parsed, module: moduleUrl } : parsed;\n\t\t} catch {\n\t\t\treturn parsed;\n\t\t}\n\t};\n}\n",
10
10
  "import { useEffect, useMemo, useState } from 'react';\nimport type { Any } from '../types/any';\nimport { useRouter } from './useRouter';\n\n/**\n * Read SSR-seeded route data without loaders.\n * - On server: reads from globalThis.__REROUTE_DATA__\n * - On client: reads from window.__REROUTE_DATA__\n *\n * By default uses the current pathname as the key. You may pass a custom key\n * when seeding multiple entries.\n */\nexport function useData<T = unknown>(key?: string): T | undefined {\n\tconst { pathname } = useRouter();\n\tconst k = key || pathname;\n\tconst [_tick, setTick] = useState(0);\n\n\tuseEffect(() => {\n\t\tif (typeof window === 'undefined') return;\n\t\tconst handler = (e: Event) => {\n\t\t\ttry {\n\t\t\t\tconst detail = (e as CustomEvent).detail as Any;\n\t\t\t\tif (detail?.key && detail.key !== k) return;\n\t\t\t\tsetTick((x) => x + 1);\n\t\t\t} catch {}\n\t\t};\n\t\twindow.addEventListener('__reroute_data__' as Any, handler as Any);\n\t\treturn () => {\n\t\t\ttry {\n\t\t\t\twindow.removeEventListener('__reroute_data__' as Any, handler as Any);\n\t\t\t} catch {}\n\t\t};\n\t}, [k]);\n\n\t// Client fallback: if there is no seeded data for this key after SPA navigation,\n\t// lazily fetch it from the server once. This covers static routes that still\n\t// export ssr.data (e.g., home page) without requiring link-time prefetch.\n\tuseEffect(() => {\n\t\tif (typeof window === 'undefined') return;\n\t\ttry {\n\t\t\tconst w = window as Any;\n\t\t\tw.__REROUTE_DATA__ = w.__REROUTE_DATA__ || {};\n\t\t\tif ((w.__REROUTE_DATA__ as Any)[k] !== undefined) return;\n\n\t\t\t// Deduplicate concurrent fetches for the same key\n\t\t\tw.__REROUTE_DATA_PENDING__ = w.__REROUTE_DATA_PENDING__ || ({} as Any);\n\t\t\tconst pending = w.__REROUTE_DATA_PENDING__;\n\t\t\tif (pending[k]) return;\n\t\t\tpending[k] = true;\n\n\t\t\tfetch(`/__reroute_data?path=${encodeURIComponent(k)}`, {\n\t\t\t\theaders: { Accept: 'application/json' },\n\t\t\t\tcredentials: 'same-origin',\n\t\t\t})\n\t\t\t\t.then((r) => (r.ok ? r.json() : null))\n\t\t\t\t.then((j) => {\n\t\t\t\t\tif (!j) return;\n\t\t\t\t\t(w.__REROUTE_DATA__ as Any)[k] = j.data ?? j;\n\t\t\t\t\t// Force a local re-render even if event listeners aren't attached yet\n\t\t\t\t\ttry {\n\t\t\t\t\t\tsetTick((x) => x + 1);\n\t\t\t\t\t} catch {}\n\t\t\t\t\ttry {\n\t\t\t\t\t\tw.dispatchEvent(\n\t\t\t\t\t\t\tnew CustomEvent('__reroute_data__', {\n\t\t\t\t\t\t\t\tdetail: { key: k },\n\t\t\t\t\t\t\t}) as Any,\n\t\t\t\t\t\t);\n\t\t\t\t\t} catch {}\n\t\t\t\t})\n\t\t\t\t.catch(() => {})\n\t\t\t\t.finally(() => {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tdelete (w.__REROUTE_DATA_PENDING__ as Any)[k];\n\t\t\t\t\t} catch {}\n\t\t\t\t});\n\t\t} catch {}\n\t}, [k]);\n\n\treturn useMemo(() => {\n\t\ttry {\n\t\t\t_tick;\n\t\t\tif (typeof window === 'undefined') {\n\t\t\t\tconst g = globalThis as Any;\n\t\t\t\treturn (g.__REROUTE_DATA__ as Record<string, T> | undefined)?.[k];\n\t\t\t}\n\t\t\tconst w = window as Any;\n\t\t\treturn (w.__REROUTE_DATA__ as Record<string, T> | undefined)?.[k];\n\t\t} catch {\n\t\t\treturn undefined;\n\t\t}\n\t}, [k, _tick]);\n}\n",
11
11
  "import { useContext } from 'react';\nimport { RouterContext } from '../providers';\nimport type { RouterContextFactory } from '../types/router';\n\n/**\n * Hook to access the router context.\n * Must be used within a RouterProvider.\n */\nexport function useRouter(): RouterContextFactory {\n\tconst context = useContext(RouterContext);\n\tif (!context) {\n\t\tthrow new Error('useRouter must be used within a RouterProvider');\n\t}\n\treturn context;\n}\n",
12
- "import type { ReactNode } from 'react';\nimport React, {\n\tcreateContext,\n\tuseCallback,\n\tuseEffect,\n\tuseMemo,\n\tuseSyncExternalStore,\n} from 'react';\nimport { flushSync } from 'react-dom';\nimport type { Any } from '../types/any';\nimport type {\n\tNavigateOptions,\n\tRouteMatch,\n\tRouterContextFactory,\n} from '../types/router';\nimport { applyLang, applyPageMeta, applyRouteHead } from '../utils/head';\n\n// Check if we're in a browser environment\nconst isBrowser =\n\ttypeof window !== 'undefined' && typeof window.document !== 'undefined';\n\nconst OutletContext = createContext<ReactNode>(null);\nconst RouterContext = createContext<RouterContextFactory | null>(null);\n\n// Create a simple store for location changes\nlet listeners: Array<() => void> = [];\nlet currentLocation = isBrowser\n\t? {\n\t\t\tpathname: window.location.pathname,\n\t\t\tsearch: window.location.search,\n\t\t\thash: window.location.hash,\n\t\t}\n\t: { pathname: '/', search: '', hash: '' };\n\ninterface RouterProviderProps {\n\tchildren?: ReactNode;\n\tlayouts?: readonly Any[];\n\tmatchRoute: (pathname: string) => RouteMatch | null;\n\tnotFoundRoutes?: readonly Any[];\n\tnotFound?: React.ComponentType;\n\tpathname?: string;\n\tviewTransitions?: boolean;\n\tscrollRestoration?: boolean;\n}\n\nfunction subscribe(listener: () => void) {\n\tif (!isBrowser) return () => {};\n\tlisteners.push(listener);\n\treturn () => {\n\t\tlisteners = listeners.filter((l) => l !== listener);\n\t};\n}\n\nfunction getSnapshot() {\n\treturn currentLocation;\n}\n\nfunction emitChange() {\n\tfor (const listener of listeners) {\n\t\tlistener();\n\t}\n}\n\n// Helper to check if view transitions are supported\nconst supportsViewTransitions =\n\ttypeof document !== 'undefined' && 'startViewTransition' in document;\n\n// Global flag to track if view transitions are enabled\nlet viewTransitionsEnabled = false;\n\nfunction setViewTransitionsEnabled(enabled: boolean) {\n\tviewTransitionsEnabled = enabled && supportsViewTransitions;\n}\n\n// Global flag to track if scroll restoration is enabled\nlet scrollRestorationEnabled = true;\n\nfunction setScrollRestorationEnabled(enabled: boolean) {\n\tscrollRestorationEnabled = enabled;\n}\n\n// Store scroll positions for each path for restoration on back/forward\nconst scrollPositions = new Map<string, { x: number; y: number }>();\n\nfunction navigateInternal(to: string, options: NavigateOptions = {}) {\n\tif (!isBrowser) return;\n\n\tconst url = new URL(to, window.location.origin);\n\n\tif (url.origin !== window.location.origin) {\n\t\t// External link\n\t\twindow.location.href = to;\n\t\treturn;\n\t}\n\n\tconst newPath = url.pathname + url.search + url.hash;\n\tconst currentPath =\n\t\twindow.location.pathname + window.location.search + window.location.hash;\n\n\tif (newPath === currentPath) return;\n\n\t// Save current scroll position before navigating away\n\tif (scrollRestorationEnabled) {\n\t\tscrollPositions.set(currentPath, {\n\t\t\tx: window.scrollX,\n\t\t\ty: window.scrollY,\n\t\t});\n\t}\n\n\tif (options.replace) {\n\t\twindow.history.replaceState(options.state || null, '', to);\n\t} else {\n\t\twindow.history.pushState(options.state || null, '', to);\n\t}\n\n\tconst updateState = () => {\n\t\tcurrentLocation = {\n\t\t\tpathname: url.pathname,\n\t\t\tsearch: url.search,\n\t\t\thash: url.hash,\n\t\t};\n\t\temitChange();\n\t};\n\n\tif (viewTransitionsEnabled) {\n\t\tdocument.startViewTransition(() => {\n\t\t\tflushSync(() => {\n\t\t\t\tupdateState();\n\t\t\t});\n\t\t});\n\t} else {\n\t\tupdateState();\n\t}\n\n\t// Scroll to top or hash (forward navigation always scrolls to top)\n\t// Delay to allow the new route component to render first\n\tif (url.hash) {\n\t\t// Try to scroll to the fragment with retries for slow-rendering components\n\t\tlet attempts = 0;\n\t\tconst maxAttempts = 10;\n\t\tconst tryScroll = () => {\n\t\t\tconst element = document.querySelector(url.hash);\n\t\t\tif (element) {\n\t\t\t\telement.scrollIntoView({ behavior: 'smooth', block: 'start' });\n\t\t\t} else if (attempts < maxAttempts) {\n\t\t\t\tattempts++;\n\t\t\t\tsetTimeout(tryScroll, 50);\n\t\t\t}\n\t\t};\n\t\tsetTimeout(tryScroll, viewTransitionsEnabled ? 100 : 50);\n\t} else {\n\t\tsetTimeout(\n\t\t\t() => {\n\t\t\t\twindow.scrollTo({ top: 0, behavior: 'instant' });\n\t\t\t},\n\t\t\tviewTransitionsEnabled ? 100 : 50,\n\t\t);\n\t}\n}\n\n/**\n * RouterProvider component that manages client-side routing with SSR support.\n * Uses React's useSyncExternalStore for proper hydration without mismatches.\n */\nfunction RouterProvider({\n\tchildren,\n\tlayouts = [],\n\tmatchRoute,\n\tnotFoundRoutes = [],\n\tnotFound: NotFound,\n\tpathname = '/',\n\tviewTransitions = true,\n\tscrollRestoration = true,\n}: RouterProviderProps) {\n\t// Set global view transitions and scroll restoration flags\n\tuseEffect(() => {\n\t\tsetViewTransitionsEnabled(viewTransitions);\n\t\tsetScrollRestorationEnabled(scrollRestoration);\n\t}, [viewTransitions, scrollRestoration]);\n\t// Create stable server snapshot reference that never changes\n\tconst serverSnapshotRef = React.useRef<{\n\t\tpathname: string;\n\t\tsearch: string;\n\t\thash: string;\n\t} | null>(null);\n\n\tif (!serverSnapshotRef.current) {\n\t\tif (isBrowser) {\n\t\t\t// During hydration, point to the exact same object reference\n\t\t\t// that getSnapshot() returns so useSyncExternalStore doesn't\n\t\t\t// detect a mismatch and trigger a second render.\n\t\t\tserverSnapshotRef.current = currentLocation;\n\t\t} else {\n\t\t\t// During pure SSR, use the pathname from props\n\t\t\tserverSnapshotRef.current = { pathname, search: '', hash: '' };\n\t\t}\n\t}\n\n\t// Return the same cached snapshot object every time\n\tconst getServerSnapshot = useCallback(() => serverSnapshotRef.current, []);\n\n\t// Use useSyncExternalStore for proper SSR hydration\n\tconst location =\n\t\tuseSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) ||\n\t\tcurrentLocation;\n\n\t// Initialize location on mount (client-side only)\n\t// Avoid emitting a change if nothing actually changed to prevent a redundant re-render after hydration\n\tuseEffect(() => {\n\t\tif (!isBrowser) return;\n\t\tconst next = {\n\t\t\tpathname: window.location.pathname,\n\t\t\tsearch: window.location.search,\n\t\t\thash: window.location.hash,\n\t\t};\n\t\tif (\n\t\t\tcurrentLocation.pathname !== next.pathname ||\n\t\t\tcurrentLocation.search !== next.search ||\n\t\t\tcurrentLocation.hash !== next.hash\n\t\t) {\n\t\t\tcurrentLocation = next;\n\t\t\temitChange();\n\t\t}\n\t}, []);\n\n\tconst target = useMemo(\n\t\t() => matchRoute(location.pathname),\n\t\t[location.pathname, matchRoute],\n\t);\n\n\tconst params = target?.params || {};\n\tconst searchParams = useMemo(\n\t\t() => new URLSearchParams(location.search),\n\t\t[location.search],\n\t);\n\n\tconst navigate = useCallback((to: string, options: NavigateOptions = {}) => {\n\t\tnavigateInternal(to, options);\n\t}, []);\n\n\t// Handle browser back/forward\n\tuseEffect(() => {\n\t\tif (!isBrowser) return;\n\n\t\tconst handlePopState = () => {\n\t\t\tconst next = {\n\t\t\t\tpathname: window.location.pathname,\n\t\t\t\tsearch: window.location.search,\n\t\t\t\thash: window.location.hash,\n\t\t\t};\n\t\t\ttry {\n\t\t\t\tconst w = window as Any;\n\t\t\t\tw.__REROUTE_DATA__ = w.__REROUTE_DATA__ || {};\n\t\t\t\tconst have = (w.__REROUTE_DATA__ as Any)[next.pathname];\n\t\t\t\t// Only prefetch for dynamic routes; static/content pages don't need it\n\t\t\t\tconst isDynamic = !!matchRoute?.(next.pathname)?.route?.isDynamic;\n\t\t\t\tif (isDynamic && have === undefined) {\n\t\t\t\t\tlet updated = false;\n\t\t\t\t\tconst fallback = setTimeout(() => {\n\t\t\t\t\t\tif (updated) return;\n\t\t\t\t\t\tupdated = true;\n\t\t\t\t\t\tcurrentLocation = next;\n\t\t\t\t\t\temitChange();\n\t\t\t\t\t}, 250);\n\t\t\t\t\tfetch(`/__reroute_data?path=${encodeURIComponent(next.pathname)}`, {\n\t\t\t\t\t\theaders: { Accept: 'application/json' },\n\t\t\t\t\t\tcredentials: 'same-origin',\n\t\t\t\t\t})\n\t\t\t\t\t\t.then((r) => (r.ok ? r.json() : null))\n\t\t\t\t\t\t.then((j) => {\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\tconst payload = j ? (j.data ?? j) : undefined;\n\t\t\t\t\t\t\t\tif (payload !== undefined)\n\t\t\t\t\t\t\t\t\t(w.__REROUTE_DATA__ as Any)[next.pathname] = payload;\n\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\tw.dispatchEvent(\n\t\t\t\t\t\t\t\t\t\tnew CustomEvent('__reroute_data__', {\n\t\t\t\t\t\t\t\t\t\t\tdetail: { key: next.pathname },\n\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} catch {}\n\t\t\t\t\t\t\t} catch {}\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch(() => {})\n\t\t\t\t\t\t.finally(() => {\n\t\t\t\t\t\t\tif (!updated) {\n\t\t\t\t\t\t\t\tclearTimeout(fallback);\n\t\t\t\t\t\t\t\tupdated = true;\n\t\t\t\t\t\t\t\tcurrentLocation = next;\n\t\t\t\t\t\t\t\temitChange();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\treturn; // we'll update after prefetch or fallback timer\n\t\t\t\t}\n\t\t\t} catch {}\n\n\t\t\tconst updateState = () => {\n\t\t\t\tcurrentLocation = next;\n\t\t\t\temitChange();\n\t\t\t};\n\n\t\t\tif (viewTransitionsEnabled) {\n\t\t\t\t(document as Any).startViewTransition(() => {\n\t\t\t\t\tflushSync(() => {\n\t\t\t\t\t\tupdateState();\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tupdateState();\n\t\t\t}\n\n\t\t\t// Restore scroll position for back/forward navigation\n\t\t\tif (scrollRestorationEnabled) {\n\t\t\t\tconst nextPath = next.pathname + next.search + next.hash;\n\t\t\t\tconst savedPosition = scrollPositions.get(nextPath);\n\n\t\t\t\t// Small delay to let the DOM settle and view transition complete\n\t\t\t\tsetTimeout(\n\t\t\t\t\t() => {\n\t\t\t\t\t\tif (next.hash) {\n\t\t\t\t\t\t\t// Handle hash navigation\n\t\t\t\t\t\t\tconst element = document.querySelector(next.hash);\n\t\t\t\t\t\t\tif (element) {\n\t\t\t\t\t\t\t\telement.scrollIntoView({ behavior: 'smooth' });\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else if (savedPosition) {\n\t\t\t\t\t\t\t// Restore saved scroll position\n\t\t\t\t\t\t\twindow.scrollTo({\n\t\t\t\t\t\t\t\ttop: savedPosition.y,\n\t\t\t\t\t\t\t\tleft: savedPosition.x,\n\t\t\t\t\t\t\t\tbehavior: 'instant',\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// If no saved position and no hash, keep current scroll (don't reset to top)\n\t\t\t\t\t},\n\t\t\t\t\tviewTransitionsEnabled ? 50 : 0,\n\t\t\t\t);\n\t\t\t}\n\t\t};\n\n\t\twindow.addEventListener('popstate', handlePopState);\n\t\treturn () => window.removeEventListener('popstate', handlePopState);\n\t}, [matchRoute]);\n\n\t// Intercept link clicks\n\tuseEffect(() => {\n\t\tif (!isBrowser) return;\n\n\t\tconst handleClick = (e: MouseEvent) => {\n\t\t\tconst target = (e.target as HTMLElement).closest('a');\n\t\t\tif (!target) return;\n\n\t\t\tconst href = target.getAttribute('href');\n\t\t\tif (!href) return;\n\n\t\t\t// Skip if:\n\t\t\t// - External link\n\t\t\t// - Download link\n\t\t\t// - Opens in new tab\n\t\t\t// - Modified click (ctrl/cmd/shift)\n\t\t\tif (\n\t\t\t\ttarget.target === '_blank' ||\n\t\t\t\ttarget.hasAttribute('download') ||\n\t\t\t\te.ctrlKey ||\n\t\t\t\te.metaKey ||\n\t\t\t\te.shiftKey ||\n\t\t\t\te.altKey\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst url = new URL(href, window.location.origin);\n\t\t\tif (url.origin !== window.location.origin) return;\n\n\t\t\t// Check if it's a route we handle\n\t\t\tconst match = matchRoute(url.pathname);\n\t\t\tif (!match) return;\n\n\t\t\te.preventDefault();\n\t\t\tnavigate(href);\n\t\t};\n\n\t\tdocument.addEventListener('click', handleClick);\n\t\treturn () => document.removeEventListener('click', handleClick);\n\t}, [navigate, matchRoute]);\n\n\t// Apply route-level meta/ssr if exported by the route module (non-content pages)\n\tuseEffect(() => {\n\t\tconst route: Any = target?.route as Any;\n\t\tif (!route) return;\n\t\ttry {\n\t\t\tif (route.meta) applyPageMeta(route.meta);\n\t\t} catch {}\n\t\ttry {\n\t\t\tconst ssr = route.ssr;\n\t\t\tif (ssr?.head) applyRouteHead(ssr.head);\n\t\t\tif (ssr?.lang) applyLang(ssr.lang);\n\t\t} catch {}\n\t\treturn () => {\n\t\t\t// Clear previously injected route-level head items\n\t\t\tapplyRouteHead(undefined);\n\t\t};\n\t}, [target]);\n\n\tconst notFoundResolver = useCallback(\n\t\t(pathname: string) => {\n\t\t\ttry {\n\t\t\t\t// Choose the most specific notFound whose pattern is a prefix of pathname\n\t\t\t\tconst list = Array.isArray(notFoundRoutes)\n\t\t\t\t\t? (notFoundRoutes as Any[])\n\t\t\t\t\t: [];\n\t\t\t\tlet chosen: Any | undefined;\n\t\t\t\tlet bestLen = -1;\n\t\t\t\tfor (const nf of list) {\n\t\t\t\t\tconst pat = String(nf?.pattern || '/');\n\t\t\t\t\tif (!pathname.startsWith(pat)) continue;\n\t\t\t\t\tconst len = pat.split('/').filter(Boolean).length;\n\t\t\t\t\tif (len >= bestLen) {\n\t\t\t\t\t\tbestLen = len;\n\t\t\t\t\t\tchosen = nf;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn chosen?.component as Any | undefined;\n\t\t\t} catch {\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t},\n\t\t[notFoundRoutes],\n\t);\n\n\tconst contextValue = useMemo<RouterContextFactory>(\n\t\t() =>\n\t\t\t({\n\t\t\t\tpathname: location.pathname,\n\t\t\t\tparams,\n\t\t\t\tsearchParams,\n\t\t\t\tnavigate,\n\t\t\t\ttarget,\n\t\t\t\tmatchRoute,\n\t\t\t\tnotFoundResolver,\n\t\t\t}) as Any,\n\t\t[\n\t\t\tlocation.pathname,\n\t\t\tparams,\n\t\t\tsearchParams,\n\t\t\tnavigate,\n\t\t\ttarget,\n\t\t\tmatchRoute,\n\t\t\tnotFoundResolver,\n\t\t],\n\t);\n\n\t// Find matching layouts for the current pathname\n\tconst matchingLayouts = useMemo(() => {\n\t\treturn layouts\n\t\t\t.filter((layout: Any) => {\n\t\t\t\t// Layout matches if the current path starts with the layout's path\n\t\t\t\tif (layout.pattern === '/') return true;\n\t\t\t\treturn location.pathname.startsWith(layout.pattern);\n\t\t\t})\n\t\t\t.sort((a: Any, b: Any) => {\n\t\t\t\t// Sort by depth (more specific paths first)\n\t\t\t\treturn b.pattern.split('/').length - a.pattern.split('/').length;\n\t\t\t});\n\t}, [layouts, location.pathname]);\n\n\tlet content: ReactNode;\n\n\tif (target) {\n\t\tconst Component = target.route.component;\n\t\tlet outletContent: ReactNode = <Component />;\n\n\t\t// Build layout hierarchy from innermost to outermost\n\t\tfor (let i = matchingLayouts.length - 1; i >= 0; i--) {\n\t\t\tconst Layout = matchingLayouts[i].component;\n\t\t\tconst currentOutlet = outletContent;\n\t\t\toutletContent = (\n\t\t\t\t<OutletContext.Provider value={currentOutlet}>\n\t\t\t\t\t<Layout />\n\t\t\t\t</OutletContext.Provider>\n\t\t\t);\n\t\t}\n\n\t\tcontent = outletContent;\n\t} else {\n\t\tconst Fallback = (notFoundResolver(location.pathname) as Any) || NotFound;\n\t\tif (Fallback) {\n\t\t\tcontent = <Fallback />;\n\t\t} else {\n\t\t\tcontent = (\n\t\t\t\t<div style={{ padding: '2rem', textAlign: 'center' }}>\n\t\t\t\t\t<h1>404 - Page Not Found</h1>\n\t\t\t\t\t<p>The page {location.pathname} could not be found.</p>\n\t\t\t\t\t<a href='/'>Go Home</a>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t}\n\n\treturn (\n\t\t<RouterContext.Provider value={contextValue}>\n\t\t\t{children || content}\n\t\t</RouterContext.Provider>\n\t);\n}\n\nexport { OutletContext, RouterContext, RouterProvider };\n",
12
+ "import type { ReactNode } from 'react';\nimport React, {\n\tcreateContext,\n\tuseCallback,\n\tuseEffect,\n\tuseMemo,\n\tuseSyncExternalStore,\n} from 'react';\nimport { flushSync } from 'react-dom';\nimport type { Any } from '../types/any';\nimport type {\n\tNavigateOptions,\n\tRouteMatch,\n\tRouterContextFactory,\n} from '../types/router';\nimport { applyLang, applyPageMeta, applyRouteHead } from '../utils/head';\n\n// Check if we're in a browser environment\nconst isBrowser =\n\ttypeof window !== 'undefined' && typeof window.document !== 'undefined';\n\nconst OutletContext = createContext<ReactNode>(null);\nconst RouterContext = createContext<RouterContextFactory | null>(null);\n\n// Create a simple store for location changes\nlet listeners: Array<() => void> = [];\nlet currentLocation = isBrowser\n\t? {\n\t\t\tpathname: window.location.pathname,\n\t\t\tsearch: window.location.search,\n\t\t\thash: window.location.hash,\n\t\t}\n\t: { pathname: '/', search: '', hash: '' };\n\ninterface RouterProviderProps {\n\tchildren?: ReactNode;\n\tlayouts?: readonly Any[];\n\tmatchRoute: (pathname: string) => RouteMatch | null;\n\tnotFoundRoutes?: readonly Any[];\n\tnotFound?: React.ComponentType;\n\tpathname?: string;\n\tviewTransitions?: boolean;\n\tscrollRestoration?: boolean;\n}\n\nfunction subscribe(listener: () => void) {\n\tif (!isBrowser) return () => {};\n\tlisteners.push(listener);\n\treturn () => {\n\t\tlisteners = listeners.filter((l) => l !== listener);\n\t};\n}\n\nfunction getSnapshot() {\n\treturn currentLocation;\n}\n\nfunction emitChange() {\n\tfor (const listener of listeners) {\n\t\tlistener();\n\t}\n}\n\n// Helper to check if view transitions are supported\nconst supportsViewTransitions =\n\ttypeof document !== 'undefined' && 'startViewTransition' in document;\n\n// Global flag to track if view transitions are enabled\nlet viewTransitionsEnabled = false;\n\nfunction setViewTransitionsEnabled(enabled: boolean) {\n\tviewTransitionsEnabled = enabled && supportsViewTransitions;\n}\n\n// Global flag to track if scroll restoration is enabled\nlet scrollRestorationEnabled = true;\n\nfunction setScrollRestorationEnabled(enabled: boolean) {\n\tscrollRestorationEnabled = enabled;\n}\n\n// Store scroll positions for each path for restoration on back/forward\nconst scrollPositions = new Map<string, { x: number; y: number }>();\n\n// Helper to check if page has named view transition elements\nfunction hasViewTransitionNames(): boolean {\n\tif (!isBrowser) return false;\n\ttry {\n\t\t// Check if any element has view-transition-name set (including via CSS)\n\t\tconst allElements = document.querySelectorAll('*');\n\t\tfor (const el of allElements) {\n\t\t\tconst computedStyle = window.getComputedStyle(el);\n\t\t\tconst transitionName = computedStyle.viewTransitionName;\n\t\t\tif (transitionName && transitionName !== 'none') {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t} catch {\n\t\treturn false;\n\t}\n}\n\nfunction navigateInternal(to: string, options: NavigateOptions = {}) {\n\tif (!isBrowser) return;\n\n\tconst url = new URL(to, window.location.origin);\n\n\tif (url.origin !== window.location.origin) {\n\t\t// External link\n\t\twindow.location.href = to;\n\t\treturn;\n\t}\n\n\tconst newPath = url.pathname + url.search + url.hash;\n\tconst currentPath =\n\t\twindow.location.pathname + window.location.search + window.location.hash;\n\n\tif (newPath === currentPath) return;\n\n\t// Save current scroll position before navigating away\n\tif (scrollRestorationEnabled) {\n\t\tscrollPositions.set(currentPath, {\n\t\t\tx: window.scrollX,\n\t\t\ty: window.scrollY,\n\t\t});\n\t}\n\n\tif (options.replace) {\n\t\twindow.history.replaceState(options.state || null, '', to);\n\t} else {\n\t\twindow.history.pushState(options.state || null, '', to);\n\t}\n\n\tconst updateState = () => {\n\t\tcurrentLocation = {\n\t\t\tpathname: url.pathname,\n\t\t\tsearch: url.search,\n\t\t\thash: url.hash,\n\t\t};\n\t\temitChange();\n\t};\n\n\t// Only use view transitions if enabled AND page has named transition elements\n\tconst shouldUseViewTransition =\n\t\tviewTransitionsEnabled && hasViewTransitionNames();\n\n\tif (shouldUseViewTransition) {\n\t\tdocument.startViewTransition(() => {\n\t\t\tflushSync(() => {\n\t\t\t\tupdateState();\n\t\t\t\t// For view transitions, adjust scroll inside the transition callback so\n\t\t\t\t// the old snapshot keeps its current scroll position while the new page\n\t\t\t\t// is captured at the desired position.\n\t\t\t\tif (url.hash) {\n\t\t\t\t\tconst immediate = document.querySelector(url.hash);\n\t\t\t\t\tif (immediate) {\n\t\t\t\t\t\timmediate.scrollIntoView({ behavior: 'smooth', block: 'start' });\n\t\t\t\t\t} else {\n\t\t\t\t\t\tlet attempts = 0;\n\t\t\t\t\t\tconst maxAttempts = 10;\n\t\t\t\t\t\tconst tryScroll = () => {\n\t\t\t\t\t\t\tconst el = document.querySelector(url.hash);\n\t\t\t\t\t\t\tif (el) {\n\t\t\t\t\t\t\t\tel.scrollIntoView({ behavior: 'smooth', block: 'start' });\n\t\t\t\t\t\t\t} else if (attempts < maxAttempts) {\n\t\t\t\t\t\t\t\tattempts++;\n\t\t\t\t\t\t\t\trequestAnimationFrame(tryScroll);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t};\n\t\t\t\t\t\trequestAnimationFrame(tryScroll);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\twindow.scrollTo({ top: 0, left: 0, behavior: 'instant' });\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t} else {\n\t\tupdateState();\n\t\t// Handle scrolling after the DOM updates (non-view-transition only)\n\t\trequestAnimationFrame(() => {\n\t\t\tif (url.hash) {\n\t\t\t\t// Try to scroll to the fragment with retries for slow-rendering components\n\t\t\t\tlet attempts = 0;\n\t\t\t\tconst maxAttempts = 10;\n\t\t\t\tconst tryScroll = () => {\n\t\t\t\t\tconst element = document.querySelector(url.hash);\n\t\t\t\t\tif (element) {\n\t\t\t\t\t\telement.scrollIntoView({ behavior: 'smooth', block: 'start' });\n\t\t\t\t\t} else if (attempts < maxAttempts) {\n\t\t\t\t\t\tattempts++;\n\t\t\t\t\t\trequestAnimationFrame(tryScroll);\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\ttryScroll();\n\t\t\t} else {\n\t\t\t\t// Scroll to top for forward navigation - happens after new page renders\n\t\t\t\twindow.scrollTo({ top: 0, left: 0, behavior: 'instant' });\n\t\t\t}\n\t\t});\n\t}\n}\n\n/**\n * RouterProvider component that manages client-side routing with SSR support.\n * Uses React's useSyncExternalStore for proper hydration without mismatches.\n */\nfunction RouterProvider({\n\tchildren,\n\tlayouts = [],\n\tmatchRoute,\n\tnotFoundRoutes = [],\n\tnotFound: NotFound,\n\tpathname = '/',\n\tviewTransitions = true,\n\tscrollRestoration = true,\n}: RouterProviderProps) {\n\t// Set global view transitions and scroll restoration flags\n\tuseEffect(() => {\n\t\tsetViewTransitionsEnabled(viewTransitions);\n\t\tsetScrollRestorationEnabled(scrollRestoration);\n\t}, [viewTransitions, scrollRestoration]);\n\t// Create stable server snapshot reference that never changes\n\tconst serverSnapshotRef = React.useRef<{\n\t\tpathname: string;\n\t\tsearch: string;\n\t\thash: string;\n\t} | null>(null);\n\n\tif (!serverSnapshotRef.current) {\n\t\tif (isBrowser) {\n\t\t\t// During hydration, point to the exact same object reference\n\t\t\t// that getSnapshot() returns so useSyncExternalStore doesn't\n\t\t\t// detect a mismatch and trigger a second render.\n\t\t\tserverSnapshotRef.current = currentLocation;\n\t\t} else {\n\t\t\t// During pure SSR, use the pathname from props\n\t\t\tserverSnapshotRef.current = { pathname, search: '', hash: '' };\n\t\t}\n\t}\n\n\t// Return the same cached snapshot object every time\n\tconst getServerSnapshot = useCallback(() => serverSnapshotRef.current, []);\n\n\t// Use useSyncExternalStore for proper SSR hydration\n\tconst location =\n\t\tuseSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) ||\n\t\tcurrentLocation;\n\n\t// Initialize location on mount (client-side only)\n\t// Avoid emitting a change if nothing actually changed to prevent a redundant re-render after hydration\n\tuseEffect(() => {\n\t\tif (!isBrowser) return;\n\t\tconst next = {\n\t\t\tpathname: window.location.pathname,\n\t\t\tsearch: window.location.search,\n\t\t\thash: window.location.hash,\n\t\t};\n\t\tif (\n\t\t\tcurrentLocation.pathname !== next.pathname ||\n\t\t\tcurrentLocation.search !== next.search ||\n\t\t\tcurrentLocation.hash !== next.hash\n\t\t) {\n\t\t\tcurrentLocation = next;\n\t\t\temitChange();\n\t\t}\n\t}, []);\n\n\tconst target = useMemo(\n\t\t() => matchRoute(location.pathname),\n\t\t[location.pathname, matchRoute],\n\t);\n\n\tconst params = target?.params || {};\n\tconst searchParams = useMemo(\n\t\t() => new URLSearchParams(location.search),\n\t\t[location.search],\n\t);\n\n\tconst navigate = useCallback((to: string, options: NavigateOptions = {}) => {\n\t\tnavigateInternal(to, options);\n\t}, []);\n\n\t// Handle browser back/forward\n\tuseEffect(() => {\n\t\tif (!isBrowser) return;\n\n\t\tconst handlePopState = () => {\n\t\t\tconst next = {\n\t\t\t\tpathname: window.location.pathname,\n\t\t\t\tsearch: window.location.search,\n\t\t\t\thash: window.location.hash,\n\t\t\t};\n\t\t\ttry {\n\t\t\t\tconst w = window as Any;\n\t\t\t\tw.__REROUTE_DATA__ = w.__REROUTE_DATA__ || {};\n\t\t\t\tconst have = (w.__REROUTE_DATA__ as Any)[next.pathname];\n\t\t\t\t// Only prefetch for dynamic routes; static/content pages don't need it\n\t\t\t\tconst isDynamic = !!matchRoute?.(next.pathname)?.route?.isDynamic;\n\t\t\t\tif (isDynamic && have === undefined) {\n\t\t\t\t\tlet updated = false;\n\t\t\t\t\tconst fallback = setTimeout(() => {\n\t\t\t\t\t\tif (updated) return;\n\t\t\t\t\t\tupdated = true;\n\t\t\t\t\t\tcurrentLocation = next;\n\t\t\t\t\t\temitChange();\n\t\t\t\t\t}, 250);\n\t\t\t\t\tfetch(`/__reroute_data?path=${encodeURIComponent(next.pathname)}`, {\n\t\t\t\t\t\theaders: { Accept: 'application/json' },\n\t\t\t\t\t\tcredentials: 'same-origin',\n\t\t\t\t\t})\n\t\t\t\t\t\t.then((r) => (r.ok ? r.json() : null))\n\t\t\t\t\t\t.then((j) => {\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\tconst payload = j ? (j.data ?? j) : undefined;\n\t\t\t\t\t\t\t\tif (payload !== undefined)\n\t\t\t\t\t\t\t\t\t(w.__REROUTE_DATA__ as Any)[next.pathname] = payload;\n\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\tw.dispatchEvent(\n\t\t\t\t\t\t\t\t\t\tnew CustomEvent('__reroute_data__', {\n\t\t\t\t\t\t\t\t\t\t\tdetail: { key: next.pathname },\n\t\t\t\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} catch {}\n\t\t\t\t\t\t\t} catch {}\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch(() => {})\n\t\t\t\t\t\t.finally(() => {\n\t\t\t\t\t\t\tif (!updated) {\n\t\t\t\t\t\t\t\tclearTimeout(fallback);\n\t\t\t\t\t\t\t\tupdated = true;\n\t\t\t\t\t\t\t\tcurrentLocation = next;\n\t\t\t\t\t\t\t\temitChange();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\treturn; // we'll update after prefetch or fallback timer\n\t\t\t\t}\n\t\t\t} catch {}\n\n\t\t\tconst updateState = () => {\n\t\t\t\tcurrentLocation = next;\n\t\t\t\temitChange();\n\t\t\t};\n\n\t\t\t// Only use view transitions if enabled AND page has named transition elements\n\t\t\tconst shouldUseViewTransition =\n\t\t\t\tviewTransitionsEnabled && hasViewTransitionNames();\n\n\t\t\tif (shouldUseViewTransition) {\n\t\t\t\t(document as Any).startViewTransition(() => {\n\t\t\t\t\tflushSync(() => {\n\t\t\t\t\t\tupdateState();\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tupdateState();\n\t\t\t}\n\n\t\t\t// Restore scroll position for back/forward navigation\n\t\t\tif (scrollRestorationEnabled) {\n\t\t\t\tconst nextPath = next.pathname + next.search + next.hash;\n\t\t\t\tconst savedPosition = scrollPositions.get(nextPath);\n\n\t\t\t\t// Wait for DOM to settle and view transition to complete\n\t\t\t\tconst restoreScroll = () => {\n\t\t\t\t\tif (next.hash) {\n\t\t\t\t\t\t// Handle hash navigation\n\t\t\t\t\t\tconst element = document.querySelector(next.hash);\n\t\t\t\t\t\tif (element) {\n\t\t\t\t\t\t\telement.scrollIntoView({ behavior: 'smooth' });\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (savedPosition) {\n\t\t\t\t\t\t// Restore saved scroll position\n\t\t\t\t\t\twindow.scrollTo({\n\t\t\t\t\t\t\ttop: savedPosition.y,\n\t\t\t\t\t\t\tleft: savedPosition.x,\n\t\t\t\t\t\t\tbehavior: 'instant',\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\t// If no saved position and no hash, keep current scroll (don't reset to top)\n\t\t\t\t};\n\n\t\t\t\tif (shouldUseViewTransition) {\n\t\t\t\t\t// Double rAF to ensure view transition has started rendering\n\t\t\t\t\trequestAnimationFrame(() => {\n\t\t\t\t\t\trequestAnimationFrame(restoreScroll);\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\trequestAnimationFrame(restoreScroll);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\twindow.addEventListener('popstate', handlePopState);\n\t\treturn () => window.removeEventListener('popstate', handlePopState);\n\t}, [matchRoute]);\n\n\t// Intercept link clicks\n\tuseEffect(() => {\n\t\tif (!isBrowser) return;\n\n\t\tconst handleClick = (e: MouseEvent) => {\n\t\t\tconst target = (e.target as HTMLElement).closest('a');\n\t\t\tif (!target) return;\n\n\t\t\tconst href = target.getAttribute('href');\n\t\t\tif (!href) return;\n\n\t\t\t// Skip if:\n\t\t\t// - External link\n\t\t\t// - Download link\n\t\t\t// - Opens in new tab\n\t\t\t// - Modified click (ctrl/cmd/shift)\n\t\t\tif (\n\t\t\t\ttarget.target === '_blank' ||\n\t\t\t\ttarget.hasAttribute('download') ||\n\t\t\t\te.ctrlKey ||\n\t\t\t\te.metaKey ||\n\t\t\t\te.shiftKey ||\n\t\t\t\te.altKey\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst url = new URL(href, window.location.origin);\n\t\t\tif (url.origin !== window.location.origin) return;\n\n\t\t\t// Check if it's a route we handle\n\t\t\tconst match = matchRoute(url.pathname);\n\t\t\tif (!match) return;\n\n\t\t\te.preventDefault();\n\t\t\tnavigate(href);\n\t\t};\n\n\t\tdocument.addEventListener('click', handleClick);\n\t\treturn () => document.removeEventListener('click', handleClick);\n\t}, [navigate, matchRoute]);\n\n\t// Apply route-level meta/ssr if exported by the route module (non-content pages)\n\tuseEffect(() => {\n\t\tconst route: Any = target?.route as Any;\n\t\tif (!route) return;\n\t\ttry {\n\t\t\tif (route.meta) applyPageMeta(route.meta);\n\t\t} catch {}\n\t\ttry {\n\t\t\tconst ssr = route.ssr;\n\t\t\tif (ssr?.head) applyRouteHead(ssr.head);\n\t\t\tif (ssr?.lang) applyLang(ssr.lang);\n\t\t} catch {}\n\t\treturn () => {\n\t\t\t// Clear previously injected route-level head items\n\t\t\tapplyRouteHead(undefined);\n\t\t};\n\t}, [target]);\n\n\tconst notFoundResolver = useCallback(\n\t\t(pathname: string) => {\n\t\t\ttry {\n\t\t\t\t// Choose the most specific notFound whose pattern is a prefix of pathname\n\t\t\t\tconst list = Array.isArray(notFoundRoutes)\n\t\t\t\t\t? (notFoundRoutes as Any[])\n\t\t\t\t\t: [];\n\t\t\t\tlet chosen: Any | undefined;\n\t\t\t\tlet bestLen = -1;\n\t\t\t\tfor (const nf of list) {\n\t\t\t\t\tconst pat = String(nf?.pattern || '/');\n\t\t\t\t\tif (!pathname.startsWith(pat)) continue;\n\t\t\t\t\tconst len = pat.split('/').filter(Boolean).length;\n\t\t\t\t\tif (len >= bestLen) {\n\t\t\t\t\t\tbestLen = len;\n\t\t\t\t\t\tchosen = nf;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn chosen?.component as Any | undefined;\n\t\t\t} catch {\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t},\n\t\t[notFoundRoutes],\n\t);\n\n\tconst contextValue = useMemo<RouterContextFactory>(\n\t\t() =>\n\t\t\t({\n\t\t\t\tpathname: location.pathname,\n\t\t\t\tparams,\n\t\t\t\tsearchParams,\n\t\t\t\tnavigate,\n\t\t\t\ttarget,\n\t\t\t\tmatchRoute,\n\t\t\t\tnotFoundResolver,\n\t\t\t}) as Any,\n\t\t[\n\t\t\tlocation.pathname,\n\t\t\tparams,\n\t\t\tsearchParams,\n\t\t\tnavigate,\n\t\t\ttarget,\n\t\t\tmatchRoute,\n\t\t\tnotFoundResolver,\n\t\t],\n\t);\n\n\t// Find matching layouts for the current pathname\n\tconst matchingLayouts = useMemo(() => {\n\t\treturn layouts\n\t\t\t.filter((layout: Any) => {\n\t\t\t\t// Layout matches if the current path starts with the layout's path\n\t\t\t\tif (layout.pattern === '/') return true;\n\t\t\t\treturn location.pathname.startsWith(layout.pattern);\n\t\t\t})\n\t\t\t.sort((a: Any, b: Any) => {\n\t\t\t\t// Sort by depth (more specific paths first)\n\t\t\t\treturn b.pattern.split('/').length - a.pattern.split('/').length;\n\t\t\t});\n\t}, [layouts, location.pathname]);\n\n\tlet content: ReactNode;\n\n\tif (target) {\n\t\tconst Component = target.route.component;\n\t\tlet outletContent: ReactNode = <Component />;\n\n\t\t// Build layout hierarchy from innermost to outermost\n\t\tfor (let i = matchingLayouts.length - 1; i >= 0; i--) {\n\t\t\tconst Layout = matchingLayouts[i].component;\n\t\t\tconst currentOutlet = outletContent;\n\t\t\toutletContent = (\n\t\t\t\t<OutletContext.Provider value={currentOutlet}>\n\t\t\t\t\t<Layout />\n\t\t\t\t</OutletContext.Provider>\n\t\t\t);\n\t\t}\n\n\t\tcontent = outletContent;\n\t} else {\n\t\tconst Fallback = (notFoundResolver(location.pathname) as Any) || NotFound;\n\t\tif (Fallback) {\n\t\t\tcontent = <Fallback />;\n\t\t} else {\n\t\t\tcontent = (\n\t\t\t\t<div style={{ padding: '2rem', textAlign: 'center' }}>\n\t\t\t\t\t<h1>404 - Page Not Found</h1>\n\t\t\t\t\t<p>The page {location.pathname} could not be found.</p>\n\t\t\t\t\t<a href='/'>Go Home</a>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t}\n\n\treturn (\n\t\t<RouterContext.Provider value={contextValue}>\n\t\t\t{children || content}\n\t\t</RouterContext.Provider>\n\t);\n}\n\nexport { OutletContext, RouterContext, RouterProvider };\n",
13
13
  "import type { Any } from '../types/any';\n\nconst HEAD_ATTR = 'data-reroute-ssr-head';\nconst HEAD_ATTR_ROUTE = 'data-reroute-route-head';\n\nfunction isBrowser(): boolean {\n\treturn typeof document !== 'undefined' && typeof window !== 'undefined';\n}\n\nexport function applyPageMeta(meta: Any | undefined): void {\n\tif (!isBrowser() || !meta || typeof meta !== 'object') return;\n\ttry {\n\t\tconst title = typeof meta.title === 'string' ? meta.title : undefined;\n\t\tconst description =\n\t\t\ttypeof (meta as Any).description === 'string'\n\t\t\t\t? (meta as Any).description\n\t\t\t\t: typeof (meta as Any).excerpt === 'string'\n\t\t\t\t\t? (meta as Any).excerpt\n\t\t\t\t\t: undefined;\n\n\t\tif (title) document.title = title;\n\n\t\tif (description) {\n\t\t\tlet tag = document.head.querySelector(\n\t\t\t\t'meta[name=\"description\"]',\n\t\t\t) as HTMLMetaElement | null;\n\t\t\tif (!tag) {\n\t\t\t\ttag = document.createElement('meta');\n\t\t\t\ttag.setAttribute('name', 'description');\n\t\t\t\tdocument.head.appendChild(tag);\n\t\t\t}\n\t\t\ttag.setAttribute('content', description);\n\t\t}\n\t} catch {}\n}\n\nexport function applyLang(lang: Any | undefined): void {\n\tif (!isBrowser()) return;\n\tif (typeof lang === 'string' && lang.trim()) {\n\t\ttry {\n\t\t\tdocument.documentElement.lang = lang.trim();\n\t\t} catch {}\n\t}\n}\n\nexport function applySsrHead(head: Any | undefined): void {\n\tif (!isBrowser()) return;\n\ttry {\n\t\t// Remove previous injected nodes\n\t\tdocument.querySelectorAll(`[${HEAD_ATTR}]`).forEach((n) => {\n\t\t\tn.parentElement?.removeChild(n);\n\t\t});\n\n\t\tif (!head) return;\n\n\t\tconst parts: string[] = Array.isArray(head)\n\t\t\t? (head as Any[]).map((x) => String(x))\n\t\t\t: [String(head)];\n\t\tconst html = parts\n\t\t\t.map((p) => (typeof p === 'string' ? p : String(p)))\n\t\t\t.join('\\n');\n\t\tif (!html.trim()) return;\n\n\t\tconst tpl = document.createElement('template');\n\t\ttpl.innerHTML = html;\n\t\tconst nodes = Array.from(tpl.content.childNodes);\n\t\tfor (const node of nodes) {\n\t\t\tif (node.nodeType === Node.ELEMENT_NODE) {\n\t\t\t\t(node as Element).setAttribute(HEAD_ATTR, '');\n\t\t\t\tdocument.head.appendChild(node);\n\t\t\t}\n\t\t}\n\t} catch {}\n}\n\nexport function applyRouteHead(head: Any | undefined): void {\n\tif (!isBrowser()) return;\n\ttry {\n\t\t// Remove previous injected nodes for route-level head\n\t\tdocument.querySelectorAll(`[${HEAD_ATTR_ROUTE}]`).forEach((n) => {\n\t\t\tn.parentElement?.removeChild(n);\n\t\t});\n\n\t\tif (!head) return;\n\n\t\tconst parts: string[] = Array.isArray(head)\n\t\t\t? (head as Any[]).map((x) => String(x))\n\t\t\t: [String(head)];\n\t\tconst html = parts\n\t\t\t.map((p) => (typeof p === 'string' ? p : String(p)))\n\t\t\t.join('\\n');\n\t\tif (!html.trim()) return;\n\n\t\tconst tpl = document.createElement('template');\n\t\ttpl.innerHTML = html;\n\t\tconst nodes = Array.from(tpl.content.childNodes);\n\t\tfor (const node of nodes) {\n\t\t\tif (node.nodeType === Node.ELEMENT_NODE) {\n\t\t\t\t(node as Element).setAttribute(HEAD_ATTR_ROUTE, '');\n\t\t\t\tdocument.head.appendChild(node);\n\t\t\t}\n\t\t}\n\t} catch {}\n}\n",
14
14
  "import type { ReactNode } from 'react';\nimport type { Any } from '../types/any';\nimport { ContentProvider } from './ContentProvider';\nimport { RouterProvider } from './RouterProvider';\n\ntype RerouteParams = {\n\tbyCollection?: Record<string, Any[]> | null;\n\tgetContentEntry?: (collection: string, name: string) => Any | undefined;\n\tloadContent?: () => Promise<{\n\t\tbyCollection: Record<string, Any[]>;\n\t\tgetContentEntry: (collection: string, name: string) => Any | undefined;\n\t}>;\n\tcontentBaseUrl?: string;\n\tlayouts?: readonly Any[];\n\tmatchRoute: (pathname: string) => Any;\n\tnotFoundRoutes?: readonly Any[];\n\tnotFound?: React.ComponentType;\n\tpathname?: string;\n\tviewTransitions?: boolean;\n\tscrollRestoration?: boolean;\n};\n\nfunction RerouteProvider({\n\tfrom,\n\tchildren,\n}: {\n\tfrom: RerouteParams;\n\tchildren?: ReactNode;\n}) {\n\tconst {\n\t\tbyCollection,\n\t\tgetContentEntry,\n\t\tloadContent,\n\t\tcontentBaseUrl,\n\t\tlayouts = [],\n\t\tmatchRoute,\n\t\tnotFoundRoutes,\n\t\tnotFound,\n\t\tpathname,\n\t\tviewTransitions,\n\t\tscrollRestoration,\n\t} = from;\n\tconst loader =\n\t\tloadContent ||\n\t\t(contentBaseUrl\n\t\t\t? (((c?: string) =>\n\t\t\t\t\timport(/* @vite-ignore */ `${contentBaseUrl}/${c}.js`)) as Any)\n\t\t\t: undefined);\n\n\treturn (\n\t\t<ContentProvider\n\t\t\tgetEntry={getContentEntry}\n\t\t\tbyCollection={byCollection || null}\n\t\t\tloadCollection={loader as Any}\n\t\t>\n\t\t\t<RouterProvider\n\t\t\t\tlayouts={layouts as Any[]}\n\t\t\t\tmatchRoute={matchRoute as Any}\n\t\t\t\tnotFoundRoutes={notFoundRoutes as Any}\n\t\t\t\tnotFound={notFound}\n\t\t\t\tpathname={pathname}\n\t\t\t\tviewTransitions={viewTransitions}\n\t\t\t\tscrollRestoration={scrollRestoration}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</RouterProvider>\n\t\t</ContentProvider>\n\t);\n}\n\nexport { RerouteProvider };\nexport type { RerouteParams };\n",
15
15
  "import { useRouter } from './useRouter';\n\n/**\n * Hook to access the navigate function.\n * Must be used within a RouterProvider.\n */\nexport function useNavigate() {\n\tconst { navigate } = useRouter();\n\treturn navigate;\n}\n",
@@ -20,7 +20,7 @@
20
20
  "/**\n * Markdown component with optional Shiki syntax highlighting\n *\n * Requires: react-markdown\n * Optional: @shikijs/rehype (SSR/compile-time) or shiki (client-only)\n */\n\nimport type { ReactNode } from 'react';\n// Note: Avoid hooks so this component remains safe to use from\n// content chunks that are bundled separately without duplicating React.\nimport type { Components } from 'react-markdown';\nimport ReactMarkdownLib from 'react-markdown';\n\nexport interface MarkdownProps {\n\t/**\n\t * Markdown content to render\n\t */\n\tchildren: string;\n\n\t/**\n\t * Additional CSS class name\n\t */\n\tclassName?: string;\n\n\t/**\n\t * Enable GitHub Flavored Markdown (requires remark-gfm)\n\t * @default true if remark-gfm is installed\n\t */\n\tgfm?: boolean;\n\n\t/**\n\t * Enable syntax highlighting. For programmatic Markdown (TSX routes),\n\t * highlighting is applied client-side using Shiki to avoid SSR mismatch.\n\t * For content-generated MD/MDX, highlighting can also be compiled in.\n\t * @default false\n\t */\n\thighlight?: boolean;\n\n\t/**\n\t * Shiki theme to use for syntax highlighting\n\t * @default 'github-dark'\n\t */\n\ttheme?: string;\n\n\t/**\n\t * Skip HTML in markdown completely\n\t * @default false\n\t */\n\tskipHtml?: boolean;\n\n\t/**\n\t * Custom components to override default HTML elements\n\t */\n\tcomponents?: Components;\n\n\t/**\n\t * Additional remark plugins\n\t */\n\t// biome-ignore lint/suspicious/noExplicitAny: flexible plugin types\n\tremarkPlugins?: any[];\n\n\t/**\n\t * Additional rehype plugins\n\t */\n\t// biome-ignore lint/suspicious/noExplicitAny: flexible plugin types\n\trehypePlugins?: any[];\n}\n\n/**\n * Markdown component for rendering markdown content with optional syntax highlighting\n *\n * @example\n * ```tsx\n * import { Markdown } from 'reroute-js/react';\n *\n * <Markdown>\n * # Hello World\n * This is **bold** and this is *italic*.\n * </Markdown>\n * ```\n *\n * @example With code blocks\n * ```tsx\n * <Markdown highlight theme=\"github-dark\">\n * {`\n * # Code Example\n * \\`\\`\\`typescript\n * const greeting = \"Hello, World!\";\n * console.log(greeting);\n * \\`\\`\\`\n * `}\n * </Markdown>\n * ```\n */\nexport function Markdown({\n\tchildren,\n\tclassName,\n\tskipHtml = false,\n\tcomponents,\n\tremarkPlugins = [],\n\trehypePlugins = [],\n}: MarkdownProps): ReactNode {\n\t// Build plugins arrays\n\tconst finalRemarkPlugins = [...remarkPlugins];\n\tconst finalRehypePlugins = [...rehypePlugins];\n\n\t// Note: Optional plugins (remark-gfm, @shikijs/rehype) should be passed\n\t// via remarkPlugins/rehypePlugins props if needed, or the generated\n\t// markdown routes will handle them\n\n\treturn (\n\t\t<div className={className}>\n\t\t\t<ReactMarkdownLib\n\t\t\t\tremarkPlugins={finalRemarkPlugins}\n\t\t\t\trehypePlugins={finalRehypePlugins}\n\t\t\t\tskipHtml={skipHtml}\n\t\t\t\tcomponents={components}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</ReactMarkdownLib>\n\t\t</div>\n\t);\n}\n",
21
21
  "import { useContext } from 'react';\nimport { OutletContext } from '../providers';\n\n/**\n * Outlet component for rendering nested routes within layouts.\n * Must be used within a layout component that's rendered by RouterProvider.\n */\nfunction Outlet() {\n\tconst outletContent = useContext(OutletContext);\n\treturn <>{outletContent}</>;\n}\n\nexport { Outlet };\n"
22
22
  ],
23
- "mappings": "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",
24
- "debugId": "CB077059E687760364756E2164756E21",
23
+ "mappings": "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",
24
+ "debugId": "C5ADD8AC677D585F64756E2164756E21",
25
25
  "names": []
26
26
  }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v0.6.0
2
+ * reroute-js v0.7.1
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2025 stewones <hi@stewan.io>
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v0.6.0
2
+ * reroute-js v0.7.1
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2025 stewones <hi@stewan.io>
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v0.6.0
2
+ * reroute-js v0.7.1
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2025 stewones <hi@stewan.io>
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v0.6.0
2
+ * reroute-js v0.7.1
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2025 stewones <hi@stewan.io>
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v0.6.0
2
+ * reroute-js v0.7.1
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2025 stewones <hi@stewan.io>
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v0.6.0
2
+ * reroute-js v0.7.1
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2025 stewones <hi@stewan.io>
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v0.6.0
2
+ * reroute-js v0.7.1
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2025 stewones <hi@stewan.io>
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v0.6.0
2
+ * reroute-js v0.7.1
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2025 stewones <hi@stewan.io>
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v0.6.0
2
+ * reroute-js v0.7.1
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2025 stewones <hi@stewan.io>
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v0.6.0
2
+ * reroute-js v0.7.1
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2025 stewones <hi@stewan.io>
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v0.6.0
2
+ * reroute-js v0.7.1
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2025 stewones <hi@stewan.io>
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v0.6.0
2
+ * reroute-js v0.7.1
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2025 stewones <hi@stewan.io>
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v0.6.0
2
+ * reroute-js v0.7.1
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2025 stewones <hi@stewan.io>
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v0.6.0
2
+ * reroute-js v0.7.1
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2025 stewones <hi@stewan.io>
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v0.6.0
2
+ * reroute-js v0.7.1
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2025 stewones <hi@stewan.io>
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v0.6.0
2
+ * reroute-js v0.7.1
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2025 stewones <hi@stewan.io>
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v0.6.0
2
+ * reroute-js v0.7.1
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2025 stewones <hi@stewan.io>
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v0.6.0
2
+ * reroute-js v0.7.1
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2025 stewones <hi@stewan.io>
@@ -1 +1 @@
1
- {"version":3,"file":"RouterProvider.d.ts","sourceRoot":"","sources":["../../../../../../packages/react/src/providers/RouterProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAMN,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,EAEX,UAAU,EACV,oBAAoB,EACpB,MAAM,iBAAiB,CAAC;AAOzB,QAAA,MAAM,aAAa,0BAAiC,CAAC;AACrD,QAAA,MAAM,aAAa,4CAAmD,CAAC;AAYvE,UAAU,mBAAmB;IAC5B,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,OAAO,CAAC,EAAE,SAAS,GAAG,EAAE,CAAC;IACzB,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,UAAU,GAAG,IAAI,CAAC;IACpD,cAAc,CAAC,EAAE,SAAS,GAAG,EAAE,CAAC;IAChC,QAAQ,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAqHD;;;GAGG;AACH,iBAAS,cAAc,CAAC,EACvB,QAAQ,EACR,OAAY,EACZ,UAAU,EACV,cAAmB,EACnB,QAAQ,EAAE,QAAQ,EAClB,QAAc,EACd,eAAsB,EACtB,iBAAwB,GACxB,EAAE,mBAAmB,2CA2UrB;AAED,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"RouterProvider.d.ts","sourceRoot":"","sources":["../../../../../../packages/react/src/providers/RouterProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAMN,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,EAEX,UAAU,EACV,oBAAoB,EACpB,MAAM,iBAAiB,CAAC;AAOzB,QAAA,MAAM,aAAa,0BAAiC,CAAC;AACrD,QAAA,MAAM,aAAa,4CAAmD,CAAC;AAYvE,UAAU,mBAAmB;IAC5B,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,OAAO,CAAC,EAAE,SAAS,GAAG,EAAE,CAAC;IACzB,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,UAAU,GAAG,IAAI,CAAC;IACpD,cAAc,CAAC,EAAE,SAAS,GAAG,EAAE,CAAC;IAChC,QAAQ,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAgKD;;;GAGG;AACH,iBAAS,cAAc,CAAC,EACvB,QAAQ,EACR,OAAY,EACZ,UAAU,EACV,cAAmB,EACnB,QAAQ,EAAE,QAAQ,EAClB,QAAc,EACd,eAAsB,EACtB,iBAAwB,GACxB,EAAE,mBAAmB,2CAqVrB;AAED,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,CAAC"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v0.6.0
2
+ * reroute-js v0.7.1
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2025 stewones <hi@stewan.io>
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v0.6.0
2
+ * reroute-js v0.7.1
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2025 stewones <hi@stewan.io>
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v0.6.0
2
+ * reroute-js v0.7.1
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2025 stewones <hi@stewan.io>
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v0.6.0
2
+ * reroute-js v0.7.1
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2025 stewones <hi@stewan.io>
@@ -1,5 +1,5 @@
1
1
  /**
2
- * reroute-js v0.6.0
2
+ * reroute-js v0.7.1
3
3
  *
4
4
  * @license MIT
5
5
  * @copyright 2025 stewones <hi@stewan.io>