@storybook/nextjs 11.0.0-alpha.0 → 11.0.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. package/README.md +5 -0
  2. package/dist/_browser-chunks/react-dom-client-W6CPASVV.js +41 -0
  3. package/dist/_node-chunks/{chunk-J6XYSX4C.js → chunk-6IB26GEO.js} +10 -7
  4. package/dist/_node-chunks/chunk-VRLPDX6R.js +31 -0
  5. package/dist/_node-chunks/{chunk-HS4NIXO2.js → chunk-XOYHLPYI.js} +7 -7
  6. package/dist/_node-chunks/{configureNextFont-B4VJ7RHY.js → configureNextFont-KSRPGKWA.js} +6 -6
  7. package/dist/_node-chunks/{loader-IYXKXVFG.js → loader-MDIUDJWT.js} +8 -8
  8. package/dist/_node-chunks/{loader-UGEEDXQ4.js → loader-PJAW2D5I.js} +8 -8
  9. package/dist/_node-chunks/{utils-OJCFVKXV.js → utils-76JQJLC6.js} +8 -8
  10. package/dist/_node-chunks/webpack-BHFEB45R.js +42 -0
  11. package/dist/_node-chunks/{webpack-OOZVQP5K.js → webpack-IXTRV46D.js} +18 -29
  12. package/dist/_node-chunks/{webpack-7QXPGFMA.js → webpack-LSFECR27.js} +6 -6
  13. package/dist/_node-chunks/{webpack-VHEBLWCK.js → webpack-QO6GPXWH.js} +6 -6
  14. package/dist/_node-chunks/{webpack-4WOENOEJ.js → webpack-R42N6XAP.js} +10 -15
  15. package/dist/_node-chunks/{webpack-GTMWRMHR.js → webpack-RMDVGMMD.js} +6 -6
  16. package/dist/_node-chunks/{webpack-QUTYPKPT.js → webpack-TPMEVBFB.js} +9 -16
  17. package/dist/_node-chunks/{webpack-4XK6MERK.js → webpack-ZISMRVAB.js} +8 -8
  18. package/dist/export-mocks/index.js +7 -9
  19. package/dist/font/webpack/loader/storybook-nextjs-font-loader.js +6 -6
  20. package/dist/index.js +13 -6
  21. package/dist/node/index.js +6 -6
  22. package/dist/preset.js +36 -17
  23. package/dist/swc/next-swc-loader-patch.js +7 -9
  24. package/package.json +18 -14
  25. package/dist/_browser-chunks/react-18-V22CCOOF.js +0 -43
  26. package/dist/_node-chunks/chunk-GCMGR3UX.js +0 -58
  27. package/dist/_node-chunks/webpack-VXTKEXGE.js +0 -31
  28. package/dist/compatibility/draft-mode.compat.js +0 -7
package/README.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # Storybook for Next.js
2
2
 
