next 15.2.0-canary.65 → 15.2.0-canary.66

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 (334) hide show
  1. package/dist/bin/next +5 -1
  2. package/dist/bin/next.map +1 -1
  3. package/dist/build/entries.d.ts +1 -0
  4. package/dist/build/entries.js +12 -1
  5. package/dist/build/entries.js.map +1 -1
  6. package/dist/build/index.js +3 -3
  7. package/dist/build/index.js.map +1 -1
  8. package/dist/build/swc/index.js +1 -1
  9. package/dist/build/webpack/config/blocks/base.js +3 -1
  10. package/dist/build/webpack/config/blocks/base.js.map +1 -1
  11. package/dist/build/webpack/config/blocks/css/index.js +3 -1
  12. package/dist/build/webpack/config/blocks/css/index.js.map +1 -1
  13. package/dist/build/webpack/config/blocks/css/loaders/client.js +3 -1
  14. package/dist/build/webpack/config/blocks/css/loaders/client.js.map +1 -1
  15. package/dist/build/webpack/loaders/next-flight-client-entry-loader.js +4 -0
  16. package/dist/build/webpack/loaders/next-flight-client-entry-loader.js.map +1 -1
  17. package/dist/build/webpack/loaders/next-flight-client-module-loader.js +7 -1
  18. package/dist/build/webpack/loaders/next-flight-client-module-loader.js.map +1 -1
  19. package/dist/build/webpack/loaders/next-flight-loader/index.js +8 -2
  20. package/dist/build/webpack/loaders/next-flight-loader/index.js.map +1 -1
  21. package/dist/build/webpack/loaders/utils.js +1 -1
  22. package/dist/build/webpack/loaders/utils.js.map +1 -1
  23. package/dist/build/webpack/plugins/build-manifest-plugin.d.ts +1 -1
  24. package/dist/build/webpack/plugins/build-manifest-plugin.js +13 -4
  25. package/dist/build/webpack/plugins/build-manifest-plugin.js.map +1 -1
  26. package/dist/build/webpack/plugins/flight-client-entry-plugin.d.ts +1 -1
  27. package/dist/build/webpack/plugins/flight-client-entry-plugin.js +28 -18
  28. package/dist/build/webpack/plugins/flight-client-entry-plugin.js.map +1 -1
  29. package/dist/build/webpack/plugins/flight-manifest-plugin.js +3 -3
  30. package/dist/build/webpack/plugins/flight-manifest-plugin.js.map +1 -1
  31. package/dist/build/webpack/plugins/middleware-plugin.js +6 -3
  32. package/dist/build/webpack/plugins/middleware-plugin.js.map +1 -1
  33. package/dist/build/webpack/plugins/next-trace-entrypoints-plugin.js +11 -1
  34. package/dist/build/webpack/plugins/next-trace-entrypoints-plugin.js.map +1 -1
  35. package/dist/build/webpack/plugins/nextjs-require-cache-hot-reloader.js +1 -1
  36. package/dist/build/webpack/plugins/nextjs-require-cache-hot-reloader.js.map +1 -1
  37. package/dist/build/webpack/plugins/rspack-flight-client-entry-plugin.d.ts +36 -0
  38. package/dist/build/webpack/plugins/rspack-flight-client-entry-plugin.js +97 -0
  39. package/dist/build/webpack/plugins/rspack-flight-client-entry-plugin.js.map +1 -0
  40. package/dist/build/webpack/plugins/rspack-profiling-plugin.d.ts +9 -0
  41. package/dist/build/webpack/plugins/rspack-profiling-plugin.js +62 -0
  42. package/dist/build/webpack/plugins/rspack-profiling-plugin.js.map +1 -0
  43. package/dist/build/webpack/plugins/wellknown-errors-plugin/parseNextAppLoaderError.js +2 -1
  44. package/dist/build/webpack/plugins/wellknown-errors-plugin/parseNextAppLoaderError.js.map +1 -1
  45. package/dist/build/webpack/utils.js +6 -2
  46. package/dist/build/webpack/utils.js.map +1 -1
  47. package/dist/build/webpack-config.js +37 -5
  48. package/dist/build/webpack-config.js.map +1 -1
  49. package/dist/client/app-bootstrap.js +1 -1
  50. package/dist/client/app-dir/link.js +2 -0
  51. package/dist/client/app-dir/link.js.map +1 -1
  52. package/dist/client/components/react-dev-overlay/_experimental/app/react-dev-overlay.js +34 -26
  53. package/dist/client/components/react-dev-overlay/_experimental/app/react-dev-overlay.js.map +1 -1
  54. package/dist/client/components/react-dev-overlay/_experimental/app/react-dev-overlay.stories.js +1 -0
  55. package/dist/client/components/react-dev-overlay/_experimental/app/react-dev-overlay.stories.js.map +1 -1
  56. package/dist/client/components/react-dev-overlay/_experimental/font/font-styles.d.ts +1 -0
  57. package/dist/client/components/react-dev-overlay/_experimental/font/font-styles.js +41 -0
  58. package/dist/client/components/react-dev-overlay/_experimental/font/font-styles.js.map +1 -0
  59. package/dist/client/components/react-dev-overlay/_experimental/font/geist-latin-ext.woff2 +0 -0
  60. package/dist/client/components/react-dev-overlay/_experimental/font/geist-latin.woff2 +0 -0
  61. package/dist/client/components/react-dev-overlay/_experimental/font/geist-mono-latin-ext.woff2 +0 -0
  62. package/dist/client/components/react-dev-overlay/_experimental/font/geist-mono-latin.woff2 +0 -0
  63. package/dist/client/components/react-dev-overlay/_experimental/font/get-dev-overlay-font-middleware.d.ts +2 -0
  64. package/dist/client/components/react-dev-overlay/_experimental/font/get-dev-overlay-font-middleware.js +72 -0
  65. package/dist/client/components/react-dev-overlay/_experimental/font/get-dev-overlay-font-middleware.js.map +1 -0
  66. package/dist/client/components/react-dev-overlay/_experimental/internal/components/code-frame/code-frame.js +16 -8
  67. package/dist/client/components/react-dev-overlay/_experimental/internal/components/code-frame/code-frame.js.map +1 -1
  68. package/dist/client/components/react-dev-overlay/_experimental/internal/components/copy-button/index.js +3 -3
  69. package/dist/client/components/react-dev-overlay/_experimental/internal/components/copy-button/index.js.map +1 -1
  70. package/dist/client/components/react-dev-overlay/_experimental/internal/components/dialog/dialog.js +2 -1
  71. package/dist/client/components/react-dev-overlay/_experimental/internal/components/dialog/dialog.js.map +1 -1
  72. package/dist/client/components/react-dev-overlay/_experimental/internal/components/dialog/styles.js +1 -1
  73. package/dist/client/components/react-dev-overlay/_experimental/internal/components/dialog/styles.js.map +1 -1
  74. package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/dev-tools-indicator.d.ts +2 -1
  75. package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/dev-tools-indicator.js +82 -31
  76. package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/dev-tools-indicator.js.map +1 -1
  77. package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/dev-tools-indicator.stories.d.ts +2 -2
  78. package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/dev-tools-indicator.stories.js +20 -21
  79. package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/dev-tools-indicator.stories.js.map +1 -1
  80. package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/dev-tools-info/dev-tools-info.d.ts +8 -0
  81. package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/dev-tools-info/dev-tools-info.js +80 -0
  82. package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/dev-tools-info/dev-tools-info.js.map +1 -0
  83. package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/dev-tools-info/route-info.d.ts +9 -0
  84. package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/dev-tools-info/route-info.js +158 -0
  85. package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/dev-tools-info/route-info.js.map +1 -0
  86. package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/dev-tools-info/turbopack-info.d.ts +8 -0
  87. package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/dev-tools-info/turbopack-info.js +212 -0
  88. package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/dev-tools-info/turbopack-info.js.map +1 -0
  89. package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/internal/next-logo.d.ts +1 -0
  90. package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/internal/next-logo.js +28 -6
  91. package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/internal/next-logo.js.map +1 -1
  92. package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/error-message/error-message.js +1 -1
  93. package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/error-message/error-message.js.map +1 -1
  94. package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/error-overlay/error-overlay.d.ts +2 -2
  95. package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/error-overlay/error-overlay.js +3 -3
  96. package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/error-overlay/error-overlay.js.map +1 -1
  97. package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/error-overlay-layout/error-overlay-layout.d.ts +2 -2
  98. package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/error-overlay-layout/error-overlay-layout.js +4 -4
  99. package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/error-overlay-layout/error-overlay-layout.js.map +1 -1
  100. package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/error-overlay-nav/error-overlay-nav.d.ts +2 -2
  101. package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/error-overlay-nav/error-overlay-nav.js +2 -2
  102. package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/error-overlay-nav/error-overlay-nav.js.map +1 -1
  103. package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/error-overlay-nav/error-overlay-nav.stories.js +1 -1
  104. package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/error-overlay-nav/error-overlay-nav.stories.js.map +1 -1
  105. package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/error-overlay-pagination/error-overlay-pagination.d.ts +2 -2
  106. package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/error-overlay-pagination/error-overlay-pagination.js +9 -9
  107. package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/error-overlay-pagination/error-overlay-pagination.js.map +1 -1
  108. package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/error-overlay-pagination/error-overlay-pagination.stories.js +4 -4
  109. package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/error-overlay-pagination/error-overlay-pagination.stories.js.map +1 -1
  110. package/dist/client/components/react-dev-overlay/_experimental/internal/components/terminal/terminal.js +15 -10
  111. package/dist/client/components/react-dev-overlay/_experimental/internal/components/terminal/terminal.js.map +1 -1
  112. package/dist/client/components/react-dev-overlay/_experimental/internal/components/toast/toast.js +3 -1
  113. package/dist/client/components/react-dev-overlay/_experimental/internal/components/toast/toast.js.map +1 -1
  114. package/dist/client/components/react-dev-overlay/_experimental/internal/container/errors.d.ts +2 -2
  115. package/dist/client/components/react-dev-overlay/_experimental/internal/container/errors.js +7 -7
  116. package/dist/client/components/react-dev-overlay/_experimental/internal/container/errors.js.map +1 -1
  117. package/dist/client/components/react-dev-overlay/_experimental/internal/container/errors.stories.js +5 -5
  118. package/dist/client/components/react-dev-overlay/_experimental/internal/container/errors.stories.js.map +1 -1
  119. package/dist/client/components/react-dev-overlay/_experimental/internal/container/runtime-error/component-stack-pseudo-html.js +1 -1
  120. package/dist/client/components/react-dev-overlay/_experimental/internal/container/runtime-error/component-stack-pseudo-html.js.map +1 -1
  121. package/dist/client/components/react-dev-overlay/_experimental/internal/container/runtime-error/render-error.d.ts +1 -1
  122. package/dist/client/components/react-dev-overlay/_experimental/internal/container/runtime-error/render-error.js +4 -12
  123. package/dist/client/components/react-dev-overlay/_experimental/internal/container/runtime-error/render-error.js.map +1 -1
  124. package/dist/client/components/react-dev-overlay/_experimental/internal/icons/collapse-icon.js +3 -1
  125. package/dist/client/components/react-dev-overlay/_experimental/internal/icons/collapse-icon.js.map +1 -1
  126. package/dist/client/components/react-dev-overlay/_experimental/internal/icons/stop-icon.d.ts +1 -0
  127. package/dist/client/components/react-dev-overlay/_experimental/internal/icons/stop-icon.js +34 -0
  128. package/dist/client/components/react-dev-overlay/_experimental/internal/icons/stop-icon.js.map +1 -0
  129. package/dist/client/components/react-dev-overlay/_experimental/internal/styles/base.js +2 -2
  130. package/dist/client/components/react-dev-overlay/_experimental/internal/styles/base.js.map +1 -1
  131. package/dist/client/components/react-dev-overlay/_experimental/internal/styles/component-styles.js +7 -1
  132. package/dist/client/components/react-dev-overlay/_experimental/internal/styles/component-styles.js.map +1 -1
  133. package/dist/client/components/react-dev-overlay/_experimental/pages/react-dev-overlay.js +6 -2
  134. package/dist/client/components/react-dev-overlay/_experimental/pages/react-dev-overlay.js.map +1 -1
  135. package/dist/client/components/react-dev-overlay/hydration-diff/diff-view.js +2 -2
  136. package/dist/client/components/react-dev-overlay/hydration-diff/diff-view.js.map +1 -1
  137. package/dist/client/components/react-dev-overlay/server/get-next-error-feedback-middleware.js +4 -4
  138. package/dist/client/components/react-dev-overlay/server/get-next-error-feedback-middleware.js.map +1 -1
  139. package/dist/client/components/react-dev-overlay/server/middleware-response.d.ts +9 -0
  140. package/dist/client/components/react-dev-overlay/server/middleware-response.js +46 -0
  141. package/dist/client/components/react-dev-overlay/server/middleware-response.js.map +1 -0
  142. package/dist/client/components/react-dev-overlay/server/middleware-turbopack.js +13 -12
  143. package/dist/client/components/react-dev-overlay/server/middleware-turbopack.js.map +1 -1
  144. package/dist/client/components/react-dev-overlay/server/middleware-webpack.js +12 -11
  145. package/dist/client/components/react-dev-overlay/server/middleware-webpack.js.map +1 -1
  146. package/dist/client/components/react-dev-overlay/server/shared.d.ts +0 -7
  147. package/dist/client/components/react-dev-overlay/server/shared.js +1 -51
  148. package/dist/client/components/react-dev-overlay/server/shared.js.map +1 -1
  149. package/dist/client/components/react-dev-overlay/shared.d.ts +1 -0
  150. package/dist/client/components/react-dev-overlay/shared.js +2 -0
  151. package/dist/client/components/react-dev-overlay/shared.js.map +1 -1
  152. package/dist/client/index.js +2 -3
  153. package/dist/client/index.js.map +1 -1
  154. package/dist/client/link.js.map +1 -1
  155. package/dist/compiled/@next/font/dist/google/fetch-css-from-google-fonts.js +8 -44
  156. package/dist/compiled/@next/font/dist/google/fetch-font-file.d.ts +2 -1
  157. package/dist/compiled/@next/font/dist/google/fetch-font-file.js +6 -20
  158. package/dist/compiled/@next/font/dist/google/fetch-resource.d.ts +6 -0
  159. package/dist/compiled/@next/font/dist/google/fetch-resource.js +46 -0
  160. package/dist/compiled/next-server/app-page-experimental.runtime.dev.js +3 -3
  161. package/dist/compiled/next-server/app-page-experimental.runtime.dev.js.map +1 -1
  162. package/dist/compiled/next-server/app-page.runtime.dev.js +3 -3
  163. package/dist/compiled/next-server/app-page.runtime.dev.js.map +1 -1
  164. package/dist/compiled/next-server/server.runtime.prod.js +2 -2
  165. package/dist/compiled/next-server/server.runtime.prod.js.map +1 -1
  166. package/dist/compiled/node-fetch/index.js +1 -1
  167. package/dist/compiled/sass-loader/cjs.js +1 -1
  168. package/dist/compiled/webpack/webpack.js +23 -1
  169. package/dist/esm/build/entries.js +9 -2
  170. package/dist/esm/build/entries.js.map +1 -1
  171. package/dist/esm/build/index.js +3 -3
  172. package/dist/esm/build/index.js.map +1 -1
  173. package/dist/esm/build/swc/index.js +1 -1
  174. package/dist/esm/build/webpack/config/blocks/base.js +3 -1
  175. package/dist/esm/build/webpack/config/blocks/base.js.map +1 -1
  176. package/dist/esm/build/webpack/config/blocks/css/index.js +3 -1
  177. package/dist/esm/build/webpack/config/blocks/css/index.js.map +1 -1
  178. package/dist/esm/build/webpack/config/blocks/css/loaders/client.js +3 -1
  179. package/dist/esm/build/webpack/config/blocks/css/loaders/client.js.map +1 -1
  180. package/dist/esm/build/webpack/loaders/next-flight-client-entry-loader.js +4 -0
  181. package/dist/esm/build/webpack/loaders/next-flight-client-entry-loader.js.map +1 -1
  182. package/dist/esm/build/webpack/loaders/next-flight-client-module-loader.js +7 -1
  183. package/dist/esm/build/webpack/loaders/next-flight-client-module-loader.js.map +1 -1
  184. package/dist/esm/build/webpack/loaders/next-flight-loader/index.js +8 -2
  185. package/dist/esm/build/webpack/loaders/next-flight-loader/index.js.map +1 -1
  186. package/dist/esm/build/webpack/loaders/utils.js +1 -1
  187. package/dist/esm/build/webpack/loaders/utils.js.map +1 -1
  188. package/dist/esm/build/webpack/plugins/build-manifest-plugin.js +14 -5
  189. package/dist/esm/build/webpack/plugins/build-manifest-plugin.js.map +1 -1
  190. package/dist/esm/build/webpack/plugins/flight-client-entry-plugin.js +28 -18
  191. package/dist/esm/build/webpack/plugins/flight-client-entry-plugin.js.map +1 -1
  192. package/dist/esm/build/webpack/plugins/flight-manifest-plugin.js +3 -3
  193. package/dist/esm/build/webpack/plugins/flight-manifest-plugin.js.map +1 -1
  194. package/dist/esm/build/webpack/plugins/middleware-plugin.js +6 -3
  195. package/dist/esm/build/webpack/plugins/middleware-plugin.js.map +1 -1
  196. package/dist/esm/build/webpack/plugins/next-trace-entrypoints-plugin.js +11 -1
  197. package/dist/esm/build/webpack/plugins/next-trace-entrypoints-plugin.js.map +1 -1
  198. package/dist/esm/build/webpack/plugins/nextjs-require-cache-hot-reloader.js +1 -1
  199. package/dist/esm/build/webpack/plugins/nextjs-require-cache-hot-reloader.js.map +1 -1
  200. package/dist/esm/build/webpack/plugins/rspack-flight-client-entry-plugin.js +87 -0
  201. package/dist/esm/build/webpack/plugins/rspack-flight-client-entry-plugin.js.map +1 -0
  202. package/dist/esm/build/webpack/plugins/rspack-profiling-plugin.js +40 -0
  203. package/dist/esm/build/webpack/plugins/rspack-profiling-plugin.js.map +1 -0
  204. package/dist/esm/build/webpack/plugins/wellknown-errors-plugin/parseNextAppLoaderError.js +2 -1
  205. package/dist/esm/build/webpack/plugins/wellknown-errors-plugin/parseNextAppLoaderError.js.map +1 -1
  206. package/dist/esm/build/webpack/utils.js +6 -2
  207. package/dist/esm/build/webpack/utils.js.map +1 -1
  208. package/dist/esm/build/webpack-config.js +37 -5
  209. package/dist/esm/build/webpack-config.js.map +1 -1
  210. package/dist/esm/client/app-bootstrap.js +1 -1
  211. package/dist/esm/client/app-dir/link.js +2 -0
  212. package/dist/esm/client/app-dir/link.js.map +1 -1
  213. package/dist/esm/client/components/react-dev-overlay/_experimental/app/react-dev-overlay.js +34 -26
  214. package/dist/esm/client/components/react-dev-overlay/_experimental/app/react-dev-overlay.js.map +1 -1
  215. package/dist/esm/client/components/react-dev-overlay/_experimental/app/react-dev-overlay.stories.js +1 -0
  216. package/dist/esm/client/components/react-dev-overlay/_experimental/app/react-dev-overlay.stories.js.map +1 -1
  217. package/dist/esm/client/components/react-dev-overlay/_experimental/font/font-styles.js +25 -0
  218. package/dist/esm/client/components/react-dev-overlay/_experimental/font/font-styles.js.map +1 -0
  219. package/dist/esm/client/components/react-dev-overlay/_experimental/font/geist-latin-ext.woff2 +0 -0
  220. package/dist/esm/client/components/react-dev-overlay/_experimental/font/geist-latin.woff2 +0 -0
  221. package/dist/esm/client/components/react-dev-overlay/_experimental/font/geist-mono-latin-ext.woff2 +0 -0
  222. package/dist/esm/client/components/react-dev-overlay/_experimental/font/geist-mono-latin.woff2 +0 -0
  223. package/dist/esm/client/components/react-dev-overlay/_experimental/font/get-dev-overlay-font-middleware.js +54 -0
  224. package/dist/esm/client/components/react-dev-overlay/_experimental/font/get-dev-overlay-font-middleware.js.map +1 -0
  225. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/code-frame/code-frame.js +16 -8
  226. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/code-frame/code-frame.js.map +1 -1
  227. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/copy-button/index.js +3 -3
  228. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/copy-button/index.js.map +1 -1
  229. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/dialog/dialog.js +2 -1
  230. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/dialog/dialog.js.map +1 -1
  231. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/dialog/styles.js +1 -1
  232. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/dialog/styles.js.map +1 -1
  233. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/dev-tools-indicator.js +83 -31
  234. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/dev-tools-indicator.js.map +1 -1
  235. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/dev-tools-indicator.stories.js +13 -14
  236. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/dev-tools-indicator.stories.js.map +1 -1
  237. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/dev-tools-info/dev-tools-info.js +52 -0
  238. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/dev-tools-info/dev-tools-info.js.map +1 -0
  239. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/dev-tools-info/route-info.js +130 -0
  240. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/dev-tools-info/route-info.js.map +1 -0
  241. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/dev-tools-info/turbopack-info.js +184 -0
  242. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/dev-tools-info/turbopack-info.js.map +1 -0
  243. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/internal/next-logo.js +28 -6
  244. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/internal/next-logo.js.map +1 -1
  245. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/errors/error-message/error-message.js +1 -1
  246. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/errors/error-message/error-message.js.map +1 -1
  247. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/errors/error-overlay/error-overlay.js +3 -3
  248. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/errors/error-overlay/error-overlay.js.map +1 -1
  249. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/errors/error-overlay-layout/error-overlay-layout.js +4 -4
  250. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/errors/error-overlay-layout/error-overlay-layout.js.map +1 -1
  251. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/errors/error-overlay-nav/error-overlay-nav.js +2 -2
  252. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/errors/error-overlay-nav/error-overlay-nav.js.map +1 -1
  253. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/errors/error-overlay-nav/error-overlay-nav.stories.js +1 -1
  254. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/errors/error-overlay-nav/error-overlay-nav.stories.js.map +1 -1
  255. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/errors/error-overlay-pagination/error-overlay-pagination.js +9 -9
  256. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/errors/error-overlay-pagination/error-overlay-pagination.js.map +1 -1
  257. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/errors/error-overlay-pagination/error-overlay-pagination.stories.js +4 -4
  258. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/errors/error-overlay-pagination/error-overlay-pagination.stories.js.map +1 -1
  259. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/terminal/terminal.js +15 -10
  260. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/terminal/terminal.js.map +1 -1
  261. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/toast/toast.js +3 -1
  262. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/toast/toast.js.map +1 -1
  263. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/container/errors.js +7 -7
  264. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/container/errors.js.map +1 -1
  265. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/container/errors.stories.js +5 -5
  266. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/container/errors.stories.js.map +1 -1
  267. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/container/runtime-error/component-stack-pseudo-html.js +1 -1
  268. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/container/runtime-error/component-stack-pseudo-html.js.map +1 -1
  269. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/container/runtime-error/render-error.js +4 -12
  270. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/container/runtime-error/render-error.js.map +1 -1
  271. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/icons/collapse-icon.js +3 -1
  272. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/icons/collapse-icon.js.map +1 -1
  273. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/icons/stop-icon.js +18 -0
  274. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/icons/stop-icon.js.map +1 -0
  275. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/styles/base.js +2 -2
  276. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/styles/base.js.map +1 -1
  277. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/styles/component-styles.js +7 -1
  278. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/styles/component-styles.js.map +1 -1
  279. package/dist/esm/client/components/react-dev-overlay/_experimental/pages/react-dev-overlay.js +6 -2
  280. package/dist/esm/client/components/react-dev-overlay/_experimental/pages/react-dev-overlay.js.map +1 -1
  281. package/dist/esm/client/components/react-dev-overlay/hydration-diff/diff-view.js +1 -1
  282. package/dist/esm/client/components/react-dev-overlay/hydration-diff/diff-view.js.map +1 -1
  283. package/dist/esm/client/components/react-dev-overlay/server/get-next-error-feedback-middleware.js +4 -4
  284. package/dist/esm/client/components/react-dev-overlay/server/get-next-error-feedback-middleware.js.map +1 -1
  285. package/dist/esm/client/components/react-dev-overlay/server/middleware-response.js +30 -0
  286. package/dist/esm/client/components/react-dev-overlay/server/middleware-response.js.map +1 -0
  287. package/dist/esm/client/components/react-dev-overlay/server/middleware-turbopack.js +14 -13
  288. package/dist/esm/client/components/react-dev-overlay/server/middleware-turbopack.js.map +1 -1
  289. package/dist/esm/client/components/react-dev-overlay/server/middleware-webpack.js +13 -12
  290. package/dist/esm/client/components/react-dev-overlay/server/middleware-webpack.js.map +1 -1
  291. package/dist/esm/client/components/react-dev-overlay/server/shared.js +0 -26
  292. package/dist/esm/client/components/react-dev-overlay/server/shared.js.map +1 -1
  293. package/dist/esm/client/components/react-dev-overlay/shared.js +2 -0
  294. package/dist/esm/client/components/react-dev-overlay/shared.js.map +1 -1
  295. package/dist/esm/client/index.js +2 -3
  296. package/dist/esm/client/index.js.map +1 -1
  297. package/dist/esm/client/link.js.map +1 -1
  298. package/dist/esm/server/base-server.js +15 -15
  299. package/dist/esm/server/base-server.js.map +1 -1
  300. package/dist/esm/server/config-shared.js.map +1 -1
  301. package/dist/esm/server/config.js +1 -1
  302. package/dist/esm/server/dev/hot-reloader-turbopack.js +4 -2
  303. package/dist/esm/server/dev/hot-reloader-turbopack.js.map +1 -1
  304. package/dist/esm/server/dev/hot-reloader-webpack.js +4 -2
  305. package/dist/esm/server/dev/hot-reloader-webpack.js.map +1 -1
  306. package/dist/esm/server/lib/app-info-log.js +1 -1
  307. package/dist/esm/server/lib/start-server.js +1 -1
  308. package/dist/esm/shared/lib/get-rspack.js +32 -0
  309. package/dist/esm/shared/lib/get-rspack.js.map +1 -0
  310. package/dist/server/base-server.js +15 -15
  311. package/dist/server/base-server.js.map +1 -1
  312. package/dist/server/config-shared.d.ts +3 -3
  313. package/dist/server/config-shared.js.map +1 -1
  314. package/dist/server/config.js +1 -1
  315. package/dist/server/dev/hot-reloader-turbopack.js +4 -2
  316. package/dist/server/dev/hot-reloader-turbopack.js.map +1 -1
  317. package/dist/server/dev/hot-reloader-webpack.js +4 -2
  318. package/dist/server/dev/hot-reloader-webpack.js.map +1 -1
  319. package/dist/server/lib/app-info-log.js +1 -1
  320. package/dist/server/lib/start-server.js +1 -1
  321. package/dist/shared/lib/get-rspack.d.ts +2 -0
  322. package/dist/shared/lib/get-rspack.js +54 -0
  323. package/dist/shared/lib/get-rspack.js.map +1 -0
  324. package/dist/telemetry/anonymous-meta.js +1 -1
  325. package/dist/telemetry/events/session-stopped.js +2 -2
  326. package/dist/telemetry/events/version.js +2 -2
  327. package/dist/trace/trace-uploader.js +1 -2
  328. package/dist/trace/trace-uploader.js.map +1 -1
  329. package/package.json +15 -15
  330. package/dist/client/components/react-dev-overlay/internal/icons/CollapseIcon.d.ts +0 -3
  331. package/dist/client/components/react-dev-overlay/internal/icons/CollapseIcon.js +0 -43
  332. package/dist/client/components/react-dev-overlay/internal/icons/CollapseIcon.js.map +0 -1
  333. package/dist/esm/client/components/react-dev-overlay/internal/icons/CollapseIcon.js +0 -27
  334. package/dist/esm/client/components/react-dev-overlay/internal/icons/CollapseIcon.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../../../src/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/dev-tools-indicator.tsx"],"sourcesContent":["import type { Dispatch, SetStateAction } from 'react'\nimport type { OverlayState } from '../../../../../shared'\n\nimport { useState, useEffect, useRef, createContext, useContext } from 'react'\nimport { Toast } from '../../toast'\nimport { Cross, NextLogo } from './internal/next-logo'\nimport { useIsDevBuilding } from '../../../../../../../dev/dev-build-indicator/internal/initialize-for-new-overlay'\nimport { useIsDevRendering } from './internal/dev-render-indicator'\nimport { useDelayedRender } from '../../../hooks/use-delayed-render'\nimport { noop as css } from '../../../helpers/noop-template'\n\n// TODO: add E2E tests to cover different scenarios\n\nconst INDICATOR_POSITION =\n (process.env\n .__NEXT_DEV_INDICATOR_POSITION as typeof window.__NEXT_DEV_INDICATOR_POSITION) ||\n 'bottom-left'\n\ntype DevToolsIndicatorPosition = typeof INDICATOR_POSITION\n\nexport function DevToolsIndicator({\n state,\n errorCount,\n setIsErrorOverlayOpen,\n position = INDICATOR_POSITION,\n}: {\n state: OverlayState\n errorCount: number\n setIsErrorOverlayOpen: Dispatch<SetStateAction<boolean>>\n // Technically this prop isn't needed, but useful for testing.\n position?: DevToolsIndicatorPosition\n}) {\n const [isDevToolsIndicatorOpen, setIsDevToolsIndicatorOpen] = useState(true)\n\n return (\n isDevToolsIndicatorOpen && (\n <DevToolsPopover\n semver={state.versionInfo.installed}\n issueCount={errorCount}\n isStaticRoute={state.staticIndicator}\n hide={() => {\n setIsDevToolsIndicatorOpen(false)\n }}\n setIsErrorOverlayOpen={setIsErrorOverlayOpen}\n isTurbopack={!!process.env.TURBOPACK}\n position={position}\n />\n )\n )\n}\n\n//////////////////////////////////////////////////////////////////////////////////////\n\nconst ANIMATE_OUT_DURATION_MS = 200\nconst ANIMATE_OUT_TIMING_FUNCTION = 'cubic-bezier(0.175, 0.885, 0.32, 1.1)'\n\ninterface C {\n closeMenu: () => void\n selectedIndex: number\n setSelectedIndex: Dispatch<SetStateAction<number>>\n}\n\nconst Context = createContext({} as C)\n\nfunction DevToolsPopover({\n issueCount,\n isStaticRoute,\n isTurbopack,\n position,\n hide,\n setIsErrorOverlayOpen,\n}: {\n issueCount: number\n isStaticRoute: boolean\n semver: string | undefined\n isTurbopack: boolean\n position: DevToolsIndicatorPosition\n hide: () => void\n setIsErrorOverlayOpen: Dispatch<SetStateAction<boolean>>\n}) {\n const menuRef = useRef<HTMLDivElement>(null)\n const triggerRef = useRef<HTMLButtonElement | null>(null)\n const [isMenuOpen, setIsMenuOpen] = useState(false)\n const [selectedIndex, setSelectedIndex] = useState(-1)\n\n // This hook lets us do an exit animation before unmounting the component\n const { mounted, rendered } = useDelayedRender(isMenuOpen, {\n // Intentionally no fade in, makes the UI feel more immediate\n enterDelay: 0,\n // Graceful fade out to confirm that the UI did not break\n exitDelay: ANIMATE_OUT_DURATION_MS,\n })\n\n // Features to make the menu accessible\n useFocusTrap(menuRef, triggerRef, isMenuOpen)\n useClickOutside(menuRef, triggerRef, isMenuOpen, closeMenu)\n\n function select(index: number | 'first' | 'last') {\n if (index === 'first') {\n const all = menuRef.current?.querySelectorAll('[role=\"menuitem\"]')\n if (all) {\n const firstIndex = all[0].getAttribute('data-index')\n select(Number(firstIndex))\n }\n return\n }\n\n if (index === 'last') {\n const all = menuRef.current?.querySelectorAll('[role=\"menuitem\"]')\n if (all) {\n const lastIndex = all.length - 1\n select(lastIndex)\n }\n return\n }\n\n const el = menuRef.current?.querySelector(\n `[data-index=\"${index}\"]`\n ) as HTMLElement\n if (el) {\n setSelectedIndex(index)\n el?.focus()\n }\n }\n\n function onMenuKeydown(e: React.KeyboardEvent<HTMLDivElement>) {\n e.preventDefault()\n\n switch (e.key) {\n case 'ArrowDown':\n const next = selectedIndex + 1\n select(next)\n break\n case 'ArrowUp':\n const prev = selectedIndex - 1\n select(prev)\n break\n case 'Home':\n select('first')\n break\n case 'End':\n select('last')\n break\n default:\n break\n }\n }\n\n function onTriggerKeydown(e: React.KeyboardEvent<HTMLButtonElement>) {\n if (isMenuOpen) {\n return\n }\n\n // Open with first item focused\n if (e.key === 'ArrowDown' || e.key === 'Enter' || e.key === ' ') {\n setIsMenuOpen(true)\n // Run on next tick because querying DOM after state change\n setTimeout(() => {\n select('first')\n })\n }\n\n // Open with last item focused\n if (e.key === 'ArrowUp') {\n setIsMenuOpen(true)\n // Run on next tick because querying DOM after state change\n setTimeout(() => {\n select('last')\n })\n }\n }\n\n function openErrorOverlay() {\n if (issueCount > 0) {\n setIsErrorOverlayOpen(true)\n }\n }\n\n function onTriggerClick() {\n setIsMenuOpen((prev) => !prev)\n }\n\n function closeMenu() {\n setIsMenuOpen(false)\n // Avoid flashing selected state\n setTimeout(() => {\n setSelectedIndex(-1)\n }, ANIMATE_OUT_DURATION_MS)\n }\n\n const [vertical, horizontal] = position.split('-', 2)\n\n return (\n <Toast\n data-nextjs-toast\n style={{\n boxShadow: 'none',\n zIndex: 2147483647,\n // Reset the toast component's default positions.\n bottom: 'initial',\n left: 'initial',\n [vertical]: 'var(--size-2_5)',\n [horizontal]: 'var(--size-5)',\n }}\n >\n <NextLogo\n ref={triggerRef}\n aria-haspopup=\"menu\"\n aria-expanded={isMenuOpen}\n aria-controls=\"nextjs-dev-tools-menu\"\n aria-label={`${isMenuOpen ? 'Close' : 'Open'} Next.js Dev Tools`}\n data-nextjs-dev-tools-button\n issueCount={issueCount}\n onTriggerClick={onTriggerClick}\n onKeyDown={onTriggerKeydown}\n openErrorOverlay={openErrorOverlay}\n isDevBuilding={useIsDevBuilding()}\n isDevRendering={useIsDevRendering()}\n />\n\n {mounted && (\n <div\n ref={menuRef}\n id=\"nextjs-dev-tools-menu\"\n role=\"menu\"\n dir=\"ltr\"\n aria-orientation=\"vertical\"\n aria-label=\"Next.js Dev Tools Items\"\n tabIndex={-1}\n className=\"dev-tools-indicator-menu\"\n onKeyDown={onMenuKeydown}\n data-rendered={rendered}\n style={\n {\n '--animate-out-duration-ms': `${ANIMATE_OUT_DURATION_MS}ms`,\n '--animate-out-timing-function': ANIMATE_OUT_TIMING_FUNCTION,\n [vertical]: 'calc(100% + var(--size-gap))',\n [horizontal]: 0,\n } as React.CSSProperties\n }\n >\n <Context.Provider\n value={{\n closeMenu,\n selectedIndex,\n setSelectedIndex,\n }}\n >\n <div className=\"dev-tools-indicator-inner\">\n {issueCount > 0 && (\n <MenuItem\n index={0}\n label=\"Issues\"\n value={<IssueCount>{issueCount}</IssueCount>}\n onClick={openErrorOverlay}\n />\n )}\n <MenuItem\n label=\"Route\"\n value={isStaticRoute ? 'Static' : 'Dynamic'}\n data-nextjs-route-type={isStaticRoute ? 'static' : 'dynamic'}\n />\n {isTurbopack ? (\n <MenuItem label=\"Turbopack\" value=\"Enabled\" />\n ) : (\n <MenuItem\n index={1}\n label=\"Try Turbopack\"\n value={<ExternalIcon />}\n href=\"https://nextjs.org/docs/app/api-reference/turbopack\"\n />\n )}\n </div>\n\n <div className=\"dev-tools-indicator-footer\">\n <MenuItem\n data-hide-dev-tools\n label=\"Hide Dev Tools\"\n value={<Cross color=\"var(--color-gray-900)\" />}\n onClick={hide}\n index={isTurbopack ? 1 : 2}\n />\n </div>\n </Context.Provider>\n </div>\n )}\n </Toast>\n )\n}\n\nfunction MenuItem({\n index,\n label,\n value,\n onClick,\n href,\n ...props\n}: {\n index?: number\n label: string\n value: React.ReactNode\n href?: string\n onClick?: () => void\n}) {\n const isInteractive =\n typeof onClick === 'function' || typeof href === 'string'\n const { closeMenu, selectedIndex, setSelectedIndex } = useContext(Context)\n const selected = selectedIndex === index\n\n function click() {\n if (isInteractive) {\n onClick?.()\n closeMenu()\n if (href) {\n window.open(href, '_blank', 'noopener, noreferrer')\n }\n }\n }\n\n return (\n <div\n className=\"dev-tools-indicator-item\"\n data-index={index}\n data-selected={selected}\n onClick={click}\n // Needs `onMouseMove` instead of enter to work together\n // with keyboard and mouse input\n onMouseMove={() => {\n if (isInteractive && index !== undefined && selectedIndex !== index) {\n setSelectedIndex(index)\n }\n }}\n onMouseLeave={() => setSelectedIndex(-1)}\n onKeyDown={(e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n click()\n }\n }}\n role={isInteractive ? 'menuitem' : undefined}\n tabIndex={selected ? 0 : -1}\n {...props}\n >\n <span className=\"dev-tools-indicator-label\">{label}</span>\n <span className=\"dev-tools-indicator-value\">{value}</span>\n </div>\n )\n}\n\nfunction IssueCount({ children }: { children: number }) {\n return (\n <span\n className=\"dev-tools-indicator-issue-count\"\n data-has-issues={children > 0}\n >\n <span className=\"dev-tools-indicator-issue-count-indicator\" />\n {children}\n </span>\n )\n}\n\n//////////////////////////////////////////////////////////////////////////////////////\n\nfunction useFocusTrap(\n menuRef: React.RefObject<HTMLDivElement | null>,\n triggerRef: React.RefObject<HTMLButtonElement | null>,\n isMenuOpen: boolean\n) {\n useEffect(() => {\n if (isMenuOpen) {\n menuRef.current?.focus()\n } else {\n const root = triggerRef.current?.getRootNode()\n const activeElement =\n root instanceof ShadowRoot ? (root?.activeElement as HTMLElement) : null\n\n // Only restore focus if the focus was previously on the menu.\n // This avoids us accidentally focusing on mount when the\n // user could want to interact with their own app instead.\n if (menuRef.current?.contains(activeElement)) {\n triggerRef.current?.focus()\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isMenuOpen])\n}\n\n//////////////////////////////////////////////////////////////////////////////////////\n\nfunction useClickOutside(\n menuRef: React.RefObject<HTMLDivElement | null>,\n triggerRef: React.RefObject<HTMLButtonElement | null>,\n isMenuOpen: boolean,\n closeMenu: () => void\n) {\n useEffect(() => {\n if (!isMenuOpen) {\n return\n }\n\n // Close menu when clicking outside of it or its button\n const handleClickOutside = (event: MouseEvent) => {\n if (\n !(menuRef.current?.getBoundingClientRect()\n ? event.clientX >= menuRef.current.getBoundingClientRect()!.left &&\n event.clientX <= menuRef.current.getBoundingClientRect()!.right &&\n event.clientY >= menuRef.current.getBoundingClientRect()!.top &&\n event.clientY <= menuRef.current.getBoundingClientRect()!.bottom\n : false) &&\n !(triggerRef.current?.getBoundingClientRect()\n ? event.clientX >= triggerRef.current.getBoundingClientRect()!.left &&\n event.clientX <=\n triggerRef.current.getBoundingClientRect()!.right &&\n event.clientY >= triggerRef.current.getBoundingClientRect()!.top &&\n event.clientY <= triggerRef.current.getBoundingClientRect()!.bottom\n : false)\n ) {\n closeMenu()\n }\n }\n\n // Close popover when pressing escape\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n closeMenu()\n }\n }\n\n document.addEventListener('mousedown', handleClickOutside)\n document.addEventListener('keydown', handleKeyDown)\n\n return () => {\n document.removeEventListener('mousedown', handleClickOutside)\n document.removeEventListener('keydown', handleKeyDown)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isMenuOpen])\n}\n\n//////////////////////////////////////////////////////////////////////////////////////\n\nfunction ExternalIcon() {\n return (\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n role=\"img\"\n aria-label=\"External link\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M13.5 10.25V13.25C13.5 13.3881 13.3881 13.5 13.25 13.5H2.75C2.61193 13.5 2.5 13.3881 2.5 13.25L2.5 2.75C2.5 2.61193 2.61193 2.5 2.75 2.5H5.75H6.5V1H5.75H2.75C1.7835 1 1 1.7835 1 2.75V13.25C1 14.2165 1.7835 15 2.75 15H13.25C14.2165 15 15 14.2165 15 13.25V10.25V9.5H13.5V10.25ZM9 1H9.75H14.2495C14.6637 1 14.9995 1.33579 14.9995 1.75V6.25V7H13.4995V6.25V3.56066L8.53033 8.52978L8 9.06011L6.93934 7.99945L7.46967 7.46912L12.4388 2.5H9.75H9V1Z\"\n fill=\"currentColor\"\n />\n </svg>\n )\n}\n\nexport const DEV_TOOLS_INDICATOR_STYLES = css`\n .dev-tools-indicator-menu {\n -webkit-font-smoothing: antialiased;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n background: var(--color-background-100);\n border: 1px solid var(--color-gray-alpha-400);\n background-clip: padding-box;\n box-shadow: var(--shadow-menu);\n border-radius: var(--rounded-xl);\n position: absolute;\n font-family: var(--font-stack-sans);\n z-index: 1000;\n overflow: hidden;\n opacity: 0;\n outline: 0;\n min-width: 248px;\n transition: opacity var(--animate-out-duration-ms)\n var(--animate-out-timing-function);\n\n &[data-rendered='true'] {\n opacity: 1;\n scale: 1;\n }\n }\n\n .dev-tools-indicator-inner {\n padding: 6px;\n width: 100%;\n }\n\n .dev-tools-indicator-item {\n display: flex;\n align-items: center;\n padding: 8px 6px;\n height: 36px;\n border-radius: 6px;\n text-decoration: none !important;\n user-select: none;\n\n &:focus-visible {\n outline: 0;\n }\n }\n\n .dev-tools-indicator-footer {\n background: var(--color-background-200);\n padding: 6px;\n border-top: 1px solid var(--color-gray-400);\n width: 100%;\n }\n\n .dev-tools-indicator-item[data-selected='true'] {\n cursor: pointer;\n background-color: var(--color-gray-200);\n }\n\n .dev-tools-indicator-label {\n font-size: var(--size-font-small);\n line-height: var(--size-5);\n color: var(--color-gray-1000);\n }\n\n .dev-tools-indicator-value {\n font-size: var(--size-font-small);\n line-height: var(--size-5);\n color: var(--color-gray-900);\n margin-left: auto;\n }\n\n .dev-tools-indicator-issue-count {\n --color-primary: var(--color-gray-800);\n --color-secondary: var(--color-gray-100);\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n gap: 8px;\n min-width: 41px;\n height: 24px;\n background: var(--color-background-100);\n border: 1px solid var(--color-gray-alpha-400);\n background-clip: padding-box;\n box-shadow: var(--shadow-small);\n padding: 2px;\n color: var(--color-gray-1000);\n border-radius: 128px;\n font-weight: 500;\n font-size: 13px;\n font-variant-numeric: tabular-nums;\n\n &[data-has-issues='true'] {\n --color-primary: var(--color-red-800);\n --color-secondary: var(--color-red-100);\n }\n\n .dev-tools-indicator-issue-count-indicator {\n width: 8px;\n height: 8px;\n background: var(--color-primary);\n box-shadow: 0 0 0 2px var(--color-secondary);\n border-radius: 50%;\n }\n }\n\n .dev-tools-indicator-shortcut {\n display: flex;\n gap: var(--size-1);\n\n kbd {\n width: var(--size-5);\n height: var(--size-5);\n display: flex;\n justify-content: center;\n align-items: center;\n border-radius: var(--rounded-md);\n border: 1px solid var(--color-gray-400);\n font-family: var(--font-stack-sans);\n background: var(--color-background-100);\n color: var(--color-gray-1000);\n text-align: center;\n font-size: var(--size-font-smaller);\n line-height: var(--size-4);\n }\n }\n`\n"],"names":["DEV_TOOLS_INDICATOR_STYLES","DevToolsIndicator","INDICATOR_POSITION","process","env","__NEXT_DEV_INDICATOR_POSITION","state","errorCount","setIsErrorOverlayOpen","position","isDevToolsIndicatorOpen","setIsDevToolsIndicatorOpen","useState","DevToolsPopover","semver","versionInfo","installed","issueCount","isStaticRoute","staticIndicator","hide","isTurbopack","TURBOPACK","ANIMATE_OUT_DURATION_MS","ANIMATE_OUT_TIMING_FUNCTION","Context","createContext","menuRef","useRef","triggerRef","isMenuOpen","setIsMenuOpen","selectedIndex","setSelectedIndex","mounted","rendered","useDelayedRender","enterDelay","exitDelay","useFocusTrap","useClickOutside","closeMenu","select","index","all","current","querySelectorAll","firstIndex","getAttribute","Number","lastIndex","length","el","querySelector","focus","onMenuKeydown","e","preventDefault","key","next","prev","onTriggerKeydown","setTimeout","openErrorOverlay","onTriggerClick","vertical","horizontal","split","Toast","data-nextjs-toast","style","boxShadow","zIndex","bottom","left","NextLogo","ref","aria-haspopup","aria-expanded","aria-controls","aria-label","data-nextjs-dev-tools-button","onKeyDown","isDevBuilding","useIsDevBuilding","isDevRendering","useIsDevRendering","div","id","role","dir","aria-orientation","tabIndex","className","data-rendered","Provider","value","MenuItem","label","IssueCount","onClick","data-nextjs-route-type","ExternalIcon","href","data-hide-dev-tools","Cross","color","props","isInteractive","useContext","selected","click","window","open","data-index","data-selected","onMouseMove","undefined","onMouseLeave","span","children","data-has-issues","useEffect","root","getRootNode","activeElement","ShadowRoot","contains","handleClickOutside","event","getBoundingClientRect","clientX","right","clientY","top","handleKeyDown","document","addEventListener","removeEventListener","svg","width","height","viewBox","fill","path","fillRule","clipRule","d","css"],"mappings":";;;;;;;;;;;;;;;IA4caA,0BAA0B;eAA1BA;;IAxbGC,iBAAiB;eAAjBA;;;;;uBAjBuD;uBACjD;0BACU;yCACC;oCACC;kCACD;8BACL;;;;;;;;;;AAE5B,mDAAmD;AAEnD,MAAMC,qBACJ,AAACC,QAAQC,GAAG,CACTC,6BAA6B,IAChC;AAIK,SAASJ,kBAAkB,KAWjC;IAXiC,IAAA,EAChCK,KAAK,EACLC,UAAU,EACVC,qBAAqB,EACrBC,WAAWP,kBAAkB,EAO9B,GAXiC;IAYhC,MAAM,CAACQ,yBAAyBC,2BAA2B,GAAGC,IAAAA,eAAQ,EAAC;IAEvE,OACEF,yCACE,qBAACG;QACCC,QAAQR,MAAMS,WAAW,CAACC,SAAS;QACnCC,YAAYV;QACZW,eAAeZ,MAAMa,eAAe;QACpCC,MAAM;YACJT,2BAA2B;QAC7B;QACAH,uBAAuBA;QACvBa,aAAa,CAAC,CAAClB,QAAQC,GAAG,CAACkB,SAAS;QACpCb,UAAUA;;AAIlB;AAEA,sFAAsF;AAEtF,MAAMc,0BAA0B;AAChC,MAAMC,8BAA8B;AAQpC,MAAMC,wBAAUC,IAAAA,oBAAa,EAAC,CAAC;AAE/B,SAASb,gBAAgB,KAexB;IAfwB,IAAA,EACvBI,UAAU,EACVC,aAAa,EACbG,WAAW,EACXZ,QAAQ,EACRW,IAAI,EACJZ,qBAAqB,EAStB,GAfwB;IAgBvB,MAAMmB,UAAUC,IAAAA,aAAM,EAAiB;IACvC,MAAMC,aAAaD,IAAAA,aAAM,EAA2B;IACpD,MAAM,CAACE,YAAYC,cAAc,GAAGnB,IAAAA,eAAQ,EAAC;IAC7C,MAAM,CAACoB,eAAeC,iBAAiB,GAAGrB,IAAAA,eAAQ,EAAC,CAAC;IAEpD,yEAAyE;IACzE,MAAM,EAAEsB,OAAO,EAAEC,QAAQ,EAAE,GAAGC,IAAAA,kCAAgB,EAACN,YAAY;QACzD,6DAA6D;QAC7DO,YAAY;QACZ,yDAAyD;QACzDC,WAAWf;IACb;IAEA,uCAAuC;IACvCgB,aAAaZ,SAASE,YAAYC;IAClCU,gBAAgBb,SAASE,YAAYC,YAAYW;IAEjD,SAASC,OAAOC,KAAgC;YAmBnChB;QAlBX,IAAIgB,UAAU,SAAS;gBACThB;YAAZ,MAAMiB,OAAMjB,oBAAAA,QAAQkB,OAAO,qBAAflB,kBAAiBmB,gBAAgB,CAAC;YAC9C,IAAIF,KAAK;gBACP,MAAMG,aAAaH,GAAG,CAAC,EAAE,CAACI,YAAY,CAAC;gBACvCN,OAAOO,OAAOF;YAChB;YACA;QACF;QAEA,IAAIJ,UAAU,QAAQ;gBACRhB;YAAZ,MAAMiB,OAAMjB,oBAAAA,QAAQkB,OAAO,qBAAflB,kBAAiBmB,gBAAgB,CAAC;YAC9C,IAAIF,KAAK;gBACP,MAAMM,YAAYN,IAAIO,MAAM,GAAG;gBAC/BT,OAAOQ;YACT;YACA;QACF;QAEA,MAAME,MAAKzB,mBAAAA,QAAQkB,OAAO,qBAAflB,iBAAiB0B,aAAa,CACvC,AAAC,kBAAeV,QAAM;QAExB,IAAIS,IAAI;YACNnB,iBAAiBU;YACjBS,sBAAAA,GAAIE,KAAK;QACX;IACF;IAEA,SAASC,cAAcC,CAAsC;QAC3DA,EAAEC,cAAc;QAEhB,OAAQD,EAAEE,GAAG;YACX,KAAK;gBACH,MAAMC,OAAO3B,gBAAgB;gBAC7BU,OAAOiB;gBACP;YACF,KAAK;gBACH,MAAMC,OAAO5B,gBAAgB;gBAC7BU,OAAOkB;gBACP;YACF,KAAK;gBACHlB,OAAO;gBACP;YACF,KAAK;gBACHA,OAAO;gBACP;YACF;gBACE;QACJ;IACF;IAEA,SAASmB,iBAAiBL,CAAyC;QACjE,IAAI1B,YAAY;YACd;QACF;QAEA,+BAA+B;QAC/B,IAAI0B,EAAEE,GAAG,KAAK,eAAeF,EAAEE,GAAG,KAAK,WAAWF,EAAEE,GAAG,KAAK,KAAK;YAC/D3B,cAAc;YACd,2DAA2D;YAC3D+B,WAAW;gBACTpB,OAAO;YACT;QACF;QAEA,8BAA8B;QAC9B,IAAIc,EAAEE,GAAG,KAAK,WAAW;YACvB3B,cAAc;YACd,2DAA2D;YAC3D+B,WAAW;gBACTpB,OAAO;YACT;QACF;IACF;IAEA,SAASqB;QACP,IAAI9C,aAAa,GAAG;YAClBT,sBAAsB;QACxB;IACF;IAEA,SAASwD;QACPjC,cAAc,CAAC6B,OAAS,CAACA;IAC3B;IAEA,SAASnB;QACPV,cAAc;QACd,gCAAgC;QAChC+B,WAAW;YACT7B,iBAAiB,CAAC;QACpB,GAAGV;IACL;IAEA,MAAM,CAAC0C,UAAUC,WAAW,GAAGzD,SAAS0D,KAAK,CAAC,KAAK;IAEnD,qBACE,sBAACC,YAAK;QACJC,mBAAiB;QACjBC,OAAO;YACLC,WAAW;YACXC,QAAQ;YACR,iDAAiD;YACjDC,QAAQ;YACRC,MAAM;YACN,CAACT,SAAS,EAAE;YACZ,CAACC,WAAW,EAAE;QAChB;;0BAEA,qBAACS,kBAAQ;gBACPC,KAAK/C;gBACLgD,iBAAc;gBACdC,iBAAehD;gBACfiD,iBAAc;gBACdC,cAAY,AAAC,KAAElD,CAAAA,aAAa,UAAU,MAAK,IAAE;gBAC7CmD,8BAA4B;gBAC5BhE,YAAYA;gBACZ+C,gBAAgBA;gBAChBkB,WAAWrB;gBACXE,kBAAkBA;gBAClBoB,eAAeC,IAAAA,yCAAgB;gBAC/BC,gBAAgBC,IAAAA,qCAAiB;;YAGlCpD,yBACC,qBAACqD;gBACCX,KAAKjD;gBACL6D,IAAG;gBACHC,MAAK;gBACLC,KAAI;gBACJC,oBAAiB;gBACjBX,cAAW;gBACXY,UAAU,CAAC;gBACXC,WAAU;gBACVX,WAAW3B;gBACXuC,iBAAe3D;gBACfmC,OACE;oBACE,6BAA6B,AAAC,KAAE/C,0BAAwB;oBACxD,iCAAiCC;oBACjC,CAACyC,SAAS,EAAE;oBACZ,CAACC,WAAW,EAAE;gBAChB;0BAGF,cAAA,sBAACzC,QAAQsE,QAAQ;oBACfC,OAAO;wBACLvD;wBACAT;wBACAC;oBACF;;sCAEA,sBAACsD;4BAAIM,WAAU;;gCACZ5E,aAAa,mBACZ,qBAACgF;oCACCtD,OAAO;oCACPuD,OAAM;oCACNF,qBAAO,qBAACG;kDAAYlF;;oCACpBmF,SAASrC;;8CAGb,qBAACkC;oCACCC,OAAM;oCACNF,OAAO9E,gBAAgB,WAAW;oCAClCmF,0BAAwBnF,gBAAgB,WAAW;;gCAEpDG,4BACC,qBAAC4E;oCAASC,OAAM;oCAAYF,OAAM;mDAElC,qBAACC;oCACCtD,OAAO;oCACPuD,OAAM;oCACNF,qBAAO,qBAACM;oCACRC,MAAK;;;;sCAKX,qBAAChB;4BAAIM,WAAU;sCACb,cAAA,qBAACI;gCACCO,qBAAmB;gCACnBN,OAAM;gCACNF,qBAAO,qBAACS,eAAK;oCAACC,OAAM;;gCACpBN,SAAShF;gCACTuB,OAAOtB,cAAc,IAAI;;;;;;;;AAQzC;AAEA,SAAS4E,SAAS,KAajB;IAbiB,IAAA,EAChBtD,KAAK,EACLuD,KAAK,EACLF,KAAK,EACLI,OAAO,EACPG,IAAI,EACJ,GAAGI,OAOJ,GAbiB;IAchB,MAAMC,gBACJ,OAAOR,YAAY,cAAc,OAAOG,SAAS;IACnD,MAAM,EAAE9D,SAAS,EAAET,aAAa,EAAEC,gBAAgB,EAAE,GAAG4E,IAAAA,iBAAU,EAACpF;IAClE,MAAMqF,WAAW9E,kBAAkBW;IAEnC,SAASoE;QACP,IAAIH,eAAe;YACjBR,2BAAAA;YACA3D;YACA,IAAI8D,MAAM;gBACRS,OAAOC,IAAI,CAACV,MAAM,UAAU;YAC9B;QACF;IACF;IAEA,qBACE,sBAAChB;QACCM,WAAU;QACVqB,cAAYvE;QACZwE,iBAAeL;QACfV,SAASW;QACT,wDAAwD;QACxD,gCAAgC;QAChCK,aAAa;YACX,IAAIR,iBAAiBjE,UAAU0E,aAAarF,kBAAkBW,OAAO;gBACnEV,iBAAiBU;YACnB;QACF;QACA2E,cAAc,IAAMrF,iBAAiB,CAAC;QACtCiD,WAAW,CAAC1B;YACV,IAAIA,EAAEE,GAAG,KAAK,WAAWF,EAAEE,GAAG,KAAK,KAAK;gBACtCqD;YACF;QACF;QACAtB,MAAMmB,gBAAgB,aAAaS;QACnCzB,UAAUkB,WAAW,IAAI,CAAC;QACzB,GAAGH,KAAK;;0BAET,qBAACY;gBAAK1B,WAAU;0BAA6BK;;0BAC7C,qBAACqB;gBAAK1B,WAAU;0BAA6BG;;;;AAGnD;AAEA,SAASG,WAAW,KAAkC;IAAlC,IAAA,EAAEqB,QAAQ,EAAwB,GAAlC;IAClB,qBACE,sBAACD;QACC1B,WAAU;QACV4B,mBAAiBD,WAAW;;0BAE5B,qBAACD;gBAAK1B,WAAU;;YACf2B;;;AAGP;AAEA,sFAAsF;AAEtF,SAASjF,aACPZ,OAA+C,EAC/CE,UAAqD,EACrDC,UAAmB;IAEnB4F,IAAAA,gBAAS,EAAC;QACR,IAAI5F,YAAY;gBACdH;aAAAA,mBAAAA,QAAQkB,OAAO,qBAAflB,iBAAiB2B,KAAK;QACxB,OAAO;gBACQzB,qBAOTF;YAPJ,MAAMgG,QAAO9F,sBAAAA,WAAWgB,OAAO,qBAAlBhB,oBAAoB+F,WAAW;YAC5C,MAAMC,gBACJF,gBAAgBG,aAAcH,wBAAAA,KAAME,aAAa,GAAmB;YAEtE,8DAA8D;YAC9D,yDAAyD;YACzD,0DAA0D;YAC1D,KAAIlG,oBAAAA,QAAQkB,OAAO,qBAAflB,kBAAiBoG,QAAQ,CAACF,gBAAgB;oBAC5ChG;iBAAAA,uBAAAA,WAAWgB,OAAO,qBAAlBhB,qBAAoByB,KAAK;YAC3B;QACF;IACA,uDAAuD;IACzD,GAAG;QAACxB;KAAW;AACjB;AAEA,sFAAsF;AAEtF,SAASU,gBACPb,OAA+C,EAC/CE,UAAqD,EACrDC,UAAmB,EACnBW,SAAqB;IAErBiF,IAAAA,gBAAS,EAAC;QACR,IAAI,CAAC5F,YAAY;YACf;QACF;QAEA,uDAAuD;QACvD,MAAMkG,qBAAqB,CAACC;gBAEtBtG,kBAMAE;YAPJ,IACE,CAAEF,CAAAA,EAAAA,mBAAAA,QAAQkB,OAAO,qBAAflB,iBAAiBuG,qBAAqB,MACpCD,MAAME,OAAO,IAAIxG,QAAQkB,OAAO,CAACqF,qBAAqB,GAAIxD,IAAI,IAC9DuD,MAAME,OAAO,IAAIxG,QAAQkB,OAAO,CAACqF,qBAAqB,GAAIE,KAAK,IAC/DH,MAAMI,OAAO,IAAI1G,QAAQkB,OAAO,CAACqF,qBAAqB,GAAII,GAAG,IAC7DL,MAAMI,OAAO,IAAI1G,QAAQkB,OAAO,CAACqF,qBAAqB,GAAIzD,MAAM,GAChE,KAAI,KACR,CAAE5C,CAAAA,EAAAA,sBAAAA,WAAWgB,OAAO,qBAAlBhB,oBAAoBqG,qBAAqB,MACvCD,MAAME,OAAO,IAAItG,WAAWgB,OAAO,CAACqF,qBAAqB,GAAIxD,IAAI,IACjEuD,MAAME,OAAO,IACXtG,WAAWgB,OAAO,CAACqF,qBAAqB,GAAIE,KAAK,IACnDH,MAAMI,OAAO,IAAIxG,WAAWgB,OAAO,CAACqF,qBAAqB,GAAII,GAAG,IAChEL,MAAMI,OAAO,IAAIxG,WAAWgB,OAAO,CAACqF,qBAAqB,GAAIzD,MAAM,GACnE,KAAI,GACR;gBACAhC;YACF;QACF;QAEA,qCAAqC;QACrC,MAAM8F,gBAAgB,CAACN;YACrB,IAAIA,MAAMvE,GAAG,KAAK,UAAU;gBAC1BjB;YACF;QACF;QAEA+F,SAASC,gBAAgB,CAAC,aAAaT;QACvCQ,SAASC,gBAAgB,CAAC,WAAWF;QAErC,OAAO;YACLC,SAASE,mBAAmB,CAAC,aAAaV;YAC1CQ,SAASE,mBAAmB,CAAC,WAAWH;QAC1C;IACA,uDAAuD;IACzD,GAAG;QAACzG;KAAW;AACjB;AAEA,sFAAsF;AAEtF,SAASwE;IACP,qBACE,qBAACqC;QACCC,OAAM;QACNC,QAAO;QACPC,SAAQ;QACRC,MAAK;QACLtD,MAAK;QACLT,cAAW;kBAEX,cAAA,qBAACgE;YACCC,UAAS;YACTC,UAAS;YACTC,GAAE;YACFJ,MAAK;;;AAIb;AAEO,MAAM/I,iCAA6BoJ,kBAAG"}
