next 15.1.1-canary.11 → 15.1.1-canary.12

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 (401) hide show
  1. package/dist/bin/next +1 -1
  2. package/dist/build/index.d.ts +5 -0
  3. package/dist/build/index.js +5 -2
  4. package/dist/build/index.js.map +1 -1
  5. package/dist/build/swc/index.js +1 -1
  6. package/dist/build/webpack-config.js +2 -2
  7. package/dist/client/app-bootstrap.js +1 -1
  8. package/dist/client/components/react-dev-overlay/_experimental/app/ReactDevOverlay.d.ts +18 -0
  9. package/dist/client/components/react-dev-overlay/_experimental/app/ReactDevOverlay.js +92 -0
  10. package/dist/client/components/react-dev-overlay/_experimental/app/ReactDevOverlay.js.map +1 -0
  11. package/dist/client/components/react-dev-overlay/_experimental/internal/components/CodeFrame/CodeFrame.d.ts +7 -0
  12. package/dist/client/components/react-dev-overlay/_experimental/internal/components/CodeFrame/CodeFrame.js +120 -0
  13. package/dist/client/components/react-dev-overlay/_experimental/internal/components/CodeFrame/CodeFrame.js.map +1 -0
  14. package/dist/client/components/react-dev-overlay/_experimental/internal/components/CodeFrame/index.d.ts +1 -0
  15. package/dist/client/components/react-dev-overlay/_experimental/internal/components/CodeFrame/index.js +19 -0
  16. package/dist/client/components/react-dev-overlay/_experimental/internal/components/CodeFrame/index.js.map +1 -0
  17. package/dist/client/components/react-dev-overlay/_experimental/internal/components/CodeFrame/styles.d.ts +2 -0
  18. package/dist/client/components/react-dev-overlay/_experimental/internal/components/CodeFrame/styles.js +30 -0
  19. package/dist/client/components/react-dev-overlay/_experimental/internal/components/CodeFrame/styles.js.map +1 -0
  20. package/dist/client/components/react-dev-overlay/_experimental/internal/components/Dialog/Dialog.d.ts +10 -0
  21. package/dist/client/components/react-dev-overlay/_experimental/internal/components/Dialog/Dialog.js +86 -0
  22. package/dist/client/components/react-dev-overlay/_experimental/internal/components/Dialog/Dialog.js.map +1 -0
  23. package/dist/client/components/react-dev-overlay/_experimental/internal/components/Dialog/DialogBody.d.ts +7 -0
  24. package/dist/client/components/react-dev-overlay/_experimental/internal/components/Dialog/DialogBody.js +29 -0
  25. package/dist/client/components/react-dev-overlay/_experimental/internal/components/Dialog/DialogBody.js.map +1 -0
  26. package/dist/client/components/react-dev-overlay/_experimental/internal/components/Dialog/DialogContent.d.ts +7 -0
  27. package/dist/client/components/react-dev-overlay/_experimental/internal/components/Dialog/DialogContent.js +29 -0
  28. package/dist/client/components/react-dev-overlay/_experimental/internal/components/Dialog/DialogContent.js.map +1 -0
  29. package/dist/client/components/react-dev-overlay/_experimental/internal/components/Dialog/DialogHeader.d.ts +7 -0
  30. package/dist/client/components/react-dev-overlay/_experimental/internal/components/Dialog/DialogHeader.js +29 -0
  31. package/dist/client/components/react-dev-overlay/_experimental/internal/components/Dialog/DialogHeader.js.map +1 -0
  32. package/dist/client/components/react-dev-overlay/_experimental/internal/components/Dialog/index.d.ts +5 -0
  33. package/dist/client/components/react-dev-overlay/_experimental/internal/components/Dialog/index.js +47 -0
  34. package/dist/client/components/react-dev-overlay/_experimental/internal/components/Dialog/index.js.map +1 -0
  35. package/dist/client/components/react-dev-overlay/_experimental/internal/components/Dialog/styles.d.ts +2 -0
  36. package/dist/client/components/react-dev-overlay/_experimental/internal/components/Dialog/styles.js +30 -0
  37. package/dist/client/components/react-dev-overlay/_experimental/internal/components/Dialog/styles.js.map +1 -0
  38. package/dist/client/components/react-dev-overlay/_experimental/internal/components/LeftRightDialogHeader/LeftRightDialogHeader.d.ts +10 -0
  39. package/dist/client/components/react-dev-overlay/_experimental/internal/components/LeftRightDialogHeader/LeftRightDialogHeader.js +178 -0
  40. package/dist/client/components/react-dev-overlay/_experimental/internal/components/LeftRightDialogHeader/LeftRightDialogHeader.js.map +1 -0
  41. package/dist/client/components/react-dev-overlay/_experimental/internal/components/LeftRightDialogHeader/index.d.ts +2 -0
  42. package/dist/client/components/react-dev-overlay/_experimental/internal/components/LeftRightDialogHeader/index.js +32 -0
  43. package/dist/client/components/react-dev-overlay/_experimental/internal/components/LeftRightDialogHeader/index.js.map +1 -0
  44. package/dist/client/components/react-dev-overlay/_experimental/internal/components/LeftRightDialogHeader/styles.d.ts +2 -0
  45. package/dist/client/components/react-dev-overlay/_experimental/internal/components/LeftRightDialogHeader/styles.js +30 -0
  46. package/dist/client/components/react-dev-overlay/_experimental/internal/components/LeftRightDialogHeader/styles.js.map +1 -0
  47. package/dist/client/components/react-dev-overlay/_experimental/internal/components/Overlay/Overlay.d.ts +8 -0
  48. package/dist/client/components/react-dev-overlay/_experimental/internal/components/Overlay/Overlay.js +62 -0
  49. package/dist/client/components/react-dev-overlay/_experimental/internal/components/Overlay/Overlay.js.map +1 -0
  50. package/dist/client/components/react-dev-overlay/_experimental/internal/components/Overlay/body-locker.d.ts +2 -0
  51. package/dist/client/components/react-dev-overlay/_experimental/internal/components/Overlay/body-locker.js +62 -0
  52. package/dist/client/components/react-dev-overlay/_experimental/internal/components/Overlay/body-locker.js.map +1 -0
  53. package/dist/client/components/react-dev-overlay/_experimental/internal/components/Overlay/index.d.ts +1 -0
  54. package/dist/client/components/react-dev-overlay/_experimental/internal/components/Overlay/index.js +19 -0
  55. package/dist/client/components/react-dev-overlay/_experimental/internal/components/Overlay/index.js.map +1 -0
  56. package/dist/client/components/react-dev-overlay/_experimental/internal/components/Overlay/maintain--tab-focus.d.ts +3 -0
  57. package/dist/client/components/react-dev-overlay/_experimental/internal/components/Overlay/maintain--tab-focus.js +2749 -0
  58. package/dist/client/components/react-dev-overlay/_experimental/internal/components/Overlay/maintain--tab-focus.js.map +1 -0
  59. package/dist/client/components/react-dev-overlay/_experimental/internal/components/Overlay/styles.d.ts +2 -0
  60. package/dist/client/components/react-dev-overlay/_experimental/internal/components/Overlay/styles.js +30 -0
  61. package/dist/client/components/react-dev-overlay/_experimental/internal/components/Overlay/styles.js.map +1 -0
  62. package/dist/client/components/react-dev-overlay/_experimental/internal/components/ShadowPortal.d.ts +4 -0
  63. package/dist/client/components/react-dev-overlay/_experimental/internal/components/ShadowPortal.js +42 -0
  64. package/dist/client/components/react-dev-overlay/_experimental/internal/components/ShadowPortal.js.map +1 -0
  65. package/dist/client/components/react-dev-overlay/_experimental/internal/components/Terminal/EditorLink.d.ts +10 -0
  66. package/dist/client/components/react-dev-overlay/_experimental/internal/components/Terminal/EditorLink.js +67 -0
  67. package/dist/client/components/react-dev-overlay/_experimental/internal/components/Terminal/EditorLink.js.map +1 -0
  68. package/dist/client/components/react-dev-overlay/_experimental/internal/components/Terminal/Terminal.d.ts +5 -0
  69. package/dist/client/components/react-dev-overlay/_experimental/internal/components/Terminal/Terminal.js +108 -0
  70. package/dist/client/components/react-dev-overlay/_experimental/internal/components/Terminal/Terminal.js.map +1 -0
  71. package/dist/client/components/react-dev-overlay/_experimental/internal/components/Terminal/index.d.ts +1 -0
  72. package/dist/client/components/react-dev-overlay/_experimental/internal/components/Terminal/index.js +19 -0
  73. package/dist/client/components/react-dev-overlay/_experimental/internal/components/Terminal/index.js.map +1 -0
  74. package/dist/client/components/react-dev-overlay/_experimental/internal/components/Terminal/styles.d.ts +2 -0
  75. package/dist/client/components/react-dev-overlay/_experimental/internal/components/Terminal/styles.js +30 -0
  76. package/dist/client/components/react-dev-overlay/_experimental/internal/components/Terminal/styles.js.map +1 -0
  77. package/dist/client/components/react-dev-overlay/_experimental/internal/components/Toast/Toast.d.ts +7 -0
  78. package/dist/client/components/react-dev-overlay/_experimental/internal/components/Toast/Toast.js +36 -0
  79. package/dist/client/components/react-dev-overlay/_experimental/internal/components/Toast/Toast.js.map +1 -0
  80. package/dist/client/components/react-dev-overlay/_experimental/internal/components/Toast/index.d.ts +2 -0
  81. package/dist/client/components/react-dev-overlay/_experimental/internal/components/Toast/index.js +32 -0
  82. package/dist/client/components/react-dev-overlay/_experimental/internal/components/Toast/index.js.map +1 -0
  83. package/dist/client/components/react-dev-overlay/_experimental/internal/components/Toast/styles.d.ts +2 -0
  84. package/dist/client/components/react-dev-overlay/_experimental/internal/components/Toast/styles.js +30 -0
  85. package/dist/client/components/react-dev-overlay/_experimental/internal/components/Toast/styles.js.map +1 -0
  86. package/dist/client/components/react-dev-overlay/_experimental/internal/components/VersionStalenessInfo/VersionStalenessInfo.d.ts +9 -0
  87. package/dist/client/components/react-dev-overlay/_experimental/internal/components/VersionStalenessInfo/VersionStalenessInfo.js +103 -0
  88. package/dist/client/components/react-dev-overlay/_experimental/internal/components/VersionStalenessInfo/VersionStalenessInfo.js.map +1 -0
  89. package/dist/client/components/react-dev-overlay/_experimental/internal/components/VersionStalenessInfo/index.d.ts +2 -0
  90. package/dist/client/components/react-dev-overlay/_experimental/internal/components/VersionStalenessInfo/index.js +32 -0
  91. package/dist/client/components/react-dev-overlay/_experimental/internal/components/VersionStalenessInfo/index.js.map +1 -0
  92. package/dist/client/components/react-dev-overlay/_experimental/internal/components/VersionStalenessInfo/styles.d.ts +2 -0
  93. package/dist/client/components/react-dev-overlay/_experimental/internal/components/VersionStalenessInfo/styles.js +30 -0
  94. package/dist/client/components/react-dev-overlay/_experimental/internal/components/VersionStalenessInfo/styles.js.map +1 -0
  95. package/dist/client/components/react-dev-overlay/_experimental/internal/components/copy-button/index.d.ts +7 -0
  96. package/dist/client/components/react-dev-overlay/_experimental/internal/components/copy-button/index.js +230 -0
  97. package/dist/client/components/react-dev-overlay/_experimental/internal/components/copy-button/index.js.map +1 -0
  98. package/dist/client/components/react-dev-overlay/_experimental/internal/components/hot-linked-text/index.d.ts +5 -0
  99. package/dist/client/components/react-dev-overlay/_experimental/internal/components/hot-linked-text/index.js +74 -0
  100. package/dist/client/components/react-dev-overlay/_experimental/internal/components/hot-linked-text/index.js.map +1 -0
  101. package/dist/client/components/react-dev-overlay/_experimental/internal/components/nodejs-inspector.d.ts +3 -0
  102. package/dist/client/components/react-dev-overlay/_experimental/internal/components/nodejs-inspector.js +119 -0
  103. package/dist/client/components/react-dev-overlay/_experimental/internal/components/nodejs-inspector.js.map +1 -0
  104. package/dist/client/components/react-dev-overlay/_experimental/internal/container/BuildError.d.ts +8 -0
  105. package/dist/client/components/react-dev-overlay/_experimental/internal/container/BuildError.js +100 -0
  106. package/dist/client/components/react-dev-overlay/_experimental/internal/container/BuildError.js.map +1 -0
  107. package/dist/client/components/react-dev-overlay/_experimental/internal/container/Errors.d.ts +19 -0
  108. package/dist/client/components/react-dev-overlay/_experimental/internal/container/Errors.js +392 -0
  109. package/dist/client/components/react-dev-overlay/_experimental/internal/container/Errors.js.map +1 -0
  110. package/dist/client/components/react-dev-overlay/_experimental/internal/container/RuntimeError/CallStackFrame.d.ts +4 -0
  111. package/dist/client/components/react-dev-overlay/_experimental/internal/container/RuntimeError/CallStackFrame.js +91 -0
  112. package/dist/client/components/react-dev-overlay/_experimental/internal/container/RuntimeError/CallStackFrame.js.map +1 -0
  113. package/dist/client/components/react-dev-overlay/_experimental/internal/container/RuntimeError/ComponentStackFrameRow.d.ts +4 -0
  114. package/dist/client/components/react-dev-overlay/_experimental/internal/container/RuntimeError/ComponentStackFrameRow.js +116 -0
  115. package/dist/client/components/react-dev-overlay/_experimental/internal/container/RuntimeError/ComponentStackFrameRow.js.map +1 -0
  116. package/dist/client/components/react-dev-overlay/_experimental/internal/container/RuntimeError/component-stack-pseudo-html.d.ts +56 -0
  117. package/dist/client/components/react-dev-overlay/_experimental/internal/container/RuntimeError/component-stack-pseudo-html.js +243 -0
  118. package/dist/client/components/react-dev-overlay/_experimental/internal/container/RuntimeError/component-stack-pseudo-html.js.map +1 -0
  119. package/dist/client/components/react-dev-overlay/_experimental/internal/container/RuntimeError/index.d.ts +6 -0
  120. package/dist/client/components/react-dev-overlay/_experimental/internal/container/RuntimeError/index.js +92 -0
  121. package/dist/client/components/react-dev-overlay/_experimental/internal/container/RuntimeError/index.js.map +1 -0
  122. package/dist/client/components/react-dev-overlay/_experimental/internal/container/StaticIndicator.d.ts +4 -0
  123. package/dist/client/components/react-dev-overlay/_experimental/internal/container/StaticIndicator.js +56 -0
  124. package/dist/client/components/react-dev-overlay/_experimental/internal/container/StaticIndicator.js.map +1 -0
  125. package/dist/client/components/react-dev-overlay/_experimental/internal/container/root-layout-missing-tags-error.d.ts +8 -0
  126. package/dist/client/components/react-dev-overlay/_experimental/internal/container/root-layout-missing-tags-error.js +59 -0
  127. package/dist/client/components/react-dev-overlay/_experimental/internal/container/root-layout-missing-tags-error.js.map +1 -0
  128. package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/attach-hydration-error-state.d.ts +1 -0
  129. package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/attach-hydration-error-state.js +51 -0
  130. package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/attach-hydration-error-state.js.map +1 -0
  131. package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/console-error.d.ts +10 -0
  132. package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/console-error.js +52 -0
  133. package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/console-error.js.map +1 -0
  134. package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/enqueue-client-error.d.ts +1 -0
  135. package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/enqueue-client-error.js +35 -0
  136. package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/enqueue-client-error.js.map +1 -0
  137. package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/format-webpack-messages.d.ts +1 -0
  138. package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/format-webpack-messages.js +164 -0
  139. package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/format-webpack-messages.js.map +1 -0
  140. package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/get-error-by-type.d.ts +11 -0
  141. package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/get-error-by-type.js +50 -0
  142. package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/get-error-by-type.js.map +1 -0
  143. package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/get-socket-url.d.ts +1 -0
  144. package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/get-socket-url.js +38 -0
  145. package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/get-socket-url.js.map +1 -0
  146. package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/get-source-map-from-file.d.ts +2 -0
  147. package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/get-source-map-from-file.js +83 -0
  148. package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/get-source-map-from-file.js.map +1 -0
  149. package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/get-source-map-url.d.ts +1 -0
  150. package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/get-source-map-url.js +33 -0
  151. package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/get-source-map-url.js.map +1 -0
  152. package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/hydration-error-info.d.ts +20 -0
  153. package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/hydration-error-info.js +104 -0
  154. package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/hydration-error-info.js.map +1 -0
  155. package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/launchEditor.d.ts +2 -0
  156. package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/launchEditor.js +407 -0
  157. package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/launchEditor.js.map +1 -0
  158. package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/node-stack-frames.d.ts +4 -0
  159. package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/node-stack-frames.js +88 -0
  160. package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/node-stack-frames.js.map +1 -0
  161. package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/noop-template.d.ts +1 -0
  162. package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/noop-template.js +25 -0
  163. package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/noop-template.js.map +1 -0
  164. package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/parse-component-stack.d.ts +8 -0
  165. package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/parse-component-stack.js +99 -0
  166. package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/parse-component-stack.js.map +1 -0
  167. package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/parse-stack.d.ts +2 -0
  168. package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/parse-stack.js +54 -0
  169. package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/parse-stack.js.map +1 -0
  170. package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/runtime-error-handler.d.ts +3 -0
  171. package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/runtime-error-handler.js +21 -0
  172. package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/runtime-error-handler.js.map +1 -0
  173. package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/stack-frame.d.ts +11 -0
  174. package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/stack-frame.js +140 -0
  175. package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/stack-frame.js.map +1 -0
  176. package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/stitched-error.d.ts +1 -0
  177. package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/stitched-error.js +57 -0
  178. package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/stitched-error.js.map +1 -0
  179. package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/use-error-handler.d.ts +4 -0
  180. package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/use-error-handler.js +121 -0
  181. package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/use-error-handler.js.map +1 -0
  182. package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/use-open-in-editor.d.ts +5 -0
  183. package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/use-open-in-editor.js +37 -0
  184. package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/use-open-in-editor.js.map +1 -0
  185. package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/use-websocket.d.ts +5 -0
  186. package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/use-websocket.js +129 -0
  187. package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/use-websocket.js.map +1 -0
  188. package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/webpack-module-path.d.ts +12 -0
  189. package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/webpack-module-path.js +50 -0
  190. package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/webpack-module-path.js.map +1 -0
  191. package/dist/client/components/react-dev-overlay/_experimental/internal/helpers/webpack-module-path.test.d.ts +1 -0
  192. package/dist/client/components/react-dev-overlay/_experimental/internal/hooks/use-on-click-outside.d.ts +1 -0
  193. package/dist/client/components/react-dev-overlay/_experimental/internal/hooks/use-on-click-outside.js +46 -0
  194. package/dist/client/components/react-dev-overlay/_experimental/internal/hooks/use-on-click-outside.js.map +1 -0
  195. package/dist/client/components/react-dev-overlay/_experimental/internal/icons/CloseIcon.d.ts +2 -0
  196. package/dist/client/components/react-dev-overlay/_experimental/internal/icons/CloseIcon.js +46 -0
  197. package/dist/client/components/react-dev-overlay/_experimental/internal/icons/CloseIcon.js.map +1 -0
  198. package/dist/client/components/react-dev-overlay/_experimental/internal/icons/CollapseIcon.d.ts +3 -0
  199. package/dist/client/components/react-dev-overlay/_experimental/internal/icons/CollapseIcon.js +43 -0
  200. package/dist/client/components/react-dev-overlay/_experimental/internal/icons/CollapseIcon.js.map +1 -0
  201. package/dist/client/components/react-dev-overlay/_experimental/internal/icons/LightningBolt.d.ts +1 -0
  202. package/dist/client/components/react-dev-overlay/_experimental/internal/icons/LightningBolt.js +34 -0
  203. package/dist/client/components/react-dev-overlay/_experimental/internal/icons/LightningBolt.js.map +1 -0
  204. package/dist/client/components/react-dev-overlay/_experimental/internal/styles/Base.d.ts +1 -0
  205. package/dist/client/components/react-dev-overlay/_experimental/internal/styles/Base.js +37 -0
  206. package/dist/client/components/react-dev-overlay/_experimental/internal/styles/Base.js.map +1 -0
  207. package/dist/client/components/react-dev-overlay/_experimental/internal/styles/ComponentStyles.d.ts +1 -0
  208. package/dist/client/components/react-dev-overlay/_experimental/internal/styles/ComponentStyles.js +55 -0
  209. package/dist/client/components/react-dev-overlay/_experimental/internal/styles/ComponentStyles.js.map +1 -0
  210. package/dist/client/components/react-dev-overlay/_experimental/internal/styles/CssReset.d.ts +1 -0
  211. package/dist/client/components/react-dev-overlay/_experimental/internal/styles/CssReset.js +37 -0
  212. package/dist/client/components/react-dev-overlay/_experimental/internal/styles/CssReset.js.map +1 -0
  213. package/dist/client/components/react-dev-overlay/_experimental/pages/ReactDevOverlay.d.ts +9 -0
  214. package/dist/client/components/react-dev-overlay/_experimental/pages/ReactDevOverlay.js +59 -0
  215. package/dist/client/components/react-dev-overlay/_experimental/pages/ReactDevOverlay.js.map +1 -0
  216. package/dist/client/components/react-dev-overlay/app/OldReactDevOverlay.d.ts +18 -0
  217. package/dist/client/components/react-dev-overlay/app/OldReactDevOverlay.js +92 -0
  218. package/dist/client/components/react-dev-overlay/app/OldReactDevOverlay.js.map +1 -0
  219. package/dist/client/components/react-dev-overlay/app/ReactDevOverlay.d.ts +3 -18
  220. package/dist/client/components/react-dev-overlay/app/ReactDevOverlay.js +4 -74
  221. package/dist/client/components/react-dev-overlay/app/ReactDevOverlay.js.map +1 -1
  222. package/dist/client/components/react-dev-overlay/pages/OldReactDevOverlay.d.ts +9 -0
  223. package/dist/client/components/react-dev-overlay/pages/OldReactDevOverlay.js +59 -0
  224. package/dist/client/components/react-dev-overlay/pages/OldReactDevOverlay.js.map +1 -0
  225. package/dist/client/components/react-dev-overlay/pages/ReactDevOverlay.d.ts +3 -9
  226. package/dist/client/components/react-dev-overlay/pages/ReactDevOverlay.js +5 -42
  227. package/dist/client/components/react-dev-overlay/pages/ReactDevOverlay.js.map +1 -1
  228. package/dist/client/components/react-dev-overlay/pages/hooks.d.ts +1 -1
  229. package/dist/client/components/react-dev-overlay/pages/hooks.js.map +1 -1
  230. package/dist/client/index.js +1 -1
  231. package/dist/compiled/next-server/app-page-experimental.runtime.dev.js +2 -2
  232. package/dist/compiled/next-server/app-page-experimental.runtime.dev.js.map +1 -1
  233. package/dist/compiled/next-server/app-page.runtime.dev.js +2 -2
  234. package/dist/compiled/next-server/app-page.runtime.dev.js.map +1 -1
  235. package/dist/esm/build/index.js +5 -2
  236. package/dist/esm/build/index.js.map +1 -1
  237. package/dist/esm/build/swc/index.js +1 -1
  238. package/dist/esm/build/webpack-config.js +2 -2
  239. package/dist/esm/client/app-bootstrap.js +1 -1
  240. package/dist/esm/client/components/react-dev-overlay/_experimental/app/ReactDevOverlay.js +76 -0
  241. package/dist/esm/client/components/react-dev-overlay/_experimental/app/ReactDevOverlay.js.map +1 -0
  242. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/CodeFrame/CodeFrame.js +102 -0
  243. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/CodeFrame/CodeFrame.js.map +1 -0
  244. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/CodeFrame/index.js +3 -0
  245. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/CodeFrame/index.js.map +1 -0
  246. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/CodeFrame/styles.js +15 -0
  247. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/CodeFrame/styles.js.map +1 -0
  248. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Dialog/Dialog.js +70 -0
  249. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Dialog/Dialog.js.map +1 -0
  250. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Dialog/DialogBody.js +13 -0
  251. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Dialog/DialogBody.js.map +1 -0
  252. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Dialog/DialogContent.js +13 -0
  253. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Dialog/DialogContent.js.map +1 -0
  254. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Dialog/DialogHeader.js +13 -0
  255. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Dialog/DialogHeader.js.map +1 -0
  256. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Dialog/index.js +7 -0
  257. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Dialog/index.js.map +1 -0
  258. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Dialog/styles.js +15 -0
  259. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Dialog/styles.js.map +1 -0
  260. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/LeftRightDialogHeader/LeftRightDialogHeader.js +162 -0
  261. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/LeftRightDialogHeader/LeftRightDialogHeader.js.map +1 -0
  262. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/LeftRightDialogHeader/index.js +4 -0
  263. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/LeftRightDialogHeader/index.js.map +1 -0
  264. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/LeftRightDialogHeader/styles.js +15 -0
  265. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/LeftRightDialogHeader/styles.js.map +1 -0
  266. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Overlay/Overlay.js +45 -0
  267. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Overlay/Overlay.js.map +1 -0
  268. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Overlay/body-locker.js +34 -0
  269. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Overlay/body-locker.js.map +1 -0
  270. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Overlay/index.js +3 -0
  271. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Overlay/index.js.map +1 -0
  272. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Overlay/maintain--tab-focus.js +2732 -0
  273. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Overlay/maintain--tab-focus.js.map +1 -0
  274. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Overlay/styles.js +15 -0
  275. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Overlay/styles.js.map +1 -0
  276. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/ShadowPortal.js +25 -0
  277. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/ShadowPortal.js.map +1 -0
  278. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Terminal/EditorLink.js +50 -0
  279. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Terminal/EditorLink.js.map +1 -0
  280. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Terminal/Terminal.js +90 -0
  281. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Terminal/Terminal.js.map +1 -0
  282. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Terminal/index.js +3 -0
  283. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Terminal/index.js.map +1 -0
  284. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Terminal/styles.js +15 -0
  285. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Terminal/styles.js.map +1 -0
  286. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Toast/Toast.js +19 -0
  287. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Toast/Toast.js.map +1 -0
  288. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Toast/index.js +4 -0
  289. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Toast/index.js.map +1 -0
  290. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Toast/styles.js +15 -0
  291. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/Toast/styles.js.map +1 -0
  292. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/VersionStalenessInfo/VersionStalenessInfo.js +75 -0
  293. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/VersionStalenessInfo/VersionStalenessInfo.js.map +1 -0
  294. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/VersionStalenessInfo/index.js +4 -0
  295. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/VersionStalenessInfo/index.js.map +1 -0
  296. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/VersionStalenessInfo/styles.js +15 -0
  297. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/VersionStalenessInfo/styles.js.map +1 -0
  298. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/copy-button/index.js +213 -0
  299. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/copy-button/index.js.map +1 -0
  300. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/hot-linked-text/index.js +57 -0
  301. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/hot-linked-text/index.js.map +1 -0
  302. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/nodejs-inspector.js +103 -0
  303. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/nodejs-inspector.js.map +1 -0
  304. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/container/BuildError.js +71 -0
  305. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/container/BuildError.js.map +1 -0
  306. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/container/Errors.js +364 -0
  307. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/container/Errors.js.map +1 -0
  308. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/container/RuntimeError/CallStackFrame.js +75 -0
  309. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/container/RuntimeError/CallStackFrame.js.map +1 -0
  310. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/container/RuntimeError/ComponentStackFrameRow.js +99 -0
  311. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/container/RuntimeError/ComponentStackFrameRow.js.map +1 -0
  312. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/container/RuntimeError/component-stack-pseudo-html.js +275 -0
  313. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/container/RuntimeError/component-stack-pseudo-html.js.map +1 -0
  314. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/container/RuntimeError/index.js +63 -0
  315. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/container/RuntimeError/index.js.map +1 -0
  316. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/container/StaticIndicator.js +39 -0
  317. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/container/StaticIndicator.js.map +1 -0
  318. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/container/root-layout-missing-tags-error.js +42 -0
  319. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/container/root-layout-missing-tags-error.js.map +1 -0
  320. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/attach-hydration-error-state.js +35 -0
  321. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/attach-hydration-error-state.js.map +1 -0
  322. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/console-error.js +20 -0
  323. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/console-error.js.map +1 -0
  324. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/enqueue-client-error.js +20 -0
  325. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/enqueue-client-error.js.map +1 -0
  326. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/format-webpack-messages.js +147 -0
  327. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/format-webpack-messages.js.map +1 -0
  328. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/get-error-by-type.js +34 -0
  329. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/get-error-by-type.js.map +1 -0
  330. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/get-socket-url.js +22 -0
  331. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/get-socket-url.js.map +1 -0
  332. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/get-source-map-from-file.js +66 -0
  333. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/get-source-map-from-file.js.map +1 -0
  334. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/get-source-map-url.js +17 -0
  335. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/get-source-map-url.js.map +1 -0
  336. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/hydration-error-info.js +73 -0
  337. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/hydration-error-info.js.map +1 -0
  338. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/launchEditor.js +391 -0
  339. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/launchEditor.js.map +1 -0
  340. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/node-stack-frames.js +60 -0
  341. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/node-stack-frames.js.map +1 -0
  342. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/noop-template.js +9 -0
  343. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/noop-template.js.map +1 -0
  344. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/parse-component-stack.js +83 -0
  345. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/parse-component-stack.js.map +1 -0
  346. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/parse-stack.js +38 -0
  347. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/parse-stack.js.map +1 -0
  348. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/runtime-error-handler.js +5 -0
  349. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/runtime-error-handler.js.map +1 -0
  350. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/stack-frame.js +112 -0
  351. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/stack-frame.js.map +1 -0
  352. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/stitched-error.js +40 -0
  353. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/stitched-error.js.map +1 -0
  354. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/use-error-handler.js +88 -0
  355. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/use-error-handler.js.map +1 -0
  356. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/use-open-in-editor.js +21 -0
  357. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/use-open-in-editor.js.map +1 -0
  358. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/use-websocket.js +93 -0
  359. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/use-websocket.js.map +1 -0
  360. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/webpack-module-path.js +31 -0
  361. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/helpers/webpack-module-path.js.map +1 -0
  362. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/hooks/use-on-click-outside.js +29 -0
  363. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/hooks/use-on-click-outside.js.map +1 -0
  364. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/icons/CloseIcon.js +30 -0
  365. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/icons/CloseIcon.js.map +1 -0
  366. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/icons/CollapseIcon.js +27 -0
  367. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/icons/CollapseIcon.js.map +1 -0
  368. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/icons/LightningBolt.js +18 -0
  369. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/icons/LightningBolt.js.map +1 -0
  370. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/styles/Base.js +20 -0
  371. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/styles/Base.js.map +1 -0
  372. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/styles/ComponentStyles.js +39 -0
  373. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/styles/ComponentStyles.js.map +1 -0
  374. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/styles/CssReset.js +20 -0
  375. package/dist/esm/client/components/react-dev-overlay/_experimental/internal/styles/CssReset.js.map +1 -0
  376. package/dist/esm/client/components/react-dev-overlay/_experimental/pages/ReactDevOverlay.js +42 -0
  377. package/dist/esm/client/components/react-dev-overlay/_experimental/pages/ReactDevOverlay.js.map +1 -0
  378. package/dist/esm/client/components/react-dev-overlay/app/OldReactDevOverlay.js +76 -0
  379. package/dist/esm/client/components/react-dev-overlay/app/OldReactDevOverlay.js.map +1 -0
  380. package/dist/esm/client/components/react-dev-overlay/app/ReactDevOverlay.js +3 -74
  381. package/dist/esm/client/components/react-dev-overlay/app/ReactDevOverlay.js.map +1 -1
  382. package/dist/esm/client/components/react-dev-overlay/pages/OldReactDevOverlay.js +42 -0
  383. package/dist/esm/client/components/react-dev-overlay/pages/OldReactDevOverlay.js.map +1 -0
  384. package/dist/esm/client/components/react-dev-overlay/pages/ReactDevOverlay.js +3 -40
  385. package/dist/esm/client/components/react-dev-overlay/pages/ReactDevOverlay.js.map +1 -1
  386. package/dist/esm/client/components/react-dev-overlay/pages/hooks.js.map +1 -1
  387. package/dist/esm/client/index.js +1 -1
  388. package/dist/esm/server/config.js +1 -1
  389. package/dist/esm/server/dev/hot-reloader-turbopack.js +1 -1
  390. package/dist/esm/server/dev/hot-reloader-webpack.js +1 -1
  391. package/dist/esm/server/lib/app-info-log.js +1 -1
  392. package/dist/esm/server/lib/start-server.js +1 -1
  393. package/dist/server/config.js +1 -1
  394. package/dist/server/dev/hot-reloader-turbopack.js +1 -1
  395. package/dist/server/dev/hot-reloader-webpack.js +1 -1
  396. package/dist/server/lib/app-info-log.js +1 -1
  397. package/dist/server/lib/start-server.js +1 -1
  398. package/dist/telemetry/anonymous-meta.js +1 -1
  399. package/dist/telemetry/events/session-stopped.js +2 -2
  400. package/dist/telemetry/events/version.js +2 -2
  401. package/package.json +15 -15