3
+ > [!WARNING]
4
+ > **`@storybook/nextjs` is deprecated and will be removed in Storybook 12.**
5
+ >
6
+ > Migrate to [`@storybook/nextjs-vite`](https://www.npmjs.com/package/@storybook/nextjs-vite) — the automigration is available via `storybook upgrade` (accept the fix) or `storybook migrate nextjs-to-nextjs-vite`. See the [migration guide](https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#nextjs-storybooknextjs-is-deprecated) for details.
7
+
3
8
  See [documentation](https://storybook.js.org/docs/get-started/frameworks/nextjs?renderer=react&ref=readme) for installation instructions, usage examples, APIs, and more.
4
9
 
5
10
  ## Acknowledgements
@@ -0,0 +1,41 @@
1
+ import "./chunk-IMSF75WX.js";
2
+
3
+ // ../../renderers/react/src/react-dom-client.tsx
4
+ import * as React from "react";
5
+ import * as ReactDOM from "react-dom/client";
6
+ var nodes = /* @__PURE__ */ new Map(), WithCallback = ({
7
+ callback,
8
+ children
9
+ }) => {
10
+ let once = React.useRef();
11
+ return React.useLayoutEffect(() => {
12
+ once.current !== callback && (once.current = callback, callback());
13
+ }, [callback]), children;
14
+ }, createPromise = () => {
15
+ let resolve;
16
+ return { promise: new Promise((res) => {
17
+ resolve = res;
18
+ }), resolve };
19
+ }, settlePendingRenders = ({ pendingRenders }) => {
20
+ pendingRenders.forEach((resolve) => resolve()), pendingRenders.clear();
21
+ }, renderElement = async (node, el, rootOptions) => {
22
+ let state = nodes.get(el);
23
+ if (state || (state = {
24
+ root: ReactDOM.createRoot(el, rootOptions),
25
+ pendingRenders: /* @__PURE__ */ new Set()
26
+ }, nodes.set(el, state)), settlePendingRenders(state), globalThis.IS_REACT_ACT_ENVIRONMENT) {
27
+ state.root.render(node);
28
+ return;
29
+ }
30
+ let { promise, resolve } = createPromise(), onCommit = () => {
31
+ state.pendingRenders.delete(onCommit), resolve();
32
+ };
33
+ return state.pendingRenders.add(onCommit), state.root.render(React.createElement(WithCallback, { callback: onCommit }, node)), promise;
34
+ }, unmountElement = (el) => {
35
+ let state = nodes.get(el);
36
+ state && (state.root.unmount(), settlePendingRenders(state), nodes.delete(el));
37
+ };
38
+ export {
39
+ renderElement,
40
+ unmountElement
41
+ };
@@ -1,17 +1,17 @@
1
- import CJS_COMPAT_NODE_URL_i4qm0mthp88 from 'node:url';
2
- import CJS_COMPAT_NODE_PATH_i4qm0mthp88 from 'node:path';
3
- import CJS_COMPAT_NODE_MODULE_i4qm0mthp88 from "node:module";
1
+ import CJS_COMPAT_NODE_URL_usob6ocll4k from 'node:url';
2
+ import CJS_COMPAT_NODE_PATH_usob6ocll4k from 'node:path';
3
+ import CJS_COMPAT_NODE_MODULE_usob6ocll4k from "node:module";
4
4
 
5
- var __filename = CJS_COMPAT_NODE_URL_i4qm0mthp88.fileURLToPath(import.meta.url);
6
- var __dirname = CJS_COMPAT_NODE_PATH_i4qm0mthp88.dirname(__filename);
7
- var require = CJS_COMPAT_NODE_MODULE_i4qm0mthp88.createRequire(import.meta.url);
5
+ var __filename = CJS_COMPAT_NODE_URL_usob6ocll4k.fileURLToPath(import.meta.url);
6
+ var __dirname = CJS_COMPAT_NODE_PATH_usob6ocll4k.dirname(__filename);
7
+ var require = CJS_COMPAT_NODE_MODULE_usob6ocll4k.createRequire(import.meta.url);
8
8
 
9
9
  // ------------------------------------------------------------
10
10
  // end of CJS compatibility banner, injected by Storybook's esbuild configuration
11
11
  // ------------------------------------------------------------
12
12
 
13
13
  // ../../core/src/shared/utils/module.ts
14
- import { createRequire, register } from "node:module";
14
+ import nodeModule, { createRequire } from "node:module";
15
15
  import { fileURLToPath, pathToFileURL } from "node:url";
16
16
 
17
17
  // ../../../node_modules/exsolve/dist/index.mjs
@@ -138,6 +138,9 @@ var hasOwnProperty = {}.hasOwnProperty;
138
138
  var RegExpPrototypeSymbolReplace = RegExp.prototype[Symbol.replace], own = {}.hasOwnProperty;
139
139
  var isWindows = process.platform === "win32", globalCache = globalThis.__EXSOLVE_CACHE__ ||= /* @__PURE__ */ new Map();
140
140
 
141
+ // ../../core/src/shared/utils/module.ts
142
+ import semver from "semver";
143
+
141
144
  // ../../core/node_modules/pathe/dist/shared/pathe.ff20891b.mjs
142
145
  var _DRIVE_LETTER_START_RE = /^[A-Za-z]:\//;
143
146
  function normalizeWindowsPath(input = "") {
@@ -0,0 +1,31 @@
1
+ import CJS_COMPAT_NODE_URL_usob6ocll4k from 'node:url';
2
+ import CJS_COMPAT_NODE_PATH_usob6ocll4k from 'node:path';
3
+ import CJS_COMPAT_NODE_MODULE_usob6ocll4k from "node:module";
4
+
5
+ var __filename = CJS_COMPAT_NODE_URL_usob6ocll4k.fileURLToPath(import.meta.url);
6
+ var __dirname = CJS_COMPAT_NODE_PATH_usob6ocll4k.dirname(__filename);
7
+ var require = CJS_COMPAT_NODE_MODULE_usob6ocll4k.createRequire(import.meta.url);
8
+
9
+ // ------------------------------------------------------------
10
+ // end of CJS compatibility banner, injected by Storybook's esbuild configuration
11
+ // ------------------------------------------------------------
12
+
13
+ // src/export-mocks/webpack.ts
14
+ var mapping = {
15
+ "next/headers": "@storybook/nextjs/headers.mock",
16
+ "next/navigation": "@storybook/nextjs/navigation.mock",
17
+ "next/router": "@storybook/nextjs/router.mock",
18
+ "next/cache": "@storybook/nextjs/cache.mock",
19
+ "next/link": "@storybook/nextjs/link.mock"
20
+ }, getPackageAliases = () => mapping, configureNextExportMocks = (baseConfig) => {
21
+ let resolve = baseConfig.resolve ?? {};
22
+ resolve.alias = {
23
+ ...resolve.alias,
24
+ ...mapping
25
+ };
26
+ };
27
+
28
+ export {
29
+ getPackageAliases,
30
+ configureNextExportMocks
31
+ };
@@ -1,17 +1,17 @@
1
- import CJS_COMPAT_NODE_URL_i4qm0mthp88 from 'node:url';
2
- import CJS_COMPAT_NODE_PATH_i4qm0mthp88 from 'node:path';
3
- import CJS_COMPAT_NODE_MODULE_i4qm0mthp88 from "node:module";
1
+ import CJS_COMPAT_NODE_URL_usob6ocll4k from 'node:url';
2
+ import CJS_COMPAT_NODE_PATH_usob6ocll4k from 'node:path';
3
+ import CJS_COMPAT_NODE_MODULE_usob6ocll4k from "node:module";
4
4
 
5
- var __filename = CJS_COMPAT_NODE_URL_i4qm0mthp88.fileURLToPath(import.meta.url);
6
- var __dirname = CJS_COMPAT_NODE_PATH_i4qm0mthp88.dirname(__filename);
7
- var require = CJS_COMPAT_NODE_MODULE_i4qm0mthp88.createRequire(import.meta.url);
5
+ var __filename = CJS_COMPAT_NODE_URL_usob6ocll4k.fileURLToPath(import.meta.url);
6
+ var __dirname = CJS_COMPAT_NODE_PATH_usob6ocll4k.dirname(__filename);
7
+ var require = CJS_COMPAT_NODE_MODULE_usob6ocll4k.createRequire(import.meta.url);
8
8
 
9
9
  // ------------------------------------------------------------
10
10
  // end of CJS compatibility banner, injected by Storybook's esbuild configuration
11
11
  // ------------------------------------------------------------
12
12
  import {
13
13
  resolvePackageDir
14
- } from "./chunk-J6XYSX4C.js";
14
+ } from "./chunk-6IB26GEO.js";
15
15
 
16
16
  // src/utils.ts
17
17
  import { readFileSync } from "node:fs";
@@ -1,10 +1,10 @@
1
- import CJS_COMPAT_NODE_URL_i4qm0mthp88 from 'node:url';
2
- import CJS_COMPAT_NODE_PATH_i4qm0mthp88 from 'node:path';
3
- import CJS_COMPAT_NODE_MODULE_i4qm0mthp88 from "node:module";
1
+ import CJS_COMPAT_NODE_URL_usob6ocll4k from 'node:url';
2
+ import CJS_COMPAT_NODE_PATH_usob6ocll4k from 'node:path';
3
+ import CJS_COMPAT_NODE_MODULE_usob6ocll4k from "node:module";
4
4
 
5
- var __filename = CJS_COMPAT_NODE_URL_i4qm0mthp88.fileURLToPath(import.meta.url);
6
- var __dirname = CJS_COMPAT_NODE_PATH_i4qm0mthp88.dirname(__filename);
7
- var require = CJS_COMPAT_NODE_MODULE_i4qm0mthp88.createRequire(import.meta.url);
5
+ var __filename = CJS_COMPAT_NODE_URL_usob6ocll4k.fileURLToPath(import.meta.url);
6
+ var __dirname = CJS_COMPAT_NODE_PATH_usob6ocll4k.dirname(__filename);
7
+ var require = CJS_COMPAT_NODE_MODULE_usob6ocll4k.createRequire(import.meta.url);
8
8
 
9
9
  // ------------------------------------------------------------
10
10
  // end of CJS compatibility banner, injected by Storybook's esbuild configuration
@@ -1,18 +1,18 @@
1
- import CJS_COMPAT_NODE_URL_i4qm0mthp88 from 'node:url';
2
- import CJS_COMPAT_NODE_PATH_i4qm0mthp88 from 'node:path';
3
- import CJS_COMPAT_NODE_MODULE_i4qm0mthp88 from "node:module";
1
+ import CJS_COMPAT_NODE_URL_usob6ocll4k from 'node:url';
2
+ import CJS_COMPAT_NODE_PATH_usob6ocll4k from 'node:path';
3
+ import CJS_COMPAT_NODE_MODULE_usob6ocll4k from "node:module";
4
4
 
5
- var __filename = CJS_COMPAT_NODE_URL_i4qm0mthp88.fileURLToPath(import.meta.url);
6
- var __dirname = CJS_COMPAT_NODE_PATH_i4qm0mthp88.dirname(__filename);
7
- var require = CJS_COMPAT_NODE_MODULE_i4qm0mthp88.createRequire(import.meta.url);
5
+ var __filename = CJS_COMPAT_NODE_URL_usob6ocll4k.fileURLToPath(import.meta.url);
6
+ var __dirname = CJS_COMPAT_NODE_PATH_usob6ocll4k.dirname(__filename);
7
+ var require = CJS_COMPAT_NODE_MODULE_usob6ocll4k.createRequire(import.meta.url);
8
8
 
9
9
  // ------------------------------------------------------------
10
10
  // end of CJS compatibility banner, injected by Storybook's esbuild configuration
11
11
  // ------------------------------------------------------------
12
12
  import {
13
13
  getNodeModulesExcludeRegex
14
- } from "./chunk-HS4NIXO2.js";
15
- import "./chunk-J6XYSX4C.js";
14
+ } from "./chunk-XOYHLPYI.js";
15
+ import "./chunk-6IB26GEO.js";
16
16
 
17
17
  // src/swc/loader.ts
18
18
  import { join } from "node:path";
@@ -1,18 +1,18 @@
1
- import CJS_COMPAT_NODE_URL_i4qm0mthp88 from 'node:url';
2
- import CJS_COMPAT_NODE_PATH_i4qm0mthp88 from 'node:path';
3
- import CJS_COMPAT_NODE_MODULE_i4qm0mthp88 from "node:module";
1
+ import CJS_COMPAT_NODE_URL_usob6ocll4k from 'node:url';
2
+ import CJS_COMPAT_NODE_PATH_usob6ocll4k from 'node:path';
3
+ import CJS_COMPAT_NODE_MODULE_usob6ocll4k from "node:module";
4
4
 
5
- var __filename = CJS_COMPAT_NODE_URL_i4qm0mthp88.fileURLToPath(import.meta.url);
6
- var __dirname = CJS_COMPAT_NODE_PATH_i4qm0mthp88.dirname(__filename);
7
- var require = CJS_COMPAT_NODE_MODULE_i4qm0mthp88.createRequire(import.meta.url);
5
+ var __filename = CJS_COMPAT_NODE_URL_usob6ocll4k.fileURLToPath(import.meta.url);
6
+ var __dirname = CJS_COMPAT_NODE_PATH_usob6ocll4k.dirname(__filename);
7
+ var require = CJS_COMPAT_NODE_MODULE_usob6ocll4k.createRequire(import.meta.url);
8
8
 
9
9
  // ------------------------------------------------------------
10
10
  // end of CJS compatibility banner, injected by Storybook's esbuild configuration
11
11
  // ------------------------------------------------------------
12
12
  import {
13
13
  getNodeModulesExcludeRegex
14
- } from "./chunk-HS4NIXO2.js";
15
- import "./chunk-J6XYSX4C.js";
14
+ } from "./chunk-XOYHLPYI.js";
15
+ import "./chunk-6IB26GEO.js";
16
16
 
17
17
  // src/babel/loader.ts
18
18
  import { fileURLToPath } from "node:url";
@@ -1,10 +1,10 @@
1
- import CJS_COMPAT_NODE_URL_i4qm0mthp88 from 'node:url';
2
- import CJS_COMPAT_NODE_PATH_i4qm0mthp88 from 'node:path';
3
- import CJS_COMPAT_NODE_MODULE_i4qm0mthp88 from "node:module";
1
+ import CJS_COMPAT_NODE_URL_usob6ocll4k from 'node:url';
2
+ import CJS_COMPAT_NODE_PATH_usob6ocll4k from 'node:path';
3
+ import CJS_COMPAT_NODE_MODULE_usob6ocll4k from "node:module";
4
4
 