1
+ {"version":3,"sources":["../../../../../../../../../src/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/dev-tools-indicator.tsx"],"sourcesContent":["import type { Dispatch, SetStateAction } from 'react'\nimport type { OverlayState } from '../../../../../shared'\n\nimport { useState, useEffect, useRef, createContext, useContext } from 'react'\nimport { Toast } from '../../toast'\nimport { NextLogo } from './internal/next-logo'\nimport { useIsDevBuilding } from '../../../../../../../dev/dev-build-indicator/internal/initialize-for-new-overlay'\nimport { useIsDevRendering } from './internal/dev-render-indicator'\nimport { useDelayedRender } from '../../../hooks/use-delayed-render'\nimport { noop as css } from '../../../helpers/noop-template'\nimport { TurbopackInfo } from './dev-tools-info/turbopack-info'\nimport { RouteInfo } from './dev-tools-info/route-info'\nimport { StopIcon } from '../../../icons/stop-icon'\n\n// TODO: add E2E tests to cover different scenarios\n\nconst INDICATOR_POSITION =\n (process.env\n .__NEXT_DEV_INDICATOR_POSITION as typeof window.__NEXT_DEV_INDICATOR_POSITION) ||\n 'bottom-left'\n\ntype DevToolsIndicatorPosition = typeof INDICATOR_POSITION\n\nexport function DevToolsIndicator({\n state,\n errorCount,\n isBuildError,\n setIsErrorOverlayOpen,\n position = INDICATOR_POSITION,\n}: {\n state: OverlayState\n errorCount: number\n isBuildError: boolean\n setIsErrorOverlayOpen: Dispatch<SetStateAction<boolean>>\n // Technically this prop isn't needed, but useful for testing.\n position?: DevToolsIndicatorPosition\n}) {\n const [isDevToolsIndicatorOpen, setIsDevToolsIndicatorOpen] = useState(true)\n\n return (\n isDevToolsIndicatorOpen && (\n <DevToolsPopover\n semver={state.versionInfo.installed}\n issueCount={errorCount}\n isStaticRoute={state.staticIndicator}\n hide={() => {\n setIsDevToolsIndicatorOpen(false)\n }}\n setIsErrorOverlayOpen={setIsErrorOverlayOpen}\n isTurbopack={!!process.env.TURBOPACK}\n position={position}\n disabled={state.disableDevIndicator}\n isBuildError={isBuildError}\n />\n )\n )\n}\n\n//////////////////////////////////////////////////////////////////////////////////////\n\nconst ANIMATE_OUT_DURATION_MS = 200\nconst ANIMATE_OUT_TIMING_FUNCTION = 'cubic-bezier(0.175, 0.885, 0.32, 1.1)'\n\ninterface C {\n closeMenu: () => void\n selectedIndex: number\n setSelectedIndex: Dispatch<SetStateAction<number>>\n}\n\nconst Context = createContext({} as C)\n\nfunction DevToolsPopover({\n disabled,\n issueCount,\n isStaticRoute,\n isTurbopack,\n position,\n isBuildError,\n hide,\n setIsErrorOverlayOpen,\n}: {\n disabled: boolean\n issueCount: number\n isStaticRoute: boolean\n semver: string | undefined\n isTurbopack: boolean\n position: DevToolsIndicatorPosition\n isBuildError: boolean\n hide: () => void\n setIsErrorOverlayOpen: Dispatch<SetStateAction<boolean>>\n}) {\n const menuRef = useRef<HTMLDivElement>(null)\n const triggerRef = useRef<HTMLButtonElement | null>(null)\n const turbopackRef = useRef<HTMLElement>(null)\n const triggerTurbopackRef = useRef<HTMLButtonElement | null>(null)\n const routeInfoRef = useRef<HTMLElement>(null)\n const triggerRouteInfoRef = useRef<HTMLButtonElement | null>(null)\n const [isMenuOpen, setIsMenuOpen] = useState(false)\n const [isTurbopackInfoOpen, setIsTurbopackInfoOpen] = useState(false)\n const [isRouteInfoOpen, setIsRouteInfoOpen] = useState(false)\n const [selectedIndex, setSelectedIndex] = useState(-1)\n\n // This hook lets us do an exit animation before unmounting the component\n const { mounted: menuMounted, rendered: menuRendered } = useDelayedRender(\n isMenuOpen,\n {\n // Intentionally no fade in, makes the UI feel more immediate\n enterDelay: 0,\n // Graceful fade out to confirm that the UI did not break\n exitDelay: ANIMATE_OUT_DURATION_MS,\n }\n )\n const { mounted: turbopackInfoMounted, rendered: turbopackInfoRendered } =\n useDelayedRender(isTurbopackInfoOpen, {\n enterDelay: 0,\n exitDelay: ANIMATE_OUT_DURATION_MS,\n })\n const { mounted: routeInfoMounted, rendered: routeInfoRendered } =\n useDelayedRender(isRouteInfoOpen, {\n enterDelay: 0,\n exitDelay: ANIMATE_OUT_DURATION_MS,\n })\n\n // Features to make the menu accessible\n useFocusTrap(menuRef, triggerRef, isMenuOpen)\n useClickOutside(menuRef, triggerRef, isMenuOpen, closeMenu)\n useFocusTrap(turbopackRef, triggerTurbopackRef, isTurbopackInfoOpen)\n useClickOutside(\n turbopackRef,\n triggerTurbopackRef,\n isTurbopackInfoOpen,\n closeTurbopackInfo\n )\n useFocusTrap(routeInfoRef, triggerRouteInfoRef, isRouteInfoOpen)\n useClickOutside(\n routeInfoRef,\n triggerRouteInfoRef,\n isRouteInfoOpen,\n closeRouteInfo\n )\n\n function select(index: number | 'first' | 'last') {\n if (index === 'first') {\n const all = menuRef.current?.querySelectorAll('[role=\"menuitem\"]')\n if (all) {\n const firstIndex = all[0].getAttribute('data-index')\n select(Number(firstIndex))\n }\n return\n }\n\n if (index === 'last') {\n const all = menuRef.current?.querySelectorAll('[role=\"menuitem\"]')\n if (all) {\n const lastIndex = all.length - 1\n select(lastIndex)\n }\n return\n }\n\n const el = menuRef.current?.querySelector(\n `[data-index=\"${index}\"]`\n ) as HTMLElement\n if (el) {\n setSelectedIndex(index)\n el?.focus()\n }\n }\n\n function onMenuKeydown(e: React.KeyboardEvent<HTMLDivElement>) {\n e.preventDefault()\n\n switch (e.key) {\n case 'ArrowDown':\n const next = selectedIndex + 1\n select(next)\n break\n case 'ArrowUp':\n const prev = selectedIndex - 1\n select(prev)\n break\n case 'Home':\n select('first')\n break\n case 'End':\n select('last')\n break\n default:\n break\n }\n }\n\n function onTriggerKeydown(e: React.KeyboardEvent<HTMLButtonElement>) {\n if (isMenuOpen) {\n return\n }\n\n // Open with first item focused\n if (e.key === 'ArrowDown' || e.key === 'Enter' || e.key === ' ') {\n setIsMenuOpen(true)\n // Run on next tick because querying DOM after state change\n setTimeout(() => {\n select('first')\n })\n }\n\n // Open with last item focused\n if (e.key === 'ArrowUp') {\n setIsMenuOpen(true)\n // Run on next tick because querying DOM after state change\n setTimeout(() => {\n select('last')\n })\n }\n }\n\n function openErrorOverlay() {\n if (issueCount > 0) {\n setIsErrorOverlayOpen(true)\n }\n }\n\n function onTriggerClick() {\n setIsMenuOpen((prev) => !prev)\n }\n\n function closeMenu() {\n setIsMenuOpen(false)\n // Avoid flashing selected state\n setTimeout(() => {\n setSelectedIndex(-1)\n }, ANIMATE_OUT_DURATION_MS)\n }\n\n function closeTurbopackInfo() {\n setIsTurbopackInfoOpen(false)\n }\n\n function closeRouteInfo() {\n setIsRouteInfoOpen(false)\n }\n\n const [vertical, horizontal] = position.split('-', 2)\n\n return (\n <Toast\n data-nextjs-toast\n style={{\n boxShadow: 'none',\n zIndex: 2147483647,\n // Reset the toast component's default positions.\n bottom: 'initial',\n left: 'initial',\n [vertical]: 'var(--size-2_5)',\n [horizontal]: 'var(--size-5)',\n }}\n >\n <NextLogo\n ref={triggerRef}\n aria-haspopup=\"menu\"\n aria-expanded={isMenuOpen}\n aria-controls=\"nextjs-dev-tools-menu\"\n aria-label={`${isMenuOpen ? 'Close' : 'Open'} Next.js Dev Tools`}\n data-nextjs-dev-tools-button\n disabled={disabled}\n issueCount={issueCount}\n onTriggerClick={onTriggerClick}\n onKeyDown={onTriggerKeydown}\n openErrorOverlay={openErrorOverlay}\n isDevBuilding={useIsDevBuilding()}\n isDevRendering={useIsDevRendering()}\n isBuildError={isBuildError}\n />\n\n {routeInfoMounted && (\n <RouteInfo\n ref={routeInfoRef}\n routeType={isStaticRoute ? 'Static' : 'Dynamic'}\n isOpen={isRouteInfoOpen}\n setIsOpen={setIsRouteInfoOpen}\n setPreviousOpen={setIsMenuOpen}\n style={{\n [vertical]: 'calc(100% + var(--size-gap))',\n [horizontal]: 0,\n }}\n data-rendered={routeInfoRendered}\n />\n )}\n\n {turbopackInfoMounted && (\n <TurbopackInfo\n ref={turbopackRef}\n isOpen={isTurbopackInfoOpen}\n setIsOpen={setIsTurbopackInfoOpen}\n setPreviousOpen={setIsMenuOpen}\n style={{\n [vertical]: 'calc(100% + var(--size-gap))',\n [horizontal]: 0,\n }}\n data-rendered={turbopackInfoRendered}\n />\n )}\n\n {menuMounted && (\n <div\n ref={menuRef}\n id=\"nextjs-dev-tools-menu\"\n role=\"menu\"\n dir=\"ltr\"\n aria-orientation=\"vertical\"\n aria-label=\"Next.js Dev Tools Items\"\n tabIndex={-1}\n className=\"dev-tools-indicator-menu\"\n onKeyDown={onMenuKeydown}\n data-rendered={menuRendered}\n style={\n {\n '--animate-out-duration-ms': `${ANIMATE_OUT_DURATION_MS}ms`,\n '--animate-out-timing-function': ANIMATE_OUT_TIMING_FUNCTION,\n [vertical]: 'calc(100% + var(--size-gap))',\n [horizontal]: 0,\n } as React.CSSProperties\n }\n >\n <Context.Provider\n value={{\n closeMenu,\n selectedIndex,\n setSelectedIndex,\n }}\n >\n <div className=\"dev-tools-indicator-inner\">\n {issueCount > 0 && (\n <MenuItem\n index={0}\n label=\"Issues\"\n value={<IssueCount>{issueCount}</IssueCount>}\n onClick={openErrorOverlay}\n />\n )}\n <MenuItem\n label=\"Route\"\n index={1}\n value={isStaticRoute ? 'Static' : 'Dynamic'}\n onClick={() => setIsRouteInfoOpen(true)}\n data-nextjs-route-type={isStaticRoute ? 'static' : 'dynamic'}\n />\n {isTurbopack ? (\n <MenuItem label=\"Turbopack\" value=\"Enabled\" />\n ) : (\n <MenuItem\n index={2}\n label=\"Try Turbopack\"\n value={<ChevronRight />}\n onClick={() => setIsTurbopackInfoOpen(true)}\n />\n )}\n </div>\n\n <div className=\"dev-tools-indicator-footer\">\n <MenuItem\n data-hide-dev-tools\n label=\"Hide Dev Tools\"\n value={<StopIcon />}\n onClick={hide}\n index={isTurbopack ? 2 : 3}\n />\n </div>\n </Context.Provider>\n </div>\n )}\n </Toast>\n )\n}\n\nfunction ChevronRight() {\n return (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" fill=\"none\">\n <path\n fill=\"#666\"\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M5.50011 1.93945L6.03044 2.46978L10.8537 7.293C11.2442 7.68353 11.2442 8.31669 10.8537 8.70722L6.03044 13.5304L5.50011 14.0608L4.43945 13.0001L4.96978 12.4698L9.43945 8.00011L4.96978 3.53044L4.43945 3.00011L5.50011 1.93945Z\"\n />\n </svg>\n )\n}\n\nfunction MenuItem({\n index,\n label,\n value,\n onClick,\n href,\n ...props\n}: {\n index?: number\n label: string\n value: React.ReactNode\n href?: string\n onClick?: () => void\n}) {\n const isInteractive =\n typeof onClick === 'function' || typeof href === 'string'\n const { closeMenu, selectedIndex, setSelectedIndex } = useContext(Context)\n const selected = selectedIndex === index\n\n function click() {\n if (isInteractive) {\n onClick?.()\n closeMenu()\n if (href) {\n window.open(href, '_blank', 'noopener, noreferrer')\n }\n }\n }\n\n return (\n <div\n className=\"dev-tools-indicator-item\"\n data-index={index}\n data-selected={selected}\n onClick={click}\n // Needs `onMouseMove` instead of enter to work together\n // with keyboard and mouse input\n onMouseMove={() => {\n if (isInteractive && index !== undefined && selectedIndex !== index) {\n setSelectedIndex(index)\n }\n }}\n onMouseLeave={() => setSelectedIndex(-1)}\n onKeyDown={(e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n click()\n }\n }}\n role={isInteractive ? 'menuitem' : undefined}\n tabIndex={selected ? 0 : -1}\n {...props}\n >\n <span className=\"dev-tools-indicator-label\">{label}</span>\n <span className=\"dev-tools-indicator-value\">{value}</span>\n </div>\n )\n}\n\nfunction IssueCount({ children }: { children: number }) {\n return (\n <span\n className=\"dev-tools-indicator-issue-count\"\n data-has-issues={children > 0}\n >\n <span className=\"dev-tools-indicator-issue-count-indicator\" />\n {children}\n </span>\n )\n}\n\n//////////////////////////////////////////////////////////////////////////////////////\n\nfunction useFocusTrap(\n menuRef: React.RefObject<HTMLElement | null>,\n triggerRef: React.RefObject<HTMLButtonElement | null>,\n isMenuOpen: boolean\n) {\n useEffect(() => {\n if (isMenuOpen) {\n menuRef.current?.focus()\n } else {\n const root = triggerRef.current?.getRootNode()\n const activeElement =\n root instanceof ShadowRoot ? (root?.activeElement as HTMLElement) : null\n\n // Only restore focus if the focus was previously on the menu.\n // This avoids us accidentally focusing on mount when the\n // user could want to interact with their own app instead.\n if (menuRef.current?.contains(activeElement)) {\n triggerRef.current?.focus()\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isMenuOpen])\n}\n\n//////////////////////////////////////////////////////////////////////////////////////\n\nfunction useClickOutside(\n menuRef: React.RefObject<HTMLElement | null>,\n triggerRef: React.RefObject<HTMLButtonElement | null>,\n isMenuOpen: boolean,\n closeMenu: () => void\n) {\n useEffect(() => {\n if (!isMenuOpen) {\n return\n }\n\n // Close menu when clicking outside of it or its button\n const handleClickOutside = (event: MouseEvent) => {\n if (\n !(menuRef.current?.getBoundingClientRect()\n ? event.clientX >= menuRef.current.getBoundingClientRect()!.left &&\n event.clientX <= menuRef.current.getBoundingClientRect()!.right &&\n event.clientY >= menuRef.current.getBoundingClientRect()!.top &&\n event.clientY <= menuRef.current.getBoundingClientRect()!.bottom\n : false) &&\n !(triggerRef.current?.getBoundingClientRect()\n ? event.clientX >= triggerRef.current.getBoundingClientRect()!.left &&\n event.clientX <=\n triggerRef.current.getBoundingClientRect()!.right &&\n event.clientY >= triggerRef.current.getBoundingClientRect()!.top &&\n event.clientY <= triggerRef.current.getBoundingClientRect()!.bottom\n : false)\n ) {\n closeMenu()\n }\n }\n\n // Close popover when pressing escape\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n closeMenu()\n }\n }\n\n document.addEventListener('mousedown', handleClickOutside)\n document.addEventListener('keydown', handleKeyDown)\n\n return () => {\n document.removeEventListener('mousedown', handleClickOutside)\n document.removeEventListener('keydown', handleKeyDown)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isMenuOpen])\n}\n\n//////////////////////////////////////////////////////////////////////////////////////\n\nexport const DEV_TOOLS_INDICATOR_STYLES = css`\n .dev-tools-indicator-menu {\n -webkit-font-smoothing: antialiased;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n background: var(--color-background-100);\n border: 1px solid var(--color-gray-alpha-400);\n background-clip: padding-box;\n box-shadow: var(--shadow-menu);\n border-radius: var(--rounded-xl);\n position: absolute;\n font-family: var(--font-stack-sans);\n z-index: 1000;\n overflow: hidden;\n opacity: 0;\n outline: 0;\n min-width: 248px;\n transition: opacity var(--animate-out-duration-ms)\n var(--animate-out-timing-function);\n\n &[data-rendered='true'] {\n opacity: 1;\n scale: 1;\n }\n }\n\n .dev-tools-indicator-inner {\n padding: 6px;\n width: 100%;\n }\n\n .dev-tools-indicator-item {\n display: flex;\n align-items: center;\n padding: 8px 6px;\n height: 36px;\n border-radius: 6px;\n text-decoration: none !important;\n user-select: none;\n\n &:focus-visible {\n outline: 0;\n }\n }\n\n .dev-tools-indicator-footer {\n background: var(--color-background-200);\n padding: 6px;\n border-top: 1px solid var(--color-gray-400);\n width: 100%;\n }\n\n .dev-tools-indicator-item[data-selected='true'] {\n cursor: pointer;\n background-color: var(--color-gray-200);\n }\n\n .dev-tools-indicator-label {\n font-size: var(--size-font-small);\n line-height: var(--size-5);\n color: var(--color-gray-1000);\n }\n\n .dev-tools-indicator-value {\n font-size: var(--size-font-small);\n line-height: var(--size-5);\n color: var(--color-gray-900);\n margin-left: auto;\n }\n\n .dev-tools-indicator-issue-count {\n --color-primary: var(--color-gray-800);\n --color-secondary: var(--color-gray-100);\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n gap: 8px;\n min-width: 41px;\n height: 24px;\n background: var(--color-background-100);\n border: 1px solid var(--color-gray-alpha-400);\n background-clip: padding-box;\n box-shadow: var(--shadow-small);\n padding: 2px;\n color: var(--color-gray-1000);\n border-radius: 128px;\n font-weight: 500;\n font-size: 13px;\n font-variant-numeric: tabular-nums;\n\n &[data-has-issues='true'] {\n --color-primary: var(--color-red-800);\n --color-secondary: var(--color-red-100);\n }\n\n .dev-tools-indicator-issue-count-indicator {\n width: 8px;\n height: 8px;\n background: var(--color-primary);\n box-shadow: 0 0 0 2px var(--color-secondary);\n border-radius: 50%;\n }\n }\n\n .dev-tools-indicator-shortcut {\n display: flex;\n gap: var(--size-1);\n\n kbd {\n width: var(--size-5);\n height: var(--size-5);\n display: flex;\n justify-content: center;\n align-items: center;\n border-radius: var(--rounded-md);\n border: 1px solid var(--color-gray-400);\n font-family: var(--font-stack-sans);\n background: var(--color-background-100);\n color: var(--color-gray-1000);\n text-align: center;\n font-size: var(--size-font-smaller);\n line-height: var(--size-4);\n }\n }\n`\n"],"names":["DEV_TOOLS_INDICATOR_STYLES","DevToolsIndicator","INDICATOR_POSITION","process","env","__NEXT_DEV_INDICATOR_POSITION","state","errorCount","isBuildError","setIsErrorOverlayOpen","position","isDevToolsIndicatorOpen","setIsDevToolsIndicatorOpen","useState","DevToolsPopover","semver","versionInfo","installed","issueCount","isStaticRoute","staticIndicator","hide","isTurbopack","TURBOPACK","disabled","disableDevIndicator","ANIMATE_OUT_DURATION_MS","ANIMATE_OUT_TIMING_FUNCTION","Context","createContext","menuRef","useRef","triggerRef","turbopackRef","triggerTurbopackRef","routeInfoRef","triggerRouteInfoRef","isMenuOpen","setIsMenuOpen","isTurbopackInfoOpen","setIsTurbopackInfoOpen","isRouteInfoOpen","setIsRouteInfoOpen","selectedIndex","setSelectedIndex","mounted","menuMounted","rendered","menuRendered","useDelayedRender","enterDelay","exitDelay","turbopackInfoMounted","turbopackInfoRendered","routeInfoMounted","routeInfoRendered","useFocusTrap","useClickOutside","closeMenu","closeTurbopackInfo","closeRouteInfo","select","index","all","current","querySelectorAll","firstIndex","getAttribute","Number","lastIndex","length","el","querySelector","focus","onMenuKeydown","e","preventDefault","key","next","prev","onTriggerKeydown","setTimeout","openErrorOverlay","onTriggerClick","vertical","horizontal","split","Toast","data-nextjs-toast","style","boxShadow","zIndex","bottom","left","NextLogo","ref","aria-haspopup","aria-expanded","aria-controls","aria-label","data-nextjs-dev-tools-button","onKeyDown","isDevBuilding","useIsDevBuilding","isDevRendering","useIsDevRendering","RouteInfo","routeType","isOpen","setIsOpen","setPreviousOpen","data-rendered","TurbopackInfo","div","id","role","dir","aria-orientation","tabIndex","className","Provider","value","MenuItem","label","IssueCount","onClick","data-nextjs-route-type","ChevronRight","data-hide-dev-tools","StopIcon","svg","xmlns","width","height","fill","path","fillRule","clipRule","d","href","props","isInteractive","useContext","selected","click","window","open","data-index","data-selected","onMouseMove","undefined","onMouseLeave","span","children","data-has-issues","useEffect","root","getRootNode","activeElement","ShadowRoot","contains","handleClickOutside","event","getBoundingClientRect","clientX","right","clientY","top","handleKeyDown","document","addEventListener","removeEventListener","css"],"mappings":"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"}
@@ -3,7 +3,7 @@ import { DevToolsIndicator } from './dev-tools-indicator';
3
3
  declare const meta: Meta<typeof DevToolsIndicator>;