@@ -0,0 +1,75 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { getFrameSource } from '../../helpers/stack-frame';
3
+ import { useOpenInEditor } from '../../helpers/use-open-in-editor';
4
+ import { HotlinkedText } from '../../components/hot-linked-text';
5
+ export const CallStackFrame = function CallStackFrame(param) {
6
+ let { frame } = param;
7
+ var _frame_originalStackFrame;
8
+ // TODO: ability to expand resolved frames
9
+ // TODO: render error or external indicator
10
+ const f = (_frame_originalStackFrame = frame.originalStackFrame) != null ? _frame_originalStackFrame : frame.sourceStackFrame;
11
+ const hasSource = Boolean(frame.originalCodeFrame);
12
+ const open = useOpenInEditor(hasSource ? {
13
+ file: f.file,
14
+ lineNumber: f.lineNumber,
15
+ column: f.column
16
+ } : undefined);
17
+ // Format method to strip out the webpack layer prefix.
18
+ // e.g. (app-pages-browser)/./app/page.tsx -> ./app/page.tsx
19
+ const formattedMethod = f.methodName.replace(/^\([\w-]+\)\//, '');
20
+ // Formatted file source could be empty. e.g. <anonymous> will be formatted to empty string,
21
+ // we'll skip rendering the frame in this case.
22
+ const fileSource = getFrameSource(f);
23
+ if (!fileSource) {
24
+ return null;
25
+ }
26
+ return /*#__PURE__*/ _jsxs("div", {
27
+ "data-nextjs-call-stack-frame": true,
28
+ children: [
29
+ /*#__PURE__*/ _jsx("h3", {
30
+ "data-nextjs-frame-expanded": !frame.ignored,
31
+ children: /*#__PURE__*/ _jsx(HotlinkedText, {
32
+ text: formattedMethod
33
+ })
34
+ }),
35
+ /*#__PURE__*/ _jsxs("div", {
36
+ "data-has-source": hasSource ? 'true' : undefined,
37
+ "data-no-source": hasSource ? undefined : 'true',
38
+ tabIndex: hasSource ? 10 : undefined,
39
+ role: hasSource ? 'link' : undefined,
40
+ onClick: open,
41
+ title: hasSource ? 'Click to open in your editor' : undefined,
42
+ children: [
43
+ /*#__PURE__*/ _jsx("span", {
44
+ children: fileSource
45
+ }),
46
+ /*#__PURE__*/ _jsxs("svg", {
47
+ xmlns: "http://www.w3.org/2000/svg",
48
+ viewBox: "0 0 24 24",
49
+ fill: "none",
50
+ stroke: "currentColor",
51
+ strokeWidth: "2",
52
+ strokeLinecap: "round",
53
+ strokeLinejoin: "round",
54
+ children: [
55
+ /*#__PURE__*/ _jsx("path", {
56
+ d: "M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"
57
+ }),
58
+ /*#__PURE__*/ _jsx("polyline", {
59
+ points: "15 3 21 3 21 9"
60
+ }),
61
+ /*#__PURE__*/ _jsx("line", {
62
+ x1: "10",
63
+ y1: "14",
64
+ x2: "21",
65
+ y2: "3"
66
+ })
67
+ ]
68
+ })
69
+ ]
70
+ })
71
+ ]
72
+ });
73
+ };
74
+
75
+ //# sourceMappingURL=CallStackFrame.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../../src/client/components/react-dev-overlay/_experimental/internal/container/RuntimeError/CallStackFrame.tsx"],"sourcesContent":["import type { StackFrame } from 'next/dist/compiled/stacktrace-parser'\nimport {\n getFrameSource,\n type OriginalStackFrame,\n} from '../../helpers/stack-frame'\nimport { useOpenInEditor } from '../../helpers/use-open-in-editor'\nimport { HotlinkedText } from '../../components/hot-linked-text'\n\nexport const CallStackFrame: React.FC<{\n frame: OriginalStackFrame\n}> = function CallStackFrame({ frame }) {\n // TODO: ability to expand resolved frames\n // TODO: render error or external indicator\n\n const f: StackFrame = frame.originalStackFrame ?? frame.sourceStackFrame\n const hasSource = Boolean(frame.originalCodeFrame)\n const open = useOpenInEditor(\n hasSource\n ? {\n file: f.file,\n lineNumber: f.lineNumber,\n column: f.column,\n }\n : undefined\n )\n\n // Format method to strip out the webpack layer prefix.\n // e.g. (app-pages-browser)/./app/page.tsx -> ./app/page.tsx\n const formattedMethod = f.methodName.replace(/^\\([\\w-]+\\)\\//, '')\n\n // Formatted file source could be empty. e.g. <anonymous> will be formatted to empty string,\n // we'll skip rendering the frame in this case.\n const fileSource = getFrameSource(f)\n if (!fileSource) {\n return null\n }\n\n return (\n <div data-nextjs-call-stack-frame>\n <h3 data-nextjs-frame-expanded={!frame.ignored}>\n <HotlinkedText text={formattedMethod} />\n </h3>\n <div\n data-has-source={hasSource ? 'true' : undefined}\n data-no-source={hasSource ? undefined : 'true'}\n tabIndex={hasSource ? 10 : undefined}\n role={hasSource ? 'link' : undefined}\n onClick={open}\n title={hasSource ? 'Click to open in your editor' : undefined}\n >\n <span>{fileSource}</span>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"></path>\n <polyline points=\"15 3 21 3 21 9\"></polyline>\n <line x1=\"10\" y1=\"14\" x2=\"21\" y2=\"3\"></line>\n </svg>\n </div>\n </div>\n )\n}\n"],"names":["getFrameSource","useOpenInEditor","HotlinkedText","CallStackFrame","frame","f","originalStackFrame","sourceStackFrame","hasSource","Boolean","originalCodeFrame","open","file","lineNumber","column","undefined","formattedMethod","methodName","replace","fileSource","div","data-nextjs-call-stack-frame","h3","data-nextjs-frame-expanded","ignored","text","data-has-source","data-no-source","tabIndex","role","onClick","title","span","svg","xmlns","viewBox","fill","stroke","strokeWidth","strokeLinecap","strokeLinejoin","path","d","polyline","points","line","x1","y1","x2","y2"],"mappings":";AACA,SACEA,cAAc,QAET,4BAA2B;AAClC,SAASC,eAAe,QAAQ,mCAAkC;AAClE,SAASC,aAAa,QAAQ,mCAAkC;AAEhE,OAAO,MAAMC,iBAER,SAASA,eAAe,KAAS;IAAT,IAAA,EAAEC,KAAK,EAAE,GAAT;QAILA;IAHtB,0CAA0C;IAC1C,2CAA2C;IAE3C,MAAMC,IAAgBD,CAAAA,4BAAAA,MAAME,kBAAkB,YAAxBF,4BAA4BA,MAAMG,gBAAgB;IACxE,MAAMC,YAAYC,QAAQL,MAAMM,iBAAiB;IACjD,MAAMC,OAAOV,gBACXO,YACI;QACEI,MAAMP,EAAEO,IAAI;QACZC,YAAYR,EAAEQ,UAAU;QACxBC,QAAQT,EAAES,MAAM;IAClB,IACAC;IAGN,uDAAuD;IACvD,4DAA4D;IAC5D,MAAMC,kBAAkBX,EAAEY,UAAU,CAACC,OAAO,CAAC,iBAAiB;IAE9D,4FAA4F;IAC5F,+CAA+C;IAC/C,MAAMC,aAAanB,eAAeK;IAClC,IAAI,CAACc,YAAY;QACf,OAAO;IACT;IAEA,qBACE,MAACC;QAAIC,8BAA4B;;0BAC/B,KAACC;gBAAGC,8BAA4B,CAACnB,MAAMoB,OAAO;0BAC5C,cAAA,KAACtB;oBAAcuB,MAAMT;;;0BAEvB,MAACI;gBACCM,mBAAiBlB,YAAY,SAASO;gBACtCY,kBAAgBnB,YAAYO,YAAY;gBACxCa,UAAUpB,YAAY,KAAKO;gBAC3Bc,MAAMrB,YAAY,SAASO;gBAC3Be,SAASnB;gBACToB,OAAOvB,YAAY,iCAAiCO;;kCAEpD,KAACiB;kCAAMb;;kCACP,MAACc;wBACCC,OAAM;wBACNC,SAAQ;wBACRC,MAAK;wBACLC,QAAO;wBACPC,aAAY;wBACZC,eAAc;wBACdC,gBAAe;;0CAEf,KAACC;gCAAKC,GAAE;;0CACR,KAACC;gCAASC,QAAO;;0CACjB,KAACC;gCAAKC,IAAG;gCAAKC,IAAG;gCAAKC,IAAG;gCAAKC,IAAG;;;;;;;;AAK3C,EAAC"}
@@ -0,0 +1,99 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import { useOpenInEditor } from '../../helpers/use-open-in-editor';
4
+ import { HotlinkedText } from '../../components/hot-linked-text';
5
+ function EditorLink(param) {
6
+ let { children, componentStackFrame: { file, column, lineNumber } } = param;
7
+ const open = useOpenInEditor({
8
+ file,
9
+ column,
10
+ lineNumber
11
+ });
12
+ return /*#__PURE__*/ _jsxs("div", {
13
+ tabIndex: 10,
14
+ role: 'link',
15
+ onClick: open,
16
+ title: 'Click to open in your editor',
17
+ children: [
18
+ children,
19
+ /*#__PURE__*/ _jsxs("svg", {
20
+ xmlns: "http://www.w3.org/2000/svg",
21
+ viewBox: "0 0 24 24",
22
+ fill: "none",
23
+ stroke: "currentColor",
24
+ strokeWidth: "2",
25
+ strokeLinecap: "round",
26
+ strokeLinejoin: "round",
27
+ children: [
28
+ /*#__PURE__*/ _jsx("path", {
29
+ d: "M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"
30
+ }),
31
+ /*#__PURE__*/ _jsx("polyline", {
32
+ points: "15 3 21 3 21 9"
33
+ }),
34
+ /*#__PURE__*/ _jsx("line", {
35
+ x1: "10",
36
+ y1: "14",
37
+ x2: "21",
38
+ y2: "3"
39
+ })
40
+ ]
41
+ })
42
+ ]
43
+ });
44
+ }
45
+ function formatLineNumber(lineNumber, column) {
46
+ if (!column) {
47
+ return lineNumber;
48
+ }
49
+ return lineNumber + ":" + column;
50
+ }
51
+ function LocationLine(param) {
52
+ let { componentStackFrame } = param;
53
+ const { file, lineNumber, column } = componentStackFrame;
54
+ return /*#__PURE__*/ _jsxs(_Fragment, {
55
+ children: [
56
+ file,
57
+ " ",
58
+ lineNumber ? "(" + formatLineNumber(lineNumber, column) + ")" : ''
59
+ ]
60
+ });
61
+ }
62
+ function SourceLocation(param) {
63
+ let { componentStackFrame } = param;
64
+ const { file, canOpenInEditor } = componentStackFrame;
65
+ if (file && canOpenInEditor) {
66
+ return /*#__PURE__*/ _jsx(EditorLink, {
67
+ componentStackFrame: componentStackFrame,
68
+ children: /*#__PURE__*/ _jsx("span", {
69
+ children: /*#__PURE__*/ _jsx(LocationLine, {
70
+ componentStackFrame: componentStackFrame
71
+ })
72
+ })
73
+ });
74
+ }
75
+ return /*#__PURE__*/ _jsx("div", {
76
+ children: /*#__PURE__*/ _jsx(LocationLine, {
77
+ componentStackFrame: componentStackFrame
78
+ })
79
+ });
80
+ }
81
+ export function ComponentStackFrameRow(param) {
82
+ let { componentStackFrame } = param;
83
+ const { component } = componentStackFrame;
84
+ return /*#__PURE__*/ _jsxs("div", {
85
+ "data-nextjs-component-stack-frame": true,
86
+ children: [
87
+ /*#__PURE__*/ _jsx("h3", {
88
+ children: /*#__PURE__*/ _jsx(HotlinkedText, {
89
+ text: component
90
+ })
91
+ }),
92
+ /*#__PURE__*/ _jsx(SourceLocation, {
93
+ componentStackFrame: componentStackFrame
94
+ })
95
+ ]
96
+ });
97
+ }
98
+
99
+ //# sourceMappingURL=ComponentStackFrameRow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../../src/client/components/react-dev-overlay/_experimental/internal/container/RuntimeError/ComponentStackFrameRow.tsx"],"sourcesContent":["import React from 'react'\nimport type { ComponentStackFrame } from '../../helpers/parse-component-stack'\nimport { useOpenInEditor } from '../../helpers/use-open-in-editor'\nimport { HotlinkedText } from '../../components/hot-linked-text'\n\nfunction EditorLink({\n children,\n componentStackFrame: { file, column, lineNumber },\n}: {\n children: React.ReactNode\n componentStackFrame: ComponentStackFrame\n}) {\n const open = useOpenInEditor({\n file,\n column,\n lineNumber,\n })\n\n return (\n <div\n tabIndex={10} // match CallStackFrame\n role={'link'}\n onClick={open}\n title={'Click to open in your editor'}\n >\n {children}\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"></path>\n <polyline points=\"15 3 21 3 21 9\"></polyline>\n <line x1=\"10\" y1=\"14\" x2=\"21\" y2=\"3\"></line>\n </svg>\n </div>\n )\n}\n\nfunction formatLineNumber(lineNumber: number, column: number | undefined) {\n if (!column) {\n return lineNumber\n }\n\n return `${lineNumber}:${column}`\n}\n\nfunction LocationLine({\n componentStackFrame,\n}: {\n componentStackFrame: ComponentStackFrame\n}) {\n const { file, lineNumber, column } = componentStackFrame\n return (\n <>\n {file} {lineNumber ? `(${formatLineNumber(lineNumber, column)})` : ''}\n </>\n )\n}\n\nfunction SourceLocation({\n componentStackFrame,\n}: {\n componentStackFrame: ComponentStackFrame\n}) {\n const { file, canOpenInEditor } = componentStackFrame\n\n if (file && canOpenInEditor) {\n return (\n <EditorLink componentStackFrame={componentStackFrame}>\n <span>\n <LocationLine componentStackFrame={componentStackFrame} />\n </span>\n </EditorLink>\n )\n }\n\n return (\n <div>\n <LocationLine componentStackFrame={componentStackFrame} />\n </div>\n )\n}\n\nexport function ComponentStackFrameRow({\n componentStackFrame,\n}: {\n componentStackFrame: ComponentStackFrame\n}) {\n const { component } = componentStackFrame\n\n return (\n <div data-nextjs-component-stack-frame>\n <h3>\n <HotlinkedText text={component} />\n </h3>\n <SourceLocation componentStackFrame={componentStackFrame} />\n </div>\n )\n}\n"],"names":["React","useOpenInEditor","HotlinkedText","EditorLink","children","componentStackFrame","file","column","lineNumber","open","div","tabIndex","role","onClick","title","svg","xmlns","viewBox","fill","stroke","strokeWidth","strokeLinecap","strokeLinejoin","path","d","polyline","points","line","x1","y1","x2","y2","formatLineNumber","LocationLine","SourceLocation","canOpenInEditor","span","ComponentStackFrameRow","component","data-nextjs-component-stack-frame","h3","text"],"mappings":";AAAA,OAAOA,WAAW,QAAO;AAEzB,SAASC,eAAe,QAAQ,mCAAkC;AAClE,SAASC,aAAa,QAAQ,mCAAkC;AAEhE,SAASC,WAAW,KAMnB;IANmB,IAAA,EAClBC,QAAQ,EACRC,qBAAqB,EAAEC,IAAI,EAAEC,MAAM,EAAEC,UAAU,EAAE,EAIlD,GANmB;IAOlB,MAAMC,OAAOR,gBAAgB;QAC3BK;QACAC;QACAC;IACF;IAEA,qBACE,MAACE;QACCC,UAAU;QACVC,MAAM;QACNC,SAASJ;QACTK,OAAO;;YAENV;0BACD,MAACW;gBACCC,OAAM;gBACNC,SAAQ;gBACRC,MAAK;gBACLC,QAAO;gBACPC,aAAY;gBACZC,eAAc;gBACdC,gBAAe;;kCAEf,KAACC;wBAAKC,GAAE;;kCACR,KAACC;wBAASC,QAAO;;kCACjB,KAACC;wBAAKC,IAAG;wBAAKC,IAAG;wBAAKC,IAAG;wBAAKC,IAAG;;;;;;AAIzC;AAEA,SAASC,iBAAiBxB,UAAkB,EAAED,MAA0B;IACtE,IAAI,CAACA,QAAQ;QACX,OAAOC;IACT;IAEA,OAAO,AAAGA,aAAW,MAAGD;AAC1B;AAEA,SAAS0B,aAAa,KAIrB;IAJqB,IAAA,EACpB5B,mBAAmB,EAGpB,GAJqB;IAKpB,MAAM,EAAEC,IAAI,EAAEE,UAAU,EAAED,MAAM,EAAE,GAAGF;IACrC,qBACE;;YACGC;YAAK;YAAEE,aAAa,AAAC,MAAGwB,iBAAiBxB,YAAYD,UAAQ,MAAK;;;AAGzE;AAEA,SAAS2B,eAAe,KAIvB;IAJuB,IAAA,EACtB7B,mBAAmB,EAGpB,GAJuB;IAKtB,MAAM,EAAEC,IAAI,EAAE6B,eAAe,EAAE,GAAG9B;IAElC,IAAIC,QAAQ6B,iBAAiB;QAC3B,qBACE,KAAChC;YAAWE,qBAAqBA;sBAC/B,cAAA,KAAC+B;0BACC,cAAA,KAACH;oBAAa5B,qBAAqBA;;;;IAI3C;IAEA,qBACE,KAACK;kBACC,cAAA,KAACuB;YAAa5B,qBAAqBA;;;AAGzC;AAEA,OAAO,SAASgC,uBAAuB,KAItC;IAJsC,IAAA,EACrChC,mBAAmB,EAGpB,GAJsC;IAKrC,MAAM,EAAEiC,SAAS,EAAE,GAAGjC;IAEtB,qBACE,MAACK;QAAI6B,mCAAiC;;0BACpC,KAACC;0BACC,cAAA,KAACtC;oBAAcuC,MAAMH;;;0BAEvB,KAACJ;gBAAe7B,qBAAqBA;;;;AAG3C"}
@@ -0,0 +1,275 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { createElement as _createElement } from "react";
3
+ import { useMemo, Fragment, useState } from 'react';
4
+ import { CollapseIcon } from '../../icons/CollapseIcon';
5
+ function getAdjacentProps(isAdj) {
6
+ return {
7
+ 'data-nextjs-container-errors-pseudo-html--tag-adjacent': isAdj
8
+ };
9
+ }
10
+ /**
11
+ *
12
+ * Format component stack into pseudo HTML
13
+ * component stack is an array of strings, e.g.: ['p', 'p', 'Page', ...]
14
+ *
15
+ * For html tags mismatch, it will render it for the code block
16
+ *
17
+ * ```
18
+ * <pre>
19
+ * <code>{`
20
+ * <Page>
21
+ * <p red>
22
+ * <p red>
23
+ * `}</code>
24
+ * </pre>
25
+ * ```
26
+ *
27
+ * For text mismatch, it will render it for the code block
28
+ *
29
+ * ```
30
+ * <pre>
31
+ * <code>{`
32
+ * <Page>
33
+ * <p>
34
+ * "Server Text" (green)
35
+ * "Client Text" (red)
36
+ * </p>
37
+ * </Page>
38
+ * `}</code>
39
+ * ```
40
+ *
41
+ * For bad text under a tag it will render it for the code block,
42
+ * e.g. "Mismatched Text" under <p>
43
+ *
44
+ * ```
45
+ * <pre>
46
+ * <code>{`
47
+ * <Page>
48
+ * <div>
49
+ * <p>
50
+ * "Mismatched Text" (red)
51
+ * </p>
52
+ * </div>
53
+ * </Page>
54
+ * `}</code>
55
+ * ```
56
+ *
57
+ */ export function PseudoHtmlDiff(param) {
58
+ let { componentStackFrames, firstContent, secondContent, hydrationMismatchType, reactOutputComponentDiff, ...props } = param;
59
+ const isHtmlTagsWarning = hydrationMismatchType === 'tag';
60
+ const isReactHydrationDiff = !!reactOutputComponentDiff;
61
+ // For text mismatch, mismatched text will take 2 rows, so we display 4 rows of component stack
62
+ const MAX_NON_COLLAPSED_FRAMES = isHtmlTagsWarning ? 6 : 4;
63
+ const [isHtmlCollapsed, toggleCollapseHtml] = useState(true);
64
+ const htmlComponents = useMemo(()=>{
65
+ const componentStacks = [];
66
+ // React 19 unified mismatch
67
+ if (isReactHydrationDiff) {
68
+ let currentComponentIndex = componentStackFrames.length - 1;
69
+ const reactComponentDiffLines = reactOutputComponentDiff.split('\n');
70
+ const diffHtmlStack = [];
71
+ reactComponentDiffLines.forEach((line, index)=>{
72
+ let trimmedLine = line.trim();
73
+ const isDiffLine = trimmedLine[0] === '+' || trimmedLine[0] === '-';
74
+ const spaces = ' '.repeat(Math.max(componentStacks.length * 2, 1));
75
+ if (isDiffLine) {
76
+ const sign = trimmedLine[0];
77
+ trimmedLine = trimmedLine.slice(1).trim() // trim spaces after sign
78
+ ;
79
+ diffHtmlStack.push(/*#__PURE__*/ _jsxs("span", {
80
+ "data-nextjs-container-errors-pseudo-html--diff": sign === '+' ? 'add' : 'remove',
81
+ children: [
82
+ sign,
83
+ spaces,
84
+ trimmedLine,
85
+ '\n'
86
+ ]
87
+ }, 'comp-diff' + index));
88
+ } else if (currentComponentIndex >= 0) {
89
+ const isUserLandComponent = trimmedLine.startsWith('<' + componentStackFrames[currentComponentIndex].component);
90
+ // If it's matched userland component or it's ... we will keep the component stack in diff
91
+ if (isUserLandComponent || trimmedLine === '...') {
92
+ currentComponentIndex--;
93
+ componentStacks.push(/*#__PURE__*/ _jsxs("span", {
94
+ children: [
95
+ spaces,
96
+ trimmedLine,
97
+ '\n'
98
+ ]
99
+ }, 'comp-diff' + index));
100
+ } else if (!isHtmlCollapsed) {
101
+ componentStacks.push(/*#__PURE__*/ _jsxs("span", {
102
+ children: [
103
+ spaces,
104
+ trimmedLine,
105
+ '\n'
106
+ ]
107
+ }, 'comp-diff' + index));
108
+ }
109
+ } else if (!isHtmlCollapsed) {
110
+ // In general, if it's not collapsed, show the whole diff
111
+ componentStacks.push(/*#__PURE__*/ _jsxs("span", {
112
+ children: [
113
+ spaces,
114
+ trimmedLine,
115
+ '\n'
116
+ ]
117
+ }, 'comp-diff' + index));
118
+ }
119
+ });
120
+ return componentStacks.concat(diffHtmlStack);
121
+ }
122
+ const nestedHtmlStack = [];
123
+ const tagNames = isHtmlTagsWarning ? [
124
+ firstContent.replace(/<|>/g, ''),
125
+ secondContent.replace(/<|>/g, '')
126
+ ] : [];
127
+ let lastText = '';
128
+ const componentStack = componentStackFrames.map((frame)=>frame.component).reverse();
129
+ // [child index, parent index]
130
+ const matchedIndex = [
131
+ -1,
132
+ -1
133
+ ];
134
+ if (isHtmlTagsWarning) {
135
+ // Reverse search for the child tag
136
+ for(let i = componentStack.length - 1; i >= 0; i--){
137
+ if (componentStack[i] === tagNames[0]) {
138
+ matchedIndex[0] = i;
139
+ break;
140
+ }
141
+ }
142
+ // Start searching parent tag from child tag above
143
+ for(let i = matchedIndex[0] - 1; i >= 0; i--){
144
+ if (componentStack[i] === tagNames[1]) {
145
+ matchedIndex[1] = i;
146
+ break;
147
+ }
148
+ }
149
+ }
150
+ componentStack.forEach((component, index, componentList)=>{
151
+ const spaces = ' '.repeat(nestedHtmlStack.length * 2);
152
+ // When component is the server or client tag name, highlight it
153
+ const isHighlightedTag = isHtmlTagsWarning ? index === matchedIndex[0] || index === matchedIndex[1] : tagNames.includes(component);
154
+ const isAdjacentTag = isHighlightedTag || Math.abs(index - matchedIndex[0]) <= 1 || Math.abs(index - matchedIndex[1]) <= 1;
155
+ const isLastFewFrames = !isHtmlTagsWarning && index >= componentList.length - 6;
156
+ const adjProps = getAdjacentProps(isAdjacentTag);
157
+ if (isHtmlTagsWarning && isAdjacentTag || isLastFewFrames) {
158
+ const codeLine = /*#__PURE__*/ _jsxs("span", {
159
+ children: [
160
+ spaces,
161
+ /*#__PURE__*/ _jsx("span", {
162
+ ...adjProps,
163
+ ...isHighlightedTag ? {
164
+ 'data-nextjs-container-errors-pseudo-html--tag-error': true
165
+ } : undefined,
166
+ children: "<" + component + ">\n"
167
+ })
168
+ ]
169
+ });
170
+ lastText = component;
171
+ const wrappedCodeLine = /*#__PURE__*/ _jsxs(Fragment, {
172
+ children: [
173
+ codeLine,
174
+ isHighlightedTag && /*#__PURE__*/ _jsx("span", {
175
+ "data-nextjs-container-errors-pseudo-html--hint": true,
176
+ children: spaces + '^'.repeat(component.length + 2) + '\n'
177
+ })
178
+ ]
179
+ }, nestedHtmlStack.length);
180
+ nestedHtmlStack.push(wrappedCodeLine);
181
+ } else {
182
+ if (nestedHtmlStack.length >= MAX_NON_COLLAPSED_FRAMES && isHtmlCollapsed) {
183
+ return;
184
+ }
185
+ if (!isHtmlCollapsed || isLastFewFrames) {
186
+ nestedHtmlStack.push(/*#__PURE__*/ _createElement("span", {
187
+ ...adjProps,
188
+ key: nestedHtmlStack.length,
189
+ children: [
190
+ spaces,
191
+ '<' + component + '>\n'
192
+ ]
193
+ }));
194
+ } else if (isHtmlCollapsed && lastText !== '...') {
195
+ lastText = '...';
196
+ nestedHtmlStack.push(/*#__PURE__*/ _createElement("span", {
197
+ ...adjProps,
198
+ key: nestedHtmlStack.length,
199
+ children: [
200
+ spaces,
201
+ '...\n'
202
+ ]
203
+ }));
204
+ }
205
+ }
206
+ });
207
+ // Hydration mismatch: text or text-tag
208
+ if (!isHtmlTagsWarning) {
209
+ const spaces = ' '.repeat(nestedHtmlStack.length * 2);
210
+ let wrappedCodeLine;
211
+ if (hydrationMismatchType === 'text') {
212
+ // hydration type is "text", represent [server content, client content]
213
+ wrappedCodeLine = /*#__PURE__*/ _jsxs(Fragment, {
214
+ children: [
215
+ /*#__PURE__*/ _jsx("span", {
216
+ "data-nextjs-container-errors-pseudo-html--diff": "remove",
217
+ children: spaces + ('"' + firstContent + '"\n')
218
+ }),
219
+ /*#__PURE__*/ _jsx("span", {
220
+ "data-nextjs-container-errors-pseudo-html--diff": "add",
221
+ children: spaces + ('"' + secondContent + '"\n')
222
+ })
223
+ ]
224
+ }, nestedHtmlStack.length);
225
+ } else if (hydrationMismatchType === 'text-in-tag') {
226
+ // hydration type is "text-in-tag", represent [parent tag, mismatch content]
227
+ wrappedCodeLine = /*#__PURE__*/ _jsxs(Fragment, {
228
+ children: [
229
+ /*#__PURE__*/ _jsx("span", {
230
+ "data-nextjs-container-errors-pseudo-html--tag-adjacent": true,
231
+ children: spaces + ("<" + secondContent + ">\n")
232
+ }),
233
+ /*#__PURE__*/ _jsx("span", {
234
+ "data-nextjs-container-errors-pseudo-html--diff": "remove",
235
+ children: spaces + (' "' + firstContent + '"\n')
236
+ })
237
+ ]
238
+ }, nestedHtmlStack.length);
239
+ }
240
+ nestedHtmlStack.push(wrappedCodeLine);
241
+ }
242
+ return nestedHtmlStack;
243
+ }, [
244
+ componentStackFrames,
245
+ isHtmlCollapsed,
246
+ firstContent,
247
+ secondContent,
248
+ isHtmlTagsWarning,
249
+ hydrationMismatchType,
250
+ MAX_NON_COLLAPSED_FRAMES,
251
+ isReactHydrationDiff,
252
+ reactOutputComponentDiff
253
+ ]);
254
+ return /*#__PURE__*/ _jsxs("div", {
255
+ "data-nextjs-container-errors-pseudo-html": true,
256
+ children: [
257
+ /*#__PURE__*/ _jsx("button", {
258
+ tabIndex: 10,
259
+ "data-nextjs-container-errors-pseudo-html-collapse": true,
260
+ onClick: ()=>toggleCollapseHtml(!isHtmlCollapsed),
261
+ children: /*#__PURE__*/ _jsx(CollapseIcon, {
262
+ collapsed: isHtmlCollapsed
263
+ })
264
+ }),
265
+ /*#__PURE__*/ _jsx("pre", {
266
+ ...props,
267
+ children: /*#__PURE__*/ _jsx("code", {
268
+ children: htmlComponents
269
+ })
270
+ })
271
+ ]
272
+ });
273
+ }
274
+
275
+ //# sourceMappingURL=component-stack-pseudo-html.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../../src/client/components/react-dev-overlay/_experimental/internal/container/RuntimeError/component-stack-pseudo-html.tsx"],"sourcesContent":["import { useMemo, Fragment, useState } from 'react'\nimport type { ComponentStackFrame } from '../../helpers/parse-component-stack'\nimport { CollapseIcon } from '../../icons/CollapseIcon'\n\nfunction getAdjacentProps(isAdj: boolean) {\n return { 'data-nextjs-container-errors-pseudo-html--tag-adjacent': isAdj }\n}\n\n/**\n *\n * Format component stack into pseudo HTML\n * component stack is an array of strings, e.g.: ['p', 'p', 'Page', ...]\n *\n * For html tags mismatch, it will render it for the code block\n *\n * ```\n * <pre>\n * <code>{`\n * <Page>\n * <p red>\n * <p red>\n * `}</code>\n * </pre>\n * ```\n *\n * For text mismatch, it will render it for the code block\n *\n * ```\n * <pre>\n * <code>{`\n * <Page>\n * <p>\n * \"Server Text\" (green)\n * \"Client Text\" (red)\n * </p>\n * </Page>\n * `}</code>\n * ```\n *\n * For bad text under a tag it will render it for the code block,\n * e.g. \"Mismatched Text\" under <p>\n *\n * ```\n * <pre>\n * <code>{`\n * <Page>\n * <div>\n * <p>\n * \"Mismatched Text\" (red)\n * </p>\n * </div>\n * </Page>\n * `}</code>\n * ```\n *\n */\nexport function PseudoHtmlDiff({\n componentStackFrames,\n firstContent,\n secondContent,\n hydrationMismatchType,\n reactOutputComponentDiff,\n ...props\n}: {\n componentStackFrames: ComponentStackFrame[]\n firstContent: string\n secondContent: string\n reactOutputComponentDiff: string | undefined\n hydrationMismatchType: 'tag' | 'text' | 'text-in-tag'\n} & React.HTMLAttributes<HTMLPreElement>) {\n const isHtmlTagsWarning = hydrationMismatchType === 'tag'\n const isReactHydrationDiff = !!reactOutputComponentDiff\n\n // For text mismatch, mismatched text will take 2 rows, so we display 4 rows of component stack\n const MAX_NON_COLLAPSED_FRAMES = isHtmlTagsWarning ? 6 : 4\n const [isHtmlCollapsed, toggleCollapseHtml] = useState(true)\n\n const htmlComponents = useMemo(() => {\n const componentStacks: React.ReactNode[] = []\n // React 19 unified mismatch\n if (isReactHydrationDiff) {\n let currentComponentIndex = componentStackFrames.length - 1\n const reactComponentDiffLines = reactOutputComponentDiff.split('\\n')\n const diffHtmlStack: React.ReactNode[] = []\n reactComponentDiffLines.forEach((line, index) => {\n let trimmedLine = line.trim()\n const isDiffLine = trimmedLine[0] === '+' || trimmedLine[0] === '-'\n const spaces = ' '.repeat(Math.max(componentStacks.length * 2, 1))\n\n if (isDiffLine) {\n const sign = trimmedLine[0]\n trimmedLine = trimmedLine.slice(1).trim() // trim spaces after sign\n diffHtmlStack.push(\n <span\n key={'comp-diff' + index}\n data-nextjs-container-errors-pseudo-html--diff={\n sign === '+' ? 'add' : 'remove'\n }\n >\n {sign}\n {spaces}\n {trimmedLine}\n {'\\n'}\n </span>\n )\n } else if (currentComponentIndex >= 0) {\n const isUserLandComponent = trimmedLine.startsWith(\n '<' + componentStackFrames[currentComponentIndex].component\n )\n // If it's matched userland component or it's ... we will keep the component stack in diff\n if (isUserLandComponent || trimmedLine === '...') {\n currentComponentIndex--\n componentStacks.push(\n <span key={'comp-diff' + index}>\n {spaces}\n {trimmedLine}\n {'\\n'}\n </span>\n )\n } else if (!isHtmlCollapsed) {\n componentStacks.push(\n <span key={'comp-diff' + index}>\n {spaces}\n {trimmedLine}\n {'\\n'}\n </span>\n )\n }\n } else if (!isHtmlCollapsed) {\n // In general, if it's not collapsed, show the whole diff\n componentStacks.push(\n <span key={'comp-diff' + index}>\n {spaces}\n {trimmedLine}\n {'\\n'}\n </span>\n )\n }\n })\n return componentStacks.concat(diffHtmlStack)\n }\n\n const nestedHtmlStack: React.ReactNode[] = []\n const tagNames = isHtmlTagsWarning\n ? // tags could have < or > in the name, so we always remove them to match\n [firstContent.replace(/<|>/g, ''), secondContent.replace(/<|>/g, '')]\n : []\n\n let lastText = ''\n\n const componentStack = componentStackFrames\n .map((frame) => frame.component)\n .reverse()\n\n // [child index, parent index]\n const matchedIndex = [-1, -1]\n if (isHtmlTagsWarning) {\n // Reverse search for the child tag\n for (let i = componentStack.length - 1; i >= 0; i--) {\n if (componentStack[i] === tagNames[0]) {\n matchedIndex[0] = i\n break\n }\n }\n // Start searching parent tag from child tag above\n for (let i = matchedIndex[0] - 1; i >= 0; i--) {\n if (componentStack[i] === tagNames[1]) {\n matchedIndex[1] = i\n break\n }\n }\n }\n\n componentStack.forEach((component, index, componentList) => {\n const spaces = ' '.repeat(nestedHtmlStack.length * 2)\n\n // When component is the server or client tag name, highlight it\n const isHighlightedTag = isHtmlTagsWarning\n ? index === matchedIndex[0] || index === matchedIndex[1]\n : tagNames.includes(component)\n const isAdjacentTag =\n isHighlightedTag ||\n Math.abs(index - matchedIndex[0]) <= 1 ||\n Math.abs(index - matchedIndex[1]) <= 1\n\n const isLastFewFrames =\n !isHtmlTagsWarning && index >= componentList.length - 6\n\n const adjProps = getAdjacentProps(isAdjacentTag)\n\n if ((isHtmlTagsWarning && isAdjacentTag) || isLastFewFrames) {\n const codeLine = (\n <span>\n {spaces}\n <span\n {...adjProps}\n {...{\n ...(isHighlightedTag\n ? {\n 'data-nextjs-container-errors-pseudo-html--tag-error':\n true,\n }\n : undefined),\n }}\n >\n {`<${component}>\\n`}\n </span>\n </span>\n )\n lastText = component\n\n const wrappedCodeLine = (\n <Fragment key={nestedHtmlStack.length}>\n {codeLine}\n {/* Add ^^^^ to the target tags used for snapshots but not displayed for users */}\n {isHighlightedTag && (\n <span data-nextjs-container-errors-pseudo-html--hint>\n {spaces + '^'.repeat(component.length + 2) + '\\n'}\n </span>\n )}\n </Fragment>\n )\n nestedHtmlStack.push(wrappedCodeLine)\n } else {\n if (\n nestedHtmlStack.length >= MAX_NON_COLLAPSED_FRAMES &&\n isHtmlCollapsed\n ) {\n return\n }\n\n if (!isHtmlCollapsed || isLastFewFrames) {\n nestedHtmlStack.push(\n <span {...adjProps} key={nestedHtmlStack.length}>\n {spaces}\n {'<' + component + '>\\n'}\n </span>\n )\n } else if (isHtmlCollapsed && lastText !== '...') {\n lastText = '...'\n nestedHtmlStack.push(\n <span {...adjProps} key={nestedHtmlStack.length}>\n {spaces}\n {'...\\n'}\n </span>\n )\n }\n }\n })\n // Hydration mismatch: text or text-tag\n if (!isHtmlTagsWarning) {\n const spaces = ' '.repeat(nestedHtmlStack.length * 2)\n let wrappedCodeLine\n if (hydrationMismatchType === 'text') {\n // hydration type is \"text\", represent [server content, client content]\n wrappedCodeLine = (\n <Fragment key={nestedHtmlStack.length}>\n <span data-nextjs-container-errors-pseudo-html--diff=\"remove\">\n {spaces + `\"${firstContent}\"\\n`}\n </span>\n <span data-nextjs-container-errors-pseudo-html--diff=\"add\">\n {spaces + `\"${secondContent}\"\\n`}\n </span>\n </Fragment>\n )\n } else if (hydrationMismatchType === 'text-in-tag') {\n // hydration type is \"text-in-tag\", represent [parent tag, mismatch content]\n wrappedCodeLine = (\n <Fragment key={nestedHtmlStack.length}>\n <span data-nextjs-container-errors-pseudo-html--tag-adjacent>\n {spaces + `<${secondContent}>\\n`}\n </span>\n <span data-nextjs-container-errors-pseudo-html--diff=\"remove\">\n {spaces + ` \"${firstContent}\"\\n`}\n </span>\n </Fragment>\n )\n }\n nestedHtmlStack.push(wrappedCodeLine)\n }\n\n return nestedHtmlStack\n }, [\n componentStackFrames,\n isHtmlCollapsed,\n firstContent,\n secondContent,\n isHtmlTagsWarning,\n hydrationMismatchType,\n MAX_NON_COLLAPSED_FRAMES,\n isReactHydrationDiff,\n reactOutputComponentDiff,\n ])\n\n return (\n <div data-nextjs-container-errors-pseudo-html>\n <button\n tabIndex={10} // match CallStackFrame\n data-nextjs-container-errors-pseudo-html-collapse\n onClick={() => toggleCollapseHtml(!isHtmlCollapsed)}\n >\n <CollapseIcon collapsed={isHtmlCollapsed} />\n </button>\n <pre {...props}>\n <code>{htmlComponents}</code>\n </pre>\n </div>\n )\n}\n"],"names":["useMemo","Fragment","useState","CollapseIcon","getAdjacentProps","isAdj","PseudoHtmlDiff","componentStackFrames","firstContent","secondContent","hydrationMismatchType","reactOutputComponentDiff","props","isHtmlTagsWarning","isReactHydrationDiff","MAX_NON_COLLAPSED_FRAMES","isHtmlCollapsed","toggleCollapseHtml","htmlComponents","componentStacks","currentComponentIndex","length","reactComponentDiffLines","split","diffHtmlStack","forEach","line","index","trimmedLine","trim","isDiffLine","spaces","repeat","Math","max","sign","slice","push","span","data-nextjs-container-errors-pseudo-html--diff","isUserLandComponent","startsWith","component","concat","nestedHtmlStack","tagNames","replace","lastText","componentStack","map","frame","reverse","matchedIndex","i","componentList","isHighlightedTag","includes","isAdjacentTag","abs","isLastFewFrames","adjProps","codeLine","undefined","wrappedCodeLine","data-nextjs-container-errors-pseudo-html--hint","key","data-nextjs-container-errors-pseudo-html--tag-adjacent","div","data-nextjs-container-errors-pseudo-html","button","tabIndex","data-nextjs-container-errors-pseudo-html-collapse","onClick","collapsed","pre","code"],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ import { _ as _tagged_template_literal_loose } from "@swc/helpers/_/_tagged_template_literal_loose";
2
+ function _templateObject() {
3
+ const data = _tagged_template_literal_loose([
4
+ "\n [data-nextjs-call-stack-frame]:not(:last-child),\n [data-nextjs-component-stack-frame]:not(:last-child) {\n margin-bottom: var(--size-gap-double);\n }\n\n [data-expand-ignore-button]:focus:not(:focus-visible),\n [data-expand-ignore-button] {\n background: none;\n border: none;\n color: var(--color-font);\n cursor: pointer;\n font-size: var(--size-font);\n margin: var(--size-gap) 0;\n padding: 0;\n text-decoration: underline;\n outline: none;\n }\n\n [data-nextjs-data-runtime-error-copy-button],\n [data-nextjs-data-runtime-error-copy-button]:focus:not(:focus-visible) {\n position: relative;\n margin-left: var(--size-gap);\n padding: 0;\n border: none;\n background: none;\n outline: none;\n }\n [data-nextjs-data-runtime-error-copy-button] > svg {\n vertical-align: middle;\n }\n .nextjs-data-runtime-error-copy-button {\n color: inherit;\n }\n .nextjs-data-runtime-error-copy-button--initial:hover {\n cursor: pointer;\n }\n .nextjs-data-runtime-error-copy-button[aria-disabled='true'] {\n opacity: 0.3;\n cursor: not-allowed;\n }\n .nextjs-data-runtime-error-copy-button--error,\n .nextjs-data-runtime-error-copy-button--error:hover {\n color: var(--color-ansi-red);\n }\n .nextjs-data-runtime-error-copy-button--success {\n color: var(--color-ansi-green);\n }\n\n [data-nextjs-call-stack-frame] > h3,\n [data-nextjs-component-stack-frame] > h3 {\n margin-top: 0;\n margin-bottom: 0;\n font-family: var(--font-stack-monospace);\n font-size: var(--size-font);\n }\n [data-nextjs-call-stack-frame] > h3[data-nextjs-frame-expanded='false'] {\n color: #666;\n display: inline-block;\n }\n [data-nextjs-call-stack-frame] > div,\n [data-nextjs-component-stack-frame] > div {\n display: flex;\n align-items: center;\n padding-left: calc(var(--size-gap) + var(--size-gap-half));\n font-size: var(--size-font-small);\n color: #999;\n }\n [data-nextjs-call-stack-frame] > div > svg,\n [data-nextjs-component-stack-frame] > [role='link'] > svg {\n width: auto;\n height: var(--size-font-small);\n margin-left: var(--size-gap);\n flex-shrink: 0;\n display: none;\n }\n\n [data-nextjs-call-stack-frame] > div[data-has-source],\n [data-nextjs-component-stack-frame] > [role='link'] {\n cursor: pointer;\n }\n [data-nextjs-call-stack-frame] > div[data-has-source]:hover,\n [data-nextjs-component-stack-frame] > [role='link']:hover {\n text-decoration: underline dotted;\n }\n [data-nextjs-call-stack-frame] > div[data-has-source] > svg,\n [data-nextjs-component-stack-frame] > [role='link'] > svg {\n display: unset;\n }\n\n [data-nextjs-call-stack-framework-icon] {\n margin-right: var(--size-gap);\n }\n [data-nextjs-call-stack-framework-icon='next'] > mask {\n mask-type: alpha;\n }\n [data-nextjs-call-stack-framework-icon='react'] {\n color: rgb(20, 158, 202);\n }\n [data-nextjs-collapsed-call-stack-details][open]\n [data-nextjs-call-stack-chevron-icon] {\n transform: rotate(90deg);\n }\n [data-nextjs-collapsed-call-stack-details] summary {\n display: flex;\n align-items: center;\n margin-bottom: var(--size-gap);\n list-style: none;\n }\n [data-nextjs-collapsed-call-stack-details] summary::-webkit-details-marker {\n display: none;\n }\n\n [data-nextjs-collapsed-call-stack-details] h3 {\n color: #666;\n }\n [data-nextjs-collapsed-call-stack-details] [data-nextjs-call-stack-frame] {\n margin-bottom: var(--size-gap-double);\n }\n\n [data-nextjs-container-errors-pseudo-html] {\n position: relative;\n }\n [data-nextjs-container-errors-pseudo-html-collapse] {\n position: absolute;\n left: 10px;\n top: 10px;\n color: inherit;\n background: none;\n border: none;\n padding: 0;\n }\n [data-nextjs-container-errors-pseudo-html--diff='add'] {\n color: var(--color-ansi-green);\n }\n [data-nextjs-container-errors-pseudo-html--diff='remove'] {\n color: var(--color-ansi-red);\n }\n [data-nextjs-container-errors-pseudo-html--tag-error] {\n color: var(--color-ansi-red);\n font-weight: bold;\n }\n /* hide but text are still accessible in DOM */\n [data-nextjs-container-errors-pseudo-html--hint] {\n display: inline-block;\n font-size: 0;\n }\n [data-nextjs-container-errors-pseudo-html--tag-adjacent='false'] {\n color: var(--color-accents-1);\n }\n"
5
+ ]);
6
+ _templateObject = function() {
7
+ return data;
8
+ };
9
+ return data;
10
+ }
11
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
12
+ import * as React from 'react';
13
+ import { CodeFrame } from '../../components/CodeFrame';
14
+ import { noop as css } from '../../helpers/noop-template';
15
+ import { CallStackFrame } from './CallStackFrame';
16
+ export function RuntimeError(param) {
17
+ let { error } = param;
18
+ const [isIgnoredExpanded, setIsIgnoredExpanded] = React.useState(false);
19
+ const { firstFrame, allLeadingFrames, trailingCallStackFrames, displayedFramesCount } = React.useMemo(()=>{
20
+ const filteredFrames = error.frames.filter((frame)=>isIgnoredExpanded ? true : !frame.ignored);
21
+ const firstFirstPartyFrameIndex = filteredFrames.findIndex((entry)=>!entry.ignored && Boolean(entry.originalCodeFrame) && Boolean(entry.originalStackFrame));
22
+ var _filteredFrames_firstFirstPartyFrameIndex;
23
+ return {
24
+ displayedFramesCount: filteredFrames.length,
25
+ firstFrame: (_filteredFrames_firstFirstPartyFrameIndex = filteredFrames[firstFirstPartyFrameIndex]) != null ? _filteredFrames_firstFirstPartyFrameIndex : null,
26
+ allLeadingFrames: firstFirstPartyFrameIndex < 0 ? [] : filteredFrames.slice(0, firstFirstPartyFrameIndex),
27
+ trailingCallStackFrames: filteredFrames.slice(firstFirstPartyFrameIndex + 1)
28
+ };
29
+ }, [
30
+ error.frames,
31
+ isIgnoredExpanded
32
+ ]);
33
+ return /*#__PURE__*/ _jsxs(React.Fragment, {
34
+ children: [
35
+ firstFrame ? /*#__PURE__*/ _jsxs(_Fragment, {
36
+ children: [
37
+ /*#__PURE__*/ _jsx("h2", {
38
+ children: "Source"
39
+ }),
40
+ allLeadingFrames.map((frame, frameIndex)=>/*#__PURE__*/ _jsx(CallStackFrame, {
41
+ frame: frame
42
+ }, "call-stack-leading-" + frameIndex)),
43
+ /*#__PURE__*/ _jsx(CodeFrame, {
44
+ stackFrame: firstFrame.originalStackFrame,
45
+ codeFrame: firstFrame.originalCodeFrame
46
+ })
47
+ ]
48
+ }) : undefined,
49
+ trailingCallStackFrames.map((frame, frameIndex)=>/*#__PURE__*/ _jsx(CallStackFrame, {
50
+ frame: frame
51
+ }, "call-stack-leading-" + frameIndex)),
52
+ // if the default displayed ignored frames count is equal equal to the total frames count, hide the button
53
+ displayedFramesCount === error.frames.length && !isIgnoredExpanded ? null : /*#__PURE__*/ _jsx("button", {
54
+ "data-expand-ignore-button": isIgnoredExpanded,
55
+ onClick: ()=>setIsIgnoredExpanded(!isIgnoredExpanded),
56
+ children: "" + (isIgnoredExpanded ? 'Hide' : 'Show') + " ignored frames"
57
+ })
58
+ ]
59
+ });
60
+ }
61
+ export const styles = css(_templateObject());
62
+
63
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../../src/client/components/react-dev-overlay/_experimental/internal/container/RuntimeError/index.tsx"],"sourcesContent":["import * as React from 'react'\nimport { CodeFrame } from '../../components/CodeFrame'\nimport type { ReadyRuntimeError } from '../../helpers/get-error-by-type'\nimport { noop as css } from '../../helpers/noop-template'\nimport { CallStackFrame } from './CallStackFrame'\n\nexport type RuntimeErrorProps = { error: ReadyRuntimeError }\n\nexport function RuntimeError({ error }: RuntimeErrorProps) {\n const [isIgnoredExpanded, setIsIgnoredExpanded] = React.useState(false)\n const {\n firstFrame,\n allLeadingFrames,\n trailingCallStackFrames,\n displayedFramesCount,\n } = React.useMemo(() => {\n const filteredFrames = error.frames.filter((frame) =>\n isIgnoredExpanded ? true : !frame.ignored\n )\n\n const firstFirstPartyFrameIndex = filteredFrames.findIndex(\n (entry) =>\n !entry.ignored &&\n Boolean(entry.originalCodeFrame) &&\n Boolean(entry.originalStackFrame)\n )\n\n return {\n displayedFramesCount: filteredFrames.length,\n firstFrame: filteredFrames[firstFirstPartyFrameIndex] ?? null,\n allLeadingFrames:\n firstFirstPartyFrameIndex < 0\n ? []\n : filteredFrames.slice(0, firstFirstPartyFrameIndex),\n trailingCallStackFrames: filteredFrames.slice(\n firstFirstPartyFrameIndex + 1\n ),\n }\n }, [error.frames, isIgnoredExpanded])\n\n return (\n <React.Fragment>\n {firstFrame ? (\n <>\n <h2>Source</h2>\n {allLeadingFrames.map((frame, frameIndex) => (\n <CallStackFrame\n key={`call-stack-leading-${frameIndex}`}\n frame={frame}\n />\n ))}\n <CodeFrame\n stackFrame={firstFrame.originalStackFrame!}\n codeFrame={firstFrame.originalCodeFrame!}\n />\n </>\n ) : undefined}\n\n {trailingCallStackFrames.map((frame, frameIndex) => (\n <CallStackFrame\n key={`call-stack-leading-${frameIndex}`}\n frame={frame}\n />\n ))}\n {\n // if the default displayed ignored frames count is equal equal to the total frames count, hide the button\n displayedFramesCount === error.frames.length &&\n !isIgnoredExpanded ? null : (\n <button\n data-expand-ignore-button={isIgnoredExpanded}\n onClick={() => setIsIgnoredExpanded(!isIgnoredExpanded)}\n >\n {`${isIgnoredExpanded ? 'Hide' : 'Show'} ignored frames`}\n </button>\n )\n }\n </React.Fragment>\n )\n}\n\nexport const styles = css`\n [data-nextjs-call-stack-frame]:not(:last-child),\n [data-nextjs-component-stack-frame]:not(:last-child) {\n margin-bottom: var(--size-gap-double);\n }\n\n [data-expand-ignore-button]:focus:not(:focus-visible),\n [data-expand-ignore-button] {\n background: none;\n border: none;\n color: var(--color-font);\n cursor: pointer;\n font-size: var(--size-font);\n margin: var(--size-gap) 0;\n padding: 0;\n text-decoration: underline;\n outline: none;\n }\n\n [data-nextjs-data-runtime-error-copy-button],\n [data-nextjs-data-runtime-error-copy-button]:focus:not(:focus-visible) {\n position: relative;\n margin-left: var(--size-gap);\n padding: 0;\n border: none;\n background: none;\n outline: none;\n }\n [data-nextjs-data-runtime-error-copy-button] > svg {\n vertical-align: middle;\n }\n .nextjs-data-runtime-error-copy-button {\n color: inherit;\n }\n .nextjs-data-runtime-error-copy-button--initial:hover {\n cursor: pointer;\n }\n .nextjs-data-runtime-error-copy-button[aria-disabled='true'] {\n opacity: 0.3;\n cursor: not-allowed;\n }\n .nextjs-data-runtime-error-copy-button--error,\n .nextjs-data-runtime-error-copy-button--error:hover {\n color: var(--color-ansi-red);\n }\n .nextjs-data-runtime-error-copy-button--success {\n color: var(--color-ansi-green);\n }\n\n [data-nextjs-call-stack-frame] > h3,\n [data-nextjs-component-stack-frame] > h3 {\n margin-top: 0;\n margin-bottom: 0;\n font-family: var(--font-stack-monospace);\n font-size: var(--size-font);\n }\n [data-nextjs-call-stack-frame] > h3[data-nextjs-frame-expanded='false'] {\n color: #666;\n display: inline-block;\n }\n [data-nextjs-call-stack-frame] > div,\n [data-nextjs-component-stack-frame] > div {\n display: flex;\n align-items: center;\n padding-left: calc(var(--size-gap) + var(--size-gap-half));\n font-size: var(--size-font-small);\n color: #999;\n }\n [data-nextjs-call-stack-frame] > div > svg,\n [data-nextjs-component-stack-frame] > [role='link'] > svg {\n width: auto;\n height: var(--size-font-small);\n margin-left: var(--size-gap);\n flex-shrink: 0;\n display: none;\n }\n\n [data-nextjs-call-stack-frame] > div[data-has-source],\n [data-nextjs-component-stack-frame] > [role='link'] {\n cursor: pointer;\n }\n [data-nextjs-call-stack-frame] > div[data-has-source]:hover,\n [data-nextjs-component-stack-frame] > [role='link']:hover {\n text-decoration: underline dotted;\n }\n [data-nextjs-call-stack-frame] > div[data-has-source] > svg,\n [data-nextjs-component-stack-frame] > [role='link'] > svg {\n display: unset;\n }\n\n [data-nextjs-call-stack-framework-icon] {\n margin-right: var(--size-gap);\n }\n [data-nextjs-call-stack-framework-icon='next'] > mask {\n mask-type: alpha;\n }\n [data-nextjs-call-stack-framework-icon='react'] {\n color: rgb(20, 158, 202);\n }\n [data-nextjs-collapsed-call-stack-details][open]\n [data-nextjs-call-stack-chevron-icon] {\n transform: rotate(90deg);\n }\n [data-nextjs-collapsed-call-stack-details] summary {\n display: flex;\n align-items: center;\n margin-bottom: var(--size-gap);\n list-style: none;\n }\n [data-nextjs-collapsed-call-stack-details] summary::-webkit-details-marker {\n display: none;\n }\n\n [data-nextjs-collapsed-call-stack-details] h3 {\n color: #666;\n }\n [data-nextjs-collapsed-call-stack-details] [data-nextjs-call-stack-frame] {\n margin-bottom: var(--size-gap-double);\n }\n\n [data-nextjs-container-errors-pseudo-html] {\n position: relative;\n }\n [data-nextjs-container-errors-pseudo-html-collapse] {\n position: absolute;\n left: 10px;\n top: 10px;\n color: inherit;\n background: none;\n border: none;\n padding: 0;\n }\n [data-nextjs-container-errors-pseudo-html--diff='add'] {\n color: var(--color-ansi-green);\n }\n [data-nextjs-container-errors-pseudo-html--diff='remove'] {\n color: var(--color-ansi-red);\n }\n [data-nextjs-container-errors-pseudo-html--tag-error] {\n color: var(--color-ansi-red);\n font-weight: bold;\n }\n /* hide but text are still accessible in DOM */\n [data-nextjs-container-errors-pseudo-html--hint] {\n display: inline-block;\n font-size: 0;\n }\n [data-nextjs-container-errors-pseudo-html--tag-adjacent='false'] {\n color: var(--color-accents-1);\n }\n`\n"],"names":["React","CodeFrame","noop","css","CallStackFrame","RuntimeError","error","isIgnoredExpanded","setIsIgnoredExpanded","useState","firstFrame","allLeadingFrames","trailingCallStackFrames","displayedFramesCount","useMemo","filteredFrames","frames","filter","frame","ignored","firstFirstPartyFrameIndex","findIndex","entry","Boolean","originalCodeFrame","originalStackFrame","length","slice","Fragment","h2","map","frameIndex","stackFrame","codeFrame","undefined","button","data-expand-ignore-button","onClick","styles"],"mappings":";;;;;;;;;;;AAAA,YAAYA,WAAW,QAAO;AAC9B,SAASC,SAAS,QAAQ,6BAA4B;AAEtD,SAASC,QAAQC,GAAG,QAAQ,8BAA6B;AACzD,SAASC,cAAc,QAAQ,mBAAkB;AAIjD,OAAO,SAASC,aAAa,KAA4B;IAA5B,IAAA,EAAEC,KAAK,EAAqB,GAA5B;IAC3B,MAAM,CAACC,mBAAmBC,qBAAqB,GAAGR,MAAMS,QAAQ,CAAC;IACjE,MAAM,EACJC,UAAU,EACVC,gBAAgB,EAChBC,uBAAuB,EACvBC,oBAAoB,EACrB,GAAGb,MAAMc,OAAO,CAAC;QAChB,MAAMC,iBAAiBT,MAAMU,MAAM,CAACC,MAAM,CAAC,CAACC,QAC1CX,oBAAoB,OAAO,CAACW,MAAMC,OAAO;QAG3C,MAAMC,4BAA4BL,eAAeM,SAAS,CACxD,CAACC,QACC,CAACA,MAAMH,OAAO,IACdI,QAAQD,MAAME,iBAAiB,KAC/BD,QAAQD,MAAMG,kBAAkB;YAKtBV;QAFd,OAAO;YACLF,sBAAsBE,eAAeW,MAAM;YAC3ChB,YAAYK,CAAAA,4CAAAA,cAAc,CAACK,0BAA0B,YAAzCL,4CAA6C;YACzDJ,kBACES,4BAA4B,IACxB,EAAE,GACFL,eAAeY,KAAK,CAAC,GAAGP;YAC9BR,yBAAyBG,eAAeY,KAAK,CAC3CP,4BAA4B;QAEhC;IACF,GAAG;QAACd,MAAMU,MAAM;QAAET;KAAkB;IAEpC,qBACE,MAACP,MAAM4B,QAAQ;;YACZlB,2BACC;;kCACE,KAACmB;kCAAG;;oBACHlB,iBAAiBmB,GAAG,CAAC,CAACZ,OAAOa,2BAC5B,KAAC3B;4BAECc,OAAOA;2BADF,AAAC,wBAAqBa;kCAI/B,KAAC9B;wBACC+B,YAAYtB,WAAWe,kBAAkB;wBACzCQ,WAAWvB,WAAWc,iBAAiB;;;iBAGzCU;YAEHtB,wBAAwBkB,GAAG,CAAC,CAACZ,OAAOa,2BACnC,KAAC3B;oBAECc,OAAOA;mBADF,AAAC,wBAAqBa;YAK7B,0GAA0G;YAC1GlB,yBAAyBP,MAAMU,MAAM,CAACU,MAAM,IAC5C,CAACnB,oBAAoB,qBACnB,KAAC4B;gBACCC,6BAA2B7B;gBAC3B8B,SAAS,IAAM7B,qBAAqB,CAACD;0BAEpC,AAAC,KAAEA,CAAAA,oBAAoB,SAAS,MAAK,IAAE;;;;AAMpD;AAEA,OAAO,MAAM+B,SAASnC,uBAsJrB"}
@@ -0,0 +1,39 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as React from 'react';
3
+ import { Toast } from '../components/Toast';
4
+ import { LightningBolt } from '../icons/LightningBolt';
5
+ import { CloseIcon } from '../icons/CloseIcon';
6
+ export function StaticIndicator(param) {
7
+ let { dispatcher } = param;
8
+ return /*#__PURE__*/ _jsxs(Toast, {
9
+ role: "status",
10
+ className: "nextjs-static-indicator-toast-wrapper",
11
+ children: [
12
+ /*#__PURE__*/ _jsx("div", {
13
+ className: "nextjs-static-indicator-toast-icon",
14
+ children: /*#__PURE__*/ _jsx(LightningBolt, {})
15
+ }),
16
+ /*#__PURE__*/ _jsxs("div", {
17
+ className: "nextjs-static-indicator-toast-text",
18
+ children: [
19
+ "Static route",
20
+ /*#__PURE__*/ _jsx("button", {
21
+ onClick: ()=>{
22
+ var _localStorage;
23
+ // When dismissed, we hide the indicator for 1 hour. Store the
24
+ // timestamp for when to show it again.
25
+ const oneHourAway = Date.now() + 1 * 60 * 60 * 1000;
26
+ (_localStorage = localStorage) == null ? void 0 : _localStorage.setItem('__NEXT_DISMISS_PRERENDER_INDICATOR', oneHourAway.toString());
27
+ dispatcher == null ? void 0 : dispatcher.onStaticIndicator(false);
28
+ },
29
+ className: "nextjs-toast-hide-button",
30
+ "aria-label": "Hide static indicator",
31
+ children: /*#__PURE__*/ _jsx(CloseIcon, {})
32
+ })
33
+ ]
34
+ })
35
+ ]
36
+ });
37
+ }
38
+
39
+ //# sourceMappingURL=StaticIndicator.js.map