5
- var __filename = CJS_COMPAT_NODE_URL_i4qm0mthp88.fileURLToPath(import.meta.url);
6
- var __dirname = CJS_COMPAT_NODE_PATH_i4qm0mthp88.dirname(__filename);
7
- var require = CJS_COMPAT_NODE_MODULE_i4qm0mthp88.createRequire(import.meta.url);
5
+ var __filename = CJS_COMPAT_NODE_URL_usob6ocll4k.fileURLToPath(import.meta.url);
6
+ var __dirname = CJS_COMPAT_NODE_PATH_usob6ocll4k.dirname(__filename);
7
+ var require = CJS_COMPAT_NODE_MODULE_usob6ocll4k.createRequire(import.meta.url);
8
8
 
9
9
  // ------------------------------------------------------------
10
10
  // end of CJS compatibility banner, injected by Storybook's esbuild configuration
@@ -18,8 +18,8 @@ import {
18
18
  resolveNextConfig,
19
19
  scopedResolve,
20
20
  setAlias
21
- } from "./chunk-HS4NIXO2.js";
22
- import "./chunk-J6XYSX4C.js";
21
+ } from "./chunk-XOYHLPYI.js";
22
+ import "./chunk-6IB26GEO.js";
23
23
  export {
24
24
  addScopedAlias,
25
25
  configureRuntimeNextjsVersionResolution,
@@ -0,0 +1,42 @@
1
+ import CJS_COMPAT_NODE_URL_usob6ocll4k from 'node:url';
2
+ import CJS_COMPAT_NODE_PATH_usob6ocll4k from 'node:path';
3
+ import CJS_COMPAT_NODE_MODULE_usob6ocll4k from "node:module";
4
+
5
+ var __filename = CJS_COMPAT_NODE_URL_usob6ocll4k.fileURLToPath(import.meta.url);
6
+ var __dirname = CJS_COMPAT_NODE_PATH_usob6ocll4k.dirname(__filename);
7
+ var require = CJS_COMPAT_NODE_MODULE_usob6ocll4k.createRequire(import.meta.url);
8
+
9
+ // ------------------------------------------------------------
10
+ // end of CJS compatibility banner, injected by Storybook's esbuild configuration
11
+ // ------------------------------------------------------------
12
+
13
+ // src/nodePolyfills/webpack.ts
14
+ import { createRequire } from "node:module";
15
+ import webpack from "webpack";
16
+ var NODE_PROTOCOL_REGEX = /^node:/, require2 = createRequire(import.meta.url), nodePolyfillFallback = {
17
+ buffer: require2.resolve("buffer/"),
18
+ events: require2.resolve("events/"),
19
+ process: require2.resolve("process/browser.js"),
20
+ stream: require2.resolve("stream-browserify"),
21
+ util: require2.resolve("util/"),
22
+ zlib: require2.resolve("browserify-zlib")
23
+ }, configureNodePolyfills = (baseConfig) => (baseConfig.plugins = [
24
+ ...baseConfig.plugins || [],
25
+ new webpack.NormalModuleReplacementPlugin(NODE_PROTOCOL_REGEX, (resource) => {
26
+ resource.request = resource.request.replace(NODE_PROTOCOL_REGEX, "");
27
+ }),
28
+ new webpack.ProvidePlugin({
29
+ Buffer: [nodePolyfillFallback.buffer, "Buffer"],
30
+ process: nodePolyfillFallback.process
31
+ })
32
+ ], baseConfig.resolve = {
33
+ ...baseConfig.resolve,
34
+ fallback: {
35
+ ...nodePolyfillFallback,
36
+ fs: !1,
37
+ ...baseConfig.resolve?.fallback
38
+ }
39
+ }, baseConfig);
40
+ export {
41
+ configureNodePolyfills
42
+ };
@@ -1,25 +1,19 @@
1
- import CJS_COMPAT_NODE_URL_i4qm0mthp88 from 'node:url';
2
- import CJS_COMPAT_NODE_PATH_i4qm0mthp88 from 'node:path';
3
- import CJS_COMPAT_NODE_MODULE_i4qm0mthp88 from "node:module";
1
+ import CJS_COMPAT_NODE_URL_usob6ocll4k from 'node:url';
2
+ import CJS_COMPAT_NODE_PATH_usob6ocll4k from 'node:path';
3
+ import CJS_COMPAT_NODE_MODULE_usob6ocll4k from "node:module";
4
4
 
5
- var __filename = CJS_COMPAT_NODE_URL_i4qm0mthp88.fileURLToPath(import.meta.url);
6
- var __dirname = CJS_COMPAT_NODE_PATH_i4qm0mthp88.dirname(__filename);
7
- var require = CJS_COMPAT_NODE_MODULE_i4qm0mthp88.createRequire(import.meta.url);
5
+ var __filename = CJS_COMPAT_NODE_URL_usob6ocll4k.fileURLToPath(import.meta.url);
6
+ var __dirname = CJS_COMPAT_NODE_PATH_usob6ocll4k.dirname(__filename);
7
+ var require = CJS_COMPAT_NODE_MODULE_usob6ocll4k.createRequire(import.meta.url);
8
8
 
9
9
  // ------------------------------------------------------------
10
10
  // end of CJS compatibility banner, injected by Storybook's esbuild configuration
11
11
  // ------------------------------------------------------------
12
- import {
13
- resolvePackageDir
14
- } from "./chunk-J6XYSX4C.js";
15
12
 
16
13
  // src/css/webpack.ts
17
- import { readFileSync } from "node:fs";
18
- import { join } from "node:path";
19
14
  import { fileURLToPath } from "node:url";
20
15
  import { cssFileResolve } from "next/dist/build/webpack/config/blocks/css/loaders/file-resolve.js";
21
16
  import { getCssModuleLocalIdent } from "next/dist/build/webpack/config/blocks/css/loaders/getCssModuleLocalIdent.js";
22
- import semver from "semver";
23
17
  var configureCss = (baseConfig, nextConfig) => {
24
18
  let rules = baseConfig.module?.rules;
25
19
  rules?.forEach((rule, i) => {
@@ -34,7 +28,9 @@ var configureCss = (baseConfig, nextConfig) => {
34
28
  ...getImportAndUrlCssLoaderOptions(nextConfig),
35
29
  modules: {
36
30
  auto: !0,
37
- getLocalIdent: getCssModuleLocalIdent
31
+ getLocalIdent: getCssModuleLocalIdent,
32
+ namedExport: !1,
33
+ exportLocalsConvention: "as-is"
38
34
  }
39
35
  }
40
36
  },
@@ -53,7 +49,12 @@ var configureCss = (baseConfig, nextConfig) => {
53
49
  options: {
54
50
  importLoaders: 3,
55
51
  ...getImportAndUrlCssLoaderOptions(nextConfig),
56
- modules: { auto: !0, getLocalIdent: getCssModuleLocalIdent }
52
+ modules: {
53
+ auto: !0,
54
+ getLocalIdent: getCssModuleLocalIdent,
55
+ namedExport: !1,
56
+ exportLocalsConvention: "as-is"
57
+ }
57
58
  }
58
59
  },
59
60
  fileURLToPath(import.meta.resolve("postcss-loader")),
@@ -68,30 +69,18 @@ var configureCss = (baseConfig, nextConfig) => {
68
69
  }
69
70
  ]
70
71
  });
71
- }, getImportAndUrlCssLoaderOptions = (nextConfig) => isCssLoaderV6() ? {
72
+ }, getImportAndUrlCssLoaderOptions = (nextConfig) => ({
72
73
  url: {
73
74
  filter: getUrlResolver(nextConfig)
74
75
  },
75
76
  import: {
76
77
  filter: getImportResolver(nextConfig)
77
78
  }
78
- } : {
79
- url: getUrlResolver(nextConfig),
80
- import: getImportResolver(nextConfig)
81
- }, getUrlResolver = (nextConfig) => (url, resourcePath) => cssFileResolve(url, resourcePath, nextConfig.experimental?.urlImports), getImportResolver = (nextConfig) => (url, _, resourcePath) => cssFileResolve(
79
+ }), getUrlResolver = (nextConfig) => (url, resourcePath) => cssFileResolve(url, resourcePath, nextConfig.experimental?.urlImports), getImportResolver = (nextConfig) => (url, _, resourcePath) => cssFileResolve(
82
80
  typeof url == "string" ? url : url.url,
83
81
  resourcePath,
84
82
  nextConfig.experimental?.urlImports
85
- ), isCssLoaderV6 = () => {
86
- try {
87
- let cssLoaderVersion = JSON.parse(
88
- readFileSync(join(resolvePackageDir("css-loader"), "package.json"), "utf8")
89
- ).version;
90
- return semver.gte(cssLoaderVersion, "6.0.0");
91
- } catch {
92
- return !1;
93
- }
94
- };
83
+ );
95
84
  export {
96
85
  configureCss
97
86
  };
@@ -1,10 +1,10 @@
1
- import CJS_COMPAT_NODE_URL_i4qm0mthp88 from 'node:url';
2
- import CJS_COMPAT_NODE_PATH_i4qm0mthp88 from 'node:path';
3
- import CJS_COMPAT_NODE_MODULE_i4qm0mthp88 from "node:module";
1
+ import CJS_COMPAT_NODE_URL_usob6ocll4k from 'node:url';
2
+ import CJS_COMPAT_NODE_PATH_usob6ocll4k from 'node:path';
3
+ import CJS_COMPAT_NODE_MODULE_usob6ocll4k from "node:module";
4
4
 
