next 15.2.2-canary.5 → 15.2.2-canary.7

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.

Potentially problematic release.


This version of next might be problematic. Click here for more details.

Files changed (75) hide show
  1. package/dist/bin/next +1 -1
  2. package/dist/build/handle-entrypoints.d.ts +3 -23
  3. package/dist/build/handle-entrypoints.js +36 -149
  4. package/dist/build/handle-entrypoints.js.map +1 -1
  5. package/dist/build/index.js +2 -2
  6. package/dist/build/swc/generated-native.d.ts +4 -0
  7. package/dist/build/swc/index.js +77 -68
  8. package/dist/build/swc/index.js.map +1 -1
  9. package/dist/build/swc/types.d.ts +1 -0
  10. package/dist/build/turbopack-build/impl.js +33 -160
  11. package/dist/build/turbopack-build/impl.js.map +1 -1
  12. package/dist/build/webpack-config.js +2 -2
  13. package/dist/client/app-bootstrap.js +1 -1
  14. package/dist/client/components/react-dev-overlay/ui/components/errors/dev-tools-indicator/next-logo.js +3 -5
  15. package/dist/client/components/react-dev-overlay/ui/components/errors/dev-tools-indicator/next-logo.js.map +1 -1
  16. package/dist/client/components/react-dev-overlay/ui/components/errors/error-overlay-layout/error-overlay-layout.d.ts +1 -1
  17. package/dist/client/components/react-dev-overlay/ui/components/errors/error-overlay-nav/error-overlay-nav.d.ts +1 -1
  18. package/dist/client/components/react-dev-overlay/ui/components/errors/error-overlay-nav/error-overlay-nav.js +1 -1
  19. package/dist/client/components/react-dev-overlay/ui/components/errors/error-overlay-nav/error-overlay-nav.js.map +1 -1
  20. package/dist/client/components/react-dev-overlay/ui/styles/base.js +1 -1
  21. package/dist/client/components/react-dev-overlay/ui/styles/base.js.map +1 -1
  22. package/dist/client/index.js +1 -1
  23. package/dist/compiled/next-server/app-page-experimental.runtime.dev.js +2 -2
  24. package/dist/compiled/next-server/app-page-experimental.runtime.dev.js.map +1 -1
  25. package/dist/compiled/next-server/app-page.runtime.dev.js +2 -2
  26. package/dist/compiled/next-server/app-page.runtime.dev.js.map +1 -1
  27. package/dist/esm/build/handle-entrypoints.js +31 -140
  28. package/dist/esm/build/handle-entrypoints.js.map +1 -1
  29. package/dist/esm/build/index.js +2 -2
  30. package/dist/esm/build/swc/generated-native.d.ts +4 -0
  31. package/dist/esm/build/swc/index.js +77 -68
  32. package/dist/esm/build/swc/index.js.map +1 -1
  33. package/dist/esm/build/swc/types.js.map +1 -1
  34. package/dist/esm/build/turbopack-build/impl.js +34 -120
  35. package/dist/esm/build/turbopack-build/impl.js.map +1 -1
  36. package/dist/esm/build/webpack-config.js +2 -2
  37. package/dist/esm/client/app-bootstrap.js +1 -1
  38. package/dist/esm/client/components/react-dev-overlay/ui/components/errors/dev-tools-indicator/next-logo.js +3 -5
  39. package/dist/esm/client/components/react-dev-overlay/ui/components/errors/dev-tools-indicator/next-logo.js.map +1 -1
  40. package/dist/esm/client/components/react-dev-overlay/ui/components/errors/error-overlay-nav/error-overlay-nav.js +1 -1
  41. package/dist/esm/client/components/react-dev-overlay/ui/components/errors/error-overlay-nav/error-overlay-nav.js.map +1 -1
  42. package/dist/esm/client/components/react-dev-overlay/ui/styles/base.js +1 -1
  43. package/dist/esm/client/components/react-dev-overlay/ui/styles/base.js.map +1 -1
  44. package/dist/esm/client/index.js +1 -1
  45. package/dist/esm/server/dev/hot-reloader-turbopack.js +1 -1
  46. package/dist/esm/server/dev/hot-reloader-webpack.js +1 -1
  47. package/dist/esm/server/lib/app-info-log.js +1 -1
  48. package/dist/esm/server/lib/start-server.js +1 -1
  49. package/dist/esm/shared/lib/canary-only.js +1 -1
  50. package/dist/esm/shared/lib/get-img-props.js +11 -1
  51. package/dist/esm/shared/lib/get-img-props.js.map +1 -1
  52. package/dist/esm/shared/lib/turbopack/manifest-loader.js +24 -14
  53. package/dist/esm/shared/lib/turbopack/manifest-loader.js.map +1 -1
  54. package/dist/server/dev/hot-reloader-turbopack.js +1 -1
  55. package/dist/server/dev/hot-reloader-webpack.js +1 -1
  56. package/dist/server/lib/app-info-log.js +1 -1
  57. package/dist/server/lib/start-server.js +1 -1
  58. package/dist/shared/lib/canary-only.js +1 -1
  59. package/dist/shared/lib/get-img-props.d.ts +2 -1
  60. package/dist/shared/lib/get-img-props.js +11 -1
  61. package/dist/shared/lib/get-img-props.js.map +1 -1
  62. package/dist/shared/lib/turbopack/manifest-loader.d.ts +4 -1
  63. package/dist/shared/lib/turbopack/manifest-loader.js +24 -14
  64. package/dist/shared/lib/turbopack/manifest-loader.js.map +1 -1
  65. package/dist/telemetry/anonymous-meta.js +1 -1
  66. package/dist/telemetry/events/build.d.ts +2 -1
  67. package/dist/telemetry/events/build.js +2 -1
  68. package/dist/telemetry/events/build.js.map +1 -1
  69. package/dist/telemetry/events/session-stopped.d.ts +2 -1
  70. package/dist/telemetry/events/session-stopped.js +4 -3
  71. package/dist/telemetry/events/session-stopped.js.map +1 -1
  72. package/dist/telemetry/events/version.d.ts +2 -1
  73. package/dist/telemetry/events/version.js +3 -2
  74. package/dist/telemetry/events/version.js.map +1 -1
  75. package/package.json +15 -15
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/build/turbopack-build/impl.ts"],"sourcesContent":["import path from 'path'\nimport { validateTurboNextConfig } from '../../lib/turbopack-warning'\nimport {\n formatIssue,\n getTurbopackJsConfig,\n isPersistentCachingEnabled,\n isRelevantWarning,\n type EntryIssuesMap,\n} from '../../shared/lib/turbopack/utils'\nimport { NextBuildContext } from '../build-context'\nimport { createDefineEnv, loadBindings } from '../swc'\nimport { Sema } from 'next/dist/compiled/async-sema'\nimport {\n handleEntrypoints,\n handlePagesErrorRoute,\n handleRouteType,\n} from '../handle-entrypoints'\nimport type { Entrypoints } from '../swc/types'\nimport { TurbopackManifestLoader } from '../../shared/lib/turbopack/manifest-loader'\nimport { createProgress } from '../progress'\nimport * as Log from '../output/log'\nimport { promises as fs } from 'fs'\nimport { PHASE_PRODUCTION_BUILD } from '../../shared/lib/constants'\nimport loadConfig from '../../server/config'\nimport { hasCustomExportOutput } from '../../export/utils'\nimport { Telemetry } from '../../telemetry/storage'\nimport { setGlobal } from '../../trace'\n\nconst IS_TURBOPACK_BUILD = process.env.TURBOPACK && process.env.TURBOPACK_BUILD\n\nexport async function turbopackBuild(): Promise<{\n duration: number\n buildTraceContext: undefined\n shutdownPromise: Promise<void>\n}> {\n if (!IS_TURBOPACK_BUILD) {\n throw new Error(\"next build doesn't support turbopack yet\")\n }\n\n await validateTurboNextConfig({\n dir: NextBuildContext.dir!,\n isDev: false,\n })\n\n const config = NextBuildContext.config!\n const dir = NextBuildContext.dir!\n const distDir = NextBuildContext.distDir!\n const buildId = NextBuildContext.buildId!\n const encryptionKey = NextBuildContext.encryptionKey!\n const previewProps = NextBuildContext.previewProps!\n const hasRewrites = NextBuildContext.hasRewrites!\n const rewrites = NextBuildContext.rewrites!\n const appDirOnly = NextBuildContext.appDirOnly!\n const noMangling = NextBuildContext.noMangling!\n\n const startTime = process.hrtime()\n const bindings = await loadBindings(config?.experimental?.useWasmBinary)\n const dev = false\n\n // const supportedBrowsers = await getSupportedBrowsers(dir, dev)\n const supportedBrowsers = [\n 'last 1 Chrome versions, last 1 Firefox versions, last 1 Safari versions, last 1 Edge versions',\n ]\n\n const persistentCaching = isPersistentCachingEnabled(config)\n const project = await bindings.turbo.createProject(\n {\n projectPath: dir,\n rootPath:\n config.experimental?.turbo?.root || config.outputFileTracingRoot || dir,\n distDir,\n nextConfig: config,\n jsConfig: await getTurbopackJsConfig(dir, config),\n watch: {\n enable: false,\n },\n dev,\n env: process.env as Record<string, string>,\n defineEnv: createDefineEnv({\n isTurbopack: true,\n clientRouterFilters: NextBuildContext.clientRouterFilters!,\n config,\n dev,\n distDir,\n fetchCacheKeyPrefix: config.experimental.fetchCacheKeyPrefix,\n hasRewrites,\n // Implemented separately in Turbopack, doesn't have to be passed here.\n middlewareMatchers: undefined,\n }),\n buildId,\n encryptionKey,\n previewProps,\n browserslistQuery: supportedBrowsers.join(', '),\n noMangling,\n },\n {\n persistentCaching,\n memoryLimit: config.experimental.turbo?.memoryLimit,\n dependencyTracking: persistentCaching,\n }\n )\n\n await fs.mkdir(path.join(distDir, 'server'), { recursive: true })\n await fs.mkdir(path.join(distDir, 'static', buildId), {\n recursive: true,\n })\n await fs.writeFile(\n path.join(distDir, 'package.json'),\n JSON.stringify(\n {\n type: 'commonjs',\n },\n null,\n 2\n )\n )\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const entrypointsSubscription = project.entrypointsSubscribe()\n const currentEntrypoints: Entrypoints = {\n global: {\n app: undefined,\n document: undefined,\n error: undefined,\n\n middleware: undefined,\n instrumentation: undefined,\n },\n\n app: new Map(),\n page: new Map(),\n }\n\n const currentEntryIssues: EntryIssuesMap = new Map()\n\n const manifestLoader = new TurbopackManifestLoader({\n buildId,\n distDir,\n encryptionKey,\n })\n\n const entrypointsResult = await entrypointsSubscription.next()\n if (entrypointsResult.done) {\n throw new Error('Turbopack did not return any entrypoints')\n }\n entrypointsSubscription.return?.().catch(() => {})\n\n const entrypoints = entrypointsResult.value\n\n const topLevelErrors: {\n message: string\n }[] = []\n for (const issue of entrypoints.issues) {\n topLevelErrors.push({\n message: formatIssue(issue),\n })\n }\n\n if (topLevelErrors.length > 0) {\n throw new Error(\n `Turbopack build failed with ${\n topLevelErrors.length\n } issues:\\n${topLevelErrors.map((e) => e.message).join('\\n')}`\n )\n }\n\n await handleEntrypoints({\n entrypoints,\n currentEntrypoints,\n currentEntryIssues,\n manifestLoader,\n productionRewrites: rewrites,\n logErrors: false,\n })\n\n const progress = createProgress(\n currentEntrypoints.page.size + currentEntrypoints.app.size + 1,\n 'Building'\n )\n const promises: Promise<any>[] = []\n\n // Concurrency will start at INITIAL_CONCURRENCY and\n // slowly ramp up to CONCURRENCY by increasing the\n // concurrency by 1 every time a task is completed.\n const INITIAL_CONCURRENCY = 5\n const CONCURRENCY = 10\n\n const sema = new Sema(INITIAL_CONCURRENCY)\n let remainingRampup = CONCURRENCY - INITIAL_CONCURRENCY\n const enqueue = (fn: () => Promise<void>) => {\n promises.push(\n (async () => {\n await sema.acquire()\n try {\n await fn()\n } finally {\n sema.release()\n if (remainingRampup > 0) {\n remainingRampup--\n sema.release()\n }\n progress.run()\n }\n })()\n )\n }\n\n if (!appDirOnly) {\n for (const [page, route] of currentEntrypoints.page) {\n enqueue(() =>\n handleRouteType({\n page,\n route,\n currentEntryIssues,\n entrypoints: currentEntrypoints,\n manifestLoader,\n productionRewrites: rewrites,\n logErrors: false,\n })\n )\n }\n }\n\n for (const [page, route] of currentEntrypoints.app) {\n enqueue(() =>\n handleRouteType({\n page,\n route,\n currentEntryIssues,\n entrypoints: currentEntrypoints,\n manifestLoader,\n productionRewrites: rewrites,\n logErrors: false,\n })\n )\n }\n\n enqueue(() =>\n handlePagesErrorRoute({\n currentEntryIssues,\n entrypoints: currentEntrypoints,\n manifestLoader,\n productionRewrites: rewrites,\n logErrors: false,\n })\n )\n await Promise.all(promises)\n\n await manifestLoader.writeManifests({\n devRewrites: undefined,\n productionRewrites: rewrites,\n entrypoints: currentEntrypoints,\n })\n\n const errors: {\n page: string\n message: string\n }[] = []\n const warnings: {\n page: string\n message: string\n }[] = []\n for (const [page, entryIssues] of currentEntryIssues) {\n for (const issue of entryIssues.values()) {\n if (issue.severity !== 'warning') {\n errors.push({\n page,\n message: formatIssue(issue),\n })\n } else {\n if (isRelevantWarning(issue)) {\n warnings.push({\n page,\n message: formatIssue(issue),\n })\n }\n }\n }\n }\n\n const shutdownPromise = project.shutdown()\n\n if (warnings.length > 0) {\n Log.warn(\n `Turbopack build collected ${warnings.length} warnings:\\n${warnings\n .map((e) => {\n return 'Page: ' + e.page + '\\n' + e.message\n })\n .join('\\n')}`\n )\n }\n\n if (errors.length > 0) {\n throw new Error(\n `Turbopack build failed with ${errors.length} errors:\\n${errors\n .map((e) => {\n return 'Page: ' + e.page + '\\n' + e.message\n })\n .join('\\n')}`\n )\n }\n\n const time = process.hrtime(startTime)\n return {\n duration: time[0] + time[1] / 1e9,\n buildTraceContext: undefined,\n shutdownPromise,\n }\n}\n\nlet shutdownPromise: Promise<void> | undefined\nexport async function workerMain(workerData: {\n buildContext: typeof NextBuildContext\n}): Promise<Awaited<ReturnType<typeof turbopackBuild>>> {\n // setup new build context from the serialized data passed from the parent\n Object.assign(NextBuildContext, workerData.buildContext)\n\n /// load the config because it's not serializable\n NextBuildContext.config = await loadConfig(\n PHASE_PRODUCTION_BUILD,\n NextBuildContext.dir!\n )\n\n // Matches handling in build/index.ts\n // https://github.com/vercel/next.js/blob/84f347fc86f4efc4ec9f13615c215e4b9fb6f8f0/packages/next/src/build/index.ts#L815-L818\n // Ensures the `config.distDir` option is matched.\n if (hasCustomExportOutput(NextBuildContext.config)) {\n NextBuildContext.config.distDir = '.next'\n }\n\n // Clone the telemetry for worker\n const telemetry = new Telemetry({\n distDir: NextBuildContext.config.distDir,\n })\n setGlobal('telemetry', telemetry)\n\n const result = await turbopackBuild()\n shutdownPromise = result.shutdownPromise\n return result\n}\n\nexport async function waitForShutdown(): Promise<void> {\n if (shutdownPromise) {\n await shutdownPromise\n }\n}\n"],"names":["turbopackBuild","waitForShutdown","workerMain","IS_TURBOPACK_BUILD","process","env","TURBOPACK","TURBOPACK_BUILD","config","Error","validateTurboNextConfig","dir","NextBuildContext","isDev","distDir","buildId","encryptionKey","previewProps","hasRewrites","rewrites","appDirOnly","noMangling","startTime","hrtime","bindings","loadBindings","experimental","useWasmBinary","dev","supportedBrowsers","persistentCaching","isPersistentCachingEnabled","project","turbo","createProject","projectPath","rootPath","root","outputFileTracingRoot","nextConfig","jsConfig","getTurbopackJsConfig","watch","enable","defineEnv","createDefineEnv","isTurbopack","clientRouterFilters","fetchCacheKeyPrefix","middlewareMatchers","undefined","browserslistQuery","join","memoryLimit","dependencyTracking","fs","mkdir","path","recursive","writeFile","JSON","stringify","type","entrypointsSubscription","entrypointsSubscribe","currentEntrypoints","global","app","document","error","middleware","instrumentation","Map","page","currentEntryIssues","manifestLoader","TurbopackManifestLoader","entrypointsResult","next","done","return","catch","entrypoints","value","topLevelErrors","issue","issues","push","message","formatIssue","length","map","e","handleEntrypoints","productionRewrites","logErrors","progress","createProgress","size","promises","INITIAL_CONCURRENCY","CONCURRENCY","sema","Sema","remainingRampup","enqueue","fn","acquire","release","run","route","handleRouteType","handlePagesErrorRoute","Promise","all","writeManifests","devRewrites","errors","warnings","entryIssues","values","severity","isRelevantWarning","shutdownPromise","shutdown","Log","warn","time","duration","buildTraceContext","workerData","Object","assign","buildContext","loadConfig","PHASE_PRODUCTION_BUILD","hasCustomExportOutput","telemetry","Telemetry","setGlobal","result"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/build/turbopack-build/impl.ts"],"sourcesContent":["import path from 'path'\nimport { validateTurboNextConfig } from '../../lib/turbopack-warning'\nimport {\n formatIssue,\n getTurbopackJsConfig,\n isPersistentCachingEnabled,\n isRelevantWarning,\n} from '../../shared/lib/turbopack/utils'\nimport { NextBuildContext } from '../build-context'\nimport { createDefineEnv, loadBindings } from '../swc'\nimport {\n rawEntrypointsToEntrypoints,\n handleRouteType,\n} from '../handle-entrypoints'\nimport { TurbopackManifestLoader } from '../../shared/lib/turbopack/manifest-loader'\nimport { promises as fs } from 'fs'\nimport { PHASE_PRODUCTION_BUILD } from '../../shared/lib/constants'\nimport loadConfig from '../../server/config'\nimport { hasCustomExportOutput } from '../../export/utils'\nimport { Telemetry } from '../../telemetry/storage'\nimport { setGlobal } from '../../trace'\n\nconst IS_TURBOPACK_BUILD = process.env.TURBOPACK && process.env.TURBOPACK_BUILD\n\nexport async function turbopackBuild(): Promise<{\n duration: number\n buildTraceContext: undefined\n shutdownPromise: Promise<void>\n}> {\n if (!IS_TURBOPACK_BUILD) {\n throw new Error(\"next build doesn't support turbopack yet\")\n }\n\n await validateTurboNextConfig({\n dir: NextBuildContext.dir!,\n isDev: false,\n })\n\n const config = NextBuildContext.config!\n const dir = NextBuildContext.dir!\n const distDir = NextBuildContext.distDir!\n const buildId = NextBuildContext.buildId!\n const encryptionKey = NextBuildContext.encryptionKey!\n const previewProps = NextBuildContext.previewProps!\n const hasRewrites = NextBuildContext.hasRewrites!\n const rewrites = NextBuildContext.rewrites!\n const appDirOnly = NextBuildContext.appDirOnly!\n const noMangling = NextBuildContext.noMangling!\n\n const startTime = process.hrtime()\n const bindings = await loadBindings(config?.experimental?.useWasmBinary)\n const dev = false\n\n // const supportedBrowsers = await getSupportedBrowsers(dir, dev)\n const supportedBrowsers = [\n 'last 1 Chrome versions, last 1 Firefox versions, last 1 Safari versions, last 1 Edge versions',\n ]\n\n const persistentCaching = isPersistentCachingEnabled(config)\n const project = await bindings.turbo.createProject(\n {\n projectPath: dir,\n rootPath:\n config.experimental?.turbo?.root || config.outputFileTracingRoot || dir,\n distDir,\n nextConfig: config,\n jsConfig: await getTurbopackJsConfig(dir, config),\n watch: {\n enable: false,\n },\n dev,\n env: process.env as Record<string, string>,\n defineEnv: createDefineEnv({\n isTurbopack: true,\n clientRouterFilters: NextBuildContext.clientRouterFilters!,\n config,\n dev,\n distDir,\n fetchCacheKeyPrefix: config.experimental.fetchCacheKeyPrefix,\n hasRewrites,\n // Implemented separately in Turbopack, doesn't have to be passed here.\n middlewareMatchers: undefined,\n }),\n buildId,\n encryptionKey,\n previewProps,\n browserslistQuery: supportedBrowsers.join(', '),\n noMangling,\n },\n {\n persistentCaching,\n memoryLimit: config.experimental.turbo?.memoryLimit,\n dependencyTracking: persistentCaching,\n }\n )\n\n await fs.mkdir(path.join(distDir, 'server'), { recursive: true })\n await fs.mkdir(path.join(distDir, 'static', buildId), {\n recursive: true,\n })\n await fs.writeFile(\n path.join(distDir, 'package.json'),\n JSON.stringify(\n {\n type: 'commonjs',\n },\n null,\n 2\n )\n )\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const entrypoints = await project.writeAllEntrypointsToDisk(appDirOnly)\n\n const manifestLoader = new TurbopackManifestLoader({\n buildId,\n distDir,\n encryptionKey,\n })\n\n const topLevelErrors = []\n const topLevelWarnings = []\n for (const issue of entrypoints.issues) {\n if (issue.severity === 'error' || issue.severity === 'fatal') {\n topLevelErrors.push(formatIssue(issue))\n } else if (isRelevantWarning(issue)) {\n topLevelWarnings.push(formatIssue(issue))\n }\n }\n\n if (topLevelWarnings.length > 0) {\n console.warn(\n `Turbopack build encountered ${\n topLevelWarnings.length\n } warnings:\\n${topLevelWarnings.join('\\n')}`\n )\n }\n\n if (topLevelErrors.length > 0) {\n throw new Error(\n `Turbopack build failed with ${\n topLevelErrors.length\n } errors:\\n${topLevelErrors.join('\\n')}`\n )\n }\n\n const currentEntrypoints = await rawEntrypointsToEntrypoints(entrypoints)\n\n const promises: Promise<any>[] = []\n\n if (!appDirOnly) {\n for (const [page, route] of currentEntrypoints.page) {\n promises.push(\n handleRouteType({\n page,\n route,\n manifestLoader,\n })\n )\n }\n }\n\n for (const [page, route] of currentEntrypoints.app) {\n promises.push(\n handleRouteType({\n page,\n route,\n manifestLoader,\n })\n )\n }\n\n await Promise.all(promises)\n\n await Promise.all([\n manifestLoader.loadBuildManifest('_app'),\n manifestLoader.loadPagesManifest('_app'),\n manifestLoader.loadFontManifest('_app'),\n manifestLoader.loadPagesManifest('_document'),\n manifestLoader.loadBuildManifest('_error'),\n manifestLoader.loadPagesManifest('_error'),\n manifestLoader.loadFontManifest('_error'),\n entrypoints.instrumentation &&\n manifestLoader.loadMiddlewareManifest(\n 'instrumentation',\n 'instrumentation'\n ),\n entrypoints.middleware &&\n (await manifestLoader.loadMiddlewareManifest('middleware', 'middleware')),\n ])\n\n await manifestLoader.writeManifests({\n devRewrites: undefined,\n productionRewrites: rewrites,\n entrypoints: currentEntrypoints,\n })\n\n const shutdownPromise = project.shutdown()\n\n const time = process.hrtime(startTime)\n return {\n duration: time[0] + time[1] / 1e9,\n buildTraceContext: undefined,\n shutdownPromise,\n }\n}\n\nlet shutdownPromise: Promise<void> | undefined\nexport async function workerMain(workerData: {\n buildContext: typeof NextBuildContext\n}): Promise<Awaited<ReturnType<typeof turbopackBuild>>> {\n // setup new build context from the serialized data passed from the parent\n Object.assign(NextBuildContext, workerData.buildContext)\n\n /// load the config because it's not serializable\n NextBuildContext.config = await loadConfig(\n PHASE_PRODUCTION_BUILD,\n NextBuildContext.dir!\n )\n\n // Matches handling in build/index.ts\n // https://github.com/vercel/next.js/blob/84f347fc86f4efc4ec9f13615c215e4b9fb6f8f0/packages/next/src/build/index.ts#L815-L818\n // Ensures the `config.distDir` option is matched.\n if (hasCustomExportOutput(NextBuildContext.config)) {\n NextBuildContext.config.distDir = '.next'\n }\n\n // Clone the telemetry for worker\n const telemetry = new Telemetry({\n distDir: NextBuildContext.config.distDir,\n })\n setGlobal('telemetry', telemetry)\n\n const result = await turbopackBuild()\n shutdownPromise = result.shutdownPromise\n return result\n}\n\nexport async function waitForShutdown(): Promise<void> {\n if (shutdownPromise) {\n await shutdownPromise\n }\n}\n"],"names":["turbopackBuild","waitForShutdown","workerMain","IS_TURBOPACK_BUILD","process","env","TURBOPACK","TURBOPACK_BUILD","config","Error","validateTurboNextConfig","dir","NextBuildContext","isDev","distDir","buildId","encryptionKey","previewProps","hasRewrites","rewrites","appDirOnly","noMangling","startTime","hrtime","bindings","loadBindings","experimental","useWasmBinary","dev","supportedBrowsers","persistentCaching","isPersistentCachingEnabled","project","turbo","createProject","projectPath","rootPath","root","outputFileTracingRoot","nextConfig","jsConfig","getTurbopackJsConfig","watch","enable","defineEnv","createDefineEnv","isTurbopack","clientRouterFilters","fetchCacheKeyPrefix","middlewareMatchers","undefined","browserslistQuery","join","memoryLimit","dependencyTracking","fs","mkdir","path","recursive","writeFile","JSON","stringify","type","entrypoints","writeAllEntrypointsToDisk","manifestLoader","TurbopackManifestLoader","topLevelErrors","topLevelWarnings","issue","issues","severity","push","formatIssue","isRelevantWarning","length","console","warn","currentEntrypoints","rawEntrypointsToEntrypoints","promises","page","route","handleRouteType","app","Promise","all","loadBuildManifest","loadPagesManifest","loadFontManifest","instrumentation","loadMiddlewareManifest","middleware","writeManifests","devRewrites","productionRewrites","shutdownPromise","shutdown","time","duration","buildTraceContext","workerData","Object","assign","buildContext","loadConfig","PHASE_PRODUCTION_BUILD","hasCustomExportOutput","telemetry","Telemetry","setGlobal","result"],"mappings":"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"}
@@ -1625,7 +1625,7 @@ async function getBaseWebpackConfig(dir, { buildId, encryptionKey, config, compi
1625
1625
  isClient && new _copyfileplugin.CopyFilePlugin({
1626
1626
  // file path to build output of `@next/polyfill-nomodule`
1627
1627
  filePath: require.resolve('./polyfills/polyfill-nomodule'),
1628
- cacheKey: "15.2.2-canary.5",
1628
+ cacheKey: "15.2.2-canary.7",
1629
1629
  name: `static/chunks/polyfills${dev ? '' : '-[hash]'}.js`,
1630
1630
  minimize: false,
1631
1631
  info: {
@@ -1802,7 +1802,7 @@ async function getBaseWebpackConfig(dir, { buildId, encryptionKey, config, compi
1802
1802
  // - Next.js location on disk (some loaders use absolute paths and some resolve options depend on absolute paths)
1803
1803
  // - Next.js version
1804
1804
  // - next.config.js keys that affect compilation
1805
- version: `${__dirname}|${"15.2.2-canary.5"}|${configVars}`,
1805
+ version: `${__dirname}|${"15.2.2-canary.7"}|${configVars}`,
1806
1806
  cacheDirectory: _path.default.join(distDir, 'cache', 'webpack'),
1807
1807
  // For production builds, it's more efficient to compress all cache files together instead of compression each one individually.
1808
1808
  // So we disable compression here and allow the build runner to take care of compressing the cache as a whole.
@@ -13,7 +13,7 @@ Object.defineProperty(exports, "appBootstrap", {
13
13
  return appBootstrap;
14
14
  }
15
15
  });
16
- const version = "15.2.2-canary.5";
16
+ const version = "15.2.2-canary.7";
17
17
  window.next = {
18
18
  version,
19
19
  appDir: true
@@ -36,9 +36,7 @@ function _templateObject() {
36
36
  };
37
37
  return data;
38
38
  }
39
- const SIZE = '2.25rem' // 36px in 16px base
40
- ;
41
- const SIZE_PX = 36;
39
+ const SIZE = 36;
42
40
  const SHORT_DURATION_MS = 150;
43
41
  const NextLogo = /*#__PURE__*/ (0, _react.forwardRef)(function NextLogo(param, propRef) {
44
42
  let { disabled, issueCount, isDevBuilding, isDevRendering, isBuildError, onTriggerClick, toggleErrorOverlay, ...props } = param;
@@ -54,7 +52,7 @@ const NextLogo = /*#__PURE__*/ (0, _react.forwardRef)(function NextLogo(param, p
54
52
  const style = (0, _react.useMemo)(()=>{
55
53
  let width = SIZE;
56
54
  // Animates the badge, if expanded
57
- if (measuredWidth > SIZE_PX) width = measuredWidth;
55
+ if (measuredWidth > SIZE) width = measuredWidth;
58
56
  // No animations on page load, assume the intrinsic width immediately
59
57
  if (pristine && hasError) width = 'auto';
60
58
  // Default state, collapsed
@@ -74,7 +72,7 @@ const NextLogo = /*#__PURE__*/ (0, _react.forwardRef)(function NextLogo(param, p
74
72
  return /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
75
73
  "data-next-badge-root": true,
76
74
  style: {
77
- '--size': SIZE,
75
+ '--size': "" + SIZE + "px",
78
76
  '--duration-short': "" + SHORT_DURATION_MS + "ms",
79
77
  // if the indicator is disabled, hide the badge
80
78
  // also allow the "disabled" state be dismissed, as long as there are no build errors
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../../src/client/components/react-dev-overlay/ui/components/errors/dev-tools-indicator/next-logo.tsx"],"sourcesContent":["import { forwardRef, useEffect, useMemo, useRef, useState } from 'react'\nimport { css } from '../../../../utils/css'\nimport mergeRefs from '../../../utils/merge-refs'\nimport { useMinimumLoadingTimeMultiple } from './use-minimum-loading-time-multiple'\n\ninterface Props extends React.ComponentProps<'button'> {\n issueCount: number\n isDevBuilding: boolean\n isDevRendering: boolean\n isBuildError: boolean\n onTriggerClick: () => void\n toggleErrorOverlay: () => void\n}\n\nconst SIZE = '2.25rem' // 36px in 16px base\nconst SIZE_PX = 36\nconst SHORT_DURATION_MS = 150\n\nexport const NextLogo = forwardRef(function NextLogo(\n {\n disabled,\n issueCount,\n isDevBuilding,\n isDevRendering,\n isBuildError,\n onTriggerClick,\n toggleErrorOverlay,\n ...props\n }: Props,\n propRef: React.Ref<HTMLButtonElement>\n) {\n const hasError = issueCount > 0\n const [isErrorExpanded, setIsErrorExpanded] = useState(hasError)\n const [dismissed, setDismissed] = useState(false)\n const newErrorDetected = useUpdateAnimation(issueCount, SHORT_DURATION_MS)\n\n const triggerRef = useRef<HTMLButtonElement | null>(null)\n const ref = useRef<HTMLDivElement | null>(null)\n const [measuredWidth, pristine] = useMeasureWidth(ref)\n\n const isLoading = useMinimumLoadingTimeMultiple(\n isDevBuilding || isDevRendering\n )\n const isExpanded = isErrorExpanded || disabled\n\n const style = useMemo(() => {\n let width: number | string = SIZE\n // Animates the badge, if expanded\n if (measuredWidth > SIZE_PX) width = measuredWidth\n // No animations on page load, assume the intrinsic width immediately\n if (pristine && hasError) width = 'auto'\n // Default state, collapsed\n return { width }\n }, [measuredWidth, pristine, hasError])\n\n useEffect(() => {\n setIsErrorExpanded(hasError)\n }, [hasError])\n\n return (\n <div\n data-next-badge-root\n style={\n {\n '--size': SIZE,\n '--duration-short': `${SHORT_DURATION_MS}ms`,\n // if the indicator is disabled, hide the badge\n // also allow the \"disabled\" state be dismissed, as long as there are no build errors\n display: disabled && (!hasError || dismissed) ? 'none' : 'block',\n } as React.CSSProperties\n }\n >\n {/* Styles */}\n <style>\n {css`\n [data-next-badge-root] {\n --timing: cubic-bezier(0.23, 0.88, 0.26, 0.92);\n --duration-long: 250ms;\n --color-outer-border: #171717;\n --color-inner-border: hsla(0, 0%, 100%, 0.14);\n --color-hover-alpha-subtle: hsla(0, 0%, 100%, 0.13);\n --color-hover-alpha-error: hsla(0, 0%, 100%, 0.2);\n --color-hover-alpha-error-2: hsla(0, 0%, 100%, 0.25);\n --mark-size: calc(var(--size) - var(--size-2) * 2);\n\n --focus-color: var(--color-blue-800);\n --focus-ring: 2px solid var(--focus-color);\n\n &:has([data-next-badge][data-error='true']) {\n --focus-color: #fff;\n }\n }\n\n [data-disabled-icon] {\n display: flex;\n align-items: center;\n justify-content: center;\n padding-right: 4px;\n }\n\n [data-next-badge] {\n -webkit-font-smoothing: antialiased;\n width: var(--size);\n height: var(--size);\n display: flex;\n align-items: center;\n position: relative;\n background: rgba(0, 0, 0, 0.8);\n box-shadow:\n 0 0 0 1px var(--color-outer-border),\n inset 0 0 0 1px var(--color-inner-border),\n 0px 16px 32px -8px rgba(0, 0, 0, 0.24);\n backdrop-filter: blur(48px);\n border-radius: var(--rounded-full);\n user-select: none;\n cursor: pointer;\n scale: 1;\n overflow: hidden;\n will-change: scale, box-shadow, width, background;\n transition:\n scale var(--duration-short) var(--timing),\n width var(--duration-long) var(--timing),\n box-shadow var(--duration-long) var(--timing),\n background var(--duration-short) ease;\n\n &:active[data-error='false'] {\n scale: 0.95;\n }\n\n &[data-animate='true']:not(:hover) {\n scale: 1.02;\n }\n\n &[data-error='false']:has([data-next-mark]:focus-visible) {\n outline: var(--focus-ring);\n outline-offset: 3px;\n }\n\n &[data-error='true'] {\n background: #ca2a30;\n --color-inner-border: #e5484d;\n\n [data-next-mark] {\n background: var(--color-hover-alpha-error);\n outline-offset: 0px;\n\n &:focus-visible {\n outline: var(--focus-ring);\n outline-offset: -1px;\n }\n\n &:hover {\n background: var(--color-hover-alpha-error-2);\n }\n }\n }\n\n &[data-error-expanded='false'][data-error='true'] ~ [data-dot] {\n scale: 1;\n }\n\n > div {\n display: flex;\n }\n }\n\n [data-issues-collapse]:focus-visible {\n outline: var(--focus-ring);\n }\n\n [data-issues]:has([data-issues-open]:focus-visible) {\n outline: var(--focus-ring);\n outline-offset: -1px;\n }\n\n [data-dot] {\n content: '';\n width: var(--size-8);\n height: var(--size-8);\n background: #fff;\n box-shadow: 0 0 0 1px var(--color-outer-border);\n border-radius: 50%;\n position: absolute;\n top: 2px;\n right: 0px;\n scale: 0;\n pointer-events: none;\n transition: scale 200ms var(--timing);\n transition-delay: var(--duration-short);\n }\n\n [data-issues] {\n --padding-left: 8px;\n display: flex;\n gap: 2px;\n align-items: center;\n padding-left: 8px;\n padding-right: 8px;\n height: var(--size-32);\n margin: 0 2px;\n border-radius: var(--rounded-full);\n transition: background var(--duration-short) ease;\n\n &:has([data-issues-open]:hover) {\n background: var(--color-hover-alpha-error);\n }\n\n &:has([data-issues-collapse]) {\n padding-right: calc(var(--padding-left) / 2);\n }\n\n [data-cross] {\n translate: 0px -1px;\n }\n }\n\n [data-issues-open] {\n font-size: var(--size-13);\n color: white;\n width: fit-content;\n height: 100%;\n display: flex;\n gap: 2px;\n align-items: center;\n margin: 0;\n line-height: var(--size-36);\n font-weight: 500;\n z-index: 2;\n white-space: nowrap;\n\n &:focus-visible {\n outline: 0;\n }\n }\n\n [data-issues-collapse] {\n width: var(--size-24);\n height: var(--size-24);\n border-radius: var(--rounded-full);\n transition: background var(--duration-short) ease;\n\n &:hover {\n background: var(--color-hover-alpha-error);\n }\n }\n\n [data-cross] {\n color: #fff;\n width: var(--size-12);\n height: var(--size-12);\n }\n\n [data-next-mark] {\n width: var(--mark-size);\n height: var(--mark-size);\n margin-left: 2px;\n display: flex;\n align-items: center;\n border-radius: var(--rounded-full);\n transition: background var(--duration-long) var(--timing);\n\n &:focus-visible {\n outline: 0;\n }\n\n &:hover {\n background: var(--color-hover-alpha-subtle);\n }\n\n svg {\n flex-shrink: 0;\n width: var(--size-40);\n height: var(--size-40);\n }\n }\n\n [data-issues-count-animation] {\n display: grid;\n place-items: center center;\n font-variant-numeric: tabular-nums;\n\n &[data-animate='false'] {\n [data-issues-count-exit],\n [data-issues-count-enter] {\n animation-duration: 0ms;\n }\n }\n\n > * {\n grid-area: 1 / 1;\n }\n\n [data-issues-count-exit] {\n animation: fadeOut 300ms var(--timing) forwards;\n }\n\n [data-issues-count-enter] {\n animation: fadeIn 300ms var(--timing) forwards;\n }\n }\n\n [data-issues-count-plural] {\n display: inline-block;\n &[data-animate='true'] {\n animation: fadeIn 300ms var(--timing) forwards;\n }\n }\n\n .path0 {\n animation: draw0 1.5s ease-in-out infinite;\n }\n\n .path1 {\n animation: draw1 1.5s ease-out infinite;\n animation-delay: 0.3s;\n }\n\n .paused {\n stroke-dashoffset: 0;\n }\n\n @keyframes fadeIn {\n 0% {\n opacity: 0;\n filter: blur(2px);\n transform: translateY(8px);\n }\n 100% {\n opacity: 1;\n filter: blur(0px);\n transform: translateY(0);\n }\n }\n\n @keyframes fadeOut {\n 0% {\n opacity: 1;\n filter: blur(0px);\n transform: translateY(0);\n }\n 100% {\n opacity: 0;\n transform: translateY(-12px);\n filter: blur(2px);\n }\n }\n\n @keyframes draw0 {\n 0%,\n 25% {\n stroke-dashoffset: -29.6;\n }\n 25%,\n 50% {\n stroke-dashoffset: 0;\n }\n 50%,\n 75% {\n stroke-dashoffset: 0;\n }\n 75%,\n 100% {\n stroke-dashoffset: 29.6;\n }\n }\n\n @keyframes draw1 {\n 0%,\n 20% {\n stroke-dashoffset: -11.6;\n }\n 20%,\n 50% {\n stroke-dashoffset: 0;\n }\n 50%,\n 75% {\n stroke-dashoffset: 0;\n }\n 75%,\n 100% {\n stroke-dashoffset: 11.6;\n }\n }\n\n @media (prefers-reduced-motion) {\n [data-issues-count-exit],\n [data-issues-count-enter],\n [data-issues-count-plural] {\n animation-duration: 0ms !important;\n }\n }\n `}\n </style>\n <div\n data-next-badge\n data-error={hasError}\n data-error-expanded={isExpanded}\n data-animate={newErrorDetected}\n style={style}\n >\n <div ref={ref}>\n {/* Children */}\n {!disabled && (\n <button\n ref={mergeRefs(triggerRef, propRef)}\n data-next-mark\n data-next-mark-loading={isLoading}\n onClick={onTriggerClick}\n {...props}\n >\n <NextMark isLoading={isLoading} isDevBuilding={isDevBuilding} />\n </button>\n )}\n {isExpanded && (\n <div data-issues>\n <button\n data-issues-open\n aria-label=\"Open issues overlay\"\n onClick={toggleErrorOverlay}\n >\n {disabled && (\n <div data-disabled-icon>\n <Warning />\n </div>\n )}\n <AnimateCount\n // Used the key to force a re-render when the count changes.\n key={issueCount}\n animate={newErrorDetected}\n data-issues-count-animation\n >\n {issueCount}\n </AnimateCount>{' '}\n <div>\n Issue\n {issueCount > 1 && (\n <span\n aria-hidden\n data-issues-count-plural\n // This only needs to animate once the count changes from 1 -> 2,\n // otherwise it should stay static between re-renders.\n data-animate={newErrorDetected && issueCount === 2}\n >\n s\n </span>\n )}\n </div>\n </button>\n {!isBuildError && (\n <button\n data-issues-collapse\n aria-label=\"Collapse issues badge\"\n onClick={() => {\n if (disabled) {\n setDismissed(true)\n } else {\n setIsErrorExpanded(false)\n }\n // Move focus to the trigger to prevent having it stuck on this element\n triggerRef.current?.focus()\n }}\n >\n <Cross data-cross />\n </button>\n )}\n </div>\n )}\n </div>\n </div>\n <div aria-hidden data-dot />\n </div>\n )\n})\n\nfunction AnimateCount({\n children: count,\n animate = true,\n ...props\n}: {\n children: number\n animate: boolean\n}) {\n return (\n <div {...props} data-animate={animate}>\n <div aria-hidden data-issues-count-exit>\n {count - 1}\n </div>\n <div data-issues-count data-issues-count-enter>\n {count}\n </div>\n </div>\n )\n}\n\nfunction useMeasureWidth(\n ref: React.RefObject<HTMLDivElement | null>\n): [number, boolean] {\n const [width, setWidth] = useState<number>(0)\n const [pristine, setPristine] = useState(true)\n\n useEffect(() => {\n const el = ref.current\n\n if (!el) {\n return\n }\n\n const observer = new ResizeObserver(() => {\n const { width: w } = el.getBoundingClientRect()\n setWidth((prevWidth) => {\n if (prevWidth !== 0) {\n setPristine(false)\n }\n return w\n })\n })\n\n observer.observe(el)\n return () => observer.disconnect()\n }, [ref])\n\n return [width, pristine]\n}\n\nfunction useUpdateAnimation(issueCount: number, animationDurationMs = 0) {\n const lastUpdatedTimeStamp = useRef<number | null>(null)\n const [animate, setAnimate] = useState(false)\n\n useEffect(() => {\n if (issueCount > 0) {\n const deltaMs = lastUpdatedTimeStamp.current\n ? Date.now() - lastUpdatedTimeStamp.current\n : -1\n lastUpdatedTimeStamp.current = Date.now()\n\n // We don't animate if `issueCount` changes too quickly\n if (deltaMs <= animationDurationMs) {\n return\n }\n\n setAnimate(true)\n // It is important to use a CSS transitioned state, not a CSS keyframed animation\n // because if the issue count increases faster than the animation duration, it\n // will abruptly stop and not transition smoothly back to its original state.\n const timeoutId = window.setTimeout(() => {\n setAnimate(false)\n }, animationDurationMs)\n\n return () => {\n clearTimeout(timeoutId)\n }\n }\n }, [issueCount, animationDurationMs])\n\n return animate\n}\n\nfunction NextMark({\n isLoading,\n isDevBuilding,\n}: {\n isLoading?: boolean\n isDevBuilding?: boolean\n}) {\n const strokeColor = isDevBuilding ? 'rgba(255,255,255,0.7)' : 'white'\n return (\n <svg\n width=\"40\"\n height=\"40\"\n viewBox=\"0 0 40 40\"\n fill=\"none\"\n data-next-mark-loading={isLoading}\n >\n <g transform=\"translate(8.5, 13)\">\n <path\n className={isLoading ? 'path0' : 'paused'}\n d=\"M13.3 15.2 L2.34 1 V12.6\"\n fill=\"none\"\n stroke=\"url(#next_logo_paint0_linear_1357_10853)\"\n strokeWidth=\"1.86\"\n mask=\"url(#next_logo_mask0)\"\n strokeDasharray=\"29.6\"\n strokeDashoffset=\"29.6\"\n />\n <path\n className={isLoading ? 'path1' : 'paused'}\n d=\"M11.825 1.5 V13.1\"\n strokeWidth=\"1.86\"\n stroke=\"url(#next_logo_paint1_linear_1357_10853)\"\n strokeDasharray=\"11.6\"\n strokeDashoffset=\"11.6\"\n />\n </g>\n <defs>\n <linearGradient\n id=\"next_logo_paint0_linear_1357_10853\"\n x1=\"9.95555\"\n y1=\"11.1226\"\n x2=\"15.4778\"\n y2=\"17.9671\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor={strokeColor} />\n <stop offset=\"0.604072\" stopColor={strokeColor} stopOpacity=\"0\" />\n <stop offset=\"1\" stopColor={strokeColor} stopOpacity=\"0\" />\n </linearGradient>\n <linearGradient\n id=\"next_logo_paint1_linear_1357_10853\"\n x1=\"11.8222\"\n y1=\"1.40039\"\n x2=\"11.791\"\n y2=\"9.62542\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor={strokeColor} />\n <stop offset=\"1\" stopColor={strokeColor} stopOpacity=\"0\" />\n </linearGradient>\n <mask id=\"next_logo_mask0\">\n <rect width=\"100%\" height=\"100%\" fill=\"white\" />\n <rect width=\"5\" height=\"1.5\" fill=\"black\" />\n </mask>\n </defs>\n </svg>\n )\n}\n\nfunction Warning() {\n return (\n <svg\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M3.98071 1.125L1.125 3.98071L1.125 8.01929L3.98071 10.875H8.01929L10.875 8.01929V3.98071L8.01929 1.125H3.98071ZM3.82538 0C3.62647 0 3.4357 0.0790176 3.29505 0.21967L0.21967 3.29505C0.0790176 3.4357 0 3.62647 0 3.82538V8.17462C0 8.37353 0.0790178 8.5643 0.21967 8.70495L3.29505 11.7803C3.4357 11.921 3.62647 12 3.82538 12H8.17462C8.37353 12 8.5643 11.921 8.70495 11.7803L11.7803 8.70495C11.921 8.5643 12 8.37353 12 8.17462V3.82538C12 3.62647 11.921 3.4357 11.7803 3.29505L8.70495 0.21967C8.5643 0.0790177 8.37353 0 8.17462 0H3.82538ZM6.5625 2.8125V3.375V6V6.5625H5.4375V6V3.375V2.8125H6.5625ZM6 9C6.41421 9 6.75 8.66421 6.75 8.25C6.75 7.83579 6.41421 7.5 6 7.5C5.58579 7.5 5.25 7.83579 5.25 8.25C5.25 8.66421 5.58579 9 6 9Z\"\n fill=\"#EAEAEA\"\n />\n </svg>\n )\n}\n\nexport function Cross(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 14 14\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M3.08889 11.8384L2.62486 12.3024L1.69678 11.3744L2.16082 10.9103L6.07178 6.99937L2.16082 3.08841L1.69678 2.62437L2.62486 1.69629L3.08889 2.16033L6.99986 6.07129L10.9108 2.16033L11.3749 1.69629L12.3029 2.62437L11.8389 3.08841L7.92793 6.99937L11.8389 10.9103L12.3029 11.3744L11.3749 12.3024L10.9108 11.8384L6.99986 7.92744L3.08889 11.8384Z\"\n fill=\"currentColor\"\n />\n </svg>\n )\n}\n"],"names":["Cross","NextLogo","SIZE","SIZE_PX","SHORT_DURATION_MS","forwardRef","propRef","disabled","issueCount","isDevBuilding","isDevRendering","isBuildError","onTriggerClick","toggleErrorOverlay","props","hasError","isErrorExpanded","setIsErrorExpanded","useState","dismissed","setDismissed","newErrorDetected","useUpdateAnimation","triggerRef","useRef","ref","measuredWidth","pristine","useMeasureWidth","isLoading","useMinimumLoadingTimeMultiple","isExpanded","style","useMemo","width","useEffect","div","data-next-badge-root","display","css","data-next-badge","data-error","data-error-expanded","data-animate","button","mergeRefs","data-next-mark","data-next-mark-loading","onClick","NextMark","data-issues","data-issues-open","aria-label","data-disabled-icon","Warning","AnimateCount","animate","data-issues-count-animation","span","aria-hidden","data-issues-count-plural","data-issues-collapse","current","focus","data-cross","data-dot","children","count","data-issues-count-exit","data-issues-count","data-issues-count-enter","setWidth","setPristine","el","observer","ResizeObserver","w","getBoundingClientRect","prevWidth","observe","disconnect","animationDurationMs","lastUpdatedTimeStamp","setAnimate","deltaMs","Date","now","timeoutId","window","setTimeout","clearTimeout","strokeColor","svg","height","viewBox","fill","g","transform","path","className","d","stroke","strokeWidth","mask","strokeDasharray","strokeDashoffset","defs","linearGradient","id","x1","y1","x2","y2","gradientUnits","stop","stopColor","offset","stopOpacity","rect","xmlns","fillRule","clipRule"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../../../../src/client/components/react-dev-overlay/ui/components/errors/dev-tools-indicator/next-logo.tsx"],"sourcesContent":["import { forwardRef, useEffect, useMemo, useRef, useState } from 'react'\nimport { css } from '../../../../utils/css'\nimport mergeRefs from '../../../utils/merge-refs'\nimport { useMinimumLoadingTimeMultiple } from './use-minimum-loading-time-multiple'\n\ninterface Props extends React.ComponentProps<'button'> {\n issueCount: number\n isDevBuilding: boolean\n isDevRendering: boolean\n isBuildError: boolean\n onTriggerClick: () => void\n toggleErrorOverlay: () => void\n}\n\nconst SIZE = 36\nconst SHORT_DURATION_MS = 150\n\nexport const NextLogo = forwardRef(function NextLogo(\n {\n disabled,\n issueCount,\n isDevBuilding,\n isDevRendering,\n isBuildError,\n onTriggerClick,\n toggleErrorOverlay,\n ...props\n }: Props,\n propRef: React.Ref<HTMLButtonElement>\n) {\n const hasError = issueCount > 0\n const [isErrorExpanded, setIsErrorExpanded] = useState(hasError)\n const [dismissed, setDismissed] = useState(false)\n const newErrorDetected = useUpdateAnimation(issueCount, SHORT_DURATION_MS)\n\n const triggerRef = useRef<HTMLButtonElement | null>(null)\n const ref = useRef<HTMLDivElement | null>(null)\n const [measuredWidth, pristine] = useMeasureWidth(ref)\n\n const isLoading = useMinimumLoadingTimeMultiple(\n isDevBuilding || isDevRendering\n )\n const isExpanded = isErrorExpanded || disabled\n\n const style = useMemo(() => {\n let width: number | string = SIZE\n // Animates the badge, if expanded\n if (measuredWidth > SIZE) width = measuredWidth\n // No animations on page load, assume the intrinsic width immediately\n if (pristine && hasError) width = 'auto'\n // Default state, collapsed\n return { width }\n }, [measuredWidth, pristine, hasError])\n\n useEffect(() => {\n setIsErrorExpanded(hasError)\n }, [hasError])\n\n return (\n <div\n data-next-badge-root\n style={\n {\n '--size': `${SIZE}px`,\n '--duration-short': `${SHORT_DURATION_MS}ms`,\n // if the indicator is disabled, hide the badge\n // also allow the \"disabled\" state be dismissed, as long as there are no build errors\n display: disabled && (!hasError || dismissed) ? 'none' : 'block',\n } as React.CSSProperties\n }\n >\n {/* Styles */}\n <style>\n {css`\n [data-next-badge-root] {\n --timing: cubic-bezier(0.23, 0.88, 0.26, 0.92);\n --duration-long: 250ms;\n --color-outer-border: #171717;\n --color-inner-border: hsla(0, 0%, 100%, 0.14);\n --color-hover-alpha-subtle: hsla(0, 0%, 100%, 0.13);\n --color-hover-alpha-error: hsla(0, 0%, 100%, 0.2);\n --color-hover-alpha-error-2: hsla(0, 0%, 100%, 0.25);\n --mark-size: calc(var(--size) - var(--size-2) * 2);\n\n --focus-color: var(--color-blue-800);\n --focus-ring: 2px solid var(--focus-color);\n\n &:has([data-next-badge][data-error='true']) {\n --focus-color: #fff;\n }\n }\n\n [data-disabled-icon] {\n display: flex;\n align-items: center;\n justify-content: center;\n padding-right: 4px;\n }\n\n [data-next-badge] {\n -webkit-font-smoothing: antialiased;\n width: var(--size);\n height: var(--size);\n display: flex;\n align-items: center;\n position: relative;\n background: rgba(0, 0, 0, 0.8);\n box-shadow:\n 0 0 0 1px var(--color-outer-border),\n inset 0 0 0 1px var(--color-inner-border),\n 0px 16px 32px -8px rgba(0, 0, 0, 0.24);\n backdrop-filter: blur(48px);\n border-radius: var(--rounded-full);\n user-select: none;\n cursor: pointer;\n scale: 1;\n overflow: hidden;\n will-change: scale, box-shadow, width, background;\n transition:\n scale var(--duration-short) var(--timing),\n width var(--duration-long) var(--timing),\n box-shadow var(--duration-long) var(--timing),\n background var(--duration-short) ease;\n\n &:active[data-error='false'] {\n scale: 0.95;\n }\n\n &[data-animate='true']:not(:hover) {\n scale: 1.02;\n }\n\n &[data-error='false']:has([data-next-mark]:focus-visible) {\n outline: var(--focus-ring);\n outline-offset: 3px;\n }\n\n &[data-error='true'] {\n background: #ca2a30;\n --color-inner-border: #e5484d;\n\n [data-next-mark] {\n background: var(--color-hover-alpha-error);\n outline-offset: 0px;\n\n &:focus-visible {\n outline: var(--focus-ring);\n outline-offset: -1px;\n }\n\n &:hover {\n background: var(--color-hover-alpha-error-2);\n }\n }\n }\n\n &[data-error-expanded='false'][data-error='true'] ~ [data-dot] {\n scale: 1;\n }\n\n > div {\n display: flex;\n }\n }\n\n [data-issues-collapse]:focus-visible {\n outline: var(--focus-ring);\n }\n\n [data-issues]:has([data-issues-open]:focus-visible) {\n outline: var(--focus-ring);\n outline-offset: -1px;\n }\n\n [data-dot] {\n content: '';\n width: var(--size-8);\n height: var(--size-8);\n background: #fff;\n box-shadow: 0 0 0 1px var(--color-outer-border);\n border-radius: 50%;\n position: absolute;\n top: 2px;\n right: 0px;\n scale: 0;\n pointer-events: none;\n transition: scale 200ms var(--timing);\n transition-delay: var(--duration-short);\n }\n\n [data-issues] {\n --padding-left: 8px;\n display: flex;\n gap: 2px;\n align-items: center;\n padding-left: 8px;\n padding-right: 8px;\n height: var(--size-32);\n margin: 0 2px;\n border-radius: var(--rounded-full);\n transition: background var(--duration-short) ease;\n\n &:has([data-issues-open]:hover) {\n background: var(--color-hover-alpha-error);\n }\n\n &:has([data-issues-collapse]) {\n padding-right: calc(var(--padding-left) / 2);\n }\n\n [data-cross] {\n translate: 0px -1px;\n }\n }\n\n [data-issues-open] {\n font-size: var(--size-13);\n color: white;\n width: fit-content;\n height: 100%;\n display: flex;\n gap: 2px;\n align-items: center;\n margin: 0;\n line-height: var(--size-36);\n font-weight: 500;\n z-index: 2;\n white-space: nowrap;\n\n &:focus-visible {\n outline: 0;\n }\n }\n\n [data-issues-collapse] {\n width: var(--size-24);\n height: var(--size-24);\n border-radius: var(--rounded-full);\n transition: background var(--duration-short) ease;\n\n &:hover {\n background: var(--color-hover-alpha-error);\n }\n }\n\n [data-cross] {\n color: #fff;\n width: var(--size-12);\n height: var(--size-12);\n }\n\n [data-next-mark] {\n width: var(--mark-size);\n height: var(--mark-size);\n margin-left: 2px;\n display: flex;\n align-items: center;\n border-radius: var(--rounded-full);\n transition: background var(--duration-long) var(--timing);\n\n &:focus-visible {\n outline: 0;\n }\n\n &:hover {\n background: var(--color-hover-alpha-subtle);\n }\n\n svg {\n flex-shrink: 0;\n width: var(--size-40);\n height: var(--size-40);\n }\n }\n\n [data-issues-count-animation] {\n display: grid;\n place-items: center center;\n font-variant-numeric: tabular-nums;\n\n &[data-animate='false'] {\n [data-issues-count-exit],\n [data-issues-count-enter] {\n animation-duration: 0ms;\n }\n }\n\n > * {\n grid-area: 1 / 1;\n }\n\n [data-issues-count-exit] {\n animation: fadeOut 300ms var(--timing) forwards;\n }\n\n [data-issues-count-enter] {\n animation: fadeIn 300ms var(--timing) forwards;\n }\n }\n\n [data-issues-count-plural] {\n display: inline-block;\n &[data-animate='true'] {\n animation: fadeIn 300ms var(--timing) forwards;\n }\n }\n\n .path0 {\n animation: draw0 1.5s ease-in-out infinite;\n }\n\n .path1 {\n animation: draw1 1.5s ease-out infinite;\n animation-delay: 0.3s;\n }\n\n .paused {\n stroke-dashoffset: 0;\n }\n\n @keyframes fadeIn {\n 0% {\n opacity: 0;\n filter: blur(2px);\n transform: translateY(8px);\n }\n 100% {\n opacity: 1;\n filter: blur(0px);\n transform: translateY(0);\n }\n }\n\n @keyframes fadeOut {\n 0% {\n opacity: 1;\n filter: blur(0px);\n transform: translateY(0);\n }\n 100% {\n opacity: 0;\n transform: translateY(-12px);\n filter: blur(2px);\n }\n }\n\n @keyframes draw0 {\n 0%,\n 25% {\n stroke-dashoffset: -29.6;\n }\n 25%,\n 50% {\n stroke-dashoffset: 0;\n }\n 50%,\n 75% {\n stroke-dashoffset: 0;\n }\n 75%,\n 100% {\n stroke-dashoffset: 29.6;\n }\n }\n\n @keyframes draw1 {\n 0%,\n 20% {\n stroke-dashoffset: -11.6;\n }\n 20%,\n 50% {\n stroke-dashoffset: 0;\n }\n 50%,\n 75% {\n stroke-dashoffset: 0;\n }\n 75%,\n 100% {\n stroke-dashoffset: 11.6;\n }\n }\n\n @media (prefers-reduced-motion) {\n [data-issues-count-exit],\n [data-issues-count-enter],\n [data-issues-count-plural] {\n animation-duration: 0ms !important;\n }\n }\n `}\n </style>\n <div\n data-next-badge\n data-error={hasError}\n data-error-expanded={isExpanded}\n data-animate={newErrorDetected}\n style={style}\n >\n <div ref={ref}>\n {/* Children */}\n {!disabled && (\n <button\n ref={mergeRefs(triggerRef, propRef)}\n data-next-mark\n data-next-mark-loading={isLoading}\n onClick={onTriggerClick}\n {...props}\n >\n <NextMark isLoading={isLoading} isDevBuilding={isDevBuilding} />\n </button>\n )}\n {isExpanded && (\n <div data-issues>\n <button\n data-issues-open\n aria-label=\"Open issues overlay\"\n onClick={toggleErrorOverlay}\n >\n {disabled && (\n <div data-disabled-icon>\n <Warning />\n </div>\n )}\n <AnimateCount\n // Used the key to force a re-render when the count changes.\n key={issueCount}\n animate={newErrorDetected}\n data-issues-count-animation\n >\n {issueCount}\n </AnimateCount>{' '}\n <div>\n Issue\n {issueCount > 1 && (\n <span\n aria-hidden\n data-issues-count-plural\n // This only needs to animate once the count changes from 1 -> 2,\n // otherwise it should stay static between re-renders.\n data-animate={newErrorDetected && issueCount === 2}\n >\n s\n </span>\n )}\n </div>\n </button>\n {!isBuildError && (\n <button\n data-issues-collapse\n aria-label=\"Collapse issues badge\"\n onClick={() => {\n if (disabled) {\n setDismissed(true)\n } else {\n setIsErrorExpanded(false)\n }\n // Move focus to the trigger to prevent having it stuck on this element\n triggerRef.current?.focus()\n }}\n >\n <Cross data-cross />\n </button>\n )}\n </div>\n )}\n </div>\n </div>\n <div aria-hidden data-dot />\n </div>\n )\n})\n\nfunction AnimateCount({\n children: count,\n animate = true,\n ...props\n}: {\n children: number\n animate: boolean\n}) {\n return (\n <div {...props} data-animate={animate}>\n <div aria-hidden data-issues-count-exit>\n {count - 1}\n </div>\n <div data-issues-count data-issues-count-enter>\n {count}\n </div>\n </div>\n )\n}\n\nfunction useMeasureWidth(\n ref: React.RefObject<HTMLDivElement | null>\n): [number, boolean] {\n const [width, setWidth] = useState<number>(0)\n const [pristine, setPristine] = useState(true)\n\n useEffect(() => {\n const el = ref.current\n\n if (!el) {\n return\n }\n\n const observer = new ResizeObserver(() => {\n const { width: w } = el.getBoundingClientRect()\n setWidth((prevWidth) => {\n if (prevWidth !== 0) {\n setPristine(false)\n }\n return w\n })\n })\n\n observer.observe(el)\n return () => observer.disconnect()\n }, [ref])\n\n return [width, pristine]\n}\n\nfunction useUpdateAnimation(issueCount: number, animationDurationMs = 0) {\n const lastUpdatedTimeStamp = useRef<number | null>(null)\n const [animate, setAnimate] = useState(false)\n\n useEffect(() => {\n if (issueCount > 0) {\n const deltaMs = lastUpdatedTimeStamp.current\n ? Date.now() - lastUpdatedTimeStamp.current\n : -1\n lastUpdatedTimeStamp.current = Date.now()\n\n // We don't animate if `issueCount` changes too quickly\n if (deltaMs <= animationDurationMs) {\n return\n }\n\n setAnimate(true)\n // It is important to use a CSS transitioned state, not a CSS keyframed animation\n // because if the issue count increases faster than the animation duration, it\n // will abruptly stop and not transition smoothly back to its original state.\n const timeoutId = window.setTimeout(() => {\n setAnimate(false)\n }, animationDurationMs)\n\n return () => {\n clearTimeout(timeoutId)\n }\n }\n }, [issueCount, animationDurationMs])\n\n return animate\n}\n\nfunction NextMark({\n isLoading,\n isDevBuilding,\n}: {\n isLoading?: boolean\n isDevBuilding?: boolean\n}) {\n const strokeColor = isDevBuilding ? 'rgba(255,255,255,0.7)' : 'white'\n return (\n <svg\n width=\"40\"\n height=\"40\"\n viewBox=\"0 0 40 40\"\n fill=\"none\"\n data-next-mark-loading={isLoading}\n >\n <g transform=\"translate(8.5, 13)\">\n <path\n className={isLoading ? 'path0' : 'paused'}\n d=\"M13.3 15.2 L2.34 1 V12.6\"\n fill=\"none\"\n stroke=\"url(#next_logo_paint0_linear_1357_10853)\"\n strokeWidth=\"1.86\"\n mask=\"url(#next_logo_mask0)\"\n strokeDasharray=\"29.6\"\n strokeDashoffset=\"29.6\"\n />\n <path\n className={isLoading ? 'path1' : 'paused'}\n d=\"M11.825 1.5 V13.1\"\n strokeWidth=\"1.86\"\n stroke=\"url(#next_logo_paint1_linear_1357_10853)\"\n strokeDasharray=\"11.6\"\n strokeDashoffset=\"11.6\"\n />\n </g>\n <defs>\n <linearGradient\n id=\"next_logo_paint0_linear_1357_10853\"\n x1=\"9.95555\"\n y1=\"11.1226\"\n x2=\"15.4778\"\n y2=\"17.9671\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor={strokeColor} />\n <stop offset=\"0.604072\" stopColor={strokeColor} stopOpacity=\"0\" />\n <stop offset=\"1\" stopColor={strokeColor} stopOpacity=\"0\" />\n </linearGradient>\n <linearGradient\n id=\"next_logo_paint1_linear_1357_10853\"\n x1=\"11.8222\"\n y1=\"1.40039\"\n x2=\"11.791\"\n y2=\"9.62542\"\n gradientUnits=\"userSpaceOnUse\"\n >\n <stop stopColor={strokeColor} />\n <stop offset=\"1\" stopColor={strokeColor} stopOpacity=\"0\" />\n </linearGradient>\n <mask id=\"next_logo_mask0\">\n <rect width=\"100%\" height=\"100%\" fill=\"white\" />\n <rect width=\"5\" height=\"1.5\" fill=\"black\" />\n </mask>\n </defs>\n </svg>\n )\n}\n\nfunction Warning() {\n return (\n <svg\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M3.98071 1.125L1.125 3.98071L1.125 8.01929L3.98071 10.875H8.01929L10.875 8.01929V3.98071L8.01929 1.125H3.98071ZM3.82538 0C3.62647 0 3.4357 0.0790176 3.29505 0.21967L0.21967 3.29505C0.0790176 3.4357 0 3.62647 0 3.82538V8.17462C0 8.37353 0.0790178 8.5643 0.21967 8.70495L3.29505 11.7803C3.4357 11.921 3.62647 12 3.82538 12H8.17462C8.37353 12 8.5643 11.921 8.70495 11.7803L11.7803 8.70495C11.921 8.5643 12 8.37353 12 8.17462V3.82538C12 3.62647 11.921 3.4357 11.7803 3.29505L8.70495 0.21967C8.5643 0.0790177 8.37353 0 8.17462 0H3.82538ZM6.5625 2.8125V3.375V6V6.5625H5.4375V6V3.375V2.8125H6.5625ZM6 9C6.41421 9 6.75 8.66421 6.75 8.25C6.75 7.83579 6.41421 7.5 6 7.5C5.58579 7.5 5.25 7.83579 5.25 8.25C5.25 8.66421 5.58579 9 6 9Z\"\n fill=\"#EAEAEA\"\n />\n </svg>\n )\n}\n\nexport function Cross(props: React.SVGProps<SVGSVGElement>) {\n return (\n <svg\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 14 14\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M3.08889 11.8384L2.62486 12.3024L1.69678 11.3744L2.16082 10.9103L6.07178 6.99937L2.16082 3.08841L1.69678 2.62437L2.62486 1.69629L3.08889 2.16033L6.99986 6.07129L10.9108 2.16033L11.3749 1.69629L12.3029 2.62437L11.8389 3.08841L7.92793 6.99937L11.8389 10.9103L12.3029 11.3744L11.3749 12.3024L10.9108 11.8384L6.99986 7.92744L3.08889 11.8384Z\"\n fill=\"currentColor\"\n />\n </svg>\n )\n}\n"],"names":["Cross","NextLogo","SIZE","SHORT_DURATION_MS","forwardRef","propRef","disabled","issueCount","isDevBuilding","isDevRendering","isBuildError","onTriggerClick","toggleErrorOverlay","props","hasError","isErrorExpanded","setIsErrorExpanded","useState","dismissed","setDismissed","newErrorDetected","useUpdateAnimation","triggerRef","useRef","ref","measuredWidth","pristine","useMeasureWidth","isLoading","useMinimumLoadingTimeMultiple","isExpanded","style","useMemo","width","useEffect","div","data-next-badge-root","display","css","data-next-badge","data-error","data-error-expanded","data-animate","button","mergeRefs","data-next-mark","data-next-mark-loading","onClick","NextMark","data-issues","data-issues-open","aria-label","data-disabled-icon","Warning","AnimateCount","animate","data-issues-count-animation","span","aria-hidden","data-issues-count-plural","data-issues-collapse","current","focus","data-cross","data-dot","children","count","data-issues-count-exit","data-issues-count","data-issues-count-enter","setWidth","setPristine","el","observer","ResizeObserver","w","getBoundingClientRect","prevWidth","observe","disconnect","animationDurationMs","lastUpdatedTimeStamp","setAnimate","deltaMs","Date","now","timeoutId","window","setTimeout","clearTimeout","strokeColor","svg","height","viewBox","fill","g","transform","path","className","d","stroke","strokeWidth","mask","strokeDasharray","strokeDashoffset","defs","linearGradient","id","x1","y1","x2","y2","gradientUnits","stop","stopColor","offset","stopOpacity","rect","xmlns","fillRule","clipRule"],"mappings":"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"}
@@ -20,5 +20,5 @@ interface ErrorOverlayLayoutProps extends ErrorBaseProps {
20
20
  dialogResizerRef?: React.RefObject<HTMLDivElement | null>;
21
21
  }
22
22
  export declare function ErrorOverlayLayout({ errorMessage, errorType, children, errorCode, error, debugInfo, isBuildError, onClose, versionInfo, runtimeErrors, activeIdx, setActiveIndex, footerMessage, isTurbopack, dialogResizerRef, rendered, transitionDurationMs, }: ErrorOverlayLayoutProps): import("react/jsx-runtime").JSX.Element;
23
- export declare const styles = "\n \n [data-nextjs-dialog-overlay] {\n padding: initial;\n top: 10vh;\n }\n\n \n .error-overlay-dialog {\n overflow-y: auto;\n -webkit-font-smoothing: antialiased;\n background: var(--color-background-100);\n background-clip: padding-box;\n border: 1px solid var(--color-gray-400);\n border-radius: var(--rounded-xl);\n box-shadow: var(--shadow-menu);\n position: relative;\n\n &:has(\n ~ [data-nextjs-error-overlay-nav] .error-overlay-notch[data-side='left']\n ) {\n border-top-left-radius: 0;\n }\n\n &:has(\n ~ [data-nextjs-error-overlay-nav]\n .error-overlay-notch[data-side='right']\n ) {\n border-top-right-radius: 0;\n }\n }\n\n \n .nextjs-container-errors-header {\n position: relative;\n }\n .nextjs-container-errors-header > h1 {\n font-size: var(--size-20);\n line-height: var(--size-24);\n font-weight: bold;\n margin: calc(16px * 1.5) 0;\n color: var(--color-title-h1);\n }\n .nextjs-container-errors-header small {\n font-size: var(--size-14);\n color: var(--color-accents-1);\n margin-left: 16px;\n }\n .nextjs-container-errors-header small > span {\n font-family: var(--font-stack-monospace);\n }\n .nextjs-container-errors-header > div > small {\n margin: 0;\n margin-top: 4px;\n }\n .nextjs-container-errors-header > p > a {\n color: inherit;\n font-weight: bold;\n }\n .nextjs-container-errors-header\n > .nextjs-container-build-error-version-status {\n position: absolute;\n top: 16px;\n right: 16px;\n }\n\n \n\n \n [data-nextjs-error-overlay-nav] {\n --notch-height: 2.625rem; /* 42px */\n display: flex;\n justify-content: space-between;\n align-items: center;\n\n width: 100%;\n\n outline: none;\n translate: 1px 1px;\n max-width: var(--next-dialog-max-width);\n\n .error-overlay-notch {\n --stroke-color: var(--color-gray-400);\n --background-color: var(--color-background-100);\n\n translate: -1px 0;\n width: auto;\n height: var(--notch-height);\n padding: 12px;\n background: var(--background-color);\n border: 1px solid var(--stroke-color);\n border-bottom: none;\n position: relative;\n\n &[data-side='left'] {\n padding-right: 0;\n border-radius: var(--rounded-xl) 0 0 0;\n\n .error-overlay-notch-tail {\n right: -54px;\n }\n\n > *:not(.error-overlay-notch-tail) {\n margin-right: -10px;\n }\n }\n\n &[data-side='right'] {\n padding-left: 0;\n border-radius: 0 var(--rounded-xl) 0 0;\n\n .error-overlay-notch-tail {\n left: -54px;\n transform: rotateY(180deg);\n }\n\n > *:not(.error-overlay-notch-tail) {\n margin-left: -12px;\n }\n }\n\n .error-overlay-notch-tail {\n position: absolute;\n top: -1px;\n pointer-events: none;\n z-index: -1;\n height: calc(100% + 1px);\n }\n }\n }\n\n \n .nextjs__container_errors_label {\n padding: 2px 6px;\n margin: 0;\n border-radius: var(--rounded-md-2);\n background: var(--color-red-100);\n font-weight: 600;\n font-size: var(--size-12);\n color: var(--color-red-900);\n font-family: var(--font-stack-monospace);\n line-height: var(--size-20);\n }\n\n \n .nextjs__container_errors_wrapper {\n position: relative;\n }\n\n .nextjs__container_errors_desc {\n margin: 0;\n margin-left: 4px;\n color: var(--color-red-900);\n font-weight: 500;\n font-size: var(--size-16);\n letter-spacing: -0.32px;\n line-height: var(--size-24);\n overflow-wrap: break-word;\n white-space: pre-wrap;\n }\n\n .nextjs__container_errors_desc.truncated {\n max-height: 200px;\n overflow: hidden;\n }\n\n .nextjs__container_errors_gradient_overlay {\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n height: 85px;\n background: linear-gradient(\n 180deg,\n rgba(250, 250, 250, 0) 0%,\n var(--color-background-100) 100%\n );\n }\n\n .nextjs__container_errors_expand_button {\n position: absolute;\n bottom: 10px;\n left: 50%;\n transform: translateX(-50%);\n display: flex;\n align-items: center;\n padding: 6px 8px;\n background: var(--color-background-100);\n border: 1px solid var(--color-gray-alpha-400);\n border-radius: 999px;\n box-shadow:\n 0px 2px 2px var(--color-gray-alpha-100),\n 0px 8px 8px -8px var(--color-gray-alpha-100);\n font-size: var(--size-13);\n cursor: pointer;\n color: var(--color-gray-900);\n font-weight: 500;\n transition: background-color 0.2s ease;\n }\n\n .nextjs__container_errors_expand_button:hover {\n background: var(--color-gray-100);\n }\n\n \n .error-overlay-toolbar {\n display: flex;\n gap: 6px;\n }\n\n .nodejs-inspector-button,\n .copy-stack-trace-button,\n .docs-link-button {\n display: flex;\n justify-content: center;\n align-items: center;\n\n width: var(--size-28);\n height: var(--size-28);\n background: var(--color-background-100);\n background-clip: padding-box;\n border: 1px solid var(--color-gray-alpha-400);\n box-shadow: var(--shadow-small);\n border-radius: var(--rounded-full);\n\n svg {\n width: var(--size-14);\n height: var(--size-14);\n }\n\n &:focus {\n outline: var(--focus-ring);\n }\n\n &:not(:disabled):hover {\n background: var(--color-gray-alpha-100);\n }\n\n &:not(:disabled):active {\n background: var(--color-gray-alpha-200);\n }\n\n &:disabled {\n background-color: var(--color-gray-100);\n cursor: not-allowed;\n }\n }\n\n .error-overlay-toolbar-button-icon {\n color: var(--color-gray-900);\n }\n\n \n .error-overlay-call-stack-container {\n position: relative;\n margin-top: 8px;\n }\n\n .error-overlay-call-stack-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n min-height: var(--size-28);\n padding: 8px 8px 12px 4px;\n width: 100%;\n }\n\n .error-overlay-call-stack-title {\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 8px;\n\n margin: 0;\n\n color: var(--color-gray-1000);\n font-size: var(--size-16);\n font-weight: 500;\n }\n\n .error-overlay-call-stack-count {\n display: flex;\n justify-content: center;\n align-items: center;\n\n width: var(--size-20);\n height: var(--size-20);\n gap: 4px;\n\n color: var(--color-gray-1000);\n text-align: center;\n font-size: var(--size-11);\n font-weight: 500;\n line-height: var(--size-16);\n\n border-radius: var(--rounded-full);\n background: var(--color-gray-300);\n }\n\n .error-overlay-call-stack-ignored-list-toggle-button {\n all: unset;\n display: flex;\n align-items: center;\n gap: 6px;\n color: var(--color-gray-900);\n font-size: var(--size-14);\n line-height: var(--size-20);\n border-radius: 6px;\n padding: 4px 6px;\n margin-right: -6px;\n transition: background 150ms ease;\n\n &:hover {\n background: var(--color-gray-100);\n }\n\n &:focus {\n outline: var(--focus-ring);\n }\n\n svg {\n width: var(--size-16);\n height: var(--size-16);\n }\n }\n\n\n [data-nextjs-error-label-group] {\n display: flex;\n align-items: center;\n gap: 8px;\n }\n";
23
+ export declare const styles = "\n \n [data-nextjs-dialog-overlay] {\n padding: initial;\n top: 10vh;\n }\n\n \n .error-overlay-dialog {\n overflow-y: auto;\n -webkit-font-smoothing: antialiased;\n background: var(--color-background-100);\n background-clip: padding-box;\n border: 1px solid var(--color-gray-400);\n border-radius: var(--rounded-xl);\n box-shadow: var(--shadow-menu);\n position: relative;\n\n &:has(\n ~ [data-nextjs-error-overlay-nav] .error-overlay-notch[data-side='left']\n ) {\n border-top-left-radius: 0;\n }\n\n &:has(\n ~ [data-nextjs-error-overlay-nav]\n .error-overlay-notch[data-side='right']\n ) {\n border-top-right-radius: 0;\n }\n }\n\n \n .nextjs-container-errors-header {\n position: relative;\n }\n .nextjs-container-errors-header > h1 {\n font-size: var(--size-20);\n line-height: var(--size-24);\n font-weight: bold;\n margin: calc(16px * 1.5) 0;\n color: var(--color-title-h1);\n }\n .nextjs-container-errors-header small {\n font-size: var(--size-14);\n color: var(--color-accents-1);\n margin-left: 16px;\n }\n .nextjs-container-errors-header small > span {\n font-family: var(--font-stack-monospace);\n }\n .nextjs-container-errors-header > div > small {\n margin: 0;\n margin-top: 4px;\n }\n .nextjs-container-errors-header > p > a {\n color: inherit;\n font-weight: bold;\n }\n .nextjs-container-errors-header\n > .nextjs-container-build-error-version-status {\n position: absolute;\n top: 16px;\n right: 16px;\n }\n\n \n\n \n [data-nextjs-error-overlay-nav] {\n --notch-height: 42px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n\n width: 100%;\n\n outline: none;\n translate: 1px 1px;\n max-width: var(--next-dialog-max-width);\n\n .error-overlay-notch {\n --stroke-color: var(--color-gray-400);\n --background-color: var(--color-background-100);\n\n translate: -1px 0;\n width: auto;\n height: var(--notch-height);\n padding: 12px;\n background: var(--background-color);\n border: 1px solid var(--stroke-color);\n border-bottom: none;\n position: relative;\n\n &[data-side='left'] {\n padding-right: 0;\n border-radius: var(--rounded-xl) 0 0 0;\n\n .error-overlay-notch-tail {\n right: -54px;\n }\n\n > *:not(.error-overlay-notch-tail) {\n margin-right: -10px;\n }\n }\n\n &[data-side='right'] {\n padding-left: 0;\n border-radius: 0 var(--rounded-xl) 0 0;\n\n .error-overlay-notch-tail {\n left: -54px;\n transform: rotateY(180deg);\n }\n\n > *:not(.error-overlay-notch-tail) {\n margin-left: -12px;\n }\n }\n\n .error-overlay-notch-tail {\n position: absolute;\n top: -1px;\n pointer-events: none;\n z-index: -1;\n height: calc(100% + 1px);\n }\n }\n }\n\n \n .nextjs__container_errors_label {\n padding: 2px 6px;\n margin: 0;\n border-radius: var(--rounded-md-2);\n background: var(--color-red-100);\n font-weight: 600;\n font-size: var(--size-12);\n color: var(--color-red-900);\n font-family: var(--font-stack-monospace);\n line-height: var(--size-20);\n }\n\n \n .nextjs__container_errors_wrapper {\n position: relative;\n }\n\n .nextjs__container_errors_desc {\n margin: 0;\n margin-left: 4px;\n color: var(--color-red-900);\n font-weight: 500;\n font-size: var(--size-16);\n letter-spacing: -0.32px;\n line-height: var(--size-24);\n overflow-wrap: break-word;\n white-space: pre-wrap;\n }\n\n .nextjs__container_errors_desc.truncated {\n max-height: 200px;\n overflow: hidden;\n }\n\n .nextjs__container_errors_gradient_overlay {\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n height: 85px;\n background: linear-gradient(\n 180deg,\n rgba(250, 250, 250, 0) 0%,\n var(--color-background-100) 100%\n );\n }\n\n .nextjs__container_errors_expand_button {\n position: absolute;\n bottom: 10px;\n left: 50%;\n transform: translateX(-50%);\n display: flex;\n align-items: center;\n padding: 6px 8px;\n background: var(--color-background-100);\n border: 1px solid var(--color-gray-alpha-400);\n border-radius: 999px;\n box-shadow:\n 0px 2px 2px var(--color-gray-alpha-100),\n 0px 8px 8px -8px var(--color-gray-alpha-100);\n font-size: var(--size-13);\n cursor: pointer;\n color: var(--color-gray-900);\n font-weight: 500;\n transition: background-color 0.2s ease;\n }\n\n .nextjs__container_errors_expand_button:hover {\n background: var(--color-gray-100);\n }\n\n \n .error-overlay-toolbar {\n display: flex;\n gap: 6px;\n }\n\n .nodejs-inspector-button,\n .copy-stack-trace-button,\n .docs-link-button {\n display: flex;\n justify-content: center;\n align-items: center;\n\n width: var(--size-28);\n height: var(--size-28);\n background: var(--color-background-100);\n background-clip: padding-box;\n border: 1px solid var(--color-gray-alpha-400);\n box-shadow: var(--shadow-small);\n border-radius: var(--rounded-full);\n\n svg {\n width: var(--size-14);\n height: var(--size-14);\n }\n\n &:focus {\n outline: var(--focus-ring);\n }\n\n &:not(:disabled):hover {\n background: var(--color-gray-alpha-100);\n }\n\n &:not(:disabled):active {\n background: var(--color-gray-alpha-200);\n }\n\n &:disabled {\n background-color: var(--color-gray-100);\n cursor: not-allowed;\n }\n }\n\n .error-overlay-toolbar-button-icon {\n color: var(--color-gray-900);\n }\n\n \n .error-overlay-call-stack-container {\n position: relative;\n margin-top: 8px;\n }\n\n .error-overlay-call-stack-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n min-height: var(--size-28);\n padding: 8px 8px 12px 4px;\n width: 100%;\n }\n\n .error-overlay-call-stack-title {\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 8px;\n\n margin: 0;\n\n color: var(--color-gray-1000);\n font-size: var(--size-16);\n font-weight: 500;\n }\n\n .error-overlay-call-stack-count {\n display: flex;\n justify-content: center;\n align-items: center;\n\n width: var(--size-20);\n height: var(--size-20);\n gap: 4px;\n\n color: var(--color-gray-1000);\n text-align: center;\n font-size: var(--size-11);\n font-weight: 500;\n line-height: var(--size-16);\n\n border-radius: var(--rounded-full);\n background: var(--color-gray-300);\n }\n\n .error-overlay-call-stack-ignored-list-toggle-button {\n all: unset;\n display: flex;\n align-items: center;\n gap: 6px;\n color: var(--color-gray-900);\n font-size: var(--size-14);\n line-height: var(--size-20);\n border-radius: 6px;\n padding: 4px 6px;\n margin-right: -6px;\n transition: background 150ms ease;\n\n &:hover {\n background: var(--color-gray-100);\n }\n\n &:focus {\n outline: var(--focus-ring);\n }\n\n svg {\n width: var(--size-16);\n height: var(--size-16);\n }\n }\n\n\n [data-nextjs-error-label-group] {\n display: flex;\n align-items: center;\n gap: 8px;\n }\n";
24
24
  export {};
@@ -8,5 +8,5 @@ type ErrorOverlayNavProps = {
8
8
  isTurbopack?: boolean;
9
9
  };
10
10
  export declare function ErrorOverlayNav({ runtimeErrors, activeIdx, setActiveIndex, versionInfo, isTurbopack, }: ErrorOverlayNavProps): import("react/jsx-runtime").JSX.Element;
11
- export declare const styles = "\n [data-nextjs-error-overlay-nav] {\n --notch-height: 2.625rem; /* 42px */\n display: flex;\n justify-content: space-between;\n align-items: center;\n\n width: 100%;\n\n outline: none;\n translate: 1px 1px;\n max-width: var(--next-dialog-max-width);\n\n .error-overlay-notch {\n --stroke-color: var(--color-gray-400);\n --background-color: var(--color-background-100);\n\n translate: -1px 0;\n width: auto;\n height: var(--notch-height);\n padding: 12px;\n background: var(--background-color);\n border: 1px solid var(--stroke-color);\n border-bottom: none;\n position: relative;\n\n &[data-side='left'] {\n padding-right: 0;\n border-radius: var(--rounded-xl) 0 0 0;\n\n .error-overlay-notch-tail {\n right: -54px;\n }\n\n > *:not(.error-overlay-notch-tail) {\n margin-right: -10px;\n }\n }\n\n &[data-side='right'] {\n padding-left: 0;\n border-radius: 0 var(--rounded-xl) 0 0;\n\n .error-overlay-notch-tail {\n left: -54px;\n transform: rotateY(180deg);\n }\n\n > *:not(.error-overlay-notch-tail) {\n margin-left: -12px;\n }\n }\n\n .error-overlay-notch-tail {\n position: absolute;\n top: -1px;\n pointer-events: none;\n z-index: -1;\n height: calc(100% + 1px);\n }\n }\n }\n";
11
+ export declare const styles = "\n [data-nextjs-error-overlay-nav] {\n --notch-height: 42px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n\n width: 100%;\n\n outline: none;\n translate: 1px 1px;\n max-width: var(--next-dialog-max-width);\n\n .error-overlay-notch {\n --stroke-color: var(--color-gray-400);\n --background-color: var(--color-background-100);\n\n translate: -1px 0;\n width: auto;\n height: var(--notch-height);\n padding: 12px;\n background: var(--background-color);\n border: 1px solid var(--stroke-color);\n border-bottom: none;\n position: relative;\n\n &[data-side='left'] {\n padding-right: 0;\n border-radius: var(--rounded-xl) 0 0 0;\n\n .error-overlay-notch-tail {\n right: -54px;\n }\n\n > *:not(.error-overlay-notch-tail) {\n margin-right: -10px;\n }\n }\n\n &[data-side='right'] {\n padding-left: 0;\n border-radius: 0 var(--rounded-xl) 0 0;\n\n .error-overlay-notch-tail {\n left: -54px;\n transform: rotateY(180deg);\n }\n\n > *:not(.error-overlay-notch-tail) {\n margin-left: -12px;\n }\n }\n\n .error-overlay-notch-tail {\n position: absolute;\n top: -1px;\n pointer-events: none;\n z-index: -1;\n height: calc(100% + 1px);\n }\n }\n }\n";
12
12
  export {};
@@ -46,7 +46,7 @@ function ErrorOverlayNav(param) {
46
46
  ]
47
47
  });
48
48
  }
49
- const styles = "\n [data-nextjs-error-overlay-nav] {\n --notch-height: 2.625rem; /* 42px */\n display: flex;\n justify-content: space-between;\n align-items: center;\n\n width: 100%;\n\n outline: none;\n translate: 1px 1px;\n max-width: var(--next-dialog-max-width);\n\n .error-overlay-notch {\n --stroke-color: var(--color-gray-400);\n --background-color: var(--color-background-100);\n\n translate: -1px 0;\n width: auto;\n height: var(--notch-height);\n padding: 12px;\n background: var(--background-color);\n border: 1px solid var(--stroke-color);\n border-bottom: none;\n position: relative;\n\n &[data-side='left'] {\n padding-right: 0;\n border-radius: var(--rounded-xl) 0 0 0;\n\n .error-overlay-notch-tail {\n right: -54px;\n }\n\n > *:not(.error-overlay-notch-tail) {\n margin-right: -10px;\n }\n }\n\n &[data-side='right'] {\n padding-left: 0;\n border-radius: 0 var(--rounded-xl) 0 0;\n\n .error-overlay-notch-tail {\n left: -54px;\n transform: rotateY(180deg);\n }\n\n > *:not(.error-overlay-notch-tail) {\n margin-left: -12px;\n }\n }\n\n .error-overlay-notch-tail {\n position: absolute;\n top: -1px;\n pointer-events: none;\n z-index: -1;\n height: calc(100% + 1px);\n }\n }\n }\n";
49
+ const styles = "\n [data-nextjs-error-overlay-nav] {\n --notch-height: 42px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n\n width: 100%;\n\n outline: none;\n translate: 1px 1px;\n max-width: var(--next-dialog-max-width);\n\n .error-overlay-notch {\n --stroke-color: var(--color-gray-400);\n --background-color: var(--color-background-100);\n\n translate: -1px 0;\n width: auto;\n height: var(--notch-height);\n padding: 12px;\n background: var(--background-color);\n border: 1px solid var(--stroke-color);\n border-bottom: none;\n position: relative;\n\n &[data-side='left'] {\n padding-right: 0;\n border-radius: var(--rounded-xl) 0 0 0;\n\n .error-overlay-notch-tail {\n right: -54px;\n }\n\n > *:not(.error-overlay-notch-tail) {\n margin-right: -10px;\n }\n }\n\n &[data-side='right'] {\n padding-left: 0;\n border-radius: 0 var(--rounded-xl) 0 0;\n\n .error-overlay-notch-tail {\n left: -54px;\n transform: rotateY(180deg);\n }\n\n > *:not(.error-overlay-notch-tail) {\n margin-left: -12px;\n }\n }\n\n .error-overlay-notch-tail {\n position: absolute;\n top: -1px;\n pointer-events: none;\n z-index: -1;\n height: calc(100% + 1px);\n }\n }\n }\n";
50
50
  function Notch(param) {
51
51
  let { children, side = 'left' } = param;
52
52
  return /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../../src/client/components/react-dev-overlay/ui/components/errors/error-overlay-nav/error-overlay-nav.tsx"],"sourcesContent":["import type { VersionInfo } from '../../../../../../../server/dev/parse-version-info'\n\nimport { ErrorOverlayPagination } from '../error-overlay-pagination/error-overlay-pagination'\nimport { VersionStalenessInfo } from '../../version-staleness-info/version-staleness-info'\nimport type { ReadyRuntimeError } from '../../../../utils/get-error-by-type'\n\ntype ErrorOverlayNavProps = {\n runtimeErrors?: ReadyRuntimeError[]\n activeIdx?: number\n setActiveIndex?: (index: number) => void\n versionInfo?: VersionInfo\n isTurbopack?: boolean\n}\n\nexport function ErrorOverlayNav({\n runtimeErrors,\n activeIdx,\n setActiveIndex,\n versionInfo,\n isTurbopack,\n}: ErrorOverlayNavProps) {\n return (\n <div data-nextjs-error-overlay-nav>\n <Notch side=\"left\">\n {/* TODO: better passing data instead of nullish coalescing */}\n <ErrorOverlayPagination\n runtimeErrors={runtimeErrors ?? []}\n activeIdx={activeIdx ?? 0}\n onActiveIndexChange={setActiveIndex ?? (() => {})}\n />\n </Notch>\n {versionInfo && (\n <Notch side=\"right\">\n <VersionStalenessInfo\n versionInfo={versionInfo}\n isTurbopack={isTurbopack}\n />\n </Notch>\n )}\n </div>\n )\n}\n\nexport const styles = `\n [data-nextjs-error-overlay-nav] {\n --notch-height: 2.625rem; /* 42px */\n display: flex;\n justify-content: space-between;\n align-items: center;\n\n width: 100%;\n\n outline: none;\n translate: 1px 1px;\n max-width: var(--next-dialog-max-width);\n\n .error-overlay-notch {\n --stroke-color: var(--color-gray-400);\n --background-color: var(--color-background-100);\n\n translate: -1px 0;\n width: auto;\n height: var(--notch-height);\n padding: 12px;\n background: var(--background-color);\n border: 1px solid var(--stroke-color);\n border-bottom: none;\n position: relative;\n\n &[data-side='left'] {\n padding-right: 0;\n border-radius: var(--rounded-xl) 0 0 0;\n\n .error-overlay-notch-tail {\n right: -54px;\n }\n\n > *:not(.error-overlay-notch-tail) {\n margin-right: -10px;\n }\n }\n\n &[data-side='right'] {\n padding-left: 0;\n border-radius: 0 var(--rounded-xl) 0 0;\n\n .error-overlay-notch-tail {\n left: -54px;\n transform: rotateY(180deg);\n }\n\n > *:not(.error-overlay-notch-tail) {\n margin-left: -12px;\n }\n }\n\n .error-overlay-notch-tail {\n position: absolute;\n top: -1px;\n pointer-events: none;\n z-index: -1;\n height: calc(100% + 1px);\n }\n }\n }\n`\n\nfunction Notch({\n children,\n side = 'left',\n}: {\n children: React.ReactNode\n side?: 'left' | 'right'\n}) {\n return (\n <div className=\"error-overlay-notch\" data-side={side}>\n {children}\n <Tail />\n </div>\n )\n}\n\nfunction Tail() {\n return (\n <svg\n width=\"60\"\n height=\"42\"\n viewBox=\"0 0 60 42\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"error-overlay-notch-tail\"\n preserveAspectRatio=\"none\"\n >\n <mask\n id=\"error_overlay_nav_mask0_2667_14687\"\n style={{\n maskType: 'alpha',\n }}\n maskUnits=\"userSpaceOnUse\"\n x=\"0\"\n y=\"-1\"\n width=\"60\"\n height=\"43\"\n >\n <mask\n id=\"error_overlay_nav_path_1_outside_1_2667_14687\"\n maskUnits=\"userSpaceOnUse\"\n x=\"0\"\n y=\"-1\"\n width=\"60\"\n height=\"43\"\n fill=\"black\"\n >\n <rect fill=\"white\" y=\"-1\" width=\"60\" height=\"43\" />\n <path d=\"M1 0L8.0783 0C15.772 0 22.7836 4.41324 26.111 11.3501L34.8889 29.6498C38.2164 36.5868 45.228 41 52.9217 41H60H1L1 0Z\" />\n </mask>\n <path\n d=\"M1 0L8.0783 0C15.772 0 22.7836 4.41324 26.111 11.3501L34.8889 29.6498C38.2164 36.5868 45.228 41 52.9217 41H60H1L1 0Z\"\n fill=\"white\"\n />\n <path\n d=\"M1 0V-1H0V0L1 0ZM1 41H0V42H1V41ZM34.8889 29.6498L33.9873 30.0823L34.8889 29.6498ZM26.111 11.3501L27.0127 10.9177L26.111 11.3501ZM1 1H8.0783V-1H1V1ZM60 40H1V42H60V40ZM2 41V0L0 0L0 41H2ZM25.2094 11.7826L33.9873 30.0823L35.7906 29.2174L27.0127 10.9177L25.2094 11.7826ZM52.9217 42H60V40H52.9217V42ZM33.9873 30.0823C37.4811 37.3661 44.8433 42 52.9217 42V40C45.6127 40 38.9517 35.8074 35.7906 29.2174L33.9873 30.0823ZM8.0783 1C15.3873 1 22.0483 5.19257 25.2094 11.7826L27.0127 10.9177C23.5188 3.6339 16.1567 -1 8.0783 -1V1Z\"\n fill=\"black\"\n mask=\"url(#error_overlay_nav_path_1_outside_1_2667_14687)\"\n />\n </mask>\n <g mask=\"url(#error_overlay_nav_mask0_2667_14687)\">\n <mask\n id=\"error_overlay_nav_path_3_outside_2_2667_14687\"\n maskUnits=\"userSpaceOnUse\"\n x=\"-1\"\n y=\"0.0244141\"\n width=\"60\"\n height=\"43\"\n fill=\"black\"\n >\n <rect fill=\"white\" x=\"-1\" y=\"0.0244141\" width=\"60\" height=\"43\" />\n <path d=\"M0 1.02441H7.0783C14.772 1.02441 21.7836 5.43765 25.111 12.3746L33.8889 30.6743C37.2164 37.6112 44.228 42.0244 51.9217 42.0244H59H0L0 1.02441Z\" />\n </mask>\n <path\n d=\"M0 1.02441H7.0783C14.772 1.02441 21.7836 5.43765 25.111 12.3746L33.8889 30.6743C37.2164 37.6112 44.228 42.0244 51.9217 42.0244H59H0L0 1.02441Z\"\n fill=\"var(--background-color)\"\n />\n <path\n d=\"M0 1.02441L0 0.0244141H-1V1.02441H0ZM0 42.0244H-1V43.0244H0L0 42.0244ZM33.8889 30.6743L32.9873 31.1068L33.8889 30.6743ZM25.111 12.3746L26.0127 11.9421L25.111 12.3746ZM0 2.02441H7.0783V0.0244141H0L0 2.02441ZM59 41.0244H0L0 43.0244H59V41.0244ZM1 42.0244L1 1.02441H-1L-1 42.0244H1ZM24.2094 12.8071L32.9873 31.1068L34.7906 30.2418L26.0127 11.9421L24.2094 12.8071ZM51.9217 43.0244H59V41.0244H51.9217V43.0244ZM32.9873 31.1068C36.4811 38.3905 43.8433 43.0244 51.9217 43.0244V41.0244C44.6127 41.0244 37.9517 36.8318 34.7906 30.2418L32.9873 31.1068ZM7.0783 2.02441C14.3873 2.02441 21.0483 6.21699 24.2094 12.8071L26.0127 11.9421C22.5188 4.65831 15.1567 0.0244141 7.0783 0.0244141V2.02441Z\"\n fill=\"var(--stroke-color)\"\n mask=\"url(#error_overlay_nav_path_3_outside_2_2667_14687)\"\n />\n </g>\n </svg>\n )\n}\n"],"names":["ErrorOverlayNav","styles","runtimeErrors","activeIdx","setActiveIndex","versionInfo","isTurbopack","div","data-nextjs-error-overlay-nav","Notch","side","ErrorOverlayPagination","onActiveIndexChange","VersionStalenessInfo","children","className","data-side","Tail","svg","width","height","viewBox","fill","xmlns","preserveAspectRatio","mask","id","style","maskType","maskUnits","x","y","rect","path","d","g"],"mappings":";;;;;;;;;;;;;;;IAcgBA,eAAe;eAAfA;;IA6BHC,MAAM;eAANA;;;;wCAzC0B;sCACF;AAW9B,SAASD,gBAAgB,KAMT;IANS,IAAA,EAC9BE,aAAa,EACbC,SAAS,EACTC,cAAc,EACdC,WAAW,EACXC,WAAW,EACU,GANS;IAO9B,qBACE,sBAACC;QAAIC,+BAA6B;;0BAChC,qBAACC;gBAAMC,MAAK;0BAEV,cAAA,qBAACC,8CAAsB;oBACrBT,eAAeA,wBAAAA,gBAAiB,EAAE;oBAClCC,WAAWA,oBAAAA,YAAa;oBACxBS,qBAAqBR,yBAAAA,iBAAmB,KAAO;;;YAGlDC,6BACC,qBAACI;gBAAMC,MAAK;0BACV,cAAA,qBAACG,0CAAoB;oBACnBR,aAAaA;oBACbC,aAAaA;;;;;AAMzB;AAEO,MAAML,SAAU;AAgEvB,SAASQ,MAAM,KAMd;IANc,IAAA,EACbK,QAAQ,EACRJ,OAAO,MAAM,EAId,GANc;IAOb,qBACE,sBAACH;QAAIQ,WAAU;QAAsBC,aAAWN;;YAC7CI;0BACD,qBAACG;;;AAGP;AAEA,SAASA;IACP,qBACE,sBAACC;QACCC,OAAM;QACNC,QAAO;QACPC,SAAQ;QACRC,MAAK;QACLC,OAAM;QACNR,WAAU;QACVS,qBAAoB;;0BAEpB,sBAACC;gBACCC,IAAG;gBACHC,OAAO;oBACLC,UAAU;gBACZ;gBACAC,WAAU;gBACVC,GAAE;gBACFC,GAAE;gBACFZ,OAAM;gBACNC,QAAO;;kCAEP,sBAACK;wBACCC,IAAG;wBACHG,WAAU;wBACVC,GAAE;wBACFC,GAAE;wBACFZ,OAAM;wBACNC,QAAO;wBACPE,MAAK;;0CAEL,qBAACU;gCAAKV,MAAK;gCAAQS,GAAE;gCAAKZ,OAAM;gCAAKC,QAAO;;0CAC5C,qBAACa;gCAAKC,GAAE;;;;kCAEV,qBAACD;wBACCC,GAAE;wBACFZ,MAAK;;kCAEP,qBAACW;wBACCC,GAAE;wBACFZ,MAAK;wBACLG,MAAK;;;;0BAGT,sBAACU;gBAAEV,MAAK;;kCACN,sBAACA;wBACCC,IAAG;wBACHG,WAAU;wBACVC,GAAE;wBACFC,GAAE;wBACFZ,OAAM;wBACNC,QAAO;wBACPE,MAAK;;0CAEL,qBAACU;gCAAKV,MAAK;gCAAQQ,GAAE;gCAAKC,GAAE;gCAAYZ,OAAM;gCAAKC,QAAO;;0CAC1D,qBAACa;gCAAKC,GAAE;;;;kCAEV,qBAACD;wBACCC,GAAE;wBACFZ,MAAK;;kCAEP,qBAACW;wBACCC,GAAE;wBACFZ,MAAK;wBACLG,MAAK;;;;;;AAKf"}
1
+ {"version":3,"sources":["../../../../../../../../src/client/components/react-dev-overlay/ui/components/errors/error-overlay-nav/error-overlay-nav.tsx"],"sourcesContent":["import type { VersionInfo } from '../../../../../../../server/dev/parse-version-info'\n\nimport { ErrorOverlayPagination } from '../error-overlay-pagination/error-overlay-pagination'\nimport { VersionStalenessInfo } from '../../version-staleness-info/version-staleness-info'\nimport type { ReadyRuntimeError } from '../../../../utils/get-error-by-type'\n\ntype ErrorOverlayNavProps = {\n runtimeErrors?: ReadyRuntimeError[]\n activeIdx?: number\n setActiveIndex?: (index: number) => void\n versionInfo?: VersionInfo\n isTurbopack?: boolean\n}\n\nexport function ErrorOverlayNav({\n runtimeErrors,\n activeIdx,\n setActiveIndex,\n versionInfo,\n isTurbopack,\n}: ErrorOverlayNavProps) {\n return (\n <div data-nextjs-error-overlay-nav>\n <Notch side=\"left\">\n {/* TODO: better passing data instead of nullish coalescing */}\n <ErrorOverlayPagination\n runtimeErrors={runtimeErrors ?? []}\n activeIdx={activeIdx ?? 0}\n onActiveIndexChange={setActiveIndex ?? (() => {})}\n />\n </Notch>\n {versionInfo && (\n <Notch side=\"right\">\n <VersionStalenessInfo\n versionInfo={versionInfo}\n isTurbopack={isTurbopack}\n />\n </Notch>\n )}\n </div>\n )\n}\n\nexport const styles = `\n [data-nextjs-error-overlay-nav] {\n --notch-height: 42px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n\n width: 100%;\n\n outline: none;\n translate: 1px 1px;\n max-width: var(--next-dialog-max-width);\n\n .error-overlay-notch {\n --stroke-color: var(--color-gray-400);\n --background-color: var(--color-background-100);\n\n translate: -1px 0;\n width: auto;\n height: var(--notch-height);\n padding: 12px;\n background: var(--background-color);\n border: 1px solid var(--stroke-color);\n border-bottom: none;\n position: relative;\n\n &[data-side='left'] {\n padding-right: 0;\n border-radius: var(--rounded-xl) 0 0 0;\n\n .error-overlay-notch-tail {\n right: -54px;\n }\n\n > *:not(.error-overlay-notch-tail) {\n margin-right: -10px;\n }\n }\n\n &[data-side='right'] {\n padding-left: 0;\n border-radius: 0 var(--rounded-xl) 0 0;\n\n .error-overlay-notch-tail {\n left: -54px;\n transform: rotateY(180deg);\n }\n\n > *:not(.error-overlay-notch-tail) {\n margin-left: -12px;\n }\n }\n\n .error-overlay-notch-tail {\n position: absolute;\n top: -1px;\n pointer-events: none;\n z-index: -1;\n height: calc(100% + 1px);\n }\n }\n }\n`\n\nfunction Notch({\n children,\n side = 'left',\n}: {\n children: React.ReactNode\n side?: 'left' | 'right'\n}) {\n return (\n <div className=\"error-overlay-notch\" data-side={side}>\n {children}\n <Tail />\n </div>\n )\n}\n\nfunction Tail() {\n return (\n <svg\n width=\"60\"\n height=\"42\"\n viewBox=\"0 0 60 42\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"error-overlay-notch-tail\"\n preserveAspectRatio=\"none\"\n >\n <mask\n id=\"error_overlay_nav_mask0_2667_14687\"\n style={{\n maskType: 'alpha',\n }}\n maskUnits=\"userSpaceOnUse\"\n x=\"0\"\n y=\"-1\"\n width=\"60\"\n height=\"43\"\n >\n <mask\n id=\"error_overlay_nav_path_1_outside_1_2667_14687\"\n maskUnits=\"userSpaceOnUse\"\n x=\"0\"\n y=\"-1\"\n width=\"60\"\n height=\"43\"\n fill=\"black\"\n >\n <rect fill=\"white\" y=\"-1\" width=\"60\" height=\"43\" />\n <path d=\"M1 0L8.0783 0C15.772 0 22.7836 4.41324 26.111 11.3501L34.8889 29.6498C38.2164 36.5868 45.228 41 52.9217 41H60H1L1 0Z\" />\n </mask>\n <path\n d=\"M1 0L8.0783 0C15.772 0 22.7836 4.41324 26.111 11.3501L34.8889 29.6498C38.2164 36.5868 45.228 41 52.9217 41H60H1L1 0Z\"\n fill=\"white\"\n />\n <path\n d=\"M1 0V-1H0V0L1 0ZM1 41H0V42H1V41ZM34.8889 29.6498L33.9873 30.0823L34.8889 29.6498ZM26.111 11.3501L27.0127 10.9177L26.111 11.3501ZM1 1H8.0783V-1H1V1ZM60 40H1V42H60V40ZM2 41V0L0 0L0 41H2ZM25.2094 11.7826L33.9873 30.0823L35.7906 29.2174L27.0127 10.9177L25.2094 11.7826ZM52.9217 42H60V40H52.9217V42ZM33.9873 30.0823C37.4811 37.3661 44.8433 42 52.9217 42V40C45.6127 40 38.9517 35.8074 35.7906 29.2174L33.9873 30.0823ZM8.0783 1C15.3873 1 22.0483 5.19257 25.2094 11.7826L27.0127 10.9177C23.5188 3.6339 16.1567 -1 8.0783 -1V1Z\"\n fill=\"black\"\n mask=\"url(#error_overlay_nav_path_1_outside_1_2667_14687)\"\n />\n </mask>\n <g mask=\"url(#error_overlay_nav_mask0_2667_14687)\">\n <mask\n id=\"error_overlay_nav_path_3_outside_2_2667_14687\"\n maskUnits=\"userSpaceOnUse\"\n x=\"-1\"\n y=\"0.0244141\"\n width=\"60\"\n height=\"43\"\n fill=\"black\"\n >\n <rect fill=\"white\" x=\"-1\" y=\"0.0244141\" width=\"60\" height=\"43\" />\n <path d=\"M0 1.02441H7.0783C14.772 1.02441 21.7836 5.43765 25.111 12.3746L33.8889 30.6743C37.2164 37.6112 44.228 42.0244 51.9217 42.0244H59H0L0 1.02441Z\" />\n </mask>\n <path\n d=\"M0 1.02441H7.0783C14.772 1.02441 21.7836 5.43765 25.111 12.3746L33.8889 30.6743C37.2164 37.6112 44.228 42.0244 51.9217 42.0244H59H0L0 1.02441Z\"\n fill=\"var(--background-color)\"\n />\n <path\n d=\"M0 1.02441L0 0.0244141H-1V1.02441H0ZM0 42.0244H-1V43.0244H0L0 42.0244ZM33.8889 30.6743L32.9873 31.1068L33.8889 30.6743ZM25.111 12.3746L26.0127 11.9421L25.111 12.3746ZM0 2.02441H7.0783V0.0244141H0L0 2.02441ZM59 41.0244H0L0 43.0244H59V41.0244ZM1 42.0244L1 1.02441H-1L-1 42.0244H1ZM24.2094 12.8071L32.9873 31.1068L34.7906 30.2418L26.0127 11.9421L24.2094 12.8071ZM51.9217 43.0244H59V41.0244H51.9217V43.0244ZM32.9873 31.1068C36.4811 38.3905 43.8433 43.0244 51.9217 43.0244V41.0244C44.6127 41.0244 37.9517 36.8318 34.7906 30.2418L32.9873 31.1068ZM7.0783 2.02441C14.3873 2.02441 21.0483 6.21699 24.2094 12.8071L26.0127 11.9421C22.5188 4.65831 15.1567 0.0244141 7.0783 0.0244141V2.02441Z\"\n fill=\"var(--stroke-color)\"\n mask=\"url(#error_overlay_nav_path_3_outside_2_2667_14687)\"\n />\n </g>\n </svg>\n )\n}\n"],"names":["ErrorOverlayNav","styles","runtimeErrors","activeIdx","setActiveIndex","versionInfo","isTurbopack","div","data-nextjs-error-overlay-nav","Notch","side","ErrorOverlayPagination","onActiveIndexChange","VersionStalenessInfo","children","className","data-side","Tail","svg","width","height","viewBox","fill","xmlns","preserveAspectRatio","mask","id","style","maskType","maskUnits","x","y","rect","path","d","g"],"mappings":";;;;;;;;;;;;;;;IAcgBA,eAAe;eAAfA;;IA6BHC,MAAM;eAANA;;;;wCAzC0B;sCACF;AAW9B,SAASD,gBAAgB,KAMT;IANS,IAAA,EAC9BE,aAAa,EACbC,SAAS,EACTC,cAAc,EACdC,WAAW,EACXC,WAAW,EACU,GANS;IAO9B,qBACE,sBAACC;QAAIC,+BAA6B;;0BAChC,qBAACC;gBAAMC,MAAK;0BAEV,cAAA,qBAACC,8CAAsB;oBACrBT,eAAeA,wBAAAA,gBAAiB,EAAE;oBAClCC,WAAWA,oBAAAA,YAAa;oBACxBS,qBAAqBR,yBAAAA,iBAAmB,KAAO;;;YAGlDC,6BACC,qBAACI;gBAAMC,MAAK;0BACV,cAAA,qBAACG,0CAAoB;oBACnBR,aAAaA;oBACbC,aAAaA;;;;;AAMzB;AAEO,MAAML,SAAU;AAgEvB,SAASQ,MAAM,KAMd;IANc,IAAA,EACbK,QAAQ,EACRJ,OAAO,MAAM,EAId,GANc;IAOb,qBACE,sBAACH;QAAIQ,WAAU;QAAsBC,aAAWN;;YAC7CI;0BACD,qBAACG;;;AAGP;AAEA,SAASA;IACP,qBACE,sBAACC;QACCC,OAAM;QACNC,QAAO;QACPC,SAAQ;QACRC,MAAK;QACLC,OAAM;QACNR,WAAU;QACVS,qBAAoB;;0BAEpB,sBAACC;gBACCC,IAAG;gBACHC,OAAO;oBACLC,UAAU;gBACZ;gBACAC,WAAU;gBACVC,GAAE;gBACFC,GAAE;gBACFZ,OAAM;gBACNC,QAAO;;kCAEP,sBAACK;wBACCC,IAAG;wBACHG,WAAU;wBACVC,GAAE;wBACFC,GAAE;wBACFZ,OAAM;wBACNC,QAAO;wBACPE,MAAK;;0CAEL,qBAACU;gCAAKV,MAAK;gCAAQS,GAAE;gCAAKZ,OAAM;gCAAKC,QAAO;;0CAC5C,qBAACa;gCAAKC,GAAE;;;;kCAEV,qBAACD;wBACCC,GAAE;wBACFZ,MAAK;;kCAEP,qBAACW;wBACCC,GAAE;wBACFZ,MAAK;wBACLG,MAAK;;;;0BAGT,sBAACU;gBAAEV,MAAK;;kCACN,sBAACA;wBACCC,IAAG;wBACHG,WAAU;wBACVC,GAAE;wBACFC,GAAE;wBACFZ,OAAM;wBACNC,QAAO;wBACPE,MAAK;;0CAEL,qBAACU;gCAAKV,MAAK;gCAAQQ,GAAE;gCAAKC,GAAE;gCAAYZ,OAAM;gCAAKC,QAAO;;0CAC1D,qBAACa;gCAAKC,GAAE;;;;kCAEV,qBAACD;wBACCC,GAAE;wBACFZ,MAAK;;kCAEP,qBAACW;wBACCC,GAAE;wBACFZ,MAAK;wBACLG,MAAK;;;;;;AAKf"}
@@ -13,7 +13,7 @@ const _jsxruntime = require("react/jsx-runtime");
13
13
  const _css = require("../../utils/css");
14
14
  function _templateObject() {
15
15
  const data = _tagged_template_literal_loose._([
16
- "\n :host {\n /* \n * Although the style applied to the shadow host is isolated,\n * the element that attached the shadow host (i.e. \"nextjs-portal\")\n * is still affected by the parent's style (e.g. \"body\"). This may\n * occur style conflicts like \"display: flex\", with other children\n * elements therefore give the shadow host an absolute position.\n */\n position: absolute;\n\n --color-font: #757575;\n --color-backdrop: rgba(250, 250, 250, 0.8);\n --color-border-shadow: rgba(0, 0, 0, 0.145);\n\n --color-title-color: #1f1f1f;\n --color-stack-notes: #777;\n\n --color-accents-1: #808080;\n --color-accents-2: #222222;\n --color-accents-3: #404040;\n\n --font-stack-monospace: '__nextjs-Geist Mono', 'Geist Mono',\n 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier,\n monospace;\n --font-stack-sans: '__nextjs-Geist', 'Geist', -apple-system,\n 'Source Sans Pro', sans-serif;\n\n font-family: var(--font-stack-sans);\n\n /* TODO: Remove replaced ones. */\n --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);\n --shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1),\n 0 1px 2px -1px rgb(0 0 0 / 0.1);\n --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1),\n 0 2px 4px -2px rgb(0 0 0 / 0.1);\n --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1),\n 0 4px 6px -4px rgb(0 0 0 / 0.1);\n --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1),\n 0 8px 10px -6px rgb(0 0 0 / 0.1);\n --shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / 0.25);\n --shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);\n --shadow-none: 0 0 #0000;\n\n --shadow-small: 0px 2px 2px rgba(0, 0, 0, 0.04);\n --shadow-menu: 0px 1px 1px rgba(0, 0, 0, 0.02),\n 0px 4px 8px -4px rgba(0, 0, 0, 0.04),\n 0px 16px 24px -8px rgba(0, 0, 0, 0.06);\n\n --focus-color: var(--color-blue-800);\n --focus-ring: 2px solid var(--focus-color);\n\n --timing-swift: cubic-bezier(0.23, 0.88, 0.26, 0.92);\n --timing-overlay: cubic-bezier(0.175, 0.885, 0.32, 1.1);\n\n --rounded-none: 0px;\n --rounded-sm: 2px;\n --rounded-md: 4px;\n --rounded-md-2: 6px;\n --rounded-lg: 8px;\n --rounded-xl: 12px;\n --rounded-2xl: 16px;\n --rounded-3xl: 24px;\n --rounded-4xl: 32px;\n --rounded-full: 9999px;\n\n /* \n Suffix N of --size-N as px value when the base font size is 16px.\n Example: --size-1 is 1px, --size-2 is 2px, --size-3 is 3px, etc.\n */\n --size-1: 0.0625rem; /* 1px */\n --size-2: 0.125rem; /* 2px */\n --size-3: 0.1875rem; /* 3px */\n --size-4: 0.25rem; /* ...and more */\n --size-5: 0.3125rem;\n --size-6: 0.375rem;\n --size-7: 0.4375rem;\n --size-8: 0.5rem;\n --size-9: 0.5625rem;\n --size-10: 0.625rem;\n --size-11: 0.6875rem;\n --size-12: 0.75rem;\n --size-13: 0.8125rem;\n --size-14: 0.875rem;\n --size-15: 0.9375rem;\n /* If the base font size of the dev overlay changes e.g. 18px, \n just slide the window and make --size-18 as 1rem. */\n --size-16: 1rem;\n --size-17: 1.0625rem;\n --size-18: 1.125rem;\n --size-20: 1.25rem;\n --size-22: 1.375rem;\n --size-24: 1.5rem;\n --size-26: 1.625rem;\n --size-28: 1.75rem;\n --size-30: 1.875rem;\n --size-32: 2rem;\n --size-34: 2.125rem;\n --size-36: 2.25rem;\n --size-38: 2.375rem;\n --size-40: 2.5rem;\n --size-42: 2.625rem;\n --size-44: 2.75rem;\n --size-46: 2.875rem;\n --size-48: 3rem;\n\n @media print {\n display: none;\n }\n }\n\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n margin-bottom: 8px;\n font-weight: 500;\n line-height: 1.5;\n }\n\n a {\n color: var(--color-blue-900);\n &:hover {\n color: var(--color-blue-900);\n }\n &:focus {\n outline: var(--focus-ring);\n }\n }\n "
16
+ "\n :host {\n /* \n * Although the style applied to the shadow host is isolated,\n * the element that attached the shadow host (i.e. \"nextjs-portal\")\n * is still affected by the parent's style (e.g. \"body\"). This may\n * occur style conflicts like \"display: flex\", with other children\n * elements therefore give the shadow host an absolute position.\n */\n position: absolute;\n\n --color-font: #757575;\n --color-backdrop: rgba(250, 250, 250, 0.8);\n --color-border-shadow: rgba(0, 0, 0, 0.145);\n\n --color-title-color: #1f1f1f;\n --color-stack-notes: #777;\n\n --color-accents-1: #808080;\n --color-accents-2: #222222;\n --color-accents-3: #404040;\n\n --font-stack-monospace: '__nextjs-Geist Mono', 'Geist Mono',\n 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier,\n monospace;\n --font-stack-sans: '__nextjs-Geist', 'Geist', -apple-system,\n 'Source Sans Pro', sans-serif;\n\n font-family: var(--font-stack-sans);\n\n /* TODO: Remove replaced ones. */\n --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);\n --shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1),\n 0 1px 2px -1px rgb(0 0 0 / 0.1);\n --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1),\n 0 2px 4px -2px rgb(0 0 0 / 0.1);\n --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1),\n 0 4px 6px -4px rgb(0 0 0 / 0.1);\n --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1),\n 0 8px 10px -6px rgb(0 0 0 / 0.1);\n --shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / 0.25);\n --shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);\n --shadow-none: 0 0 #0000;\n\n --shadow-small: 0px 2px 2px rgba(0, 0, 0, 0.04);\n --shadow-menu: 0px 1px 1px rgba(0, 0, 0, 0.02),\n 0px 4px 8px -4px rgba(0, 0, 0, 0.04),\n 0px 16px 24px -8px rgba(0, 0, 0, 0.06);\n\n --focus-color: var(--color-blue-800);\n --focus-ring: 2px solid var(--focus-color);\n\n --timing-swift: cubic-bezier(0.23, 0.88, 0.26, 0.92);\n --timing-overlay: cubic-bezier(0.175, 0.885, 0.32, 1.1);\n\n --rounded-none: 0px;\n --rounded-sm: 2px;\n --rounded-md: 4px;\n --rounded-md-2: 6px;\n --rounded-lg: 8px;\n --rounded-xl: 12px;\n --rounded-2xl: 16px;\n --rounded-3xl: 24px;\n --rounded-4xl: 32px;\n --rounded-full: 9999px;\n\n /* \n These used to be in rem units but we have realised\n that using rem to style the Dev Overlays is not a\n good idea because if the user sets their root font size\n to something tiny, they will not have a great time using\n the Overlays because they will appear unexpectedly tiny.\n\n In the future, we want to use these variables to offer\n a custom preference in the dropdown menu to alter the size\n of the Overlays.\n\n Ref: https://github.com/vercel/next.js/discussions/76812\n */\n --size-1: 1px;\n --size-2: 2px;\n --size-3: 3px;\n --size-4: 4px;\n --size-5: 5px;\n --size-6: 6px;\n --size-7: 7px;\n --size-8: 8px;\n --size-9: 9px;\n --size-10: 10px;\n --size-11: 11px;\n --size-12: 12px;\n --size-13: 13px;\n --size-14: 14px;\n --size-15: 15px;\n --size-16: 16px;\n --size-17: 17px;\n --size-18: 18px;\n --size-20: 20px;\n --size-22: 22px;\n --size-24: 24px;\n --size-26: 26px;\n --size-28: 28px;\n --size-30: 30px;\n --size-32: 32px;\n --size-34: 34px;\n --size-36: 36px;\n --size-38: 38px;\n --size-40: 40px;\n --size-42: 42px;\n --size-44: 44px;\n --size-46: 46px;\n --size-48: 48px;\n\n @media print {\n display: none;\n }\n }\n\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n margin-bottom: 8px;\n font-weight: 500;\n line-height: 1.5;\n }\n\n a {\n color: var(--color-blue-900);\n &:hover {\n color: var(--color-blue-900);\n }\n &:focus {\n outline: var(--focus-ring);\n }\n }\n "
17
17
  ]);
18
18
  _templateObject = function() {
19
19
  return data;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/client/components/react-dev-overlay/ui/styles/base.tsx"],"sourcesContent":["import { css } from '../../utils/css'\n\nexport function Base() {\n return (\n <style>\n {css`\n :host {\n /* \n * Although the style applied to the shadow host is isolated,\n * the element that attached the shadow host (i.e. \"nextjs-portal\")\n * is still affected by the parent's style (e.g. \"body\"). This may\n * occur style conflicts like \"display: flex\", with other children\n * elements therefore give the shadow host an absolute position.\n */\n position: absolute;\n\n --color-font: #757575;\n --color-backdrop: rgba(250, 250, 250, 0.8);\n --color-border-shadow: rgba(0, 0, 0, 0.145);\n\n --color-title-color: #1f1f1f;\n --color-stack-notes: #777;\n\n --color-accents-1: #808080;\n --color-accents-2: #222222;\n --color-accents-3: #404040;\n\n --font-stack-monospace: '__nextjs-Geist Mono', 'Geist Mono',\n 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier,\n monospace;\n --font-stack-sans: '__nextjs-Geist', 'Geist', -apple-system,\n 'Source Sans Pro', sans-serif;\n\n font-family: var(--font-stack-sans);\n\n /* TODO: Remove replaced ones. */\n --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);\n --shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1),\n 0 1px 2px -1px rgb(0 0 0 / 0.1);\n --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1),\n 0 2px 4px -2px rgb(0 0 0 / 0.1);\n --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1),\n 0 4px 6px -4px rgb(0 0 0 / 0.1);\n --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1),\n 0 8px 10px -6px rgb(0 0 0 / 0.1);\n --shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / 0.25);\n --shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);\n --shadow-none: 0 0 #0000;\n\n --shadow-small: 0px 2px 2px rgba(0, 0, 0, 0.04);\n --shadow-menu: 0px 1px 1px rgba(0, 0, 0, 0.02),\n 0px 4px 8px -4px rgba(0, 0, 0, 0.04),\n 0px 16px 24px -8px rgba(0, 0, 0, 0.06);\n\n --focus-color: var(--color-blue-800);\n --focus-ring: 2px solid var(--focus-color);\n\n --timing-swift: cubic-bezier(0.23, 0.88, 0.26, 0.92);\n --timing-overlay: cubic-bezier(0.175, 0.885, 0.32, 1.1);\n\n --rounded-none: 0px;\n --rounded-sm: 2px;\n --rounded-md: 4px;\n --rounded-md-2: 6px;\n --rounded-lg: 8px;\n --rounded-xl: 12px;\n --rounded-2xl: 16px;\n --rounded-3xl: 24px;\n --rounded-4xl: 32px;\n --rounded-full: 9999px;\n\n /* \n Suffix N of --size-N as px value when the base font size is 16px.\n Example: --size-1 is 1px, --size-2 is 2px, --size-3 is 3px, etc.\n */\n --size-1: 0.0625rem; /* 1px */\n --size-2: 0.125rem; /* 2px */\n --size-3: 0.1875rem; /* 3px */\n --size-4: 0.25rem; /* ...and more */\n --size-5: 0.3125rem;\n --size-6: 0.375rem;\n --size-7: 0.4375rem;\n --size-8: 0.5rem;\n --size-9: 0.5625rem;\n --size-10: 0.625rem;\n --size-11: 0.6875rem;\n --size-12: 0.75rem;\n --size-13: 0.8125rem;\n --size-14: 0.875rem;\n --size-15: 0.9375rem;\n /* If the base font size of the dev overlay changes e.g. 18px, \n just slide the window and make --size-18 as 1rem. */\n --size-16: 1rem;\n --size-17: 1.0625rem;\n --size-18: 1.125rem;\n --size-20: 1.25rem;\n --size-22: 1.375rem;\n --size-24: 1.5rem;\n --size-26: 1.625rem;\n --size-28: 1.75rem;\n --size-30: 1.875rem;\n --size-32: 2rem;\n --size-34: 2.125rem;\n --size-36: 2.25rem;\n --size-38: 2.375rem;\n --size-40: 2.5rem;\n --size-42: 2.625rem;\n --size-44: 2.75rem;\n --size-46: 2.875rem;\n --size-48: 3rem;\n\n @media print {\n display: none;\n }\n }\n\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n margin-bottom: 8px;\n font-weight: 500;\n line-height: 1.5;\n }\n\n a {\n color: var(--color-blue-900);\n &:hover {\n color: var(--color-blue-900);\n }\n &:focus {\n outline: var(--focus-ring);\n }\n }\n `}\n </style>\n )\n}\n"],"names":["Base","style","css"],"mappings":";;;;+BAEgBA;;;eAAAA;;;;;qBAFI;;;;;;;;;;AAEb,SAASA;IACd,qBACE,qBAACC;sBACEC,QAAG;;AAsIV"}
1
+ {"version":3,"sources":["../../../../../../src/client/components/react-dev-overlay/ui/styles/base.tsx"],"sourcesContent":["import { css } from '../../utils/css'\n\nexport function Base() {\n return (\n <style>\n {css`\n :host {\n /* \n * Although the style applied to the shadow host is isolated,\n * the element that attached the shadow host (i.e. \"nextjs-portal\")\n * is still affected by the parent's style (e.g. \"body\"). This may\n * occur style conflicts like \"display: flex\", with other children\n * elements therefore give the shadow host an absolute position.\n */\n position: absolute;\n\n --color-font: #757575;\n --color-backdrop: rgba(250, 250, 250, 0.8);\n --color-border-shadow: rgba(0, 0, 0, 0.145);\n\n --color-title-color: #1f1f1f;\n --color-stack-notes: #777;\n\n --color-accents-1: #808080;\n --color-accents-2: #222222;\n --color-accents-3: #404040;\n\n --font-stack-monospace: '__nextjs-Geist Mono', 'Geist Mono',\n 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier,\n monospace;\n --font-stack-sans: '__nextjs-Geist', 'Geist', -apple-system,\n 'Source Sans Pro', sans-serif;\n\n font-family: var(--font-stack-sans);\n\n /* TODO: Remove replaced ones. */\n --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);\n --shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1),\n 0 1px 2px -1px rgb(0 0 0 / 0.1);\n --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1),\n 0 2px 4px -2px rgb(0 0 0 / 0.1);\n --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1),\n 0 4px 6px -4px rgb(0 0 0 / 0.1);\n --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1),\n 0 8px 10px -6px rgb(0 0 0 / 0.1);\n --shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / 0.25);\n --shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);\n --shadow-none: 0 0 #0000;\n\n --shadow-small: 0px 2px 2px rgba(0, 0, 0, 0.04);\n --shadow-menu: 0px 1px 1px rgba(0, 0, 0, 0.02),\n 0px 4px 8px -4px rgba(0, 0, 0, 0.04),\n 0px 16px 24px -8px rgba(0, 0, 0, 0.06);\n\n --focus-color: var(--color-blue-800);\n --focus-ring: 2px solid var(--focus-color);\n\n --timing-swift: cubic-bezier(0.23, 0.88, 0.26, 0.92);\n --timing-overlay: cubic-bezier(0.175, 0.885, 0.32, 1.1);\n\n --rounded-none: 0px;\n --rounded-sm: 2px;\n --rounded-md: 4px;\n --rounded-md-2: 6px;\n --rounded-lg: 8px;\n --rounded-xl: 12px;\n --rounded-2xl: 16px;\n --rounded-3xl: 24px;\n --rounded-4xl: 32px;\n --rounded-full: 9999px;\n\n /* \n These used to be in rem units but we have realised\n that using rem to style the Dev Overlays is not a\n good idea because if the user sets their root font size\n to something tiny, they will not have a great time using\n the Overlays because they will appear unexpectedly tiny.\n\n In the future, we want to use these variables to offer\n a custom preference in the dropdown menu to alter the size\n of the Overlays.\n\n Ref: https://github.com/vercel/next.js/discussions/76812\n */\n --size-1: 1px;\n --size-2: 2px;\n --size-3: 3px;\n --size-4: 4px;\n --size-5: 5px;\n --size-6: 6px;\n --size-7: 7px;\n --size-8: 8px;\n --size-9: 9px;\n --size-10: 10px;\n --size-11: 11px;\n --size-12: 12px;\n --size-13: 13px;\n --size-14: 14px;\n --size-15: 15px;\n --size-16: 16px;\n --size-17: 17px;\n --size-18: 18px;\n --size-20: 20px;\n --size-22: 22px;\n --size-24: 24px;\n --size-26: 26px;\n --size-28: 28px;\n --size-30: 30px;\n --size-32: 32px;\n --size-34: 34px;\n --size-36: 36px;\n --size-38: 38px;\n --size-40: 40px;\n --size-42: 42px;\n --size-44: 44px;\n --size-46: 46px;\n --size-48: 48px;\n\n @media print {\n display: none;\n }\n }\n\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n margin-bottom: 8px;\n font-weight: 500;\n line-height: 1.5;\n }\n\n a {\n color: var(--color-blue-900);\n &:hover {\n color: var(--color-blue-900);\n }\n &:focus {\n outline: var(--focus-ring);\n }\n }\n `}\n </style>\n )\n}\n"],"names":["Base","style","css"],"mappings":";;;;+BAEgBA;;;eAAAA;;;;;qBAFI;;;;;;;;;;AAEb,SAASA;IACd,qBACE,qBAACC;sBACEC,QAAG;;AA6IV"}
@@ -61,7 +61,7 @@ const _hooksclientcontextsharedruntime = require("../shared/lib/hooks-client-con
61
61
  const _onrecoverableerror = require("./react-client-callbacks/on-recoverable-error");
62
62
  const _tracer = /*#__PURE__*/ _interop_require_default._(require("./tracing/tracer"));
63
63
  const _isnextroutererror = require("./components/is-next-router-error");
64
- const version = "15.2.2-canary.5";
64
+ const version = "15.2.2-canary.7";
65
65
  let router;
66
66
  const emitter = (0, _mitt.default)();
67
67
  const looseToArray = (input)=>[].slice.call(input);