next 15.2.0-canary.65 → 15.2.0-canary.66
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of next might be problematic. Click here for more details.
- package/dist/bin/next +5 -1
- package/dist/bin/next.map +1 -1
- package/dist/build/entries.d.ts +1 -0
- package/dist/build/entries.js +12 -1
- package/dist/build/entries.js.map +1 -1
- package/dist/build/index.js +3 -3
- package/dist/build/index.js.map +1 -1
- package/dist/build/swc/index.js +1 -1
- package/dist/build/webpack/config/blocks/base.js +3 -1
- package/dist/build/webpack/config/blocks/base.js.map +1 -1
- package/dist/build/webpack/config/blocks/css/index.js +3 -1
- package/dist/build/webpack/config/blocks/css/index.js.map +1 -1
- package/dist/build/webpack/config/blocks/css/loaders/client.js +3 -1
- package/dist/build/webpack/config/blocks/css/loaders/client.js.map +1 -1
- package/dist/build/webpack/loaders/next-flight-client-entry-loader.js +4 -0
- package/dist/build/webpack/loaders/next-flight-client-entry-loader.js.map +1 -1
- package/dist/build/webpack/loaders/next-flight-client-module-loader.js +7 -1
- package/dist/build/webpack/loaders/next-flight-client-module-loader.js.map +1 -1
- package/dist/build/webpack/loaders/next-flight-loader/index.js +8 -2
- package/dist/build/webpack/loaders/next-flight-loader/index.js.map +1 -1
- package/dist/build/webpack/loaders/utils.js +1 -1
- package/dist/build/webpack/loaders/utils.js.map +1 -1
- package/dist/build/webpack/plugins/build-manifest-plugin.d.ts +1 -1
- package/dist/build/webpack/plugins/build-manifest-plugin.js +13 -4
- package/dist/build/webpack/plugins/build-manifest-plugin.js.map +1 -1
- package/dist/build/webpack/plugins/flight-client-entry-plugin.d.ts +1 -1
- package/dist/build/webpack/plugins/flight-client-entry-plugin.js +28 -18
- package/dist/build/webpack/plugins/flight-client-entry-plugin.js.map +1 -1
- package/dist/build/webpack/plugins/flight-manifest-plugin.js +3 -3
- package/dist/build/webpack/plugins/flight-manifest-plugin.js.map +1 -1
- package/dist/build/webpack/plugins/middleware-plugin.js +6 -3
- package/dist/build/webpack/plugins/middleware-plugin.js.map +1 -1
- package/dist/build/webpack/plugins/next-trace-entrypoints-plugin.js +11 -1
- package/dist/build/webpack/plugins/next-trace-entrypoints-plugin.js.map +1 -1
- package/dist/build/webpack/plugins/nextjs-require-cache-hot-reloader.js +1 -1
- package/dist/build/webpack/plugins/nextjs-require-cache-hot-reloader.js.map +1 -1
- package/dist/build/webpack/plugins/rspack-flight-client-entry-plugin.d.ts +36 -0
- package/dist/build/webpack/plugins/rspack-flight-client-entry-plugin.js +97 -0
- package/dist/build/webpack/plugins/rspack-flight-client-entry-plugin.js.map +1 -0
- package/dist/build/webpack/plugins/rspack-profiling-plugin.d.ts +9 -0
- package/dist/build/webpack/plugins/rspack-profiling-plugin.js +62 -0
- package/dist/build/webpack/plugins/rspack-profiling-plugin.js.map +1 -0
- package/dist/build/webpack/plugins/wellknown-errors-plugin/parseNextAppLoaderError.js +2 -1
- package/dist/build/webpack/plugins/wellknown-errors-plugin/parseNextAppLoaderError.js.map +1 -1
- package/dist/build/webpack/utils.js +6 -2
- package/dist/build/webpack/utils.js.map +1 -1
- package/dist/build/webpack-config.js +37 -5
- package/dist/build/webpack-config.js.map +1 -1
- package/dist/client/app-bootstrap.js +1 -1
- package/dist/client/app-dir/link.js +2 -0
- package/dist/client/app-dir/link.js.map +1 -1
- package/dist/client/components/react-dev-overlay/_experimental/app/react-dev-overlay.js +34 -26
- package/dist/client/components/react-dev-overlay/_experimental/app/react-dev-overlay.js.map +1 -1
- package/dist/client/components/react-dev-overlay/_experimental/app/react-dev-overlay.stories.js +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/app/react-dev-overlay.stories.js.map +1 -1
- package/dist/client/components/react-dev-overlay/_experimental/font/font-styles.d.ts +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/font/font-styles.js +41 -0
- package/dist/client/components/react-dev-overlay/_experimental/font/font-styles.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/font/geist-latin-ext.woff2 +0 -0
- package/dist/client/components/react-dev-overlay/_experimental/font/geist-latin.woff2 +0 -0
- package/dist/client/components/react-dev-overlay/_experimental/font/geist-mono-latin-ext.woff2 +0 -0
- package/dist/client/components/react-dev-overlay/_experimental/font/geist-mono-latin.woff2 +0 -0
- package/dist/client/components/react-dev-overlay/_experimental/font/get-dev-overlay-font-middleware.d.ts +2 -0
- package/dist/client/components/react-dev-overlay/_experimental/font/get-dev-overlay-font-middleware.js +72 -0
- package/dist/client/components/react-dev-overlay/_experimental/font/get-dev-overlay-font-middleware.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/code-frame/code-frame.js +16 -8
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/code-frame/code-frame.js.map +1 -1
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/copy-button/index.js +3 -3
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/copy-button/index.js.map +1 -1
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/dialog/dialog.js +2 -1
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/dialog/dialog.js.map +1 -1
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/dialog/styles.js +1 -1
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/dialog/styles.js.map +1 -1
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/dev-tools-indicator.d.ts +2 -1
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/dev-tools-indicator.js +82 -31
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/dev-tools-indicator.js.map +1 -1
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/dev-tools-indicator.stories.d.ts +2 -2
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/dev-tools-indicator.stories.js +20 -21
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/dev-tools-indicator.stories.js.map +1 -1
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/dev-tools-info/dev-tools-info.d.ts +8 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/dev-tools-info/dev-tools-info.js +80 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/dev-tools-info/dev-tools-info.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/dev-tools-info/route-info.d.ts +9 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/dev-tools-info/route-info.js +158 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/dev-tools-info/route-info.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/dev-tools-info/turbopack-info.d.ts +8 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/dev-tools-info/turbopack-info.js +212 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/dev-tools-info/turbopack-info.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/internal/next-logo.d.ts +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/internal/next-logo.js +28 -6
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/internal/next-logo.js.map +1 -1
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/error-message/error-message.js +1 -1
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/error-message/error-message.js.map +1 -1
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/error-overlay/error-overlay.d.ts +2 -2
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/error-overlay/error-overlay.js +3 -3
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/error-overlay/error-overlay.js.map +1 -1
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/error-overlay-layout/error-overlay-layout.d.ts +2 -2
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/error-overlay-layout/error-overlay-layout.js +4 -4
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/error-overlay-layout/error-overlay-layout.js.map +1 -1
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/error-overlay-nav/error-overlay-nav.d.ts +2 -2
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/error-overlay-nav/error-overlay-nav.js +2 -2
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/error-overlay-nav/error-overlay-nav.js.map +1 -1
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/error-overlay-nav/error-overlay-nav.stories.js +1 -1
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/error-overlay-nav/error-overlay-nav.stories.js.map +1 -1
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/error-overlay-pagination/error-overlay-pagination.d.ts +2 -2
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/error-overlay-pagination/error-overlay-pagination.js +9 -9
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/error-overlay-pagination/error-overlay-pagination.js.map +1 -1
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/error-overlay-pagination/error-overlay-pagination.stories.js +4 -4
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/errors/error-overlay-pagination/error-overlay-pagination.stories.js.map +1 -1
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/terminal/terminal.js +15 -10
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/terminal/terminal.js.map +1 -1
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/toast/toast.js +3 -1
- package/dist/client/components/react-dev-overlay/_experimental/internal/components/toast/toast.js.map +1 -1
- package/dist/client/components/react-dev-overlay/_experimental/internal/container/errors.d.ts +2 -2
- package/dist/client/components/react-dev-overlay/_experimental/internal/container/errors.js +7 -7
- package/dist/client/components/react-dev-overlay/_experimental/internal/container/errors.js.map +1 -1
- package/dist/client/components/react-dev-overlay/_experimental/internal/container/errors.stories.js +5 -5
- package/dist/client/components/react-dev-overlay/_experimental/internal/container/errors.stories.js.map +1 -1
- package/dist/client/components/react-dev-overlay/_experimental/internal/container/runtime-error/component-stack-pseudo-html.js +1 -1
- package/dist/client/components/react-dev-overlay/_experimental/internal/container/runtime-error/component-stack-pseudo-html.js.map +1 -1
- package/dist/client/components/react-dev-overlay/_experimental/internal/container/runtime-error/render-error.d.ts +1 -1
- package/dist/client/components/react-dev-overlay/_experimental/internal/container/runtime-error/render-error.js +4 -12
- package/dist/client/components/react-dev-overlay/_experimental/internal/container/runtime-error/render-error.js.map +1 -1
- package/dist/client/components/react-dev-overlay/_experimental/internal/icons/collapse-icon.js +3 -1
- package/dist/client/components/react-dev-overlay/_experimental/internal/icons/collapse-icon.js.map +1 -1
- package/dist/client/components/react-dev-overlay/_experimental/internal/icons/stop-icon.d.ts +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/icons/stop-icon.js +34 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/icons/stop-icon.js.map +1 -0
- package/dist/client/components/react-dev-overlay/_experimental/internal/styles/base.js +2 -2
- package/dist/client/components/react-dev-overlay/_experimental/internal/styles/base.js.map +1 -1
- package/dist/client/components/react-dev-overlay/_experimental/internal/styles/component-styles.js +7 -1
- package/dist/client/components/react-dev-overlay/_experimental/internal/styles/component-styles.js.map +1 -1
- package/dist/client/components/react-dev-overlay/_experimental/pages/react-dev-overlay.js +6 -2
- package/dist/client/components/react-dev-overlay/_experimental/pages/react-dev-overlay.js.map +1 -1
- package/dist/client/components/react-dev-overlay/hydration-diff/diff-view.js +2 -2
- package/dist/client/components/react-dev-overlay/hydration-diff/diff-view.js.map +1 -1
- package/dist/client/components/react-dev-overlay/server/get-next-error-feedback-middleware.js +4 -4
- package/dist/client/components/react-dev-overlay/server/get-next-error-feedback-middleware.js.map +1 -1
- package/dist/client/components/react-dev-overlay/server/middleware-response.d.ts +9 -0
- package/dist/client/components/react-dev-overlay/server/middleware-response.js +46 -0
- package/dist/client/components/react-dev-overlay/server/middleware-response.js.map +1 -0
- package/dist/client/components/react-dev-overlay/server/middleware-turbopack.js +13 -12
- package/dist/client/components/react-dev-overlay/server/middleware-turbopack.js.map +1 -1
- package/dist/client/components/react-dev-overlay/server/middleware-webpack.js +12 -11
- package/dist/client/components/react-dev-overlay/server/middleware-webpack.js.map +1 -1
- package/dist/client/components/react-dev-overlay/server/shared.d.ts +0 -7
- package/dist/client/components/react-dev-overlay/server/shared.js +1 -51
- package/dist/client/components/react-dev-overlay/server/shared.js.map +1 -1
- package/dist/client/components/react-dev-overlay/shared.d.ts +1 -0
- package/dist/client/components/react-dev-overlay/shared.js +2 -0
- package/dist/client/components/react-dev-overlay/shared.js.map +1 -1
- package/dist/client/index.js +2 -3
- package/dist/client/index.js.map +1 -1
- package/dist/client/link.js.map +1 -1
- package/dist/compiled/@next/font/dist/google/fetch-css-from-google-fonts.js +8 -44
- package/dist/compiled/@next/font/dist/google/fetch-font-file.d.ts +2 -1
- package/dist/compiled/@next/font/dist/google/fetch-font-file.js +6 -20
- package/dist/compiled/@next/font/dist/google/fetch-resource.d.ts +6 -0
- package/dist/compiled/@next/font/dist/google/fetch-resource.js +46 -0
- package/dist/compiled/next-server/app-page-experimental.runtime.dev.js +3 -3
- package/dist/compiled/next-server/app-page-experimental.runtime.dev.js.map +1 -1
- package/dist/compiled/next-server/app-page.runtime.dev.js +3 -3
- package/dist/compiled/next-server/app-page.runtime.dev.js.map +1 -1
- package/dist/compiled/next-server/server.runtime.prod.js +2 -2
- package/dist/compiled/next-server/server.runtime.prod.js.map +1 -1
- package/dist/compiled/node-fetch/index.js +1 -1
- package/dist/compiled/sass-loader/cjs.js +1 -1
- package/dist/compiled/webpack/webpack.js +23 -1
- package/dist/esm/build/entries.js +9 -2
- package/dist/esm/build/entries.js.map +1 -1
- package/dist/esm/build/index.js +3 -3
- package/dist/esm/build/index.js.map +1 -1
- package/dist/esm/build/swc/index.js +1 -1
- package/dist/esm/build/webpack/config/blocks/base.js +3 -1
- package/dist/esm/build/webpack/config/blocks/base.js.map +1 -1
- package/dist/esm/build/webpack/config/blocks/css/index.js +3 -1
- package/dist/esm/build/webpack/config/blocks/css/index.js.map +1 -1
- package/dist/esm/build/webpack/config/blocks/css/loaders/client.js +3 -1
- package/dist/esm/build/webpack/config/blocks/css/loaders/client.js.map +1 -1
- package/dist/esm/build/webpack/loaders/next-flight-client-entry-loader.js +4 -0
- package/dist/esm/build/webpack/loaders/next-flight-client-entry-loader.js.map +1 -1
- package/dist/esm/build/webpack/loaders/next-flight-client-module-loader.js +7 -1
- package/dist/esm/build/webpack/loaders/next-flight-client-module-loader.js.map +1 -1
- package/dist/esm/build/webpack/loaders/next-flight-loader/index.js +8 -2
- package/dist/esm/build/webpack/loaders/next-flight-loader/index.js.map +1 -1
- package/dist/esm/build/webpack/loaders/utils.js +1 -1
- package/dist/esm/build/webpack/loaders/utils.js.map +1 -1
- package/dist/esm/build/webpack/plugins/build-manifest-plugin.js +14 -5
- package/dist/esm/build/webpack/plugins/build-manifest-plugin.js.map +1 -1
- package/dist/esm/build/webpack/plugins/flight-client-entry-plugin.js +28 -18
- package/dist/esm/build/webpack/plugins/flight-client-entry-plugin.js.map +1 -1
- package/dist/esm/build/webpack/plugins/flight-manifest-plugin.js +3 -3
- package/dist/esm/build/webpack/plugins/flight-manifest-plugin.js.map +1 -1
- package/dist/esm/build/webpack/plugins/middleware-plugin.js +6 -3
- package/dist/esm/build/webpack/plugins/middleware-plugin.js.map +1 -1
- package/dist/esm/build/webpack/plugins/next-trace-entrypoints-plugin.js +11 -1
- package/dist/esm/build/webpack/plugins/next-trace-entrypoints-plugin.js.map +1 -1
- package/dist/esm/build/webpack/plugins/nextjs-require-cache-hot-reloader.js +1 -1
- package/dist/esm/build/webpack/plugins/nextjs-require-cache-hot-reloader.js.map +1 -1
- package/dist/esm/build/webpack/plugins/rspack-flight-client-entry-plugin.js +87 -0
- package/dist/esm/build/webpack/plugins/rspack-flight-client-entry-plugin.js.map +1 -0
- package/dist/esm/build/webpack/plugins/rspack-profiling-plugin.js +40 -0
- package/dist/esm/build/webpack/plugins/rspack-profiling-plugin.js.map +1 -0
- package/dist/esm/build/webpack/plugins/wellknown-errors-plugin/parseNextAppLoaderError.js +2 -1
- package/dist/esm/build/webpack/plugins/wellknown-errors-plugin/parseNextAppLoaderError.js.map +1 -1
- package/dist/esm/build/webpack/utils.js +6 -2
- package/dist/esm/build/webpack/utils.js.map +1 -1
- package/dist/esm/build/webpack-config.js +37 -5
- package/dist/esm/build/webpack-config.js.map +1 -1
- package/dist/esm/client/app-bootstrap.js +1 -1
- package/dist/esm/client/app-dir/link.js +2 -0
- package/dist/esm/client/app-dir/link.js.map +1 -1
- package/dist/esm/client/components/react-dev-overlay/_experimental/app/react-dev-overlay.js +34 -26
- package/dist/esm/client/components/react-dev-overlay/_experimental/app/react-dev-overlay.js.map +1 -1
- package/dist/esm/client/components/react-dev-overlay/_experimental/app/react-dev-overlay.stories.js +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/app/react-dev-overlay.stories.js.map +1 -1
- package/dist/esm/client/components/react-dev-overlay/_experimental/font/font-styles.js +25 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/font/font-styles.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/font/geist-latin-ext.woff2 +0 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/font/geist-latin.woff2 +0 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/font/geist-mono-latin-ext.woff2 +0 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/font/geist-mono-latin.woff2 +0 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/font/get-dev-overlay-font-middleware.js +54 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/font/get-dev-overlay-font-middleware.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/code-frame/code-frame.js +16 -8
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/code-frame/code-frame.js.map +1 -1
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/copy-button/index.js +3 -3
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/copy-button/index.js.map +1 -1
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/dialog/dialog.js +2 -1
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/dialog/dialog.js.map +1 -1
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/dialog/styles.js +1 -1
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/dialog/styles.js.map +1 -1
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/dev-tools-indicator.js +83 -31
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/dev-tools-indicator.js.map +1 -1
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/dev-tools-indicator.stories.js +13 -14
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/dev-tools-indicator.stories.js.map +1 -1
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/dev-tools-info/dev-tools-info.js +52 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/dev-tools-info/dev-tools-info.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/dev-tools-info/route-info.js +130 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/dev-tools-info/route-info.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/dev-tools-info/turbopack-info.js +184 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/dev-tools-info/turbopack-info.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/internal/next-logo.js +28 -6
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/errors/dev-tools-indicator/internal/next-logo.js.map +1 -1
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/errors/error-message/error-message.js +1 -1
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/errors/error-message/error-message.js.map +1 -1
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/errors/error-overlay/error-overlay.js +3 -3
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/errors/error-overlay/error-overlay.js.map +1 -1
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/errors/error-overlay-layout/error-overlay-layout.js +4 -4
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/errors/error-overlay-layout/error-overlay-layout.js.map +1 -1
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/errors/error-overlay-nav/error-overlay-nav.js +2 -2
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/errors/error-overlay-nav/error-overlay-nav.js.map +1 -1
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/errors/error-overlay-nav/error-overlay-nav.stories.js +1 -1
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/errors/error-overlay-nav/error-overlay-nav.stories.js.map +1 -1
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/errors/error-overlay-pagination/error-overlay-pagination.js +9 -9
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/errors/error-overlay-pagination/error-overlay-pagination.js.map +1 -1
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/errors/error-overlay-pagination/error-overlay-pagination.stories.js +4 -4
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/errors/error-overlay-pagination/error-overlay-pagination.stories.js.map +1 -1
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/terminal/terminal.js +15 -10
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/terminal/terminal.js.map +1 -1
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/toast/toast.js +3 -1
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/components/toast/toast.js.map +1 -1
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/container/errors.js +7 -7
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/container/errors.js.map +1 -1
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/container/errors.stories.js +5 -5
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/container/errors.stories.js.map +1 -1
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/container/runtime-error/component-stack-pseudo-html.js +1 -1
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/container/runtime-error/component-stack-pseudo-html.js.map +1 -1
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/container/runtime-error/render-error.js +4 -12
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/container/runtime-error/render-error.js.map +1 -1
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/icons/collapse-icon.js +3 -1
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/icons/collapse-icon.js.map +1 -1
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/icons/stop-icon.js +18 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/icons/stop-icon.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/styles/base.js +2 -2
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/styles/base.js.map +1 -1
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/styles/component-styles.js +7 -1
- package/dist/esm/client/components/react-dev-overlay/_experimental/internal/styles/component-styles.js.map +1 -1
- package/dist/esm/client/components/react-dev-overlay/_experimental/pages/react-dev-overlay.js +6 -2
- package/dist/esm/client/components/react-dev-overlay/_experimental/pages/react-dev-overlay.js.map +1 -1
- package/dist/esm/client/components/react-dev-overlay/hydration-diff/diff-view.js +1 -1
- package/dist/esm/client/components/react-dev-overlay/hydration-diff/diff-view.js.map +1 -1
- package/dist/esm/client/components/react-dev-overlay/server/get-next-error-feedback-middleware.js +4 -4
- package/dist/esm/client/components/react-dev-overlay/server/get-next-error-feedback-middleware.js.map +1 -1
- package/dist/esm/client/components/react-dev-overlay/server/middleware-response.js +30 -0
- package/dist/esm/client/components/react-dev-overlay/server/middleware-response.js.map +1 -0
- package/dist/esm/client/components/react-dev-overlay/server/middleware-turbopack.js +14 -13
- package/dist/esm/client/components/react-dev-overlay/server/middleware-turbopack.js.map +1 -1
- package/dist/esm/client/components/react-dev-overlay/server/middleware-webpack.js +13 -12
- package/dist/esm/client/components/react-dev-overlay/server/middleware-webpack.js.map +1 -1
- package/dist/esm/client/components/react-dev-overlay/server/shared.js +0 -26
- package/dist/esm/client/components/react-dev-overlay/server/shared.js.map +1 -1
- package/dist/esm/client/components/react-dev-overlay/shared.js +2 -0
- package/dist/esm/client/components/react-dev-overlay/shared.js.map +1 -1
- package/dist/esm/client/index.js +2 -3
- package/dist/esm/client/index.js.map +1 -1
- package/dist/esm/client/link.js.map +1 -1
- package/dist/esm/server/base-server.js +15 -15
- package/dist/esm/server/base-server.js.map +1 -1
- package/dist/esm/server/config-shared.js.map +1 -1
- package/dist/esm/server/config.js +1 -1
- package/dist/esm/server/dev/hot-reloader-turbopack.js +4 -2
- package/dist/esm/server/dev/hot-reloader-turbopack.js.map +1 -1
- package/dist/esm/server/dev/hot-reloader-webpack.js +4 -2
- package/dist/esm/server/dev/hot-reloader-webpack.js.map +1 -1
- package/dist/esm/server/lib/app-info-log.js +1 -1
- package/dist/esm/server/lib/start-server.js +1 -1
- package/dist/esm/shared/lib/get-rspack.js +32 -0
- package/dist/esm/shared/lib/get-rspack.js.map +1 -0
- package/dist/server/base-server.js +15 -15
- package/dist/server/base-server.js.map +1 -1
- package/dist/server/config-shared.d.ts +3 -3
- package/dist/server/config-shared.js.map +1 -1
- package/dist/server/config.js +1 -1
- package/dist/server/dev/hot-reloader-turbopack.js +4 -2
- package/dist/server/dev/hot-reloader-turbopack.js.map +1 -1
- package/dist/server/dev/hot-reloader-webpack.js +4 -2
- package/dist/server/dev/hot-reloader-webpack.js.map +1 -1
- package/dist/server/lib/app-info-log.js +1 -1
- package/dist/server/lib/start-server.js +1 -1
- package/dist/shared/lib/get-rspack.d.ts +2 -0
- package/dist/shared/lib/get-rspack.js +54 -0
- package/dist/shared/lib/get-rspack.js.map +1 -0
- package/dist/telemetry/anonymous-meta.js +1 -1
- package/dist/telemetry/events/session-stopped.js +2 -2
- package/dist/telemetry/events/version.js +2 -2
- package/dist/trace/trace-uploader.js +1 -2
- package/dist/trace/trace-uploader.js.map +1 -1
- package/package.json +15 -15
- package/dist/client/components/react-dev-overlay/internal/icons/CollapseIcon.d.ts +0 -3
- package/dist/client/components/react-dev-overlay/internal/icons/CollapseIcon.js +0 -43
- package/dist/client/components/react-dev-overlay/internal/icons/CollapseIcon.js.map +0 -1
- package/dist/esm/client/components/react-dev-overlay/internal/icons/CollapseIcon.js +0 -27
- package/dist/esm/client/components/react-dev-overlay/internal/icons/CollapseIcon.js.map +0 -1
@@ -55,7 +55,7 @@ function _templateObject() {
|
|
55
55
|
return data;
|
56
56
|
}
|
57
57
|
function ErrorOverlayLayout(param) {
|
58
|
-
let { errorMessage, errorType, children, errorCode, error, debugInfo, isBuildError, onClose, versionInfo,
|
58
|
+
let { errorMessage, errorType, children, errorCode, error, debugInfo, isBuildError, onClose, versionInfo, runtimeErrors, activeIdx, setActiveIndex, footerMessage, isTurbopack, dialogResizerRef, // This prop is used to animate the dialog, it comes from a parent component (<ErrorOverlay>)
|
59
59
|
// If it's not being passed, we should just render the component as it is being
|
60
60
|
// used without the context of a parent component that controls its state (e.g. Storybook).
|
61
61
|
rendered = true, transitionDurationMs } = param;
|
@@ -66,7 +66,7 @@ function ErrorOverlayLayout(param) {
|
|
66
66
|
}
|
67
67
|
};
|
68
68
|
const hasFooter = Boolean(footerMessage || errorCode);
|
69
|
-
var
|
69
|
+
var _runtimeErrors_length;
|
70
70
|
return /*#__PURE__*/ (0, _jsxruntime.jsx)(_overlay.ErrorOverlayOverlay, {
|
71
71
|
fixed: isBuildError,
|
72
72
|
...animationProps,
|
@@ -122,13 +122,13 @@ function ErrorOverlayLayout(param) {
|
|
122
122
|
})
|
123
123
|
}),
|
124
124
|
/*#__PURE__*/ (0, _jsxruntime.jsx)(_erroroverlaybottomstack.ErrorOverlayBottomStack, {
|
125
|
-
count: (
|
125
|
+
count: (_runtimeErrors_length = runtimeErrors == null ? void 0 : runtimeErrors.length) != null ? _runtimeErrors_length : 0,
|
126
126
|
activeIdx: activeIdx != null ? activeIdx : 0
|
127
127
|
})
|
128
128
|
]
|
129
129
|
}),
|
130
130
|
/*#__PURE__*/ (0, _jsxruntime.jsx)(_erroroverlaynav.ErrorOverlayNav, {
|
131
|
-
|
131
|
+
runtimeErrors: runtimeErrors,
|
132
132
|
activeIdx: activeIdx,
|
133
133
|
setActiveIndex: setActiveIndex,
|
134
134
|
versionInfo: versionInfo,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../../../../../../../src/client/components/react-dev-overlay/_experimental/internal/components/errors/error-overlay-layout/error-overlay-layout.tsx"],"sourcesContent":["import type { DebugInfo } from '../../../../../types'\nimport type { ErrorMessageType } from '../error-message/error-message'\nimport type { ErrorType } from '../error-type-label/error-type-label'\n\nimport { DialogContent, DialogFooter } from '../../dialog'\nimport {\n ErrorOverlayToolbar,\n styles as toolbarStyles,\n} from '../error-overlay-toolbar/error-overlay-toolbar'\nimport { ErrorOverlayFooter } from '../error-overlay-footer/error-overlay-footer'\nimport { noop as css } from '../../../helpers/noop-template'\nimport {\n ErrorMessage,\n styles as errorMessageStyles,\n} from '../error-message/error-message'\nimport {\n ErrorTypeLabel,\n styles as errorTypeLabelStyles,\n} from '../error-type-label/error-type-label'\nimport {\n ErrorOverlayNav,\n styles as floatingHeaderStyles,\n} from '../error-overlay-nav/error-overlay-nav'\n\nimport { ErrorOverlayDialog, DIALOG_STYLES } from '../dialog/dialog'\nimport {\n ErrorOverlayDialogHeader,\n DIALOG_HEADER_STYLES,\n} from '../dialog/header'\nimport { ErrorOverlayDialogBody, DIALOG_BODY_STYLES } from '../dialog/body'\nimport { CALL_STACK_STYLES } from '../call-stack/call-stack'\nimport { OVERLAY_STYLES, ErrorOverlayOverlay } from '../overlay/overlay'\nimport { ErrorOverlayBottomStack } from '../error-overlay-bottom-stack'\nimport type { ErrorBaseProps } from '../error-overlay/error-overlay'\nimport type { ReadyRuntimeError } from '../../../../../internal/helpers/get-error-by-type'\nimport { EnvironmentNameLabel } from '../environment-name-label/environment-name-label'\n\ninterface ErrorOverlayLayoutProps extends ErrorBaseProps {\n errorMessage: ErrorMessageType\n errorType: ErrorType\n children?: React.ReactNode\n errorCode?: string\n error: ReadyRuntimeError['error']\n debugInfo?: DebugInfo\n isBuildError?: boolean\n onClose?: () => void\n // TODO: better handle receiving\n
|
1
|
+
{"version":3,"sources":["../../../../../../../../../src/client/components/react-dev-overlay/_experimental/internal/components/errors/error-overlay-layout/error-overlay-layout.tsx"],"sourcesContent":["import type { DebugInfo } from '../../../../../types'\nimport type { ErrorMessageType } from '../error-message/error-message'\nimport type { ErrorType } from '../error-type-label/error-type-label'\n\nimport { DialogContent, DialogFooter } from '../../dialog'\nimport {\n ErrorOverlayToolbar,\n styles as toolbarStyles,\n} from '../error-overlay-toolbar/error-overlay-toolbar'\nimport { ErrorOverlayFooter } from '../error-overlay-footer/error-overlay-footer'\nimport { noop as css } from '../../../helpers/noop-template'\nimport {\n ErrorMessage,\n styles as errorMessageStyles,\n} from '../error-message/error-message'\nimport {\n ErrorTypeLabel,\n styles as errorTypeLabelStyles,\n} from '../error-type-label/error-type-label'\nimport {\n ErrorOverlayNav,\n styles as floatingHeaderStyles,\n} from '../error-overlay-nav/error-overlay-nav'\n\nimport { ErrorOverlayDialog, DIALOG_STYLES } from '../dialog/dialog'\nimport {\n ErrorOverlayDialogHeader,\n DIALOG_HEADER_STYLES,\n} from '../dialog/header'\nimport { ErrorOverlayDialogBody, DIALOG_BODY_STYLES } from '../dialog/body'\nimport { CALL_STACK_STYLES } from '../call-stack/call-stack'\nimport { OVERLAY_STYLES, ErrorOverlayOverlay } from '../overlay/overlay'\nimport { ErrorOverlayBottomStack } from '../error-overlay-bottom-stack'\nimport type { ErrorBaseProps } from '../error-overlay/error-overlay'\nimport type { ReadyRuntimeError } from '../../../../../internal/helpers/get-error-by-type'\nimport { EnvironmentNameLabel } from '../environment-name-label/environment-name-label'\n\ninterface ErrorOverlayLayoutProps extends ErrorBaseProps {\n errorMessage: ErrorMessageType\n errorType: ErrorType\n children?: React.ReactNode\n errorCode?: string\n error: ReadyRuntimeError['error']\n debugInfo?: DebugInfo\n isBuildError?: boolean\n onClose?: () => void\n // TODO: better handle receiving\n runtimeErrors?: ReadyRuntimeError[]\n activeIdx?: number\n setActiveIndex?: (index: number) => void\n footerMessage?: string\n dialogResizerRef?: React.RefObject<HTMLDivElement | null>\n}\n\nexport function ErrorOverlayLayout({\n errorMessage,\n errorType,\n children,\n errorCode,\n error,\n debugInfo,\n isBuildError,\n onClose,\n versionInfo,\n runtimeErrors,\n activeIdx,\n setActiveIndex,\n footerMessage,\n isTurbopack,\n dialogResizerRef,\n // This prop is used to animate the dialog, it comes from a parent component (<ErrorOverlay>)\n // If it's not being passed, we should just render the component as it is being\n // used without the context of a parent component that controls its state (e.g. Storybook).\n rendered = true,\n transitionDurationMs,\n}: ErrorOverlayLayoutProps) {\n const animationProps = {\n 'data-rendered': rendered,\n style: {\n '--transition-duration': `${transitionDurationMs}ms`,\n } as React.CSSProperties,\n }\n\n const hasFooter = Boolean(footerMessage || errorCode)\n\n return (\n <ErrorOverlayOverlay fixed={isBuildError} {...animationProps}>\n <div data-nextjs-dialog-root {...animationProps}>\n <ErrorOverlayDialog\n onClose={onClose}\n dialogResizerRef={dialogResizerRef}\n data-has-footer={hasFooter}\n >\n <DialogContent>\n <ErrorOverlayDialogHeader>\n <div\n className=\"nextjs__container_errors__error_title\"\n // allow assertion in tests before error rating is implemented\n data-nextjs-error-code={errorCode}\n >\n <span data-nextjs-error-label-group>\n <ErrorTypeLabel errorType={errorType} />\n {error.environmentName && (\n <EnvironmentNameLabel\n environmentName={error.environmentName}\n />\n )}\n </span>\n <ErrorOverlayToolbar error={error} debugInfo={debugInfo} />\n </div>\n <ErrorMessage errorMessage={errorMessage} />\n </ErrorOverlayDialogHeader>\n\n <ErrorOverlayDialogBody>{children}</ErrorOverlayDialogBody>\n </DialogContent>\n {hasFooter && (\n <DialogFooter>\n <ErrorOverlayFooter\n footerMessage={footerMessage}\n errorCode={errorCode}\n />\n </DialogFooter>\n )}\n <ErrorOverlayBottomStack\n count={runtimeErrors?.length ?? 0}\n activeIdx={activeIdx ?? 0}\n />\n </ErrorOverlayDialog>\n <ErrorOverlayNav\n runtimeErrors={runtimeErrors}\n activeIdx={activeIdx}\n setActiveIndex={setActiveIndex}\n versionInfo={versionInfo}\n isTurbopack={isTurbopack}\n />\n </div>\n </ErrorOverlayOverlay>\n )\n}\n\nexport const styles = css`\n ${OVERLAY_STYLES}\n ${DIALOG_STYLES}\n ${DIALOG_HEADER_STYLES}\n ${DIALOG_BODY_STYLES}\n\n ${floatingHeaderStyles}\n ${errorTypeLabelStyles}\n ${errorMessageStyles}\n ${toolbarStyles}\n ${CALL_STACK_STYLES}\n\n [data-nextjs-error-label-group] {\n display: flex;\n align-items: center;\n gap: var(--size-2);\n }\n`\n"],"names":["ErrorOverlayLayout","styles","errorMessage","errorType","children","errorCode","error","debugInfo","isBuildError","onClose","versionInfo","runtimeErrors","activeIdx","setActiveIndex","footerMessage","isTurbopack","dialogResizerRef","rendered","transitionDurationMs","animationProps","style","hasFooter","Boolean","ErrorOverlayOverlay","fixed","div","data-nextjs-dialog-root","ErrorOverlayDialog","data-has-footer","DialogContent","ErrorOverlayDialogHeader","className","data-nextjs-error-code","span","data-nextjs-error-label-group","ErrorTypeLabel","environmentName","EnvironmentNameLabel","ErrorOverlayToolbar","ErrorMessage","ErrorOverlayDialogBody","DialogFooter","ErrorOverlayFooter","ErrorOverlayBottomStack","count","length","ErrorOverlayNav","css","OVERLAY_STYLES","DIALOG_STYLES","DIALOG_HEADER_STYLES","DIALOG_BODY_STYLES","floatingHeaderStyles","errorTypeLabelStyles","errorMessageStyles","toolbarStyles","CALL_STACK_STYLES"],"mappings":";;;;;;;;;;;;;;;IAsDgBA,kBAAkB;eAAlBA;;IAsFHC,MAAM;eAANA;;;;;wBAxI+B;qCAIrC;oCAC4B;8BACP;8BAIrB;gCAIA;iCAIA;yBAE2C;wBAI3C;sBACoD;2BACzB;yBACkB;yCACZ;sCAGH;;;;;;;;;;;;;;;;;;;AAmB9B,SAASD,mBAAmB,KAqBT;IArBS,IAAA,EACjCE,YAAY,EACZC,SAAS,EACTC,QAAQ,EACRC,SAAS,EACTC,KAAK,EACLC,SAAS,EACTC,YAAY,EACZC,OAAO,EACPC,WAAW,EACXC,aAAa,EACbC,SAAS,EACTC,cAAc,EACdC,aAAa,EACbC,WAAW,EACXC,gBAAgB,EAChB,6FAA6F;IAC7F,+EAA+E;IAC/E,2FAA2F;IAC3FC,WAAW,IAAI,EACfC,oBAAoB,EACI,GArBS;IAsBjC,MAAMC,iBAAiB;QACrB,iBAAiBF;QACjBG,OAAO;YACL,yBAAyB,AAAC,KAAEF,uBAAqB;QACnD;IACF;IAEA,MAAMG,YAAYC,QAAQR,iBAAiBT;QAyC1BM;IAvCjB,qBACE,qBAACY,4BAAmB;QAACC,OAAOhB;QAAe,GAAGW,cAAc;kBAC1D,cAAA,sBAACM;YAAIC,yBAAuB;YAAE,GAAGP,cAAc;;8BAC7C,sBAACQ,2BAAkB;oBACjBlB,SAASA;oBACTO,kBAAkBA;oBAClBY,mBAAiBP;;sCAEjB,sBAACQ,qBAAa;;8CACZ,sBAACC,gCAAwB;;sDACvB,sBAACL;4CACCM,WAAU;4CACV,8DAA8D;4CAC9DC,0BAAwB3B;;8DAExB,sBAAC4B;oDAAKC,+BAA6B;;sEACjC,qBAACC,8BAAc;4DAAChC,WAAWA;;wDAC1BG,MAAM8B,eAAe,kBACpB,qBAACC,0CAAoB;4DACnBD,iBAAiB9B,MAAM8B,eAAe;;;;8DAI5C,qBAACE,wCAAmB;oDAAChC,OAAOA;oDAAOC,WAAWA;;;;sDAEhD,qBAACgC,0BAAY;4CAACrC,cAAcA;;;;8CAG9B,qBAACsC,4BAAsB;8CAAEpC;;;;wBAE1BiB,2BACC,qBAACoB,oBAAY;sCACX,cAAA,qBAACC,sCAAkB;gCACjB5B,eAAeA;gCACfT,WAAWA;;;sCAIjB,qBAACsC,gDAAuB;4BACtBC,OAAOjC,CAAAA,wBAAAA,iCAAAA,cAAekC,MAAM,YAArBlC,wBAAyB;4BAChCC,WAAWA,oBAAAA,YAAa;;;;8BAG5B,qBAACkC,gCAAe;oBACdnC,eAAeA;oBACfC,WAAWA;oBACXC,gBAAgBA;oBAChBH,aAAaA;oBACbK,aAAaA;;;;;AAKvB;AAEO,MAAMd,aAAS8C,kBAAG,qBACrBC,uBAAc,EACdC,sBAAa,EACbC,4BAAoB,EACpBC,wBAAkB,EAElBC,uBAAoB,EACpBC,sBAAoB,EACpBC,oBAAkB,EAClBC,2BAAa,EACbC,4BAAiB"}
|
@@ -1,12 +1,12 @@
|
|
1
1
|
import type { VersionInfo } from '../../../../../../../../server/dev/parse-version-info';
|
2
2
|
import type { ReadyRuntimeError } from '../../../../../internal/helpers/get-error-by-type';
|
3
3
|
type ErrorOverlayNavProps = {
|
4
|
-
|
4
|
+
runtimeErrors?: ReadyRuntimeError[];
|
5
5
|
activeIdx?: number;
|
6
6
|
setActiveIndex?: (index: number) => void;
|
7
7
|
versionInfo?: VersionInfo;
|
8
8
|
isTurbopack?: boolean;
|
9
9
|
};
|
10
|
-
export declare function ErrorOverlayNav({
|
10
|
+
export declare function ErrorOverlayNav({ runtimeErrors, activeIdx, setActiveIndex, versionInfo, isTurbopack, }: ErrorOverlayNavProps): import("react/jsx-runtime").JSX.Element;
|
11
11
|
export declare const styles: string;
|
12
12
|
export {};
|
@@ -35,14 +35,14 @@ function _templateObject() {
|
|
35
35
|
return data;
|
36
36
|
}
|
37
37
|
function ErrorOverlayNav(param) {
|
38
|
-
let {
|
38
|
+
let { runtimeErrors, activeIdx, setActiveIndex, versionInfo, isTurbopack } = param;
|
39
39
|
return /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
|
40
40
|
"data-nextjs-error-overlay-nav": true,
|
41
41
|
children: [
|
42
42
|
/*#__PURE__*/ (0, _jsxruntime.jsx)(Notch, {
|
43
43
|
side: "left",
|
44
44
|
children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_erroroverlaypagination.ErrorOverlayPagination, {
|
45
|
-
|
45
|
+
runtimeErrors: runtimeErrors != null ? runtimeErrors : [],
|
46
46
|
activeIdx: activeIdx != null ? activeIdx : 0,
|
47
47
|
onActiveIndexChange: setActiveIndex != null ? setActiveIndex : ()=>{}
|
48
48
|
})
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../../../../../../../src/client/components/react-dev-overlay/_experimental/internal/components/errors/error-overlay-nav/error-overlay-nav.tsx"],"sourcesContent":["import type { VersionInfo } from '../../../../../../../../server/dev/parse-version-info'\n\nimport { ErrorOverlayPagination } from '../error-overlay-pagination/error-overlay-pagination'\nimport { VersionStalenessInfo } from '../../version-staleness-info/version-staleness-info'\nimport { noop as css } from '../../../helpers/noop-template'\nimport type { ReadyRuntimeError } from '../../../../../internal/helpers/get-error-by-type'\n\ntype ErrorOverlayNavProps = {\n
|
1
|
+
{"version":3,"sources":["../../../../../../../../../src/client/components/react-dev-overlay/_experimental/internal/components/errors/error-overlay-nav/error-overlay-nav.tsx"],"sourcesContent":["import type { VersionInfo } from '../../../../../../../../server/dev/parse-version-info'\n\nimport { ErrorOverlayPagination } from '../error-overlay-pagination/error-overlay-pagination'\nimport { VersionStalenessInfo } from '../../version-staleness-info/version-staleness-info'\nimport { noop as css } from '../../../helpers/noop-template'\nimport type { ReadyRuntimeError } from '../../../../../internal/helpers/get-error-by-type'\n\ntype ErrorOverlayNavProps = {\n runtimeErrors?: ReadyRuntimeError[]\n activeIdx?: number\n setActiveIndex?: (index: number) => void\n versionInfo?: VersionInfo\n isTurbopack?: boolean\n}\n\nexport function ErrorOverlayNav({\n runtimeErrors,\n activeIdx,\n setActiveIndex,\n versionInfo,\n isTurbopack,\n}: ErrorOverlayNavProps) {\n return (\n <div data-nextjs-error-overlay-nav>\n <Notch side=\"left\">\n {/* TODO: better passing data instead of nullish coalescing */}\n <ErrorOverlayPagination\n runtimeErrors={runtimeErrors ?? []}\n activeIdx={activeIdx ?? 0}\n onActiveIndexChange={setActiveIndex ?? (() => {})}\n />\n </Notch>\n {versionInfo && (\n <Notch side=\"right\">\n <VersionStalenessInfo\n versionInfo={versionInfo}\n isTurbopack={isTurbopack}\n />\n </Notch>\n )}\n </div>\n )\n}\n\nexport const styles = css`\n [data-nextjs-error-overlay-nav] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n\n width: 100%;\n\n outline: none;\n translate: 1px 1px;\n max-width: var(--next-dialog-max-width);\n\n .error-overlay-notch {\n --stroke-color: var(--color-gray-400);\n --background-color: var(--color-background-100);\n\n translate: -1px 0;\n width: auto;\n height: 42px;\n padding: 12px;\n background: var(--background-color);\n border: 1px solid var(--stroke-color);\n border-bottom: none;\n position: relative;\n\n &[data-side='left'] {\n padding-right: 0;\n border-radius: var(--next-dialog-radius) 0 0 0;\n\n .error-overlay-notch-tail {\n right: -54px;\n }\n\n > *:not(.error-overlay-notch-tail) {\n margin-right: -10px;\n }\n }\n\n &[data-side='right'] {\n padding-left: 0;\n border-radius: 0 var(--next-dialog-radius) 0 0;\n\n .error-overlay-notch-tail {\n left: -54px;\n transform: rotateY(180deg);\n }\n\n > *:not(.error-overlay-notch-tail) {\n margin-left: -12px;\n }\n }\n\n .error-overlay-notch-tail {\n position: absolute;\n top: -1px;\n pointer-events: none;\n z-index: -1;\n }\n }\n }\n`\n\nfunction Notch({\n children,\n side = 'left',\n}: {\n children: React.ReactNode\n side?: 'left' | 'right'\n}) {\n return (\n <div className=\"error-overlay-notch\" data-side={side}>\n {children}\n <Tail />\n </div>\n )\n}\n\nfunction Tail() {\n return (\n <svg\n width=\"60\"\n height=\"42\"\n viewBox=\"0 0 60 42\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"error-overlay-notch-tail\"\n >\n <mask\n id=\"mask0_2667_14687\"\n style={{\n maskType: 'alpha',\n }}\n maskUnits=\"userSpaceOnUse\"\n x=\"0\"\n y=\"-1\"\n width=\"60\"\n height=\"43\"\n >\n <mask\n id=\"path-1-outside-1_2667_14687\"\n maskUnits=\"userSpaceOnUse\"\n x=\"0\"\n y=\"-1\"\n width=\"60\"\n height=\"43\"\n fill=\"black\"\n >\n <rect fill=\"white\" y=\"-1\" width=\"60\" height=\"43\" />\n <path d=\"M1 0L8.0783 0C15.772 0 22.7836 4.41324 26.111 11.3501L34.8889 29.6498C38.2164 36.5868 45.228 41 52.9217 41H60H1L1 0Z\" />\n </mask>\n <path\n d=\"M1 0L8.0783 0C15.772 0 22.7836 4.41324 26.111 11.3501L34.8889 29.6498C38.2164 36.5868 45.228 41 52.9217 41H60H1L1 0Z\"\n fill=\"white\"\n />\n <path\n d=\"M1 0V-1H0V0L1 0ZM1 41H0V42H1V41ZM34.8889 29.6498L33.9873 30.0823L34.8889 29.6498ZM26.111 11.3501L27.0127 10.9177L26.111 11.3501ZM1 1H8.0783V-1H1V1ZM60 40H1V42H60V40ZM2 41V0L0 0L0 41H2ZM25.2094 11.7826L33.9873 30.0823L35.7906 29.2174L27.0127 10.9177L25.2094 11.7826ZM52.9217 42H60V40H52.9217V42ZM33.9873 30.0823C37.4811 37.3661 44.8433 42 52.9217 42V40C45.6127 40 38.9517 35.8074 35.7906 29.2174L33.9873 30.0823ZM8.0783 1C15.3873 1 22.0483 5.19257 25.2094 11.7826L27.0127 10.9177C23.5188 3.6339 16.1567 -1 8.0783 -1V1Z\"\n fill=\"black\"\n mask=\"url(#path-1-outside-1_2667_14687)\"\n />\n </mask>\n <g mask=\"url(#mask0_2667_14687)\">\n <mask\n id=\"path-3-outside-2_2667_14687\"\n maskUnits=\"userSpaceOnUse\"\n x=\"-1\"\n y=\"0.0244141\"\n width=\"60\"\n height=\"43\"\n fill=\"black\"\n >\n <rect fill=\"white\" x=\"-1\" y=\"0.0244141\" width=\"60\" height=\"43\" />\n <path d=\"M0 1.02441H7.0783C14.772 1.02441 21.7836 5.43765 25.111 12.3746L33.8889 30.6743C37.2164 37.6112 44.228 42.0244 51.9217 42.0244H59H0L0 1.02441Z\" />\n </mask>\n <path\n d=\"M0 1.02441H7.0783C14.772 1.02441 21.7836 5.43765 25.111 12.3746L33.8889 30.6743C37.2164 37.6112 44.228 42.0244 51.9217 42.0244H59H0L0 1.02441Z\"\n fill=\"var(--background-color)\"\n />\n <path\n d=\"M0 1.02441L0 0.0244141H-1V1.02441H0ZM0 42.0244H-1V43.0244H0L0 42.0244ZM33.8889 30.6743L32.9873 31.1068L33.8889 30.6743ZM25.111 12.3746L26.0127 11.9421L25.111 12.3746ZM0 2.02441H7.0783V0.0244141H0L0 2.02441ZM59 41.0244H0L0 43.0244H59V41.0244ZM1 42.0244L1 1.02441H-1L-1 42.0244H1ZM24.2094 12.8071L32.9873 31.1068L34.7906 30.2418L26.0127 11.9421L24.2094 12.8071ZM51.9217 43.0244H59V41.0244H51.9217V43.0244ZM32.9873 31.1068C36.4811 38.3905 43.8433 43.0244 51.9217 43.0244V41.0244C44.6127 41.0244 37.9517 36.8318 34.7906 30.2418L32.9873 31.1068ZM7.0783 2.02441C14.3873 2.02441 21.0483 6.21699 24.2094 12.8071L26.0127 11.9421C22.5188 4.65831 15.1567 0.0244141 7.0783 0.0244141V2.02441Z\"\n fill=\"var(--stroke-color)\"\n mask=\"url(#path-3-outside-2_2667_14687)\"\n />\n </g>\n </svg>\n )\n}\n"],"names":["ErrorOverlayNav","styles","runtimeErrors","activeIdx","setActiveIndex","versionInfo","isTurbopack","div","data-nextjs-error-overlay-nav","Notch","side","ErrorOverlayPagination","onActiveIndexChange","VersionStalenessInfo","css","children","className","data-side","Tail","svg","width","height","viewBox","fill","xmlns","mask","id","style","maskType","maskUnits","x","y","rect","path","d","g"],"mappings":";;;;;;;;;;;;;;;IAegBA,eAAe;eAAfA;;IA6BHC,MAAM;eAANA;;;;;wCA1C0B;sCACF;8BACT;;;;;;;;;;AAWrB,SAASD,gBAAgB,KAMT;IANS,IAAA,EAC9BE,aAAa,EACbC,SAAS,EACTC,cAAc,EACdC,WAAW,EACXC,WAAW,EACU,GANS;IAO9B,qBACE,sBAACC;QAAIC,+BAA6B;;0BAChC,qBAACC;gBAAMC,MAAK;0BAEV,cAAA,qBAACC,8CAAsB;oBACrBT,eAAeA,wBAAAA,gBAAiB,EAAE;oBAClCC,WAAWA,oBAAAA,YAAa;oBACxBS,qBAAqBR,yBAAAA,iBAAmB,KAAO;;;YAGlDC,6BACC,qBAACI;gBAAMC,MAAK;0BACV,cAAA,qBAACG,0CAAoB;oBACnBR,aAAaA;oBACbC,aAAaA;;;;;AAMzB;AAEO,MAAML,aAASa,kBAAG;AA8DzB,SAASL,MAAM,KAMd;IANc,IAAA,EACbM,QAAQ,EACRL,OAAO,MAAM,EAId,GANc;IAOb,qBACE,sBAACH;QAAIS,WAAU;QAAsBC,aAAWP;;YAC7CK;0BACD,qBAACG;;;AAGP;AAEA,SAASA;IACP,qBACE,sBAACC;QACCC,OAAM;QACNC,QAAO;QACPC,SAAQ;QACRC,MAAK;QACLC,OAAM;QACNR,WAAU;;0BAEV,sBAACS;gBACCC,IAAG;gBACHC,OAAO;oBACLC,UAAU;gBACZ;gBACAC,WAAU;gBACVC,GAAE;gBACFC,GAAE;gBACFX,OAAM;gBACNC,QAAO;;kCAEP,sBAACI;wBACCC,IAAG;wBACHG,WAAU;wBACVC,GAAE;wBACFC,GAAE;wBACFX,OAAM;wBACNC,QAAO;wBACPE,MAAK;;0CAEL,qBAACS;gCAAKT,MAAK;gCAAQQ,GAAE;gCAAKX,OAAM;gCAAKC,QAAO;;0CAC5C,qBAACY;gCAAKC,GAAE;;;;kCAEV,qBAACD;wBACCC,GAAE;wBACFX,MAAK;;kCAEP,qBAACU;wBACCC,GAAE;wBACFX,MAAK;wBACLE,MAAK;;;;0BAGT,sBAACU;gBAAEV,MAAK;;kCACN,sBAACA;wBACCC,IAAG;wBACHG,WAAU;wBACVC,GAAE;wBACFC,GAAE;wBACFX,OAAM;wBACNC,QAAO;wBACPE,MAAK;;0CAEL,qBAACS;gCAAKT,MAAK;gCAAQO,GAAE;gCAAKC,GAAE;gCAAYX,OAAM;gCAAKC,QAAO;;0CAC1D,qBAACY;gCAAKC,GAAE;;;;kCAEV,qBAACD;wBACCC,GAAE;wBACFX,MAAK;;kCAEP,qBAACU;wBACCC,GAAE;wBACFX,MAAK;wBACLE,MAAK;;;;;;AAKf"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../../../../../../../src/client/components/react-dev-overlay/_experimental/internal/components/errors/error-overlay-nav/error-overlay-nav.stories.tsx"],"sourcesContent":["import type { Meta, StoryObj } from '@storybook/react'\nimport { ErrorOverlayNav } from './error-overlay-nav'\nimport { withShadowPortal } from '../../../storybook/with-shadow-portal'\n\nconst meta: Meta<typeof ErrorOverlayNav> = {\n component: ErrorOverlayNav,\n parameters: {\n layout: 'fullscreen',\n },\n decorators: [withShadowPortal],\n}\n\nexport default meta\ntype Story = StoryObj<typeof ErrorOverlayNav>\n\nexport const Default: Story = {\n args: {\n
|
1
|
+
{"version":3,"sources":["../../../../../../../../../src/client/components/react-dev-overlay/_experimental/internal/components/errors/error-overlay-nav/error-overlay-nav.stories.tsx"],"sourcesContent":["import type { Meta, StoryObj } from '@storybook/react'\nimport { ErrorOverlayNav } from './error-overlay-nav'\nimport { withShadowPortal } from '../../../storybook/with-shadow-portal'\n\nconst meta: Meta<typeof ErrorOverlayNav> = {\n component: ErrorOverlayNav,\n parameters: {\n layout: 'fullscreen',\n },\n decorators: [withShadowPortal],\n}\n\nexport default meta\ntype Story = StoryObj<typeof ErrorOverlayNav>\n\nexport const Default: Story = {\n args: {\n runtimeErrors: [\n {\n id: 0,\n runtime: true,\n error: new Error('First error message'),\n frames: () => Promise.resolve([]),\n },\n {\n id: 1,\n runtime: true,\n error: new Error('Second error message'),\n frames: () => Promise.resolve([]),\n },\n {\n id: 2,\n runtime: true,\n error: new Error('Third error message'),\n frames: () => Promise.resolve([]),\n },\n ],\n activeIdx: 1,\n versionInfo: {\n installed: '15.0.0',\n staleness: 'stale-major',\n },\n },\n parameters: {\n docs: {\n story: { inline: true },\n },\n },\n decorators: [\n (Story) => (\n // Offset the translateY applied to the floating header.\n <div style={{ paddingTop: 'var(--size-10_5)' }}>\n <Story />\n </div>\n ),\n ],\n}\n"],"names":["Default","meta","component","ErrorOverlayNav","parameters","layout","decorators","withShadowPortal","args","runtimeErrors","id","runtime","error","Error","frames","Promise","resolve","activeIdx","versionInfo","installed","staleness","docs","story","inline","Story","div","style","paddingTop"],"mappings":";;;;;;;;;;;;;;;IAeaA,OAAO;eAAPA;;IAHb,OAAmB;eAAnB;;;;iCAXgC;kCACC;AAEjC,MAAMC,OAAqC;IACzCC,WAAWC,gCAAe;IAC1BC,YAAY;QACVC,QAAQ;IACV;IACAC,YAAY;QAACC,kCAAgB;KAAC;AAChC;MAEA,WAAeN;AAGR,MAAMD,UAAiB;IAC5BQ,MAAM;QACJC,eAAe;YACb;gBACEC,IAAI;gBACJC,SAAS;gBACTC,OAAO,IAAIC,MAAM;gBACjBC,QAAQ,IAAMC,QAAQC,OAAO,CAAC,EAAE;YAClC;YACA;gBACEN,IAAI;gBACJC,SAAS;gBACTC,OAAO,IAAIC,MAAM;gBACjBC,QAAQ,IAAMC,QAAQC,OAAO,CAAC,EAAE;YAClC;YACA;gBACEN,IAAI;gBACJC,SAAS;gBACTC,OAAO,IAAIC,MAAM;gBACjBC,QAAQ,IAAMC,QAAQC,OAAO,CAAC,EAAE;YAClC;SACD;QACDC,WAAW;QACXC,aAAa;YACXC,WAAW;YACXC,WAAW;QACb;IACF;IACAhB,YAAY;QACViB,MAAM;YACJC,OAAO;gBAAEC,QAAQ;YAAK;QACxB;IACF;IACAjB,YAAY;QACV,CAACkB,QACC,wDAAwD;0BACxD,qBAACC;gBAAIC,OAAO;oBAAEC,YAAY;gBAAmB;0BAC3C,cAAA,qBAACH;;KAGN;AACH"}
|
@@ -1,9 +1,9 @@
|
|
1
1
|
import type { ReadyRuntimeError } from '../../../../../internal/helpers/get-error-by-type';
|
2
2
|
type ErrorPaginationProps = {
|
3
|
-
|
3
|
+
runtimeErrors: ReadyRuntimeError[];
|
4
4
|
activeIdx: number;
|
5
5
|
onActiveIndexChange: (index: number) => void;
|
6
6
|
};
|
7
|
-
export declare function ErrorOverlayPagination({
|
7
|
+
export declare function ErrorOverlayPagination({ runtimeErrors, activeIdx, onActiveIndexChange, }: ErrorPaginationProps): import("react/jsx-runtime").JSX.Element;
|
8
8
|
export declare const styles: string;
|
9
9
|
export {};
|
@@ -36,7 +36,7 @@ function _templateObject() {
|
|
36
36
|
return data;
|
37
37
|
}
|
38
38
|
function ErrorOverlayPagination(param) {
|
39
|
-
let {
|
39
|
+
let { runtimeErrors, activeIdx, onActiveIndexChange } = param;
|
40
40
|
const handlePrevious = (0, _react.useCallback)(()=>(0, _react.startTransition)(()=>{
|
41
41
|
if (activeIdx > 0) {
|
42
42
|
onActiveIndexChange(Math.max(0, activeIdx - 1));
|
@@ -46,12 +46,12 @@ function ErrorOverlayPagination(param) {
|
|
46
46
|
onActiveIndexChange
|
47
47
|
]);
|
48
48
|
const handleNext = (0, _react.useCallback)(()=>(0, _react.startTransition)(()=>{
|
49
|
-
if (activeIdx <
|
50
|
-
onActiveIndexChange(Math.max(0, Math.min(
|
49
|
+
if (activeIdx < runtimeErrors.length - 1) {
|
50
|
+
onActiveIndexChange(Math.max(0, Math.min(runtimeErrors.length - 1, activeIdx + 1)));
|
51
51
|
}
|
52
52
|
}), [
|
53
53
|
activeIdx,
|
54
|
-
|
54
|
+
runtimeErrors.length,
|
55
55
|
onActiveIndexChange
|
56
56
|
]);
|
57
57
|
const buttonLeft = (0, _react.useRef)(null);
|
@@ -106,7 +106,7 @@ function ErrorOverlayPagination(param) {
|
|
106
106
|
if (buttonLeft.current && a === buttonLeft.current) {
|
107
107
|
buttonLeft.current.blur();
|
108
108
|
}
|
109
|
-
} else if (activeIdx ===
|
109
|
+
} else if (activeIdx === runtimeErrors.length - 1) {
|
110
110
|
if (buttonRight.current && a === buttonRight.current) {
|
111
111
|
buttonRight.current.blur();
|
112
112
|
}
|
@@ -115,7 +115,7 @@ function ErrorOverlayPagination(param) {
|
|
115
115
|
}, [
|
116
116
|
nav,
|
117
117
|
activeIdx,
|
118
|
-
|
118
|
+
runtimeErrors.length
|
119
119
|
]);
|
120
120
|
return /*#__PURE__*/ (0, _jsxruntime.jsxs)("nav", {
|
121
121
|
className: "error-overlay-pagination dialog-exclude-closing-from-outside-click",
|
@@ -146,7 +146,7 @@ function ErrorOverlayPagination(param) {
|
|
146
146
|
}),
|
147
147
|
/*#__PURE__*/ (0, _jsxruntime.jsx)("span", {
|
148
148
|
"data-nextjs-dialog-header-total-count": true,
|
149
|
-
children:
|
149
|
+
children: runtimeErrors.length || 1
|
150
150
|
})
|
151
151
|
]
|
152
152
|
}),
|
@@ -154,8 +154,8 @@ function ErrorOverlayPagination(param) {
|
|
154
154
|
ref: buttonRight,
|
155
155
|
type: "button",
|
156
156
|
// If no errors or the last error is active, disable the button.
|
157
|
-
disabled: activeIdx >=
|
158
|
-
"aria-disabled": activeIdx >=
|
157
|
+
disabled: activeIdx >= runtimeErrors.length - 1,
|
158
|
+
"aria-disabled": activeIdx >= runtimeErrors.length - 1,
|
159
159
|
onClick: handleNext,
|
160
160
|
"data-nextjs-dialog-error-next": true,
|
161
161
|
className: "error-overlay-pagination-button",
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../../../../../../../src/client/components/react-dev-overlay/_experimental/internal/components/errors/error-overlay-pagination/error-overlay-pagination.tsx"],"sourcesContent":["import {\n startTransition,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from 'react'\nimport { noop as css } from '../../../helpers/noop-template'\nimport { LeftArrow } from '../../../icons/left-arrow'\nimport { RightArrow } from '../../../icons/right-arrow'\nimport type { ReadyRuntimeError } from '../../../../../internal/helpers/get-error-by-type'\n\ntype ErrorPaginationProps = {\n
|
1
|
+
{"version":3,"sources":["../../../../../../../../../src/client/components/react-dev-overlay/_experimental/internal/components/errors/error-overlay-pagination/error-overlay-pagination.tsx"],"sourcesContent":["import {\n startTransition,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from 'react'\nimport { noop as css } from '../../../helpers/noop-template'\nimport { LeftArrow } from '../../../icons/left-arrow'\nimport { RightArrow } from '../../../icons/right-arrow'\nimport type { ReadyRuntimeError } from '../../../../../internal/helpers/get-error-by-type'\n\ntype ErrorPaginationProps = {\n runtimeErrors: ReadyRuntimeError[]\n activeIdx: number\n onActiveIndexChange: (index: number) => void\n}\n\nexport function ErrorOverlayPagination({\n runtimeErrors,\n activeIdx,\n onActiveIndexChange,\n}: ErrorPaginationProps) {\n const handlePrevious = useCallback(\n () =>\n startTransition(() => {\n if (activeIdx > 0) {\n onActiveIndexChange(Math.max(0, activeIdx - 1))\n }\n }),\n [activeIdx, onActiveIndexChange]\n )\n\n const handleNext = useCallback(\n () =>\n startTransition(() => {\n if (activeIdx < runtimeErrors.length - 1) {\n onActiveIndexChange(\n Math.max(0, Math.min(runtimeErrors.length - 1, activeIdx + 1))\n )\n }\n }),\n [activeIdx, runtimeErrors.length, onActiveIndexChange]\n )\n\n const buttonLeft = useRef<HTMLButtonElement | null>(null)\n const buttonRight = useRef<HTMLButtonElement | null>(null)\n\n const [nav, setNav] = useState<HTMLElement | null>(null)\n const onNav = useCallback((el: HTMLElement) => {\n setNav(el)\n }, [])\n\n useEffect(() => {\n if (nav == null) {\n return\n }\n\n const root = nav.getRootNode()\n const d = self.document\n\n function handler(e: KeyboardEvent) {\n if (e.key === 'ArrowLeft') {\n e.preventDefault()\n e.stopPropagation()\n handlePrevious && handlePrevious()\n } else if (e.key === 'ArrowRight') {\n e.preventDefault()\n e.stopPropagation()\n handleNext && handleNext()\n }\n }\n\n root.addEventListener('keydown', handler as EventListener)\n if (root !== d) {\n d.addEventListener('keydown', handler)\n }\n return function () {\n root.removeEventListener('keydown', handler as EventListener)\n if (root !== d) {\n d.removeEventListener('keydown', handler)\n }\n }\n }, [nav, handleNext, handlePrevious])\n\n // Unlock focus for browsers like Firefox, that break all user focus if the\n // currently focused item becomes disabled.\n useEffect(() => {\n if (nav == null) {\n return\n }\n\n const root = nav.getRootNode()\n // Always true, but we do this for TypeScript:\n if (root instanceof ShadowRoot) {\n const a = root.activeElement\n\n if (activeIdx === 0) {\n if (buttonLeft.current && a === buttonLeft.current) {\n buttonLeft.current.blur()\n }\n } else if (activeIdx === runtimeErrors.length - 1) {\n if (buttonRight.current && a === buttonRight.current) {\n buttonRight.current.blur()\n }\n }\n }\n }, [nav, activeIdx, runtimeErrors.length])\n\n return (\n <nav\n className=\"error-overlay-pagination dialog-exclude-closing-from-outside-click\"\n ref={onNav}\n >\n <button\n ref={buttonLeft}\n type=\"button\"\n disabled={activeIdx === 0}\n aria-disabled={activeIdx === 0}\n onClick={handlePrevious}\n data-nextjs-dialog-error-previous\n className=\"error-overlay-pagination-button\"\n >\n <LeftArrow\n title=\"previous\"\n className=\"error-overlay-pagination-button-icon\"\n />\n </button>\n <div className=\"error-overlay-pagination-count\">\n <span data-nextjs-dialog-error-index={activeIdx}>{activeIdx + 1}/</span>\n <span data-nextjs-dialog-header-total-count>\n {/* Display 1 out of 1 if there are no errors (e.g. for build errors). */}\n {runtimeErrors.length || 1}\n </span>\n </div>\n <button\n ref={buttonRight}\n type=\"button\"\n // If no errors or the last error is active, disable the button.\n disabled={activeIdx >= runtimeErrors.length - 1}\n aria-disabled={activeIdx >= runtimeErrors.length - 1}\n onClick={handleNext}\n data-nextjs-dialog-error-next\n className=\"error-overlay-pagination-button\"\n >\n <RightArrow\n title=\"next\"\n className=\"error-overlay-pagination-button-icon\"\n />\n </button>\n </nav>\n )\n}\n\nexport const styles = css`\n .error-overlay-pagination {\n -webkit-font-smoothing: antialiased;\n display: flex;\n justify-content: center;\n align-items: center;\n gap: 8px;\n width: fit-content;\n }\n\n .error-overlay-pagination-count {\n color: var(--color-gray-900);\n text-align: center;\n font-size: var(--size-font-small);\n font-weight: 500;\n line-height: 16px;\n font-variant-numeric: tabular-nums;\n }\n\n .error-overlay-pagination-button {\n display: flex;\n justify-content: center;\n align-items: center;\n\n width: 24px;\n height: 24px;\n background: var(--color-gray-300);\n flex-shrink: 0;\n\n border: none;\n border-radius: var(--rounded-full);\n\n &:focus-visible {\n outline: var(--focus-ring);\n }\n\n &:not(:disabled):active {\n background: var(--color-gray-500);\n }\n\n &:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n }\n\n .error-overlay-pagination-button-icon {\n color: var(--color-gray-1000);\n }\n`\n"],"names":["ErrorOverlayPagination","styles","runtimeErrors","activeIdx","onActiveIndexChange","handlePrevious","useCallback","startTransition","Math","max","handleNext","length","min","buttonLeft","useRef","buttonRight","nav","setNav","useState","onNav","el","useEffect","root","getRootNode","d","self","document","handler","e","key","preventDefault","stopPropagation","addEventListener","removeEventListener","ShadowRoot","a","activeElement","current","blur","className","ref","button","type","disabled","aria-disabled","onClick","data-nextjs-dialog-error-previous","LeftArrow","title","div","span","data-nextjs-dialog-error-index","data-nextjs-dialog-header-total-count","data-nextjs-dialog-error-next","RightArrow","css"],"mappings":"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"}
|
@@ -72,7 +72,7 @@ const SingleError = {
|
|
72
72
|
const [activeIdx, setActiveIdx] = (0, _react.useState)(0);
|
73
73
|
return /*#__PURE__*/ (0, _jsxruntime.jsx)(_erroroverlaypagination.ErrorOverlayPagination, {
|
74
74
|
activeIdx: activeIdx,
|
75
|
-
|
75
|
+
runtimeErrors: [
|
76
76
|
mockErrors[0]
|
77
77
|
],
|
78
78
|
onActiveIndexChange: setActiveIdx
|
@@ -84,7 +84,7 @@ const MultipleErrors = {
|
|
84
84
|
const [activeIdx, setActiveIdx] = (0, _react.useState)(1);
|
85
85
|
return /*#__PURE__*/ (0, _jsxruntime.jsx)(_erroroverlaypagination.ErrorOverlayPagination, {
|
86
86
|
activeIdx: activeIdx,
|
87
|
-
|
87
|
+
runtimeErrors: mockErrors,
|
88
88
|
onActiveIndexChange: setActiveIdx
|
89
89
|
});
|
90
90
|
}
|
@@ -94,7 +94,7 @@ const LastError = {
|
|
94
94
|
const [activeIdx, setActiveIdx] = (0, _react.useState)(2);
|
95
95
|
return /*#__PURE__*/ (0, _jsxruntime.jsx)(_erroroverlaypagination.ErrorOverlayPagination, {
|
96
96
|
activeIdx: activeIdx,
|
97
|
-
|
97
|
+
runtimeErrors: mockErrors,
|
98
98
|
onActiveIndexChange: setActiveIdx
|
99
99
|
});
|
100
100
|
}
|
@@ -104,7 +104,7 @@ const VeryManyErrors = {
|
|
104
104
|
const [activeIdx, setActiveIdx] = (0, _react.useState)(1233);
|
105
105
|
return /*#__PURE__*/ (0, _jsxruntime.jsx)(_erroroverlaypagination.ErrorOverlayPagination, {
|
106
106
|
activeIdx: activeIdx,
|
107
|
-
|
107
|
+
runtimeErrors: Array(780).fill(mockErrors).flat(),
|
108
108
|
onActiveIndexChange: setActiveIdx
|
109
109
|
});
|
110
110
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../../../../../../../src/client/components/react-dev-overlay/_experimental/internal/components/errors/error-overlay-pagination/error-overlay-pagination.stories.tsx"],"sourcesContent":["import type { Meta, StoryObj } from '@storybook/react'\nimport { ErrorOverlayPagination } from './error-overlay-pagination'\nimport { withShadowPortal } from '../../../storybook/with-shadow-portal'\nimport { useState } from 'react'\n\nconst meta: Meta<typeof ErrorOverlayPagination> = {\n component: ErrorOverlayPagination,\n parameters: {\n layout: 'centered',\n },\n decorators: [withShadowPortal],\n}\n\nexport default meta\ntype Story = StoryObj<typeof ErrorOverlayPagination>\n\n// Mock errors for stories\nconst mockErrors = [\n {\n id: 1,\n runtime: true as const,\n error: new Error('First error'),\n frames: () => Promise.resolve([]),\n },\n {\n id: 2,\n runtime: true as const,\n error: new Error('Second error'),\n frames: () => Promise.resolve([]),\n },\n {\n id: 3,\n runtime: true as const,\n error: new Error('Third error'),\n frames: () => Promise.resolve([]),\n },\n]\n\nexport const SingleError: Story = {\n render: function ErrorOverlayPaginationStory() {\n const [activeIdx, setActiveIdx] = useState(0)\n return (\n <ErrorOverlayPagination\n activeIdx={activeIdx}\n
|
1
|
+
{"version":3,"sources":["../../../../../../../../../src/client/components/react-dev-overlay/_experimental/internal/components/errors/error-overlay-pagination/error-overlay-pagination.stories.tsx"],"sourcesContent":["import type { Meta, StoryObj } from '@storybook/react'\nimport { ErrorOverlayPagination } from './error-overlay-pagination'\nimport { withShadowPortal } from '../../../storybook/with-shadow-portal'\nimport { useState } from 'react'\n\nconst meta: Meta<typeof ErrorOverlayPagination> = {\n component: ErrorOverlayPagination,\n parameters: {\n layout: 'centered',\n },\n decorators: [withShadowPortal],\n}\n\nexport default meta\ntype Story = StoryObj<typeof ErrorOverlayPagination>\n\n// Mock errors for stories\nconst mockErrors = [\n {\n id: 1,\n runtime: true as const,\n error: new Error('First error'),\n frames: () => Promise.resolve([]),\n },\n {\n id: 2,\n runtime: true as const,\n error: new Error('Second error'),\n frames: () => Promise.resolve([]),\n },\n {\n id: 3,\n runtime: true as const,\n error: new Error('Third error'),\n frames: () => Promise.resolve([]),\n },\n]\n\nexport const SingleError: Story = {\n render: function ErrorOverlayPaginationStory() {\n const [activeIdx, setActiveIdx] = useState(0)\n return (\n <ErrorOverlayPagination\n activeIdx={activeIdx}\n runtimeErrors={[mockErrors[0]]}\n onActiveIndexChange={setActiveIdx}\n />\n )\n },\n}\n\nexport const MultipleErrors: Story = {\n render: function ErrorOverlayPaginationStory() {\n const [activeIdx, setActiveIdx] = useState(1)\n return (\n <ErrorOverlayPagination\n activeIdx={activeIdx}\n runtimeErrors={mockErrors}\n onActiveIndexChange={setActiveIdx}\n />\n )\n },\n}\n\nexport const LastError: Story = {\n render: function ErrorOverlayPaginationStory() {\n const [activeIdx, setActiveIdx] = useState(2)\n return (\n <ErrorOverlayPagination\n activeIdx={activeIdx}\n runtimeErrors={mockErrors}\n onActiveIndexChange={setActiveIdx}\n />\n )\n },\n}\n\nexport const VeryManyErrors: Story = {\n render: function ErrorOverlayPaginationStory() {\n const [activeIdx, setActiveIdx] = useState(1233)\n return (\n <ErrorOverlayPagination\n activeIdx={activeIdx}\n runtimeErrors={Array(780).fill(mockErrors).flat()}\n onActiveIndexChange={setActiveIdx}\n />\n )\n },\n}\n"],"names":["LastError","MultipleErrors","SingleError","VeryManyErrors","meta","component","ErrorOverlayPagination","parameters","layout","decorators","withShadowPortal","mockErrors","id","runtime","error","Error","frames","Promise","resolve","render","ErrorOverlayPaginationStory","activeIdx","setActiveIdx","useState","runtimeErrors","onActiveIndexChange","Array","fill","flat"],"mappings":";;;;;;;;;;;;;;;;;;IAgEaA,SAAS;eAATA;;IAbAC,cAAc;eAAdA;;IAbAC,WAAW;eAAXA;;IAuCAC,cAAc;eAAdA;;IAhEb,OAAmB;eAAnB;;;;wCAZuC;kCACN;uBACR;AAEzB,MAAMC,OAA4C;IAChDC,WAAWC,8CAAsB;IACjCC,YAAY;QACVC,QAAQ;IACV;IACAC,YAAY;QAACC,kCAAgB;KAAC;AAChC;MAEA,WAAeN;AAGf,0BAA0B;AAC1B,MAAMO,aAAa;IACjB;QACEC,IAAI;QACJC,SAAS;QACTC,OAAO,IAAIC,MAAM;QACjBC,QAAQ,IAAMC,QAAQC,OAAO,CAAC,EAAE;IAClC;IACA;QACEN,IAAI;QACJC,SAAS;QACTC,OAAO,IAAIC,MAAM;QACjBC,QAAQ,IAAMC,QAAQC,OAAO,CAAC,EAAE;IAClC;IACA;QACEN,IAAI;QACJC,SAAS;QACTC,OAAO,IAAIC,MAAM;QACjBC,QAAQ,IAAMC,QAAQC,OAAO,CAAC,EAAE;IAClC;CACD;AAEM,MAAMhB,cAAqB;IAChCiB,QAAQ,SAASC;QACf,MAAM,CAACC,WAAWC,aAAa,GAAGC,IAAAA,eAAQ,EAAC;QAC3C,qBACE,qBAACjB,8CAAsB;YACrBe,WAAWA;YACXG,eAAe;gBAACb,UAAU,CAAC,EAAE;aAAC;YAC9Bc,qBAAqBH;;IAG3B;AACF;AAEO,MAAMrB,iBAAwB;IACnCkB,QAAQ,SAASC;QACf,MAAM,CAACC,WAAWC,aAAa,GAAGC,IAAAA,eAAQ,EAAC;QAC3C,qBACE,qBAACjB,8CAAsB;YACrBe,WAAWA;YACXG,eAAeb;YACfc,qBAAqBH;;IAG3B;AACF;AAEO,MAAMtB,YAAmB;IAC9BmB,QAAQ,SAASC;QACf,MAAM,CAACC,WAAWC,aAAa,GAAGC,IAAAA,eAAQ,EAAC;QAC3C,qBACE,qBAACjB,8CAAsB;YACrBe,WAAWA;YACXG,eAAeb;YACfc,qBAAqBH;;IAG3B;AACF;AAEO,MAAMnB,iBAAwB;IACnCgB,QAAQ,SAASC;QACf,MAAM,CAACC,WAAWC,aAAa,GAAGC,IAAAA,eAAQ,EAAC;QAC3C,qBACE,qBAACjB,8CAAsB;YACrBe,WAAWA;YACXG,eAAeE,MAAM,KAAKC,IAAI,CAAChB,YAAYiB,IAAI;YAC/CH,qBAAqBH;;IAG3B;AACF"}
|
@@ -120,18 +120,23 @@ const Terminal = function Terminal(param) {
|
|
120
120
|
children: /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", {
|
121
121
|
className: "code-frame-link",
|
122
122
|
children: [
|
123
|
-
/*#__PURE__*/ (0, _jsxruntime.
|
123
|
+
/*#__PURE__*/ (0, _jsxruntime.jsx)("span", {
|
124
124
|
className: "code-frame-icon",
|
125
|
-
children:
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
125
|
+
children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_file.FileIcon, {
|
126
|
+
lang: fileExtension
|
127
|
+
})
|
128
|
+
}),
|
129
|
+
/*#__PURE__*/ (0, _jsxruntime.jsx)("span", {
|
130
|
+
"data-text": true,
|
131
|
+
children: (0, _stackframe.getFrameSource)(stackFrame)
|
131
132
|
}),
|
132
|
-
/*#__PURE__*/ (0, _jsxruntime.jsx)(
|
133
|
-
|
134
|
-
|
133
|
+
/*#__PURE__*/ (0, _jsxruntime.jsx)("span", {
|
134
|
+
className: "code-frame-icon",
|
135
|
+
"data-icon": "right",
|
136
|
+
children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_external.ExternalIcon, {
|
137
|
+
width: 16,
|
138
|
+
height: 16
|
139
|
+
})
|
135
140
|
})
|
136
141
|
]
|
137
142
|
})
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../../../../../../src/client/components/react-dev-overlay/_experimental/internal/components/terminal/terminal.tsx"],"sourcesContent":["import Anser from 'next/dist/compiled/anser'\nimport * as React from 'react'\nimport { HotlinkedText } from '../hot-linked-text'\nimport { EditorLink } from './editor-link'\nimport { ExternalIcon } from '../../icons/external'\nimport { noop as css } from '../../helpers/noop-template'\nimport { getFrameSource } from '../../../../internal/helpers/stack-frame'\nimport { useOpenInEditor } from '../../helpers/use-open-in-editor'\nimport { FileIcon } from '../../icons/file'\n\nexport type TerminalProps = { content: string }\n\nfunction getFile(lines: string[]) {\n const contentFileName = lines.shift()\n if (!contentFileName) return null\n const [fileName, line, column] = contentFileName.split(':', 3)\n\n const parsedLine = Number(line)\n const parsedColumn = Number(column)\n const hasLocation = !Number.isNaN(parsedLine) && !Number.isNaN(parsedColumn)\n\n return {\n fileName: hasLocation ? fileName : contentFileName,\n location: hasLocation\n ? {\n line: parsedLine,\n column: parsedColumn,\n }\n : undefined,\n }\n}\n\nfunction getImportTraceFiles(lines: string[]) {\n if (\n lines.some((line) => /ReactServerComponentsError:/.test(line)) ||\n lines.some((line) => /Import trace for requested module:/.test(line))\n ) {\n // Grab the lines at the end containing the files\n const files = []\n while (\n /.+\\..+/.test(lines[lines.length - 1]) &&\n !lines[lines.length - 1].includes(':')\n ) {\n const file = lines.pop()!.trim()\n files.unshift(file)\n }\n\n return files\n }\n\n return []\n}\n\nfunction getEditorLinks(content: string) {\n const lines = content.split('\\n')\n const file = getFile(lines)\n const importTraceFiles = getImportTraceFiles(lines)\n\n return { file, source: lines.join('\\n'), importTraceFiles }\n}\n\nexport const Terminal: React.FC<TerminalProps> = function Terminal({\n content,\n}) {\n const { file, source, importTraceFiles } = React.useMemo(\n () => getEditorLinks(content),\n [content]\n )\n\n const decoded = React.useMemo(() => {\n return Anser.ansiToJson(source, {\n json: true,\n use_classes: true,\n remove_empty: true,\n })\n }, [source])\n\n const open = useOpenInEditor({\n file: file?.fileName,\n lineNumber: file?.location?.line ?? 1,\n column: file?.location?.column ?? 0,\n })\n\n const stackFrame = {\n file: file?.fileName ?? null,\n methodName: '',\n arguments: [],\n lineNumber: file?.location?.line ?? null,\n column: file?.location?.column ?? null,\n }\n\n const fileExtension = stackFrame?.file?.split('.').pop()\n\n return (\n <div data-nextjs-codeframe>\n <button\n aria-label=\"Open in editor\"\n className=\"code-frame-header\"\n data-with-open-in-editor-link-source-file\n onClick={open}\n >\n <div className=\"code-frame-link\">\n <span className=\"code-frame-icon\">\n <FileIcon lang={fileExtension} />\n
|
1
|
+
{"version":3,"sources":["../../../../../../../../src/client/components/react-dev-overlay/_experimental/internal/components/terminal/terminal.tsx"],"sourcesContent":["import Anser from 'next/dist/compiled/anser'\nimport * as React from 'react'\nimport { HotlinkedText } from '../hot-linked-text'\nimport { EditorLink } from './editor-link'\nimport { ExternalIcon } from '../../icons/external'\nimport { noop as css } from '../../helpers/noop-template'\nimport { getFrameSource } from '../../../../internal/helpers/stack-frame'\nimport { useOpenInEditor } from '../../helpers/use-open-in-editor'\nimport { FileIcon } from '../../icons/file'\n\nexport type TerminalProps = { content: string }\n\nfunction getFile(lines: string[]) {\n const contentFileName = lines.shift()\n if (!contentFileName) return null\n const [fileName, line, column] = contentFileName.split(':', 3)\n\n const parsedLine = Number(line)\n const parsedColumn = Number(column)\n const hasLocation = !Number.isNaN(parsedLine) && !Number.isNaN(parsedColumn)\n\n return {\n fileName: hasLocation ? fileName : contentFileName,\n location: hasLocation\n ? {\n line: parsedLine,\n column: parsedColumn,\n }\n : undefined,\n }\n}\n\nfunction getImportTraceFiles(lines: string[]) {\n if (\n lines.some((line) => /ReactServerComponentsError:/.test(line)) ||\n lines.some((line) => /Import trace for requested module:/.test(line))\n ) {\n // Grab the lines at the end containing the files\n const files = []\n while (\n /.+\\..+/.test(lines[lines.length - 1]) &&\n !lines[lines.length - 1].includes(':')\n ) {\n const file = lines.pop()!.trim()\n files.unshift(file)\n }\n\n return files\n }\n\n return []\n}\n\nfunction getEditorLinks(content: string) {\n const lines = content.split('\\n')\n const file = getFile(lines)\n const importTraceFiles = getImportTraceFiles(lines)\n\n return { file, source: lines.join('\\n'), importTraceFiles }\n}\n\nexport const Terminal: React.FC<TerminalProps> = function Terminal({\n content,\n}) {\n const { file, source, importTraceFiles } = React.useMemo(\n () => getEditorLinks(content),\n [content]\n )\n\n const decoded = React.useMemo(() => {\n return Anser.ansiToJson(source, {\n json: true,\n use_classes: true,\n remove_empty: true,\n })\n }, [source])\n\n const open = useOpenInEditor({\n file: file?.fileName,\n lineNumber: file?.location?.line ?? 1,\n column: file?.location?.column ?? 0,\n })\n\n const stackFrame = {\n file: file?.fileName ?? null,\n methodName: '',\n arguments: [],\n lineNumber: file?.location?.line ?? null,\n column: file?.location?.column ?? null,\n }\n\n const fileExtension = stackFrame?.file?.split('.').pop()\n\n return (\n <div data-nextjs-codeframe>\n <button\n aria-label=\"Open in editor\"\n className=\"code-frame-header\"\n data-with-open-in-editor-link-source-file\n onClick={open}\n >\n <div className=\"code-frame-link\">\n <span className=\"code-frame-icon\">\n <FileIcon lang={fileExtension} />\n </span>\n <span data-text>\n {/* TODO: Unlike the CodeFrame component, the `methodName` is unavailable. */}\n {getFrameSource(stackFrame)}\n </span>\n <span className=\"code-frame-icon\" data-icon=\"right\">\n <ExternalIcon width={16} height={16} />\n </span>\n </div>\n </button>\n <pre className=\"code-frame-pre\">\n {decoded.map((entry, index) => (\n <span\n key={`terminal-entry-${index}`}\n style={{\n color: entry.fg ? `var(--color-${entry.fg})` : undefined,\n ...(entry.decoration === 'bold'\n ? // TODO(jiwon): This used to be 800, but the symbols like `─┬─` are\n // having longer width than expected on Geist Mono font-weight\n // above 600, hence a temporary fix is to use 500 for bold.\n { fontWeight: 500 }\n : entry.decoration === 'italic'\n ? { fontStyle: 'italic' }\n : undefined),\n }}\n >\n <HotlinkedText text={entry.content} />\n </span>\n ))}\n {importTraceFiles.map((importTraceFile) => (\n <EditorLink\n isSourceFile={false}\n key={importTraceFile}\n file={importTraceFile}\n />\n ))}\n </pre>\n </div>\n )\n}\n\nexport const TERMINAL_STYLES = css`\n [data-nextjs-terminal]::selection,\n [data-nextjs-terminal] *::selection {\n background-color: var(--color-ansi-selection);\n }\n\n [data-nextjs-terminal] * {\n color: inherit;\n background-color: transparent;\n font-family: var(--font-stack-monospace);\n }\n\n [data-nextjs-terminal] > div > p {\n display: flex;\n align-items: center;\n justify-content: space-between;\n cursor: pointer;\n margin: 0;\n }\n [data-nextjs-terminal] > div > p:hover {\n text-decoration: underline dotted;\n }\n [data-nextjs-terminal] div > pre {\n overflow: hidden;\n display: inline-block;\n }\n`\n"],"names":["TERMINAL_STYLES","Terminal","getFile","lines","contentFileName","shift","fileName","line","column","split","parsedLine","Number","parsedColumn","hasLocation","isNaN","location","undefined","getImportTraceFiles","some","test","files","length","includes","file","pop","trim","unshift","getEditorLinks","content","importTraceFiles","source","join","stackFrame","React","useMemo","decoded","Anser","ansiToJson","json","use_classes","remove_empty","open","useOpenInEditor","lineNumber","methodName","arguments","fileExtension","div","data-nextjs-codeframe","button","aria-label","className","data-with-open-in-editor-link-source-file","onClick","span","FileIcon","lang","data-text","getFrameSource","data-icon","ExternalIcon","width","height","pre","map","entry","index","style","color","fg","decoration","fontWeight","fontStyle","HotlinkedText","text","importTraceFile","EditorLink","isSourceFile","css"],"mappings":";;;;;;;;;;;;;;;IAiJaA,eAAe;eAAfA;;IApFAC,QAAQ;eAARA;;;;;;;gEA7DK;iEACK;+BACO;4BACH;0BACE;8BACD;4BACG;iCACC;sBACP;;;;;;;;;;AAIzB,SAASC,QAAQC,KAAe;IAC9B,MAAMC,kBAAkBD,MAAME,KAAK;IACnC,IAAI,CAACD,iBAAiB,OAAO;IAC7B,MAAM,CAACE,UAAUC,MAAMC,OAAO,GAAGJ,gBAAgBK,KAAK,CAAC,KAAK;IAE5D,MAAMC,aAAaC,OAAOJ;IAC1B,MAAMK,eAAeD,OAAOH;IAC5B,MAAMK,cAAc,CAACF,OAAOG,KAAK,CAACJ,eAAe,CAACC,OAAOG,KAAK,CAACF;IAE/D,OAAO;QACLN,UAAUO,cAAcP,WAAWF;QACnCW,UAAUF,cACN;YACEN,MAAMG;YACNF,QAAQI;QACV,IACAI;IACN;AACF;AAEA,SAASC,oBAAoBd,KAAe;IAC1C,IACEA,MAAMe,IAAI,CAAC,CAACX,OAAS,8BAA8BY,IAAI,CAACZ,UACxDJ,MAAMe,IAAI,CAAC,CAACX,OAAS,qCAAqCY,IAAI,CAACZ,QAC/D;QACA,iDAAiD;QACjD,MAAMa,QAAQ,EAAE;QAChB,MACE,SAASD,IAAI,CAAChB,KAAK,CAACA,MAAMkB,MAAM,GAAG,EAAE,KACrC,CAAClB,KAAK,CAACA,MAAMkB,MAAM,GAAG,EAAE,CAACC,QAAQ,CAAC,KAClC;YACA,MAAMC,OAAOpB,MAAMqB,GAAG,GAAIC,IAAI;YAC9BL,MAAMM,OAAO,CAACH;QAChB;QAEA,OAAOH;IACT;IAEA,OAAO,EAAE;AACX;AAEA,SAASO,eAAeC,OAAe;IACrC,MAAMzB,QAAQyB,QAAQnB,KAAK,CAAC;IAC5B,MAAMc,OAAOrB,QAAQC;IACrB,MAAM0B,mBAAmBZ,oBAAoBd;IAE7C,OAAO;QAAEoB;QAAMO,QAAQ3B,MAAM4B,IAAI,CAAC;QAAOF;IAAiB;AAC5D;AAEO,MAAM5B,WAAoC,SAASA,SAAS,KAElE;IAFkE,IAAA,EACjE2B,OAAO,EACR,GAFkE;QAkBnDL,gBACJA,iBAOIA,iBACJA,iBAGYS;IA3BtB,MAAM,EAAET,IAAI,EAAEO,MAAM,EAAED,gBAAgB,EAAE,GAAGI,OAAMC,OAAO,CACtD,IAAMP,eAAeC,UACrB;QAACA;KAAQ;IAGX,MAAMO,UAAUF,OAAMC,OAAO,CAAC;QAC5B,OAAOE,cAAK,CAACC,UAAU,CAACP,QAAQ;YAC9BQ,MAAM;YACNC,aAAa;YACbC,cAAc;QAChB;IACF,GAAG;QAACV;KAAO;QAIGP,qBACJA;IAHV,MAAMkB,OAAOC,IAAAA,gCAAe,EAAC;QAC3BnB,IAAI,EAAEA,wBAAAA,KAAMjB,QAAQ;QACpBqC,YAAYpB,CAAAA,sBAAAA,yBAAAA,iBAAAA,KAAMR,QAAQ,qBAAdQ,eAAgBhB,IAAI,YAApBgB,sBAAwB;QACpCf,QAAQe,CAAAA,wBAAAA,yBAAAA,kBAAAA,KAAMR,QAAQ,qBAAdQ,gBAAgBf,MAAM,YAAtBe,wBAA0B;IACpC;QAGQA,gBAGMA,sBACJA;IALV,MAAMS,aAAa;QACjBT,MAAMA,CAAAA,iBAAAA,wBAAAA,KAAMjB,QAAQ,YAAdiB,iBAAkB;QACxBqB,YAAY;QACZC,WAAW,EAAE;QACbF,YAAYpB,CAAAA,uBAAAA,yBAAAA,kBAAAA,KAAMR,QAAQ,qBAAdQ,gBAAgBhB,IAAI,YAApBgB,uBAAwB;QACpCf,QAAQe,CAAAA,yBAAAA,yBAAAA,kBAAAA,KAAMR,QAAQ,qBAAdQ,gBAAgBf,MAAM,YAAtBe,yBAA0B;IACpC;IAEA,MAAMuB,gBAAgBd,+BAAAA,mBAAAA,WAAYT,IAAI,qBAAhBS,iBAAkBvB,KAAK,CAAC,KAAKe,GAAG;IAEtD,qBACE,sBAACuB;QAAIC,uBAAqB;;0BACxB,qBAACC;gBACCC,cAAW;gBACXC,WAAU;gBACVC,2CAAyC;gBACzCC,SAASZ;0BAET,cAAA,sBAACM;oBAAII,WAAU;;sCACb,qBAACG;4BAAKH,WAAU;sCACd,cAAA,qBAACI,cAAQ;gCAACC,MAAMV;;;sCAElB,qBAACQ;4BAAKG,WAAS;sCAEZC,IAAAA,0BAAc,EAAC1B;;sCAElB,qBAACsB;4BAAKH,WAAU;4BAAkBQ,aAAU;sCAC1C,cAAA,qBAACC,sBAAY;gCAACC,OAAO;gCAAIC,QAAQ;;;;;;0BAIvC,sBAACC;gBAAIZ,WAAU;;oBACZhB,QAAQ6B,GAAG,CAAC,CAACC,OAAOC,sBACnB,qBAACZ;4BAECa,OAAO;gCACLC,OAAOH,MAAMI,EAAE,GAAG,AAAC,iBAAcJ,MAAMI,EAAE,GAAC,MAAKrD;gCAC/C,GAAIiD,MAAMK,UAAU,KAAK,SAErB,8DAA8D;gCAC9D,2DAA2D;gCAC3D;oCAAEC,YAAY;gCAAI,IAClBN,MAAMK,UAAU,KAAK,WACnB;oCAAEE,WAAW;gCAAS,IACtBxD,SAAS;4BACjB;sCAEA,cAAA,qBAACyD,4BAAa;gCAACC,MAAMT,MAAMrC,OAAO;;2BAb7B,AAAC,oBAAiBsC;oBAgB1BrC,iBAAiBmC,GAAG,CAAC,CAACW,gCACrB,qBAACC,sBAAU;4BACTC,cAAc;4BAEdtD,MAAMoD;2BADDA;;;;;AAOjB;AAEO,MAAM3E,sBAAkB8E,kBAAG"}
|
package/dist/client/components/react-dev-overlay/_experimental/internal/components/toast/toast.js
CHANGED
@@ -17,7 +17,9 @@ const Toast = function Toast(param) {
|
|
17
17
|
return /*#__PURE__*/ (0, _jsxruntime.jsx)("div", {
|
18
18
|
...props,
|
19
19
|
onClick: (e)=>{
|
20
|
-
e.
|
20
|
+
if (!e.target.closest('a')) {
|
21
|
+
e.preventDefault();
|
22
|
+
}
|
21
23
|
return onClick == null ? void 0 : onClick();
|
22
24
|
},
|
23
25
|
className: (0, _cx.cx)('nextjs-toast', className),
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../../../../../../src/client/components/react-dev-overlay/_experimental/internal/components/toast/toast.tsx"],"sourcesContent":["import * as React from 'react'\nimport { cx } from '../../helpers/cx'\nexport type ToastProps = React.HTMLProps<HTMLDivElement> & {\n children?: React.ReactNode\n onClick?: () => void\n className?: string\n}\n\nexport const Toast: React.FC<ToastProps> = function Toast({\n onClick,\n children,\n className,\n ...props\n}) {\n return (\n <div\n {...props}\n onClick={(e) => {\n e.preventDefault()\n return onClick?.()\n }}\n className={cx('nextjs-toast', className)}\n >\n <div data-nextjs-toast-wrapper>{children}</div>\n </div>\n )\n}\n"],"names":["Toast","onClick","children","className","props","div","e","preventDefault","cx","data-nextjs-toast-wrapper"],"mappings":";;;;+BAQaA;;;eAAAA;;;;;iEARU;oBACJ;AAOZ,MAAMA,QAA8B,SAASA,MAAM,KAKzD;IALyD,IAAA,EACxDC,OAAO,EACPC,QAAQ,EACRC,SAAS,EACT,GAAGC,OACJ,GALyD;IAMxD,qBACE,qBAACC;QACE,GAAGD,KAAK;QACTH,SAAS,CAACK;
|
1
|
+
{"version":3,"sources":["../../../../../../../../src/client/components/react-dev-overlay/_experimental/internal/components/toast/toast.tsx"],"sourcesContent":["import * as React from 'react'\nimport { cx } from '../../helpers/cx'\nexport type ToastProps = React.HTMLProps<HTMLDivElement> & {\n children?: React.ReactNode\n onClick?: () => void\n className?: string\n}\n\nexport const Toast: React.FC<ToastProps> = function Toast({\n onClick,\n children,\n className,\n ...props\n}) {\n return (\n <div\n {...props}\n onClick={(e) => {\n if (!(e.target as HTMLElement).closest('a')) {\n e.preventDefault()\n }\n return onClick?.()\n }}\n className={cx('nextjs-toast', className)}\n >\n <div data-nextjs-toast-wrapper>{children}</div>\n </div>\n )\n}\n"],"names":["Toast","onClick","children","className","props","div","e","target","closest","preventDefault","cx","data-nextjs-toast-wrapper"],"mappings":";;;;+BAQaA;;;eAAAA;;;;;iEARU;oBACJ;AAOZ,MAAMA,QAA8B,SAASA,MAAM,KAKzD;IALyD,IAAA,EACxDC,OAAO,EACPC,QAAQ,EACRC,SAAS,EACT,GAAGC,OACJ,GALyD;IAMxD,qBACE,qBAACC;QACE,GAAGD,KAAK;QACTH,SAAS,CAACK;YACR,IAAI,CAAC,AAACA,EAAEC,MAAM,CAAiBC,OAAO,CAAC,MAAM;gBAC3CF,EAAEG,cAAc;YAClB;YACA,OAAOR,2BAAAA;QACT;QACAE,WAAWO,IAAAA,MAAE,EAAC,gBAAgBP;kBAE9B,cAAA,qBAACE;YAAIM,2BAAyB;sBAAET;;;AAGtC"}
|
package/dist/client/components/react-dev-overlay/_experimental/internal/container/errors.d.ts
CHANGED
@@ -2,9 +2,9 @@ import type { DebugInfo } from '../../../types';
|
|
2
2
|
import type { ReadyRuntimeError } from '../../../internal/helpers/get-error-by-type';
|
3
3
|
import type { ErrorBaseProps } from '../components/errors/error-overlay/error-overlay';
|
4
4
|
export interface ErrorsProps extends ErrorBaseProps {
|
5
|
-
|
5
|
+
runtimeErrors: ReadyRuntimeError[];
|
6
6
|
debugInfo: DebugInfo;
|
7
7
|
onClose: () => void;
|
8
8
|
}
|
9
|
-
export declare function Errors({
|
9
|
+
export declare function Errors({ runtimeErrors, debugInfo, onClose, ...props }: ErrorsProps): import("react/jsx-runtime").JSX.Element | null;
|
10
10
|
export declare const styles: string;
|
@@ -74,7 +74,7 @@ function ErrorDescription(param) {
|
|
74
74
|
});
|
75
75
|
}
|
76
76
|
function Errors(param) {
|
77
|
-
let {
|
77
|
+
let { runtimeErrors, debugInfo, onClose, ...props } = param;
|
78
78
|
var _activeError_componentStackFrames;
|
79
79
|
const dialogResizerRef = (0, _react.useRef)(null);
|
80
80
|
(0, _react.useEffect)(()=>{
|
@@ -90,17 +90,17 @@ function Errors(param) {
|
|
90
90
|
onClose
|
91
91
|
]);
|
92
92
|
const isLoading = (0, _react.useMemo)(()=>{
|
93
|
-
return
|
93
|
+
return runtimeErrors.length < 1;
|
94
94
|
}, [
|
95
|
-
|
95
|
+
runtimeErrors.length
|
96
96
|
]);
|
97
97
|
const [activeIdx, setActiveIndex] = (0, _react.useState)(0);
|
98
98
|
const activeError = (0, _react.useMemo)(()=>{
|
99
|
-
var
|
100
|
-
return (
|
99
|
+
var _runtimeErrors_activeIdx;
|
100
|
+
return (_runtimeErrors_activeIdx = runtimeErrors[activeIdx]) != null ? _runtimeErrors_activeIdx : null;
|
101
101
|
}, [
|
102
102
|
activeIdx,
|
103
|
-
|
103
|
+
runtimeErrors
|
104
104
|
]);
|
105
105
|
if (isLoading) {
|
106
106
|
// TODO: better loading state
|
@@ -138,7 +138,7 @@ function Errors(param) {
|
|
138
138
|
onClose: isServerError ? undefined : onClose,
|
139
139
|
debugInfo: debugInfo,
|
140
140
|
error: error,
|
141
|
-
|
141
|
+
runtimeErrors: runtimeErrors,
|
142
142
|
activeIdx: activeIdx,
|
143
143
|
setActiveIndex: setActiveIndex,
|
144
144
|
footerMessage: footerMessage,
|