5
- var __filename = CJS_COMPAT_NODE_URL_i4qm0mthp88.fileURLToPath(import.meta.url);
6
- var __dirname = CJS_COMPAT_NODE_PATH_i4qm0mthp88.dirname(__filename);
7
- var require = CJS_COMPAT_NODE_MODULE_i4qm0mthp88.createRequire(import.meta.url);
5
+ var __filename = CJS_COMPAT_NODE_URL_usob6ocll4k.fileURLToPath(import.meta.url);
6
+ var __dirname = CJS_COMPAT_NODE_PATH_usob6ocll4k.dirname(__filename);
7
+ var require = CJS_COMPAT_NODE_MODULE_usob6ocll4k.createRequire(import.meta.url);
8
8
 
9
9
  // ------------------------------------------------------------
10
10
  // end of CJS compatibility banner, injected by Storybook's esbuild configuration
@@ -1,10 +1,10 @@
1
- import CJS_COMPAT_NODE_URL_i4qm0mthp88 from 'node:url';
2
- import CJS_COMPAT_NODE_PATH_i4qm0mthp88 from 'node:path';
3
- import CJS_COMPAT_NODE_MODULE_i4qm0mthp88 from "node:module";
1
+ import CJS_COMPAT_NODE_URL_usob6ocll4k from 'node:url';
2
+ import CJS_COMPAT_NODE_PATH_usob6ocll4k from 'node:path';
3
+ import CJS_COMPAT_NODE_MODULE_usob6ocll4k from "node:module";
4
4
 
5
- var __filename = CJS_COMPAT_NODE_URL_i4qm0mthp88.fileURLToPath(import.meta.url);
6
- var __dirname = CJS_COMPAT_NODE_PATH_i4qm0mthp88.dirname(__filename);
7
- var require = CJS_COMPAT_NODE_MODULE_i4qm0mthp88.createRequire(import.meta.url);
5
+ var __filename = CJS_COMPAT_NODE_URL_usob6ocll4k.fileURLToPath(import.meta.url);
6
+ var __dirname = CJS_COMPAT_NODE_PATH_usob6ocll4k.dirname(__filename);
7
+ var require = CJS_COMPAT_NODE_MODULE_usob6ocll4k.createRequire(import.meta.url);
8
8
 
9
9
  // ------------------------------------------------------------
10
10
  // end of CJS compatibility banner, injected by Storybook's esbuild configuration
@@ -1,26 +1,24 @@
1
- import CJS_COMPAT_NODE_URL_i4qm0mthp88 from 'node:url';
2
- import CJS_COMPAT_NODE_PATH_i4qm0mthp88 from 'node:path';
3
- import CJS_COMPAT_NODE_MODULE_i4qm0mthp88 from "node:module";
1
+ import CJS_COMPAT_NODE_URL_usob6ocll4k from 'node:url';
2
+ import CJS_COMPAT_NODE_PATH_usob6ocll4k from 'node:path';
3
+ import CJS_COMPAT_NODE_MODULE_usob6ocll4k from "node:module";
4
4
 
5
- var __filename = CJS_COMPAT_NODE_URL_i4qm0mthp88.fileURLToPath(import.meta.url);
6
- var __dirname = CJS_COMPAT_NODE_PATH_i4qm0mthp88.dirname(__filename);
7
- var require = CJS_COMPAT_NODE_MODULE_i4qm0mthp88.createRequire(import.meta.url);
5
+ var __filename = CJS_COMPAT_NODE_URL_usob6ocll4k.fileURLToPath(import.meta.url);
6
+ var __dirname = CJS_COMPAT_NODE_PATH_usob6ocll4k.dirname(__filename);
7
+ var require = CJS_COMPAT_NODE_MODULE_usob6ocll4k.createRequire(import.meta.url);
8
8
 
9
9
  // ------------------------------------------------------------
10
10
  // end of CJS compatibility banner, injected by Storybook's esbuild configuration
11
11
  // ------------------------------------------------------------
12
12
  import {
13
- configureCompatibilityAliases,
14
13
  configureNextExportMocks
15
- } from "./chunk-GCMGR3UX.js";
16
- import "./chunk-HS4NIXO2.js";
14
+ } from "./chunk-VRLPDX6R.js";
17
15
  import {
18
16
  resolvePackageDir
19
- } from "./chunk-J6XYSX4C.js";
17
+ } from "./chunk-6IB26GEO.js";
20
18
 
21
19
  // src/aliases/webpack.ts