4
4
  export default meta;
5
5
  type Story = StoryObj<typeof DevToolsIndicator>;
6
- export declare const NoErrors: Story;
6
+ export declare const StaticRoute: Story;
7
+ export declare const DynamicRoute: Story;
7
8
  export declare const SingleError: Story;
8
9
  export declare const MultipleErrors: Story;
9
- export declare const WithStaticIndicator: Story;
@@ -3,10 +3,10 @@ Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
5
  0 && (module.exports = {
6
+ DynamicRoute: null,
6
7
  MultipleErrors: null,
7
- NoErrors: null,
8
8
  SingleError: null,
9
- WithStaticIndicator: null,
9
+ StaticRoute: null,
10
10
  default: null
11
11
  });
12
12
  function _export(target, all) {
@@ -16,17 +16,17 @@ function _export(target, all) {
16
16
  });
17
17
  }
18
18
  _export(exports, {
19
+ DynamicRoute: function() {
20
+ return DynamicRoute;
21
+ },
19
22
  MultipleErrors: function() {
20
23
  return MultipleErrors;
21
24
  },
22
- NoErrors: function() {
23
- return NoErrors;
24
- },
25
25
  SingleError: function() {
26
26
  return SingleError;
27
27
  },
28
- WithStaticIndicator: function() {
29
- return WithStaticIndicator;
28
+ StaticRoute: function() {
29
+ return StaticRoute;
30
30
  },
31
31
  default: function() {
32
32
  return _default;
@@ -85,21 +85,32 @@ const state = {
85
85
  refreshState: {
86
86
  type: 'idle'
87
87
  },
88
+ disableDevIndicator: false,
88
89
  rootLayoutMissingTags: [],
89
90
  versionInfo: mockVersionInfo,
90
91
  notFound: false,
91
- staticIndicator: false,
92
+ staticIndicator: true,
92
93
  debugInfo: {
93
94
  devtoolsFrontendUrl: undefined
94
95
  }
95
96
  };
96
- const NoErrors = {
97
+ const StaticRoute = {
97
98
  args: {
98
99
  errorCount: 0,
99
100
  state,
100
101
  setIsErrorOverlayOpen: ()=>{}
101
102
  }
102
103
  };
104
+ const DynamicRoute = {
105
+ args: {
106
+ errorCount: 0,
107
+ state: {
108
+ ...state,
109
+ staticIndicator: false
110
+ },
111
+ setIsErrorOverlayOpen: ()=>{}
112
+ }
113
+ };
103
114
  const SingleError = {
104
115
  args: {
105
116
  errorCount: 1,
@@ -114,18 +125,6 @@ const MultipleErrors = {
114
125
  setIsErrorOverlayOpen: ()=>{}
115
126
  }
116
127
  };
117
- const WithStaticIndicator = {
118
- args: {
119
- errorCount: 3,
120
- state: {
121
- ...state,
122
- staticIndicator: true
123
- },
124
- setIsErrorOverlayOpen: ()=>{
125
- console.log('setIsErrorOverlayOpen called');
126
- }
127
- }
128
- };
129
128
 
130
129
  if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
131
130
  Object.defineProperty(exports.default, '__esModule', { value: true });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../../../src/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/dev-tools-indicator.stories.tsx"],"sourcesContent":["import type { Meta, StoryObj } from '@storybook/react'\nimport { DevToolsIndicator } from './dev-tools-indicator'\nimport { withShadowPortal } from '../../../storybook/with-shadow-portal'\nimport type { VersionInfo } from '../../../../../../../../server/dev/parse-version-info'\nimport type { OverlayState } from '../../../../../shared'\n\nconst meta: Meta<typeof DevToolsIndicator> = {\n component: DevToolsIndicator,\n parameters: {\n layout: 'centered',\n },\n argTypes: {\n position: {\n control: 'select',\n options: ['top-left', 'top-right', 'bottom-left', 'bottom-right'],\n defaultValue: 'bottom-left',\n },\n },\n decorators: [\n withShadowPortal,\n // Test for high z-index\n (Story) => (\n <div\n style={{\n position: 'fixed',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n zIndex: 9999,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n background:\n 'linear-gradient(135deg, rgba(230,240,255,0.8) 0%, rgba(200,220,255,0.6) 100%)',\n }}\n >\n <Story />\n </div>\n ),\n ],\n}\n\nexport default meta\ntype Story = StoryObj<typeof DevToolsIndicator>\n\n// Mock version info for stories\nconst mockVersionInfo: VersionInfo = {\n installed: '15.1.2',\n staleness: 'stale-major',\n}\n\nconst state: OverlayState = {\n nextId: 1,\n buildError: null,\n errors: [],\n refreshState: { type: 'idle' },\n rootLayoutMissingTags: [],\n versionInfo: mockVersionInfo,\n notFound: false,\n staticIndicator: false,\n debugInfo: { devtoolsFrontendUrl: undefined },\n}\n\nexport const NoErrors: Story = {\n args: {\n errorCount: 0,\n state,\n setIsErrorOverlayOpen: () => {},\n },\n}\n\nexport const SingleError: Story = {\n args: {\n errorCount: 1,\n state,\n setIsErrorOverlayOpen: () => {},\n },\n}\n\nexport const MultipleErrors: Story = {\n args: {\n errorCount: 3,\n state,\n setIsErrorOverlayOpen: () => {},\n },\n}\n\nexport const WithStaticIndicator: Story = {\n args: {\n errorCount: 3,\n state: {\n ...state,\n staticIndicator: true,\n },\n setIsErrorOverlayOpen: () => {\n console.log('setIsErrorOverlayOpen called')\n },\n },\n}\n"],"names":["MultipleErrors","NoErrors","SingleError","WithStaticIndicator","meta","component","DevToolsIndicator","parameters","layout","argTypes","position","control","options","defaultValue","decorators","withShadowPortal","Story","div","style","top","left","width","height","zIndex","display","alignItems","justifyContent","background","mockVersionInfo","installed","staleness","state","nextId","buildError","errors","refreshState","type","rootLayoutMissingTags","versionInfo","notFound","staticIndicator","debugInfo","devtoolsFrontendUrl","undefined","args","errorCount","setIsErrorOverlayOpen","console","log"],"mappings":";;;;;;;;;;;;;;;;;;IAgFaA,cAAc;eAAdA;;IAhBAC,QAAQ;eAARA;;IAQAC,WAAW;eAAXA;;IAgBAC,mBAAmB;eAAnBA;;IA7Cb,OAAmB;eAAnB;;;;mCA1CkC;kCACD;AAIjC,MAAMC,OAAuC;IAC3CC,WAAWC,oCAAiB;IAC5BC,YAAY;QACVC,QAAQ;IACV;IACAC,UAAU;QACRC,UAAU;YACRC,SAAS;YACTC,SAAS;gBAAC;gBAAY;gBAAa;gBAAe;aAAe;YACjEC,cAAc;QAChB;IACF;IACAC,YAAY;QACVC,kCAAgB;QAChB,wBAAwB;QACxB,CAACC,sBACC,qBAACC;gBACCC,OAAO;oBACLR,UAAU;oBACVS,KAAK;oBACLC,MAAM;oBACNC,OAAO;oBACPC,QAAQ;oBACRC,QAAQ;oBACRC,SAAS;oBACTC,YAAY;oBACZC,gBAAgB;oBAChBC,YACE;gBACJ;0BAEA,cAAA,qBAACX;;KAGN;AACH;MAEA,WAAeZ;AAGf,gCAAgC;AAChC,MAAMwB,kBAA+B;IACnCC,WAAW;IACXC,WAAW;AACb;AAEA,MAAMC,QAAsB;IAC1BC,QAAQ;IACRC,YAAY;IACZC,QAAQ,EAAE;IACVC,cAAc;QAAEC,MAAM;IAAO;IAC7BC,uBAAuB,EAAE;IACzBC,aAAaV;IACbW,UAAU;IACVC,iBAAiB;IACjBC,WAAW;QAAEC,qBAAqBC;IAAU;AAC9C;AAEO,MAAM1C,WAAkB;IAC7B2C,MAAM;QACJC,YAAY;QACZd;QACAe,uBAAuB,KAAO;IAChC;AACF;AAEO,MAAM5C,cAAqB;IAChC0C,MAAM;QACJC,YAAY;QACZd;QACAe,uBAAuB,KAAO;IAChC;AACF;AAEO,MAAM9C,iBAAwB;IACnC4C,MAAM;QACJC,YAAY;QACZd;QACAe,uBAAuB,KAAO;IAChC;AACF;AAEO,MAAM3C,sBAA6B;IACxCyC,MAAM;QACJC,YAAY;QACZd,OAAO;YACL,GAAGA,KAAK;YACRS,iBAAiB;QACnB;QACAM,uBAAuB;YACrBC,QAAQC,GAAG,CAAC;QACd;IACF;AACF"}
1
+ {"version":3,"sources":["../../../../../../../../../src/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/dev-tools-indicator.stories.tsx"],"sourcesContent":["import type { Meta, StoryObj } from '@storybook/react'\nimport { DevToolsIndicator } from './dev-tools-indicator'\nimport { withShadowPortal } from '../../../storybook/with-shadow-portal'\nimport type { VersionInfo } from '../../../../../../../../server/dev/parse-version-info'\nimport type { OverlayState } from '../../../../../shared'\n\nconst meta: Meta<typeof DevToolsIndicator> = {\n component: DevToolsIndicator,\n parameters: {\n layout: 'centered',\n },\n argTypes: {\n position: {\n control: 'select',\n options: ['top-left', 'top-right', 'bottom-left', 'bottom-right'],\n defaultValue: 'bottom-left',\n },\n },\n decorators: [\n withShadowPortal,\n // Test for high z-index\n (Story) => (\n <div\n style={{\n position: 'fixed',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n zIndex: 9999,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n background:\n 'linear-gradient(135deg, rgba(230,240,255,0.8) 0%, rgba(200,220,255,0.6) 100%)',\n }}\n >\n <Story />\n </div>\n ),\n ],\n}\n\nexport default meta\ntype Story = StoryObj<typeof DevToolsIndicator>\n\n// Mock version info for stories\nconst mockVersionInfo: VersionInfo = {\n installed: '15.1.2',\n staleness: 'stale-major',\n}\n\nconst state: OverlayState = {\n nextId: 1,\n buildError: null,\n errors: [],\n refreshState: { type: 'idle' },\n disableDevIndicator: false,\n rootLayoutMissingTags: [],\n versionInfo: mockVersionInfo,\n notFound: false,\n staticIndicator: true,\n debugInfo: { devtoolsFrontendUrl: undefined },\n}\n\nexport const StaticRoute: Story = {\n args: {\n errorCount: 0,\n state,\n setIsErrorOverlayOpen: () => {},\n },\n}\n\nexport const DynamicRoute: Story = {\n args: {\n errorCount: 0,\n state: {\n ...state,\n staticIndicator: false,\n },\n setIsErrorOverlayOpen: () => {},\n },\n}\n\nexport const SingleError: Story = {\n args: {\n errorCount: 1,\n state,\n setIsErrorOverlayOpen: () => {},\n },\n}\n\nexport const MultipleErrors: Story = {\n args: {\n errorCount: 3,\n state,\n setIsErrorOverlayOpen: () => {},\n },\n}\n"],"names":["DynamicRoute","MultipleErrors","SingleError","StaticRoute","meta","component","DevToolsIndicator","parameters","layout","argTypes","position","control","options","defaultValue","decorators","withShadowPortal","Story","div","style","top","left","width","height","zIndex","display","alignItems","justifyContent","background","mockVersionInfo","installed","staleness","state","nextId","buildError","errors","refreshState","type","disableDevIndicator","rootLayoutMissingTags","versionInfo","notFound","staticIndicator","debugInfo","devtoolsFrontendUrl","undefined","args","errorCount","setIsErrorOverlayOpen"],"mappings":";;;;;;;;;;;;;;;;;;IAyEaA,YAAY;eAAZA;;IAmBAC,cAAc;eAAdA;;IARAC,WAAW;eAAXA;;IAnBAC,WAAW;eAAXA;;IAtBb,OAAmB;eAAnB;;;;mCA1CkC;kCACD;AAIjC,MAAMC,OAAuC;IAC3CC,WAAWC,oCAAiB;IAC5BC,YAAY;QACVC,QAAQ;IACV;IACAC,UAAU;QACRC,UAAU;YACRC,SAAS;YACTC,SAAS;gBAAC;gBAAY;gBAAa;gBAAe;aAAe;YACjEC,cAAc;QAChB;IACF;IACAC,YAAY;QACVC,kCAAgB;QAChB,wBAAwB;QACxB,CAACC,sBACC,qBAACC;gBACCC,OAAO;oBACLR,UAAU;oBACVS,KAAK;oBACLC,MAAM;oBACNC,OAAO;oBACPC,QAAQ;oBACRC,QAAQ;oBACRC,SAAS;oBACTC,YAAY;oBACZC,gBAAgB;oBAChBC,YACE;gBACJ;0BAEA,cAAA,qBAACX;;KAGN;AACH;MAEA,WAAeZ;AAGf,gCAAgC;AAChC,MAAMwB,kBAA+B;IACnCC,WAAW;IACXC,WAAW;AACb;AAEA,MAAMC,QAAsB;IAC1BC,QAAQ;IACRC,YAAY;IACZC,QAAQ,EAAE;IACVC,cAAc;QAAEC,MAAM;IAAO;IAC7BC,qBAAqB;IACrBC,uBAAuB,EAAE;IACzBC,aAAaX;IACbY,UAAU;IACVC,iBAAiB;IACjBC,WAAW;QAAEC,qBAAqBC;IAAU;AAC9C;AAEO,MAAMzC,cAAqB;IAChC0C,MAAM;QACJC,YAAY;QACZf;QACAgB,uBAAuB,KAAO;IAChC;AACF;AAEO,MAAM/C,eAAsB;IACjC6C,MAAM;QACJC,YAAY;QACZf,OAAO;YACL,GAAGA,KAAK;YACRU,iBAAiB;QACnB;QACAM,uBAAuB,KAAO;IAChC;AACF;AAEO,MAAM7C,cAAqB;IAChC2C,MAAM;QACJC,YAAY;QACZf;QACAgB,uBAAuB,KAAO;IAChC;AACF;AAEO,MAAM9C,iBAAwB;IACnC4C,MAAM;QACJC,YAAY;QACZf;QACAgB,uBAAuB,KAAO;IAChC;AACF"}
@@ -0,0 +1,8 @@
1
+ export declare function DevToolsInfo({ title, children, learnMoreLink, setIsOpen, setPreviousOpen, ...props }: {
2
+ title: string;
3
+ children: React.ReactNode;
4
+ learnMoreLink: string;
5
+ setIsOpen: (isOpen: boolean) => void;
6
+ setPreviousOpen: (isOpen: boolean) => void;
7
+ }): import("react/jsx-runtime").JSX.Element;
8
+ export declare const DEV_TOOLS_INFO_STYLES: string;
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ 0 && (module.exports = {
6
+ DEV_TOOLS_INFO_STYLES: null,
7
+ DevToolsInfo: null
8
+ });
9
+ function _export(target, all) {
10
+ for(var name in all)Object.defineProperty(target, name, {
11
+ enumerable: true,
12
+ get: all[name]
13
+ });
14
+ }
15
+ _export(exports, {
16
+ DEV_TOOLS_INFO_STYLES: function() {
17
+ return DEV_TOOLS_INFO_STYLES;
18
+ },
19
+ DevToolsInfo: function() {
20
+ return DevToolsInfo;
21
+ }
22
+ });
23
+ const _tagged_template_literal_loose = require("@swc/helpers/_/_tagged_template_literal_loose");
24
+ const _jsxruntime = require("react/jsx-runtime");
25
+ const _nooptemplate = require("../../../../helpers/noop-template");
26
+ function _templateObject() {
27
+ const data = _tagged_template_literal_loose._([
28
+ "\n [data-info-popover] {\n -webkit-font-smoothing: antialiased;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n background: var(--color-background-100);\n border: 1px solid var(--color-gray-alpha-400);\n background-clip: padding-box;\n box-shadow: var(--shadow-menu);\n border-radius: var(--rounded-xl);\n position: absolute;\n font-family: var(--font-stack-sans);\n z-index: 1000;\n overflow: hidden;\n opacity: 0;\n outline: 0;\n min-width: 350px;\n transition: opacity var(--animate-out-duration-ms)\n var(--animate-out-timing-function);\n\n &[data-rendered='true'] {\n opacity: 1;\n scale: 1;\n }\n }\n\n .dev-tools-info-container {\n padding: var(--size-1_5);\n }\n\n .dev-tools-info-title {\n padding: var(--size-2) var(--size-1_5);\n color: var(--color-gray-1000);\n font-size: 14px;\n font-weight: 500;\n line-height: 20px;\n margin: 0;\n }\n\n .dev-tools-info-article {\n padding: var(--size-2) var(--size-1_5);\n color: var(--color-gray-1000);\n font-size: 14px;\n line-height: 20px;\n margin: 0;\n }\n .dev-tools-info-paragraph {\n &:last-child {\n margin-bottom: 0;\n }\n }\n\n .dev-tools-info-button-container {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: var(--size-2) var(--size-1_5);\n }\n\n .dev-tools-info-close-button {\n padding: 0 var(--size-2);\n height: 28px;\n font-size: 14px;\n font-weight: 500;\n line-height: 20px;\n transition: background var(--duration-short) ease;\n color: var(--color-gray-1000);\n border-radius: var(--rounded-md-2);\n border: 1px solid var(--color-gray-alpha-400);\n background: var(--color-background-200);\n }\n\n .dev-tools-info-close-button:hover {\n background: var(--color-gray-400);\n }\n\n .dev-tools-info-learn-more-button {\n align-content: center;\n padding: 0 var(--size-2);\n height: 28px;\n font-size: 14px;\n font-weight: 500;\n line-height: 20px;\n transition: background var(--duration-short) ease;\n color: var(--color-background-100);\n border-radius: var(--rounded-md-2);\n border: 1px solid var(--color-gray-1000);\n background: var(--color-gray-1000);\n }\n\n .dev-tools-info-learn-more-button:hover {\n text-decoration: none;\n color: var(--color-background-100);\n opacity: 0.9;\n }\n"
29
+ ]);
30
+ _templateObject = function() {
31
+ return data;
32
+ };
33
+ return data;
34
+ }
35
+ function DevToolsInfo(param) {
36
+ let { title, children, learnMoreLink, setIsOpen, setPreviousOpen, ...props } = param;
37
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
38
+ "data-info-popover": true,
39
+ ...props,
40
+ children: /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
41
+ className: "dev-tools-info-container",
42
+ children: [
43
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("h1", {
44
+ className: "dev-tools-info-title",
45
+ children: title
46
+ }),
47
+ children,
48
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
49
+ className: "dev-tools-info-button-container",
50
+ children: [
51
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("button", {
52
+ className: "dev-tools-info-close-button",
53
+ onClick: ()=>{
54
+ setIsOpen(false);
55
+ setPreviousOpen(true);
56
+ },
57
+ children: "Close"
58
+ }),
59
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("a", {
60
+ className: "dev-tools-info-learn-more-button",
61
+ href: learnMoreLink,
62
+ target: "_blank",
63
+ rel: "noreferrer noopener",
64
+ children: "Learn More"
65
+ })
66
+ ]
67
+ })
68
+ ]
69
+ })
70
+ });
71
+ }
72
+ const DEV_TOOLS_INFO_STYLES = (0, _nooptemplate.noop)(_templateObject());
73
+
74
+ if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
75
+ Object.defineProperty(exports.default, '__esModule', { value: true });
76
+ Object.assign(exports.default, exports);
77
+ module.exports = exports.default;
78
+ }
79
+
80
+ //# sourceMappingURL=dev-tools-info.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../../../../src/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/dev-tools-info/dev-tools-info.tsx"],"sourcesContent":["import { noop as css } from '../../../../helpers/noop-template'\n\nexport function DevToolsInfo({\n title,\n children,\n learnMoreLink,\n setIsOpen,\n setPreviousOpen,\n ...props\n}: {\n title: string\n children: React.ReactNode\n learnMoreLink: string\n setIsOpen: (isOpen: boolean) => void\n setPreviousOpen: (isOpen: boolean) => void\n}) {\n return (\n <div data-info-popover {...props}>\n <div className=\"dev-tools-info-container\">\n <h1 className=\"dev-tools-info-title\">{title}</h1>\n {children}\n <div className=\"dev-tools-info-button-container\">\n <button\n className=\"dev-tools-info-close-button\"\n onClick={() => {\n setIsOpen(false)\n setPreviousOpen(true)\n }}\n >\n Close\n </button>\n <a\n className=\"dev-tools-info-learn-more-button\"\n href={learnMoreLink}\n target=\"_blank\"\n rel=\"noreferrer noopener\"\n >\n Learn More\n </a>\n </div>\n </div>\n </div>\n )\n}\n\nexport const DEV_TOOLS_INFO_STYLES = css`\n [data-info-popover] {\n -webkit-font-smoothing: antialiased;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n background: var(--color-background-100);\n border: 1px solid var(--color-gray-alpha-400);\n background-clip: padding-box;\n box-shadow: var(--shadow-menu);\n border-radius: var(--rounded-xl);\n position: absolute;\n font-family: var(--font-stack-sans);\n z-index: 1000;\n overflow: hidden;\n opacity: 0;\n outline: 0;\n min-width: 350px;\n transition: opacity var(--animate-out-duration-ms)\n var(--animate-out-timing-function);\n\n &[data-rendered='true'] {\n opacity: 1;\n scale: 1;\n }\n }\n\n .dev-tools-info-container {\n padding: var(--size-1_5);\n }\n\n .dev-tools-info-title {\n padding: var(--size-2) var(--size-1_5);\n color: var(--color-gray-1000);\n font-size: 14px;\n font-weight: 500;\n line-height: 20px;\n margin: 0;\n }\n\n .dev-tools-info-article {\n padding: var(--size-2) var(--size-1_5);\n color: var(--color-gray-1000);\n font-size: 14px;\n line-height: 20px;\n margin: 0;\n }\n .dev-tools-info-paragraph {\n &:last-child {\n margin-bottom: 0;\n }\n }\n\n .dev-tools-info-button-container {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: var(--size-2) var(--size-1_5);\n }\n\n .dev-tools-info-close-button {\n padding: 0 var(--size-2);\n height: 28px;\n font-size: 14px;\n font-weight: 500;\n line-height: 20px;\n transition: background var(--duration-short) ease;\n color: var(--color-gray-1000);\n border-radius: var(--rounded-md-2);\n border: 1px solid var(--color-gray-alpha-400);\n background: var(--color-background-200);\n }\n\n .dev-tools-info-close-button:hover {\n background: var(--color-gray-400);\n }\n\n .dev-tools-info-learn-more-button {\n align-content: center;\n padding: 0 var(--size-2);\n height: 28px;\n font-size: 14px;\n font-weight: 500;\n line-height: 20px;\n transition: background var(--duration-short) ease;\n color: var(--color-background-100);\n border-radius: var(--rounded-md-2);\n border: 1px solid var(--color-gray-1000);\n background: var(--color-gray-1000);\n }\n\n .dev-tools-info-learn-more-button:hover {\n text-decoration: none;\n color: var(--color-background-100);\n opacity: 0.9;\n }\n`\n"],"names":["DEV_TOOLS_INFO_STYLES","DevToolsInfo","title","children","learnMoreLink","setIsOpen","setPreviousOpen","props","div","data-info-popover","className","h1","button","onClick","a","href","target","rel","css"],"mappings":";;;;;;;;;;;;;;;IA6CaA,qBAAqB;eAArBA;;IA3CGC,YAAY;eAAZA;;;;;8BAFY;;;;;;;;;;AAErB,SAASA,aAAa,KAa5B;IAb4B,IAAA,EAC3BC,KAAK,EACLC,QAAQ,EACRC,aAAa,EACbC,SAAS,EACTC,eAAe,EACf,GAAGC,OAOJ,GAb4B;IAc3B,qBACE,qBAACC;QAAIC,mBAAiB;QAAE,GAAGF,KAAK;kBAC9B,cAAA,sBAACC;YAAIE,WAAU;;8BACb,qBAACC;oBAAGD,WAAU;8BAAwBR;;gBACrCC;8BACD,sBAACK;oBAAIE,WAAU;;sCACb,qBAACE;4BACCF,WAAU;4BACVG,SAAS;gCACPR,UAAU;gCACVC,gBAAgB;4BAClB;sCACD;;sCAGD,qBAACQ;4BACCJ,WAAU;4BACVK,MAAMX;4BACNY,QAAO;4BACPC,KAAI;sCACL;;;;;;;AAOX;AAEO,MAAMjB,4BAAwBkB,kBAAG"}
@@ -0,0 +1,9 @@
1
+ export declare function RouteInfo({ routeType, isOpen, setIsOpen, setPreviousOpen, ...props }: {
2
+ routeType: 'Static' | 'Dynamic';
3
+ isOpen: boolean;
4
+ setIsOpen: (isOpen: boolean) => void;
5
+ setPreviousOpen: (isOpen: boolean) => void;
6
+ style?: React.CSSProperties;
7
+ ref?: React.RefObject<HTMLElement | null>;
8
+ }): import("react/jsx-runtime").JSX.Element;
9
+ export declare const DEV_TOOLS_INFO_ROUTE_INFO_STYLES: string;
@@ -0,0 +1,158 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ 0 && (module.exports = {
6
+ DEV_TOOLS_INFO_ROUTE_INFO_STYLES: null,
7
+ RouteInfo: null
8
+ });
9
+ function _export(target, all) {
10
+ for(var name in all)Object.defineProperty(target, name, {
11
+ enumerable: true,
12
+ get: all[name]
13
+ });
14
+ }
15
+ _export(exports, {
16
+ DEV_TOOLS_INFO_ROUTE_INFO_STYLES: function() {
17
+ return DEV_TOOLS_INFO_ROUTE_INFO_STYLES;
18
+ },
19
+ RouteInfo: function() {
20
+ return RouteInfo;
21
+ }
22
+ });
23
+ const _tagged_template_literal_loose = require("@swc/helpers/_/_tagged_template_literal_loose");
24
+ const _jsxruntime = require("react/jsx-runtime");
25
+ const _devtoolsinfo = require("./dev-tools-info");
26
+ const _nooptemplate = require("../../../../helpers/noop-template");
27
+ function _templateObject() {
28
+ const data = _tagged_template_literal_loose._([
29
+ "\n .dev-tools-info-link {\n }\n"
30
+ ]);
31
+ _templateObject = function() {
32
+ return data;
33
+ };
34
+ return data;
35
+ }
36
+ function StaticRouteContent() {
37
+ return /*#__PURE__*/ (0, _jsxruntime.jsxs)("article", {
38
+ className: "dev-tools-info-article",
39
+ children: [
40
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)("p", {
41
+ className: "dev-tools-info-paragraph",
42
+ children: [
43
+ "The path",
44
+ ' ',
45
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("code", {
46
+ className: "dev-tools-info-code",
47
+ children: window.location.pathname
48
+ }),
49
+ ' ',
50
+ 'is marked as "static" since it will be prerendered during the build time.'
51
+ ]
52
+ }),
53
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)("p", {
54
+ className: "dev-tools-info-paragraph",
55
+ children: [
56
+ "With Static Rendering, routes are rendered at build time, or in the background after",
57
+ ' ',
58
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("a", {
59
+ className: "dev-tools-info-link",
60
+ href: "https://nextjs.org/docs/app/building-your-application/data-fetching/incremental-static-regeneration",
61
+ target: "_blank",
62
+ rel: "noopener noreferrer",
63
+ children: "data revalidation"
64
+ }),
65
+ "."
66
+ ]
67
+ }),
68
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("p", {
69
+ className: "dev-tools-info-paragraph",
70
+ children: "Static rendering is useful when a route has data that is not personalized to the user and can be known at build time, such as a static blog post or a product page."
71
+ })
72
+ ]
73
+ });
74
+ }
75
+ function DynamicRouteContent() {
76
+ return /*#__PURE__*/ (0, _jsxruntime.jsxs)("article", {
77
+ className: "dev-tools-info-article",
78
+ children: [
79
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)("p", {
80
+ className: "dev-tools-info-paragraph",
81
+ children: [
82
+ "The path",
83
+ ' ',
84
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("code", {
85
+ className: "dev-tools-info-code",
86
+ children: window.location.pathname
87
+ }),
88
+ ' ',
89
+ 'is marked as "dynamic" since it will be rendered for each user at',
90
+ ' ',
91
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("strong", {
92
+ children: "request time"
93
+ }),
94
+ "."
95
+ ]
96
+ }),
97
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("p", {
98
+ className: "dev-tools-info-paragraph",
99
+ children: "Dynamic rendering is useful when a route has data that is personalized to the user or has information that can only be known at request time, such as cookies or the URL's search params."
100
+ }),
101
+ /*#__PURE__*/ (0, _jsxruntime.jsxs)("p", {
102
+ className: "dev-tools-info-paragraph",
103
+ children: [
104
+ "During rendering, if a",
105
+ ' ',
106
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("a", {
107
+ className: "dev-tools-info-link",
108
+ href: "https://nextjs.org/docs/app/building-your-application/rendering/server-components#dynamic-apis",
109
+ target: "_blank",
110
+ rel: "noopener noreferrer",
111
+ children: "Dynamic API"
112
+ }),
113
+ ' ',
114
+ "or a",
115
+ ' ',
116
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("a", {
117
+ className: "dev-tools-info-link",
118
+ href: "https://nextjs.org/docs/app/api-reference/functions/fetch",
119
+ target: "_blank",
120
+ rel: "noopener noreferrer",
121
+ children: "fetch"
122
+ }),
123
+ ' ',
124
+ "option of",
125
+ ' ',
126
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("code", {
127
+ className: "dev-tools-info-code",
128
+ children: "{ cache: 'no-store' }"
129
+ }),
130
+ ' ',
131
+ "is discovered, Next.js will switch to dynamically rendering the whole route."
132
+ ]
133
+ })
134
+ ]
135
+ });
136
+ }
137
+ function RouteInfo(param) {
138
+ let { routeType, isOpen, setIsOpen, setPreviousOpen, ...props } = param;
139
+ const isStaticRoute = routeType === 'Static';
140
+ const learnMoreLink = isStaticRoute ? 'https://nextjs.org/docs/app/building-your-application/rendering/server-components#static-rendering-default' : 'https://nextjs.org/docs/app/building-your-application/rendering/server-components#dynamic-rendering';
141
+ return /*#__PURE__*/ (0, _jsxruntime.jsx)(_devtoolsinfo.DevToolsInfo, {
142
+ ...props,
143
+ title: "" + routeType + " Route",
144
+ learnMoreLink: learnMoreLink,
145
+ setIsOpen: setIsOpen,
146
+ setPreviousOpen: setPreviousOpen,
147
+ children: isStaticRoute ? /*#__PURE__*/ (0, _jsxruntime.jsx)(StaticRouteContent, {}) : /*#__PURE__*/ (0, _jsxruntime.jsx)(DynamicRouteContent, {})
148
+ });
149
+ }
150
+ const DEV_TOOLS_INFO_ROUTE_INFO_STYLES = (0, _nooptemplate.noop)(_templateObject());
151
+
152
+ if ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {
153
+ Object.defineProperty(exports.default, '__esModule', { value: true });
154
+ Object.assign(exports.default, exports);
155
+ module.exports = exports.default;
156
+ }
157
+
158
+ //# sourceMappingURL=route-info.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../../../../src/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/dev-tools-info/route-info.tsx"],"sourcesContent":["import { DevToolsInfo } from './dev-tools-info'\nimport { noop as css } from '../../../../helpers/noop-template'\n\nfunction StaticRouteContent() {\n return (\n <article className=\"dev-tools-info-article\">\n <p className=\"dev-tools-info-paragraph\">\n The path{' '}\n <code className=\"dev-tools-info-code\">{window.location.pathname}</code>{' '}\n is marked as \"static\" since it will be prerendered during the build\n time.\n </p>\n <p className=\"dev-tools-info-paragraph\">\n With Static Rendering, routes are rendered at build time, or in the\n background after{' '}\n <a\n className=\"dev-tools-info-link\"\n href=\"https://nextjs.org/docs/app/building-your-application/data-fetching/incremental-static-regeneration\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n data revalidation\n </a>\n .\n </p>\n <p className=\"dev-tools-info-paragraph\">\n Static rendering is useful when a route has data that is not\n personalized to the user and can be known at build time, such as a\n static blog post or a product page.\n </p>\n </article>\n )\n}\n\nfunction DynamicRouteContent() {\n return (\n <article className=\"dev-tools-info-article\">\n <p className=\"dev-tools-info-paragraph\">\n The path{' '}\n <code className=\"dev-tools-info-code\">{window.location.pathname}</code>{' '}\n is marked as \"dynamic\" since it will be rendered for each user at{' '}\n <strong>request time</strong>.\n </p>\n <p className=\"dev-tools-info-paragraph\">\n Dynamic rendering is useful when a route has data that is personalized\n to the user or has information that can only be known at request time,\n such as cookies or the URL's search params.\n </p>\n <p className=\"dev-tools-info-paragraph\">\n During rendering, if a{' '}\n <a\n className=\"dev-tools-info-link\"\n href=\"https://nextjs.org/docs/app/building-your-application/rendering/server-components#dynamic-apis\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n Dynamic API\n </a>{' '}\n or a{' '}\n <a\n className=\"dev-tools-info-link\"\n href=\"https://nextjs.org/docs/app/api-reference/functions/fetch\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n fetch\n </a>{' '}\n option of{' '}\n <code className=\"dev-tools-info-code\">{`{ cache: 'no-store' }`}</code>{' '}\n is discovered, Next.js will switch to dynamically rendering the whole\n route.\n </p>\n </article>\n )\n}\n\nexport function RouteInfo({\n routeType,\n isOpen,\n setIsOpen,\n setPreviousOpen,\n ...props\n}: {\n routeType: 'Static' | 'Dynamic'\n isOpen: boolean\n setIsOpen: (isOpen: boolean) => void\n setPreviousOpen: (isOpen: boolean) => void\n style?: React.CSSProperties\n ref?: React.RefObject<HTMLElement | null>\n}) {\n const isStaticRoute = routeType === 'Static'\n const learnMoreLink = isStaticRoute\n ? 'https://nextjs.org/docs/app/building-your-application/rendering/server-components#static-rendering-default'\n : 'https://nextjs.org/docs/app/building-your-application/rendering/server-components#dynamic-rendering'\n return (\n <DevToolsInfo\n {...props}\n title={`${routeType} Route`}\n learnMoreLink={learnMoreLink}\n setIsOpen={setIsOpen}\n setPreviousOpen={setPreviousOpen}\n >\n {isStaticRoute ? <StaticRouteContent /> : <DynamicRouteContent />}\n </DevToolsInfo>\n )\n}\n\nexport const DEV_TOOLS_INFO_ROUTE_INFO_STYLES = css`\n .dev-tools-info-link {\n }\n`\n"],"names":["DEV_TOOLS_INFO_ROUTE_INFO_STYLES","RouteInfo","StaticRouteContent","article","className","p","code","window","location","pathname","a","href","target","rel","DynamicRouteContent","strong","routeType","isOpen","setIsOpen","setPreviousOpen","props","isStaticRoute","learnMoreLink","DevToolsInfo","title","css"],"mappings":";;;;;;;;;;;;;;;IA2GaA,gCAAgC;eAAhCA;;IA/BGC,SAAS;eAATA;;;;;8BA5Ea;8BACD;;;;;;;;;;AAE5B,SAASC;IACP,qBACE,sBAACC;QAAQC,WAAU;;0BACjB,sBAACC;gBAAED,WAAU;;oBAA2B;oBAC7B;kCACT,qBAACE;wBAAKF,WAAU;kCAAuBG,OAAOC,QAAQ,CAACC,QAAQ;;oBAAS;oBAAI;;;0BAI9E,sBAACJ;gBAAED,WAAU;;oBAA2B;oBAErB;kCACjB,qBAACM;wBACCN,WAAU;wBACVO,MAAK;wBACLC,QAAO;wBACPC,KAAI;kCACL;;oBAEG;;;0BAGN,qBAACR;gBAAED,WAAU;0BAA2B;;;;AAO9C;AAEA,SAASU;IACP,qBACE,sBAACX;QAAQC,WAAU;;0BACjB,sBAACC;gBAAED,WAAU;;oBAA2B;oBAC7B;kCACT,qBAACE;wBAAKF,WAAU;kCAAuBG,OAAOC,QAAQ,CAACC,QAAQ;;oBAAS;oBAAI;oBACV;kCAClE,qBAACM;kCAAO;;oBAAqB;;;0BAE/B,qBAACV;gBAAED,WAAU;0BAA2B;;0BAKxC,sBAACC;gBAAED,WAAU;;oBAA2B;oBACf;kCACvB,qBAACM;wBACCN,WAAU;wBACVO,MAAK;wBACLC,QAAO;wBACPC,KAAI;kCACL;;oBAEI;oBAAI;oBACJ;kCACL,qBAACH;wBACCN,WAAU;wBACVO,MAAK;wBACLC,QAAO;wBACPC,KAAI;kCACL;;oBAEI;oBAAI;oBACC;kCACV,qBAACP;wBAAKF,WAAU;kCAAwB;;oBAA+B;oBAAI;;;;;AAMnF;AAEO,SAASH,UAAU,KAazB;IAbyB,IAAA,EACxBe,SAAS,EACTC,MAAM,EACNC,SAAS,EACTC,eAAe,EACf,GAAGC,OAQJ,GAbyB;IAcxB,MAAMC,gBAAgBL,cAAc;IACpC,MAAMM,gBAAgBD,gBAClB,+GACA;IACJ,qBACE,qBAACE,0BAAY;QACV,GAAGH,KAAK;QACTI,OAAO,AAAC,KAAER,YAAU;QACpBM,eAAeA;QACfJ,WAAWA;QACXC,iBAAiBA;kBAEhBE,8BAAgB,qBAACnB,wCAAwB,qBAACY;;AAGjD;AAEO,MAAMd,uCAAmCyB,kBAAG"}
@@ -0,0 +1,8 @@
1
+ export declare function TurbopackInfo({ isOpen, setIsOpen, setPreviousOpen, ...props }: {
2
+ isOpen: boolean;
3
+ setIsOpen: (isOpen: boolean) => void;
4
+ setPreviousOpen: (isOpen: boolean) => void;
5
+ style?: React.CSSProperties;
6
+ ref?: React.RefObject<HTMLElement | null>;
7
+ }): import("react/jsx-runtime").JSX.Element;
8
+ export declare const DEV_TOOLS_INFO_TURBOPACK_INFO_STYLES: string;