22
20
  var configureAliases = (baseConfig) => {
23
- configureNextExportMocks(baseConfig), configureCompatibilityAliases(baseConfig), baseConfig.resolve = {
21
+ configureNextExportMocks(baseConfig), baseConfig.resolve = {
24
22
  ...baseConfig.resolve ?? {},
25
23
  alias: {
26
24
  ...baseConfig.resolve?.alias ?? {},
@@ -29,10 +27,7 @@ var configureAliases = (baseConfig) => {
29
27
  "next/dist/shared/lib/app-router-context.shared-runtime": "next/dist/shared/lib/app-router-context.shared-runtime",
30
28
  "next/dist/shared/lib/app-router-context": "next/dist/shared/lib/app-router-context.shared-runtime"
31
29
  }
32
- }, baseConfig.ignoreWarnings = [
33
- ...baseConfig.ignoreWarnings ?? [],
34
- (warning) => warning.message.includes("export 'draftMode'") && warning.message.includes("next/dist/server/request/headers")
35
- ];
30
+ };
36
31
  };
37
32
  export {
38
33
  configureAliases
@@ -1,10 +1,10 @@
1
- import CJS_COMPAT_NODE_URL_i4qm0mthp88 from 'node:url';
2
- import CJS_COMPAT_NODE_PATH_i4qm0mthp88 from 'node:path';
3
- import CJS_COMPAT_NODE_MODULE_i4qm0mthp88 from "node:module";
1
+ import CJS_COMPAT_NODE_URL_usob6ocll4k from 'node:url';
2
+ import CJS_COMPAT_NODE_PATH_usob6ocll4k from 'node:path';
3
+ import CJS_COMPAT_NODE_MODULE_usob6ocll4k from "node:module";
4
4
 
5
- var __filename = CJS_COMPAT_NODE_URL_i4qm0mthp88.fileURLToPath(import.meta.url);
6
- var __dirname = CJS_COMPAT_NODE_PATH_i4qm0mthp88.dirname(__filename);
7
- var require = CJS_COMPAT_NODE_MODULE_i4qm0mthp88.createRequire(import.meta.url);
5
+ var __filename = CJS_COMPAT_NODE_URL_usob6ocll4k.fileURLToPath(import.meta.url);
6
+ var __dirname = CJS_COMPAT_NODE_PATH_usob6ocll4k.dirname(__filename);
7
+ var require = CJS_COMPAT_NODE_MODULE_usob6ocll4k.createRequire(import.meta.url);
8
8
 
9
9
  // ------------------------------------------------------------
10
10
  // end of CJS compatibility banner, injected by Storybook's esbuild configuration
@@ -1,37 +1,30 @@
1
- import CJS_COMPAT_NODE_URL_i4qm0mthp88 from 'node:url';
2
- import CJS_COMPAT_NODE_PATH_i4qm0mthp88 from 'node:path';
3
- import CJS_COMPAT_NODE_MODULE_i4qm0mthp88 from "node:module";
1
+ import CJS_COMPAT_NODE_URL_usob6ocll4k from 'node:url';
2
+ import CJS_COMPAT_NODE_PATH_usob6ocll4k from 'node:path';
3
+ import CJS_COMPAT_NODE_MODULE_usob6ocll4k from "node:module";
4
4
 
5
- var __filename = CJS_COMPAT_NODE_URL_i4qm0mthp88.fileURLToPath(import.meta.url);
6
- var __dirname = CJS_COMPAT_NODE_PATH_i4qm0mthp88.dirname(__filename);
7
- var require = CJS_COMPAT_NODE_MODULE_i4qm0mthp88.createRequire(import.meta.url);
5
+ var __filename = CJS_COMPAT_NODE_URL_usob6ocll4k.fileURLToPath(import.meta.url);
6
+ var __dirname = CJS_COMPAT_NODE_PATH_usob6ocll4k.dirname(__filename);
7
+ var require = CJS_COMPAT_NODE_MODULE_usob6ocll4k.createRequire(import.meta.url);
8
8
 
9
9
  // ------------------------------------------------------------
10
10
  // end of CJS compatibility banner, injected by Storybook's esbuild configuration
11
11
  // ------------------------------------------------------------
12
- import {
13
- getNextjsVersion
14
- } from "./chunk-HS4NIXO2.js";
15
- import "./chunk-J6XYSX4C.js";
16
12
 
17
13
  // src/images/webpack.ts
18
14
  import { fileURLToPath } from "node:url";
19
- import semver from "semver";
20
15
  var configureImages = (baseConfig, nextConfig) => {
21
16
  configureStaticImageImport(baseConfig, nextConfig), configureImageDefaults(baseConfig);
22
17
  }, fallbackFilename = "static/media/[path][name][ext]", configureImageDefaults = (baseConfig) => {
23
- let version = getNextjsVersion(), resolve = baseConfig.resolve ?? {};
18
+ let resolve = baseConfig.resolve ?? {};
24
19
  resolve.alias = {
25
20
  ...resolve.alias,
26
21
  "sb-original/next/image": fileURLToPath(import.meta.resolve("next/image")),
27
- "next/image": fileURLToPath(import.meta.resolve("@storybook/nextjs/images/next-image"))
28
- }, semver.satisfies(version, ">=13.0.0") && (resolve.alias = {
29
- ...resolve.alias,
22
+ "next/image": fileURLToPath(import.meta.resolve("@storybook/nextjs/images/next-image")),
30
23
  "sb-original/next/legacy/image": fileURLToPath(import.meta.resolve("next/legacy/image")),
31
24
  "next/legacy/image": fileURLToPath(
32
25
  import.meta.resolve("@storybook/nextjs/images/next-legacy-image")
33
26
  )
34
- });
27
+ };
35
28
  }, configureStaticImageImport = (baseConfig, nextConfig) => {
36
29
  let rules = baseConfig.module?.rules, assetRule = rules?.find(
37
30
  (rule) => rule && typeof rule != "string" && rule.test instanceof RegExp && rule.test.test("test.jpg")
@@ -1,18 +1,18 @@
1
- import CJS_COMPAT_NODE_URL_i4qm0mthp88 from 'node:url';
2
- import CJS_COMPAT_NODE_PATH_i4qm0mthp88 from 'node:path';
3
- import CJS_COMPAT_NODE_MODULE_i4qm0mthp88 from "node:module";
1
+ import CJS_COMPAT_NODE_URL_usob6ocll4k from 'node:url';
2
+ import CJS_COMPAT_NODE_PATH_usob6ocll4k from 'node:path';
3
+ import CJS_COMPAT_NODE_MODULE_usob6ocll4k from "node:module";
4
4
 
5
- var __filename = CJS_COMPAT_NODE_URL_i4qm0mthp88.fileURLToPath(import.meta.url);
6
- var __dirname = CJS_COMPAT_NODE_PATH_i4qm0mthp88.dirname(__filename);
7
- var require = CJS_COMPAT_NODE_MODULE_i4qm0mthp88.createRequire(import.meta.url);
5
+ var __filename = CJS_COMPAT_NODE_URL_usob6ocll4k.fileURLToPath(import.meta.url);
6
+ var __dirname = CJS_COMPAT_NODE_PATH_usob6ocll4k.dirname(__filename);
7
+ var require = CJS_COMPAT_NODE_MODULE_usob6ocll4k.createRequire(import.meta.url);
8
8
 
9
9
  // ------------------------------------------------------------
10
10
  // end of CJS compatibility banner, injected by Storybook's esbuild configuration
11
11
  // ------------------------------------------------------------
12
12
  import {
13
13
  addScopedAlias
14
- } from "./chunk-HS4NIXO2.js";
15
- import "./chunk-J6XYSX4C.js";
14
+ } from "./chunk-XOYHLPYI.js";
15
+ import "./chunk-6IB26GEO.js";
16
16
 
17
17
  // src/styledJsx/webpack.ts
18
18
  var configureStyledJsx = (baseConfig) => {
@@ -1,19 +1,17 @@
1
- import CJS_COMPAT_NODE_URL_i4qm0mthp88 from 'node:url';
2
- import CJS_COMPAT_NODE_PATH_i4qm0mthp88 from 'node:path';
3
- import CJS_COMPAT_NODE_MODULE_i4qm0mthp88 from "node:module";
1
+ import CJS_COMPAT_NODE_URL_usob6ocll4k from 'node:url';
2
+ import CJS_COMPAT_NODE_PATH_usob6ocll4k from 'node:path';
3
+ import CJS_COMPAT_NODE_MODULE_usob6ocll4k from "node:module";
4
4
 
5
- var __filename = CJS_COMPAT_NODE_URL_i4qm0mthp88.fileURLToPath(import.meta.url);
6
- var __dirname = CJS_COMPAT_NODE_PATH_i4qm0mthp88.dirname(__filename);
7
- var require = CJS_COMPAT_NODE_MODULE_i4qm0mthp88.createRequire(import.meta.url);
5
+ var __filename = CJS_COMPAT_NODE_URL_usob6ocll4k.fileURLToPath(import.meta.url);
6
+ var __dirname = CJS_COMPAT_NODE_PATH_usob6ocll4k.dirname(__filename);
7
+ var require = CJS_COMPAT_NODE_MODULE_usob6ocll4k.createRequire(import.meta.url);
8
8
 
9
9
  // ------------------------------------------------------------
10
10
  // end of CJS compatibility banner, injected by Storybook's esbuild configuration
11
11
  // ------------------------------------------------------------
12
12
  import {
13
13
  getPackageAliases
14
- } from "../_node-chunks/chunk-GCMGR3UX.js";
15
- import "../_node-chunks/chunk-HS4NIXO2.js";
16
- import "../_node-chunks/chunk-J6XYSX4C.js";
14
+ } from "../_node-chunks/chunk-VRLPDX6R.js";
17
15
  export {
18
16
  getPackageAliases
19
17
  };
@@ -1,10 +1,10 @@
1
- import CJS_COMPAT_NODE_URL_i4qm0mthp88 from 'node:url';
2
- import CJS_COMPAT_NODE_PATH_i4qm0mthp88 from 'node:path';
3
- import CJS_COMPAT_NODE_MODULE_i4qm0mthp88 from "node:module";
1
+ import CJS_COMPAT_NODE_URL_usob6ocll4k from 'node:url';
2
+ import CJS_COMPAT_NODE_PATH_usob6ocll4k from 'node:path';
3
+ import CJS_COMPAT_NODE_MODULE_usob6ocll4k from "node:module";
4
4
 
5
- var __filename = CJS_COMPAT_NODE_URL_i4qm0mthp88.fileURLToPath(import.meta.url);
6
- var __dirname = CJS_COMPAT_NODE_PATH_i4qm0mthp88.dirname(__filename);
7
- var require = CJS_COMPAT_NODE_MODULE_i4qm0mthp88.createRequire(import.meta.url);
5
+ var __filename = CJS_COMPAT_NODE_URL_usob6ocll4k.fileURLToPath(import.meta.url);
6
+ var __dirname = CJS_COMPAT_NODE_PATH_usob6ocll4k.dirname(__filename);
7
+ var require = CJS_COMPAT_NODE_MODULE_usob6ocll4k.createRequire(import.meta.url);
8
8
 
9
9
  // ------------------------------------------------------------
10
10
  // end of CJS compatibility banner, injected by Storybook's esbuild configuration
package/dist/index.js CHANGED
@@ -6295,7 +6295,7 @@ var { FRAMEWORK_OPTIONS } = scope, ErrorBoundary = class extends ReactComponent
6295
6295
  let { hasError } = this.state, { children } = this.props;
6296
6296
  return hasError ? null : children;
6297
6297
  }
6298
- }, Wrapper = FRAMEWORK_OPTIONS?.strictMode ? StrictMode : Fragment, actQueue = [], isActing = !1, processActQueue = async () => {
6298
+ }, Wrapper = FRAMEWORK_OPTIONS?.strictMode ? StrictMode : Fragment, actQueue = [], isActing = !1, remountCounts = /* @__PURE__ */ new WeakMap(), processActQueue = async () => {
6299
6299
  if (isActing || actQueue.length === 0)
6300
6300
  return;
6301
6301
  isActing = !0;
@@ -6309,9 +6309,17 @@ async function renderToCanvas({
6309
6309
  showException,
6310
6310
  forceRemount
6311
6311
  }, canvasElement) {
6312
- let { renderElement, unmountElement } = await import("./_browser-chunks/react-18-V22CCOOF.js"), Story = unboundStoryFn, content = storyContext.parameters.__isPortableStory ? React3.createElement(Story, { ...storyContext }) : React3.createElement(ErrorBoundary, { key: storyContext.id, showMain, showException }, React3.createElement(Story, { ...storyContext })), element = Wrapper ? React3.createElement(Wrapper, null, content) : content;
6313
- forceRemount && unmountElement(canvasElement);
6314
- let act = await getAct({ disableAct: storyContext.viewMode === "docs" });
6312
+ let { renderElement, unmountElement } = await import("./_browser-chunks/react-dom-client-W6CPASVV.js"), Story = unboundStoryFn, isPortableStory = storyContext.parameters.__isPortableStory;
6313
+ forceRemount && (isPortableStory ? unmountElement(canvasElement) : remountCounts.set(canvasElement, (remountCounts.get(canvasElement) ?? 0) + 1));
6314
+ let content = isPortableStory ? React3.createElement(Story, { ...storyContext }) : React3.createElement(
6315
+ ErrorBoundary,
6316
+ {
6317
+ key: `${storyContext.id}-${remountCounts.get(canvasElement) ?? 0}`,
6318
+ showMain,
6319
+ showException
6320
+ },
6321
+ React3.createElement(Story, { ...storyContext })
6322
+ ), element = Wrapper ? React3.createElement(Wrapper, null, content) : content, act = await getAct({ disableAct: storyContext.viewMode === "docs" });
6315
6323
  return await new Promise(async (resolve, reject) => {
6316
6324
  actQueue.push(async () => {
6317
6325
  try {
@@ -6976,8 +6984,7 @@ import {
6976
6984
 
6977
6985
  // ../../../node_modules/es-toolkit/dist/predicate/isPlainObject.mjs
6978
6986
  function isPlainObject(value) {
6979
- if (!value || typeof value != "object")
6980
- return !1;
6987
+ if (!value || typeof value != "object") return !1;
6981
6988
  let proto = Object.getPrototypeOf(value);
6982
6989
  return proto === null || proto === Object.prototype || Object.getPrototypeOf(proto) === null ? Object.prototype.toString.call(value) === "[object Object]" : !1;
6983
6990
  }
@@ -1,10 +1,10 @@
1
- import CJS_COMPAT_NODE_URL_i4qm0mthp88 from 'node:url';
2
- import CJS_COMPAT_NODE_PATH_i4qm0mthp88 from 'node:path';
3
- import CJS_COMPAT_NODE_MODULE_i4qm0mthp88 from "node:module";
1
+ import CJS_COMPAT_NODE_URL_usob6ocll4k from 'node:url';
2
+ import CJS_COMPAT_NODE_PATH_usob6ocll4k from 'node:path';
3
+ import CJS_COMPAT_NODE_MODULE_usob6ocll4k from "node:module";
4
4
 
5
- var __filename = CJS_COMPAT_NODE_URL_i4qm0mthp88.fileURLToPath(import.meta.url);
6
- var __dirname = CJS_COMPAT_NODE_PATH_i4qm0mthp88.dirname(__filename);
7
- var require = CJS_COMPAT_NODE_MODULE_i4qm0mthp88.createRequire(import.meta.url);
5
+ var __filename = CJS_COMPAT_NODE_URL_usob6ocll4k.fileURLToPath(import.meta.url);
6
+ var __dirname = CJS_COMPAT_NODE_PATH_usob6ocll4k.dirname(__filename);
7
+ var require = CJS_COMPAT_NODE_MODULE_usob6ocll4k.createRequire(import.meta.url);
8
8
 
9
9
  // ------------------------------------------------------------
10
10
  // end of CJS compatibility banner, injected by Storybook's esbuild configuration
package/dist/preset.js CHANGED
@@ -1,10 +1,10 @@
1
- import CJS_COMPAT_NODE_URL_i4qm0mthp88 from 'node:url';
2
- import CJS_COMPAT_NODE_PATH_i4qm0mthp88 from 'node:path';
3
- import CJS_COMPAT_NODE_MODULE_i4qm0mthp88 from "node:module";
1
+ import CJS_COMPAT_NODE_URL_usob6ocll4k from 'node:url';
2
+ import CJS_COMPAT_NODE_PATH_usob6ocll4k from 'node:path';
3
+ import CJS_COMPAT_NODE_MODULE_usob6ocll4k from "node:module";
4
4
 
5
- var __filename = CJS_COMPAT_NODE_URL_i4qm0mthp88.fileURLToPath(import.meta.url);
6
- var __dirname = CJS_COMPAT_NODE_PATH_i4qm0mthp88.dirname(__filename);
7
- var require = CJS_COMPAT_NODE_MODULE_i4qm0mthp88.createRequire(import.meta.url);
5
+ var __filename = CJS_COMPAT_NODE_URL_usob6ocll4k.fileURLToPath(import.meta.url);
6
+ var __dirname = CJS_COMPAT_NODE_PATH_usob6ocll4k.dirname(__filename);
7
+ var require = CJS_COMPAT_NODE_MODULE_usob6ocll4k.createRequire(import.meta.url);
8
8
 
9
9
  // ------------------------------------------------------------
10
10
  // end of CJS compatibility banner, injected by Storybook's esbuild configuration
@@ -13,17 +13,32 @@ import {
13
13
  addScopedAlias,
14
14
  isNextVersionGte,
15
15
  resolveNextConfig
16
- } from "./_node-chunks/chunk-HS4NIXO2.js";
17
- import "./_node-chunks/chunk-J6XYSX4C.js";
16
+ } from "./_node-chunks/chunk-XOYHLPYI.js";
17
+ import "./_node-chunks/chunk-6IB26GEO.js";
18
18
 
19
19
  // src/preset.ts
20
- import { existsSync } from "node:fs";
21
- import { join } from "node:path";
22
20
  import { fileURLToPath as fileURLToPath2 } from "node:url";
23
21
  import { getProjectRoot } from "storybook/internal/common";
24
- import { logger } from "storybook/internal/node-logger";
25
- import { loadPartialConfig } from "@babel/core";
26
- import semver from "semver";
22
+ import { deprecate, logger } from "storybook/internal/node-logger";
23
+ import { loadPartialConfigAsync } from "@babel/core";
24
+
25
+ // src/babel/babel-config-file.ts
26
+ import { existsSync } from "node:fs";
27
+ import { join } from "node:path";
28
+ var BABEL_CONFIG_FILES = [
29
+ ".babelrc",
30
+ ".babelrc.json",
31
+ ".babelrc.js",
32
+ ".babelrc.mjs",
33
+ ".babelrc.cjs",
34
+ "babel.config.js",
35
+ "babel.config.json",
36
+ "babel.config.mjs",
37
+ "babel.config.cjs"
38
+ ];
39
+ function findBabelConfigFile(dir) {
40
+ return BABEL_CONFIG_FILES.map((file) => join(dir, file)).find((path) => existsSync(path));
41
+ }
27
42
 
28
43
  // src/babel/preset.ts
29
44
  import { createRequire } from "node:module";
@@ -44,7 +59,8 @@ function AmpAttributePatcher() {
44
59
  }
45
60
 
46
61
  // src/babel/plugins/jsx-pragma.ts
47
- import jsx from "next/dist/compiled/babel/plugin-syntax-jsx.js";
62
+ import jsxModule from "next/dist/compiled/babel/plugin-syntax-jsx.js";
63
+ var jsx = jsxModule.default ?? jsxModule;
48
64
  function jsxPragma({ types: t }) {
49
65
  return {
50
66
  inherits: jsx,
@@ -480,6 +496,9 @@ function TransformFontImports({ types }) {
480
496
  }
481
497
 
482
498
  // src/preset.ts
499
+ deprecate(
500
+ "@storybook/nextjs is deprecated and will be removed in Storybook 12. Migrate to @storybook/nextjs-vite \u2014 the automigration is available via `storybook upgrade` (accept the fix) or `storybook migrate nextjs-to-nextjs-vite`."
501
+ );
483
502
  var addons = [
484
503
  fileURLToPath2(import.meta.resolve("@storybook/preset-react-webpack"))
485
504
  ], core = async (config, options) => {
@@ -503,10 +522,10 @@ var addons = [
503
522
  let annotations = [...entry, fileURLToPath2(import.meta.resolve("@storybook/nextjs/preview"))];
504
523
  return isNextVersionGte("16.0.0") || annotations.push(fileURLToPath2(import.meta.resolve("@storybook/nextjs/config/preview"))), annotations;
505
524
  }, babel = async (baseConfig) => {
506
- let options = loadPartialConfig({
525
+ let options = (await loadPartialConfigAsync({
507
526
  ...baseConfig,
508
527
  filename: `${getProjectRoot()}/__fake__.js`
509
- })?.options, isPresetConfigItem = (preset) => typeof preset == "object" && preset !== null && "file" in preset, isNextBabelConfig = (preset) => Array.isArray(preset) && preset[0] === "next/babel" || preset === "next/babel" || isPresetConfigItem(preset) && preset.file?.request === "next/babel", hasNextBabelConfig = options?.presets?.find(isNextBabelConfig), presets = options?.presets?.filter(
528
+ }))?.options, isPresetConfigItem = (preset) => typeof preset == "object" && preset !== null && "file" in preset, isNextBabelConfig = (preset) => Array.isArray(preset) && preset[0] === "next/babel" || preset === "next/babel" || isPresetConfigItem(preset) && preset.file?.request === "next/babel", hasNextBabelConfig = options?.presets?.find(isNextBabelConfig), presets = options?.presets?.filter(
510
529
  (preset) => !(isPresetConfigItem(preset) && preset.file?.request === fileURLToPath2(import.meta.resolve("@babel/preset-react")) || isNextBabelConfig(preset))
511
530
  ) ?? [];
512
531
  hasNextBabelConfig ? Array.isArray(hasNextBabelConfig) && hasNextBabelConfig[1] ? presets.push([preset_default, hasNextBabelConfig[1]]) : isPresetConfigItem(hasNextBabelConfig) && hasNextBabelConfig.file?.request === "next/babel" ? presets.push([preset_default, hasNextBabelConfig.options]) : presets.push(preset_default) : presets.push(preset_default);
@@ -535,7 +554,7 @@ var addons = [
535
554
  let { nextConfigPath } = await options.presets.apply("frameworkOptions"), nextConfig = await configureConfig({
536
555
  baseConfig,
537
556
  nextConfigPath
538
- }), { configureNextFont } = await import("./_node-chunks/configureNextFont-B4VJ7RHY.js"), { configureRuntimeNextjsVersionResolution, getNextjsVersion } = await import("./_node-chunks/utils-OJCFVKXV.js"), { configureImports } = await import("./_node-chunks/webpack-7QXPGFMA.js"), { configureCss } = await import("./_node-chunks/webpack-OOZVQP5K.js"), { configureImages } = await import("./_node-chunks/webpack-QUTYPKPT.js"), { configureStyledJsx } = await import("./_node-chunks/webpack-4XK6MERK.js"), { configureNodePolyfills } = await import("./_node-chunks/webpack-VXTKEXGE.js"), { configureAliases } = await import("./_node-chunks/webpack-4WOENOEJ.js"), { configureFastRefresh } = await import("./_node-chunks/webpack-VHEBLWCK.js"), { configureRSC } = await import("./_node-chunks/webpack-GTMWRMHR.js"), { configureSWCLoader } = await import("./_node-chunks/loader-IYXKXVFG.js"), { configureBabelLoader } = await import("./_node-chunks/loader-UGEEDXQ4.js"), babelRCPath = join(getProjectRoot(), ".babelrc"), babelConfigPath = join(getProjectRoot(), "babel.config.js"), hasBabelConfig = existsSync(babelRCPath) || existsSync(babelConfigPath), nextjsVersion = getNextjsVersion(), isDevelopment = options.configType !== "PRODUCTION", useSWC = semver.gte(nextjsVersion, "14.0.0") && (nextConfig.experimental?.forceSwcTransforms || !hasBabelConfig);
557
+ }), { configureNextFont } = await import("./_node-chunks/configureNextFont-KSRPGKWA.js"), { configureRuntimeNextjsVersionResolution } = await import("./_node-chunks/utils-76JQJLC6.js"), { configureImports } = await import("./_node-chunks/webpack-LSFECR27.js"), { configureCss } = await import("./_node-chunks/webpack-IXTRV46D.js"), { configureImages } = await import("./_node-chunks/webpack-TPMEVBFB.js"), { configureStyledJsx } = await import("./_node-chunks/webpack-ZISMRVAB.js"), { configureNodePolyfills } = await import("./_node-chunks/webpack-BHFEB45R.js"), { configureAliases } = await import("./_node-chunks/webpack-R42N6XAP.js"), { configureFastRefresh } = await import("./_node-chunks/webpack-QO6GPXWH.js"), { configureRSC } = await import("./_node-chunks/webpack-RMDVGMMD.js"), { configureSWCLoader } = await import("./_node-chunks/loader-MDIUDJWT.js"), { configureBabelLoader } = await import("./_node-chunks/loader-PJAW2D5I.js"), hasBabelConfig = !!findBabelConfigFile(getProjectRoot()), isDevelopment = options.configType !== "PRODUCTION", useSWC = nextConfig.experimental?.forceSwcTransforms || !hasBabelConfig;
539
558
  return configureNextFont(baseConfig, useSWC), configureRuntimeNextjsVersionResolution(baseConfig), configureImports({ baseConfig, configDir: options.configDir }), configureCss(baseConfig, nextConfig), configureImages(baseConfig, nextConfig), configureStyledJsx(baseConfig), configureNodePolyfills(baseConfig), configureAliases(baseConfig), isDevelopment && configureFastRefresh(baseConfig), options.features?.experimentalRSC && configureRSC(baseConfig), useSWC ? (logger.info("Using SWC as compiler"), await configureSWCLoader(baseConfig, options, nextConfig)) : (logger.info("Using Babel as compiler"), await configureBabelLoader(baseConfig, options, nextConfig)), baseConfig;
540
559
  };
541
560
  export {
@@ -1,10 +1,10 @@
1
- import CJS_COMPAT_NODE_URL_i4qm0mthp88 from 'node:url';
2
- import CJS_COMPAT_NODE_PATH_i4qm0mthp88 from 'node:path';
3
- import CJS_COMPAT_NODE_MODULE_i4qm0mthp88 from "node:module";
1
+ import CJS_COMPAT_NODE_URL_usob6ocll4k from 'node:url';
2
+ import CJS_COMPAT_NODE_PATH_usob6ocll4k from 'node:path';
3
+ import CJS_COMPAT_NODE_MODULE_usob6ocll4k from "node:module";
4
4
 
5
- var __filename = CJS_COMPAT_NODE_URL_i4qm0mthp88.fileURLToPath(import.meta.url);
6
- var __dirname = CJS_COMPAT_NODE_PATH_i4qm0mthp88.dirname(__filename);
7
- var require = CJS_COMPAT_NODE_MODULE_i4qm0mthp88.createRequire(import.meta.url);
5
+ var __filename = CJS_COMPAT_NODE_URL_usob6ocll4k.fileURLToPath(import.meta.url);
6
+ var __dirname = CJS_COMPAT_NODE_PATH_usob6ocll4k.dirname(__filename);
7
+ var require = CJS_COMPAT_NODE_MODULE_usob6ocll4k.createRequire(import.meta.url);
8
8
 
9
9
  // ------------------------------------------------------------
10
10
  // end of CJS compatibility banner, injected by Storybook's esbuild configuration
@@ -78,9 +78,7 @@ function pitch() {
78
78
  let callback = this.async();
79
79
  (async () => {
80
80
  let isWasm2 = !1;
81
- if (nextSwcUtils.isWasm ? isWasm2 = await nextSwcUtils.isWasm() : nextSwcUtils.getBindingsSync && (await nextSwcUtils.loadBindings(), isWasm2 = nextSwcUtils.getBindingsSync().isWasm), // TODO: Evaluate if this is correct after removing pnp compatibility code in SB11
82
- // TODO: investigate swc file reading in PnP mode?
83
- !process.versions.pnp && !EXCLUDED_PATHS.test(this.resourcePath) && this.loaders.length - 1 === this.loaderIndex && isAbsolute(this.resourcePath) && !isWasm2) {
81
+ if (nextSwcUtils.isWasm ? isWasm2 = await nextSwcUtils.isWasm() : nextSwcUtils.getBindingsSync && (await nextSwcUtils.loadBindings(), isWasm2 = nextSwcUtils.getBindingsSync().isWasm), !EXCLUDED_PATHS.test(this.resourcePath) && this.loaders.length - 1 === this.loaderIndex && isAbsolute(this.resourcePath) && !isWasm2) {
84
82
  let loaderSpan = mockCurrentTraceSpan.traceChild("next-swc-loader");
85
83
  return this.addDependency(this.resourcePath), loaderSpan.traceAsyncFn(() => loaderTransform.call(this, loaderSpan));
86
84
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@storybook/nextjs",
3
- "version": "11.0.0-alpha.0",
3
+ "version": "11.0.0-alpha.2",
4
4
  "description": "Storybook for Next.js: Develop, document, and test UI components in isolation",
5
5
  "keywords": [
6
6
  "storybook",
@@ -36,7 +36,6 @@
36
36
  "code": "./src/export-mocks/cache/index.ts",
37
37
  "default": "./dist/export-mocks/cache/index.js"
38
38
  },
39
- "./compatibility/draft-mode.compat": "./dist/compatibility/draft-mode.compat.js",
40
39
  "./config/preview": "./dist/config/preview.js",
41
40
  "./export-mocks": "./dist/export-mocks/index.js",
42
41
  "./headers.mock": {
@@ -102,25 +101,30 @@
102
101
  "@babel/preset-typescript": "^7.28.5",
103
102
  "@babel/runtime": "^7.28.4",
104
103
  "@pmmmwh/react-refresh-webpack-plugin": "^0.5.11",
105
- "@storybook/builder-webpack5": "11.0.0-alpha.0",
106
- "@storybook/preset-react-webpack": "11.0.0-alpha.0",
107
- "@storybook/react": "11.0.0-alpha.0",
104
+ "@storybook/builder-webpack5": "11.0.0-alpha.2",
105
+ "@storybook/preset-react-webpack": "11.0.0-alpha.2",
106
+ "@storybook/react": "11.0.0-alpha.2",
108
107
  "@types/semver": "^7.7.1",
109
108
  "babel-loader": "^9.1.3",
110
- "css-loader": "^6.7.3",
109
+ "browserify-zlib": "^0.2.0",
110
+ "buffer": "^6.0.3",
111
+ "css-loader": "^7.1.2",
112
+ "events": "^3.3.0",
111
113
  "loader-utils": "^3.2.1",
112
- "node-polyfill-webpack-plugin": "^2.0.1",
113
114
  "postcss": "^8.4.38",
114
115
  "postcss-loader": "^8.1.1",
115
116
  "probe-image-size": "^7.3.0",
117
+ "process": "^0.11.10",
116
118
  "react-refresh": "^0.14.0",
117
119
  "resolve-url-loader": "^5.0.0",
118
120
  "sass-loader": "^16.0.5",
119
121
  "semver": "^7.7.3",
122
+ "stream-browserify": "^3.0.0",
120
123
  "style-loader": "^3.3.1",
121
124
  "styled-jsx": "^5.1.6",
122
125
  "tsconfig-paths": "^4.0.0",
123
- "tsconfig-paths-webpack-plugin": "^4.0.1"
126
+ "tsconfig-paths-webpack-plugin": "^4.0.1",
127
+ "util": "^0.12.5"
124
128
  },
125
129
  "devDependencies": {
126
130
  "@babel/types": "^7.28.5",
@@ -136,12 +140,12 @@
136
140
  "webpack": "^5.65.0"
137
141
  },
138
142
  "peerDependencies": {
139
- "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
140
- "@types/react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
141
- "next": "^14.1.0 || ^15.0.0 || ^16.0.0",
142
- "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
143
- "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
144
- "storybook": "^11.0.0-alpha.0",
143
+ "@types/react": "^18.0.0 || ^19.0.0",
144
+ "@types/react-dom": "^18.0.0 || ^19.0.0",
145
+ "next": "^15.0.0 || ^16.0.0",
146
+ "react": "^18.0.0 || ^19.0.0",
147
+ "react-dom": "^18.0.0 || ^19.0.0",
148
+ "storybook": "^11.0.0-alpha.2",
145
149
  "webpack": "^5.0.0"
146
150
  },
147
151
  "peerDependenciesMeta": {
@@ -1,43 +0,0 @@
1
- import "./chunk-IMSF75WX.js";
2
-
3
- // ../../lib/react-dom-shim/dist/react-18.js
4
- import * as React from "react";
5
- import * as ReactDOM from "react-dom/client";
6
- var nodes = /* @__PURE__ */ new Map();
7
- function getIsReactActEnvironment() {
8
- return globalThis.IS_REACT_ACT_ENVIRONMENT;
9
- }
10
- var WithCallback = ({
11
- callback,
12
- children
13
- }) => {
14
- let once = React.useRef();
15
- return React.useLayoutEffect(() => {
16
- once.current !== callback && (once.current = callback, callback());
17
- }, [callback]), children;
18
- };
19
- typeof Promise.withResolvers > "u" && (Promise.withResolvers = () => {
20
- let resolve = null, reject = null;
21
- return { promise: new Promise((res, rej) => {
22
- resolve = res, reject = rej;
23
- }), resolve, reject };
24
- });
25
- var renderElement = async (node, el, rootOptions) => {
26
- let root = await getReactRoot(el, rootOptions);
27
- if (getIsReactActEnvironment()) {
28
- root.render(node);
29
- return;
30
- }
31
- let { promise, resolve } = Promise.withResolvers();
32
- return root.render(React.createElement(WithCallback, { callback: resolve }, node)), promise;
33
- }, unmountElement = (el, shouldUseNewRootApi) => {
34
- let root = nodes.get(el);
35
- root && (root.unmount(), nodes.delete(el));
36
- }, getReactRoot = async (el, rootOptions) => {
37
- let root = nodes.get(el);
38
- return root || (root = ReactDOM.createRoot(el, rootOptions), nodes.set(el, root)), root;
39
- };
40
- export {
41
- renderElement,
42
- unmountElement
43
- };
@@ -1,58 +0,0 @@
1
- import CJS_COMPAT_NODE_URL_i4qm0mthp88 from 'node:url';
2
- import CJS_COMPAT_NODE_PATH_i4qm0mthp88 from 'node:path';
3
- import CJS_COMPAT_NODE_MODULE_i4qm0mthp88 from "node:module";
4
-
5
- var __filename = CJS_COMPAT_NODE_URL_i4qm0mthp88.fileURLToPath(import.meta.url);
6
- var __dirname = CJS_COMPAT_NODE_PATH_i4qm0mthp88.dirname(__filename);
7
- var require = CJS_COMPAT_NODE_MODULE_i4qm0mthp88.createRequire(import.meta.url);
8
-
9
- // ------------------------------------------------------------
10
- // end of CJS compatibility banner, injected by Storybook's esbuild configuration
11
- // ------------------------------------------------------------
12
- import {
13
- addScopedAlias,
14
- getNextjsVersion,
15
- setAlias
16
- } from "./chunk-HS4NIXO2.js";
17
-
18
- // src/compatibility/compatibility-map.ts
19
- import semver from "semver";
20
- var mapping = {
21
- "<15.0.0": {
22
- "next/dist/server/request/headers": "next/dist/client/components/headers",
23
- // this path only exists from Next 15 onwards
24
- "next/dist/server/request/draft-mode": "@storybook/nextjs/compatibility/draft-mode.compat"
25
- }
26
- }, getCompatibilityAliases = () => {
27
- let version = getNextjsVersion(), result = {};
28
- return Object.keys(mapping).forEach((key) => {
29
- semver.intersects(version, key) && Object.assign(result, mapping[key]);
30
- }), result;
31
- }, configureCompatibilityAliases = (baseConfig) => {
32
- let aliases = getCompatibilityAliases();
33
- Object.entries(aliases).forEach(([name, alias]) => {
34
- typeof alias == "string" ? addScopedAlias(baseConfig, name, alias) : setAlias(baseConfig, name, alias);
35
- });
36
- };
37
-
38
- // src/export-mocks/webpack.ts
39
- var mapping2 = {
40
- "next/headers": "@storybook/nextjs/headers.mock",
41
- "next/navigation": "@storybook/nextjs/navigation.mock",
42
- "next/router": "@storybook/nextjs/router.mock",
43
- "next/cache": "@storybook/nextjs/cache.mock",
44
- "next/link": "@storybook/nextjs/link.mock",
45
- ...getCompatibilityAliases()
46
- }, getPackageAliases = () => mapping2, configureNextExportMocks = (baseConfig) => {
47
- let resolve = baseConfig.resolve ?? {};
48
- resolve.alias = {
49
- ...resolve.alias,
50
- ...mapping2
51
- };
52
- };
53
-
54
- export {
55
- configureCompatibilityAliases,
56
- getPackageAliases,
57
- configureNextExportMocks
58
- };
@@ -1,31 +0,0 @@
1
- import CJS_COMPAT_NODE_URL_i4qm0mthp88 from 'node:url';
2
- import CJS_COMPAT_NODE_PATH_i4qm0mthp88 from 'node:path';
3
- import CJS_COMPAT_NODE_MODULE_i4qm0mthp88 from "node:module";
4
-
5
- var __filename = CJS_COMPAT_NODE_URL_i4qm0mthp88.fileURLToPath(import.meta.url);
6
- var __dirname = CJS_COMPAT_NODE_PATH_i4qm0mthp88.dirname(__filename);
7
- var require = CJS_COMPAT_NODE_MODULE_i4qm0mthp88.createRequire(import.meta.url);
8
-
9
- // ------------------------------------------------------------
10
- // end of CJS compatibility banner, injected by Storybook's esbuild configuration
11
- // ------------------------------------------------------------
12
-
13
- // src/nodePolyfills/webpack.ts
14
- import NodePolyfillPlugin from "node-polyfill-webpack-plugin";
15
- import webpack from "webpack";
16
- var NODE_PROTOCOL_REGEX = /^node:/, configureNodePolyfills = (baseConfig) => (baseConfig.plugins = [
17
- ...baseConfig.plugins || [],
18
- new webpack.NormalModuleReplacementPlugin(NODE_PROTOCOL_REGEX, (resource) => {
19
- resource.request = resource.request.replace(NODE_PROTOCOL_REGEX, "");
20
- }),
21
- new NodePolyfillPlugin()
22
- ], baseConfig.resolve = {
23
- ...baseConfig.resolve,
24
- fallback: {
25
- ...baseConfig.resolve?.fallback,
26
- fs: !1
27
- }
28
- }, baseConfig);
29
- export {
30
- configureNodePolyfills
31
- };
@@ -1,7 +0,0 @@
1
- import "../_browser-chunks/chunk-IMSF75WX.js";
2
-
3
- // src/compatibility/draft-mode.compat.ts
4
- import { draftMode } from "next/dist/client/components/headers.js";
5
- export {
6
- draftMode
7
- };