@storybook/addon-docs 11.0.0-alpha.1 → 11.0.0-alpha.3

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.
@@ -1,6 +1,7 @@
1
1
  import {
2
- getControlId
3
- } from "./chunk-QQBDHPVZ.js";
2
+ getControlId,
3
+ globalThis_
4
+ } from "./chunk-B2IUWPZU.js";
4
5
  import {
5
6
  __commonJS,
6
7
  __toESM
@@ -590,8 +591,7 @@ function debounce(func, debounceMs, { signal, edges } = {}) {
590
591
  }, flush = () => {
591
592
  invoke();
592
593
  }, debounced = function(...args) {
593
- if (signal?.aborted)
594
- return;
594
+ if (signal?.aborted) return;
595
595
  pendingThis = this, pendingArgs = args;
596
596
  let isFirstCall = timeoutId == null;
597
597
  schedule(), leading && isFirstCall && invoke();
@@ -627,6 +627,9 @@ function partialRightImpl(func, placeholder, ...partialArgs) {
627
627
  var placeholderSymbol2 = /* @__PURE__ */ Symbol("partialRight.placeholder");
628
628
  partialRight.placeholder = placeholderSymbol2;
629
629
 
630
+ // ../../../node_modules/es-toolkit/dist/_internal/DOMException.mjs
631
+ var DOMException = typeof globalThis_.DOMException < "u" ? globalThis_.DOMException : Error;
632
+
630
633
  // ../../../node_modules/es-toolkit/dist/function/retry.mjs
631
634
  var DEFAULT_RETRIES = Number.POSITIVE_INFINITY;
632
635
 
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  DocsRenderer,
3
3
  defaultComponents
4
- } from "./chunk-OATZR77O.js";
4
+ } from "./chunk-RVCCNNTU.js";
5
5
  import "./chunk-UAWMPV5J.js";
6
6
  export {
7
7
  DocsRenderer,
@@ -7,7 +7,13 @@ var getControlId = (value, storyId, controlsId) => {
7
7
  return controlsId && parts.push(controlsId), storyId && parts.push(storyId), parts.push(base), parts.join("-");
8
8
  };
9
9
 
10
+ // ../../../node_modules/es-toolkit/dist/_internal/globalThis.mjs
11
+ var globalThis_ = typeof globalThis == "object" && globalThis || typeof window == "object" && window || typeof self == "object" && self || typeof global == "object" && global || /* @__PURE__ */ (function() {
12
+ return this;
13
+ })();
14
+
10
15
  export {
16
+ globalThis_,
11
17
  getControlId,
12
18
  getControlSetterButtonId
13
19
  };
@@ -0,0 +1,89 @@
1
+ // src/DocsRenderer.tsx
2
+ import React2, { Component } from "react";
3
+
4
+ // ../../renderers/react/src/react-dom-client.tsx
5
+ import * as React from "react";
6
+ import * as ReactDOM from "react-dom/client";
7
+ var nodes = /* @__PURE__ */ new Map(), WithCallback = ({
8
+ callback,
9
+ children
10
+ }) => {
11
+ let once = React.useRef();
12
+ return React.useLayoutEffect(() => {
13
+ once.current !== callback && (once.current = callback, callback());
14
+ }, [callback]), children;
15
+ }, createPromise = () => {
16
+ let resolve;
17
+ return { promise: new Promise((res) => {
18
+ resolve = res;
19
+ }), resolve };
20
+ }, settlePendingRenders = ({ pendingRenders }) => {
21
+ pendingRenders.forEach((resolve) => resolve()), pendingRenders.clear();
22
+ }, renderElement = async (node, el, rootOptions) => {
23
+ let state = nodes.get(el);
24
+ if (state || (state = {
25
+ root: ReactDOM.createRoot(el, rootOptions),
26
+ pendingRenders: /* @__PURE__ */ new Set()
27
+ }, nodes.set(el, state)), settlePendingRenders(state), globalThis.IS_REACT_ACT_ENVIRONMENT) {
28
+ state.root.render(node);
29
+ return;
30
+ }
31
+ let { promise, resolve } = createPromise(), onCommit = () => {
32
+ state.pendingRenders.delete(onCommit), resolve();
33
+ };
34
+ return state.pendingRenders.add(onCommit), state.root.render(React.createElement(WithCallback, { callback: onCommit }, node)), promise;
35
+ }, unmountElement = (el) => {
36
+ let state = nodes.get(el);
37
+ state && (state.root.unmount(), settlePendingRenders(state), nodes.delete(el));
38
+ };
39
+
40
+ // src/DocsRenderer.tsx
41
+ import { AnchorMdx, CodeOrSourceMdx, Docs, HeadersMdx } from "@storybook/addon-docs/blocks";
42
+ var defaultComponents = {
43
+ code: CodeOrSourceMdx,
44
+ a: AnchorMdx,
45
+ ...HeadersMdx
46
+ }, ErrorBoundary = class extends Component {
47
+ constructor() {
48
+ super(...arguments);
49
+ this.state = { hasError: !1 };
50
+ }
51
+ static getDerivedStateFromError() {
52
+ return { hasError: !0 };
53
+ }
54
+ componentDidCatch(err) {
55
+ let { showException } = this.props;
56
+ showException(err);
57
+ }
58
+ render() {
59
+ let { hasError } = this.state, { children } = this.props;
60
+ return hasError ? null : React2.createElement(React2.Fragment, null, children);
61
+ }
62
+ }, DocsRenderer = class {
63
+ constructor() {
64
+ this.render = async (context, docsParameter, element) => {
65
+ let components = {
66
+ ...defaultComponents,
67
+ ...docsParameter?.components
68
+ }, TDocs = Docs;
69
+ return new Promise((resolve, reject) => {
70
+ import("@mdx-js/react").then(
71
+ ({ MDXProvider }) => (
72
+ // We use a `key={}` here to reset the `hasError` state each time we render ErrorBoundary
73
+ renderElement(
74
+ React2.createElement(ErrorBoundary, { showException: reject, key: Math.random() }, React2.createElement(MDXProvider, { components }, React2.createElement(TDocs, { context, docsParameter }))),
75
+ element
76
+ )
77
+ )
78
+ ).then(() => resolve());
79
+ });
80
+ }, this.unmount = (element) => {
81
+ unmountElement(element);
82
+ };
83
+ }
84
+ };
85
+
86
+ export {
87
+ defaultComponents,
88
+ DocsRenderer
89
+ };
@@ -8,15 +8,12 @@ __export(preview_exports, {
8
8
  parameters: () => parameters
9
9
  });
10
10
  var excludeTags = Object.entries(globalThis.TAGS_OPTIONS ?? {}).reduce(
11
- (acc, entry) => {
12
- let [tag, option] = entry;
13
- return option.excludeFromDocsStories && (acc[tag] = !0), acc;
14
- },
11
+ (acc, [tag, option]) => (option.hideFromAutodocs && (acc[tag] = !0), acc),
15
12
  {}
16
13
  ), parameters = {
17
14
  docs: {
18
15
  renderer: async () => {
19
- let { DocsRenderer } = await import("./DocsRenderer-JROSPFPF.js");
16
+ let { DocsRenderer } = await import("./DocsRenderer-VNB4F7I7.js");
20
17
  return new DocsRenderer();
21
18
  },
22
19
  stories: {
@@ -1,10 +1,10 @@
1
- import CJS_COMPAT_NODE_URL_l5ujx7o305p from 'node:url';
2
- import CJS_COMPAT_NODE_PATH_l5ujx7o305p from 'node:path';
3
- import CJS_COMPAT_NODE_MODULE_l5ujx7o305p from "node:module";
1
+ import CJS_COMPAT_NODE_URL_pqdh56pgv6k from 'node:url';
2
+ import CJS_COMPAT_NODE_PATH_pqdh56pgv6k from 'node:path';
3
+ import CJS_COMPAT_NODE_MODULE_pqdh56pgv6k from "node:module";
4
4
 
5
- var __filename = CJS_COMPAT_NODE_URL_l5ujx7o305p.fileURLToPath(import.meta.url);
6
- var __dirname = CJS_COMPAT_NODE_PATH_l5ujx7o305p.dirname(__filename);
7
- var require = CJS_COMPAT_NODE_MODULE_l5ujx7o305p.createRequire(import.meta.url);
5
+ var __filename = CJS_COMPAT_NODE_URL_pqdh56pgv6k.fileURLToPath(import.meta.url);
6
+ var __dirname = CJS_COMPAT_NODE_PATH_pqdh56pgv6k.dirname(__filename);
7
+ var require = CJS_COMPAT_NODE_MODULE_pqdh56pgv6k.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_l5ujx7o305p from 'node:url';
2
- import CJS_COMPAT_NODE_PATH_l5ujx7o305p from 'node:path';
3
- import CJS_COMPAT_NODE_MODULE_l5ujx7o305p from "node:module";
1
+ import CJS_COMPAT_NODE_URL_pqdh56pgv6k from 'node:url';
2
+ import CJS_COMPAT_NODE_PATH_pqdh56pgv6k from 'node:path';
3
+ import CJS_COMPAT_NODE_MODULE_pqdh56pgv6k from "node:module";
4
4
 
5
- var __filename = CJS_COMPAT_NODE_URL_l5ujx7o305p.fileURLToPath(import.meta.url);
6
- var __dirname = CJS_COMPAT_NODE_PATH_l5ujx7o305p.dirname(__filename);
7
- var require = CJS_COMPAT_NODE_MODULE_l5ujx7o305p.createRequire(import.meta.url);
5
+ var __filename = CJS_COMPAT_NODE_URL_pqdh56pgv6k.fileURLToPath(import.meta.url);
6
+ var __dirname = CJS_COMPAT_NODE_PATH_pqdh56pgv6k.dirname(__filename);
7
+ var require = CJS_COMPAT_NODE_MODULE_pqdh56pgv6k.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_l5ujx7o305p from 'node:url';
2
- import CJS_COMPAT_NODE_PATH_l5ujx7o305p from 'node:path';
3
- import CJS_COMPAT_NODE_MODULE_l5ujx7o305p from "node:module";
1
+ import CJS_COMPAT_NODE_URL_pqdh56pgv6k from 'node:url';
2
+ import CJS_COMPAT_NODE_PATH_pqdh56pgv6k from 'node:path';
3
+ import CJS_COMPAT_NODE_MODULE_pqdh56pgv6k from "node:module";
4
4
 
5
- var __filename = CJS_COMPAT_NODE_URL_l5ujx7o305p.fileURLToPath(import.meta.url);
6
- var __dirname = CJS_COMPAT_NODE_PATH_l5ujx7o305p.dirname(__filename);
7
- var require = CJS_COMPAT_NODE_MODULE_l5ujx7o305p.createRequire(import.meta.url);
5
+ var __filename = CJS_COMPAT_NODE_URL_pqdh56pgv6k.fileURLToPath(import.meta.url);
6
+ var __dirname = CJS_COMPAT_NODE_PATH_pqdh56pgv6k.dirname(__filename);
7
+ var require = CJS_COMPAT_NODE_MODULE_pqdh56pgv6k.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_l5ujx7o305p from 'node:url';
2
- import CJS_COMPAT_NODE_PATH_l5ujx7o305p from 'node:path';
3
- import CJS_COMPAT_NODE_MODULE_l5ujx7o305p from "node:module";
1
+ import CJS_COMPAT_NODE_URL_pqdh56pgv6k from 'node:url';
2
+ import CJS_COMPAT_NODE_PATH_pqdh56pgv6k from 'node:path';
3
+ import CJS_COMPAT_NODE_MODULE_pqdh56pgv6k from "node:module";
4
4
 
5
- var __filename = CJS_COMPAT_NODE_URL_l5ujx7o305p.fileURLToPath(import.meta.url);
6
- var __dirname = CJS_COMPAT_NODE_PATH_l5ujx7o305p.dirname(__filename);
7
- var require = CJS_COMPAT_NODE_MODULE_l5ujx7o305p.createRequire(import.meta.url);
5
+ var __filename = CJS_COMPAT_NODE_URL_pqdh56pgv6k.fileURLToPath(import.meta.url);
6
+ var __dirname = CJS_COMPAT_NODE_PATH_pqdh56pgv6k.dirname(__filename);
7
+ var require = CJS_COMPAT_NODE_MODULE_pqdh56pgv6k.createRequire(import.meta.url);
8
8
 
9
9
  // ------------------------------------------------------------
10
10
  // end of CJS compatibility banner, injected by Storybook's esbuild configuration
@@ -12,17 +12,17 @@ var require = CJS_COMPAT_NODE_MODULE_l5ujx7o305p.createRequire(import.meta.url);
12
12
  import {
13
13
  esm_default,
14
14
  stringify
15
- } from "./chunk-THTSUCGC.js";
15
+ } from "./chunk-DAO2HTZD.js";
16
16
  import {
17
17
  visit
18
- } from "./chunk-VW4OYJ5I.js";
18
+ } from "./chunk-4LLXOBTD.js";
19
19
  import {
20
20
  __commonJS,
21
21
  __esm,
22
22
  __export,
23
23
  __toCommonJS,
24
24
  __toESM
25
- } from "./chunk-5W7KGOKX.js";
25
+ } from "./chunk-FEPIQB7L.js";
26
26
 
27
27
  // ../../../node_modules/acorn-jsx/xhtml.js
28
28
  var require_xhtml = __commonJS({
@@ -1,27 +1,27 @@
1
- import CJS_COMPAT_NODE_URL_l5ujx7o305p from 'node:url';
2
- import CJS_COMPAT_NODE_PATH_l5ujx7o305p from 'node:path';
3
- import CJS_COMPAT_NODE_MODULE_l5ujx7o305p from "node:module";
1
+ import CJS_COMPAT_NODE_URL_pqdh56pgv6k from 'node:url';
2
+ import CJS_COMPAT_NODE_PATH_pqdh56pgv6k from 'node:path';
3
+ import CJS_COMPAT_NODE_MODULE_pqdh56pgv6k from "node:module";
4
4
 
5
- var __filename = CJS_COMPAT_NODE_URL_l5ujx7o305p.fileURLToPath(import.meta.url);
6
- var __dirname = CJS_COMPAT_NODE_PATH_l5ujx7o305p.dirname(__filename);
7
- var require = CJS_COMPAT_NODE_MODULE_l5ujx7o305p.createRequire(import.meta.url);
5
+ var __filename = CJS_COMPAT_NODE_URL_pqdh56pgv6k.fileURLToPath(import.meta.url);
6
+ var __dirname = CJS_COMPAT_NODE_PATH_pqdh56pgv6k.dirname(__filename);
7
+ var require = CJS_COMPAT_NODE_MODULE_pqdh56pgv6k.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
  compile
14
- } from "./chunk-NQKVOQF7.js";
15
- import "./chunk-THTSUCGC.js";
16
- import "./chunk-VW4OYJ5I.js";
14
+ } from "./chunk-WCEZ5UIY.js";
15
+ import "./chunk-DAO2HTZD.js";
16
+ import "./chunk-4LLXOBTD.js";
17
17
  import {
18
18
  __commonJS,
19
19
  __toESM
20
- } from "./chunk-5W7KGOKX.js";
20
+ } from "./chunk-FEPIQB7L.js";
21
21
 
22
- // ../../../node_modules/@rollup/pluginutils/node_modules/picomatch/lib/constants.js
22
+ // ../../../node_modules/picomatch/lib/constants.js
23
23
  var require_constants = __commonJS({
24
- "../../../node_modules/@rollup/pluginutils/node_modules/picomatch/lib/constants.js"(exports, module) {
24
+ "../../../node_modules/picomatch/lib/constants.js"(exports, module) {
25
25
  "use strict";
26
26
  var WIN_NO_SLASH = "[^\\\\/]", ONE_CHAR = "(?=.)", QMARK = "[^/]", END_ANCHOR = "(?:\\/|$)", START_ANCHOR = "(?:^|\\/)", DOTS_SLASH = `\\.{1,2}${END_ANCHOR}`, NO_DOT = "(?!\\.)", NO_DOTS = `(?!${START_ANCHOR}${DOTS_SLASH})`, NO_DOT_SLASH = `(?!\\.{0,1}${END_ANCHOR})`, NO_DOTS_SLASH = `(?!${DOTS_SLASH})`, QMARK_NO_DOT = "[^.\\/]", STAR = `${QMARK}*?`, SEP = "/", POSIX_CHARS = {
27
27
  DOT_LITERAL: "\\.",
@@ -200,9 +200,9 @@ var require_constants = __commonJS({
200
200
  }
201
201
  });
202
202
 
203
- // ../../../node_modules/@rollup/pluginutils/node_modules/picomatch/lib/utils.js
203
+ // ../../../node_modules/picomatch/lib/utils.js
204
204
  var require_utils = __commonJS({
205
- "../../../node_modules/@rollup/pluginutils/node_modules/picomatch/lib/utils.js"(exports) {
205
+ "../../../node_modules/picomatch/lib/utils.js"(exports) {
206
206
  "use strict";
207
207
  var {
208
208
  REGEX_BACKSLASH,
@@ -242,9 +242,9 @@ var require_utils = __commonJS({
242
242
  }
243
243
  });
244
244
 
245
- // ../../../node_modules/@rollup/pluginutils/node_modules/picomatch/lib/scan.js
245
+ // ../../../node_modules/picomatch/lib/scan.js
246
246
  var require_scan = __commonJS({
247
- "../../../node_modules/@rollup/pluginutils/node_modules/picomatch/lib/scan.js"(exports, module) {
247
+ "../../../node_modules/picomatch/lib/scan.js"(exports, module) {
248
248
  "use strict";
249
249
  var utils = require_utils(), {
250
250
  CHAR_ASTERISK,
@@ -280,7 +280,7 @@ var require_scan = __commonJS({
280
280
  } = require_constants(), isPathSeparator = (code) => code === CHAR_FORWARD_SLASH || code === CHAR_BACKWARD_SLASH, depth = (token) => {
281
281
  token.isPrefix !== !0 && (token.depth = token.isGlobstar ? 1 / 0 : 1);
282
282
  }, scan = (input, options) => {
283
- let opts = options || {}, length = input.length - 1, scanToEnd = opts.parts === !0 || opts.scanToEnd === !0, slashes = [], tokens = [], parts = [], str = input, index = -1, start = 0, lastIndex = 0, isBrace = !1, isBracket = !1, isGlob = !1, isExtglob = !1, isGlobstar = !1, braceEscaped = !1, backslashes = !1, negated = !1, negatedExtglob = !1, finished = !1, braces = 0, prev, code, token = { value: "", depth: 0, isGlob: !1 }, eos = () => index >= length, peek = () => str.charCodeAt(index + 1), advance = () => (prev = code, str.charCodeAt(++index));
283
+ let opts = options || {}, length = input.length - 1, scanToEnd = opts.parts === !0 || opts.tokens === !0 || opts.scanToEnd === !0, slashes = [], tokens = [], parts = [], str = input, index = -1, start = 0, lastIndex = 0, isBrace = !1, isBracket = !1, isGlob = !1, isExtglob = !1, isGlobstar = !1, braceEscaped = !1, backslashes = !1, negated = !1, negatedExtglob = !1, finished = !1, braces = 0, prev, code, token = { value: "", depth: 0, isGlob: !1 }, eos = () => index >= length, peek = () => str.charCodeAt(index + 1), advance = () => (prev = code, str.charCodeAt(++index));
284
284
  for (; index < length; ) {
285
285
  code = advance();
286
286
  let next;
@@ -328,13 +328,18 @@ var require_scan = __commonJS({
328
328
  }
329
329
  if (opts.noext !== !0 && (code === CHAR_PLUS || code === CHAR_AT || code === CHAR_ASTERISK || code === CHAR_QUESTION_MARK || code === CHAR_EXCLAMATION_MARK) === !0 && peek() === CHAR_LEFT_PARENTHESES) {
330
330
  if (isGlob = token.isGlob = !0, isExtglob = token.isExtglob = !0, finished = !0, code === CHAR_EXCLAMATION_MARK && index === start && (negatedExtglob = !0), scanToEnd === !0) {
331
+ let parens = 0;
331
332
  for (; eos() !== !0 && (code = advance()); ) {
332
333
  if (code === CHAR_BACKWARD_SLASH) {
333
- backslashes = token.backslashes = !0, code = advance();
334
+ backslashes = token.backslashes = !0, advance();
334
335
  continue;
335
336
  }
336
- if (code === CHAR_RIGHT_PARENTHESES) {
337
- isGlob = token.isGlob = !0, finished = !0;
337
+ if (code === CHAR_LEFT_PARENTHESES) {
338
+ parens++;
339
+ continue;
340
+ }
341
+ if (code === CHAR_RIGHT_PARENTHESES && --parens === 0) {
342
+ finished = !0;
338
343
  break;
339
344
  }
340
345
  }
@@ -373,12 +378,17 @@ var require_scan = __commonJS({
373
378
  }
374
379
  if (opts.noparen !== !0 && code === CHAR_LEFT_PARENTHESES) {
375
380
  if (isGlob = token.isGlob = !0, scanToEnd === !0) {
381
+ let parens = 1;
376
382
  for (; eos() !== !0 && (code = advance()); ) {
383
+ if (code === CHAR_BACKWARD_SLASH) {
384
+ backslashes = token.backslashes = !0, advance();
385
+ continue;
386
+ }
377
387
  if (code === CHAR_LEFT_PARENTHESES) {
378
- backslashes = token.backslashes = !0, code = advance();
388
+ parens++;
379
389
  continue;
380
390
  }
381
- if (code === CHAR_RIGHT_PARENTHESES) {
391
+ if (code === CHAR_RIGHT_PARENTHESES && --parens === 0) {
382
392
  finished = !0;
383
393
  break;
384
394
  }
@@ -413,14 +423,11 @@ var require_scan = __commonJS({
413
423
  if (opts.tokens === !0 && (state.maxDepth = 0, isPathSeparator(code) || tokens.push(token), state.tokens = tokens), opts.parts === !0 || opts.tokens === !0) {
414
424
  let prevIndex;
415
425
  for (let idx = 0; idx < slashes.length; idx++) {
416
- let n = prevIndex ? prevIndex + 1 : start, i = slashes[idx], value = input.slice(n, i);
417
- opts.tokens && (idx === 0 && start !== 0 ? (tokens[idx].isPrefix = !0, tokens[idx].value = prefix) : tokens[idx].value = value, depth(tokens[idx]), state.maxDepth += tokens[idx].depth), (idx !== 0 || value !== "") && parts.push(value), prevIndex = i;
418
- }
419
- if (prevIndex && prevIndex + 1 < input.length) {
420
- let value = input.slice(prevIndex + 1);
421
- parts.push(value), opts.tokens && (tokens[tokens.length - 1].value = value, depth(tokens[tokens.length - 1]), state.maxDepth += tokens[tokens.length - 1].depth);
426
+ let n2 = prevIndex !== void 0 ? prevIndex + 1 : start, i = slashes[idx], value2 = input.slice(n2, i);
427
+ opts.tokens && (idx === 0 && start !== 0 ? (tokens[idx].isPrefix = !0, tokens[idx].value = prefix) : tokens[idx].value = value2, depth(tokens[idx]), state.maxDepth += tokens[idx].depth), i >= start && (parts.push(value2), prevIndex = i);
422
428
  }
423
- state.slashes = slashes, state.parts = parts;
429
+ let n = prevIndex !== void 0 ? prevIndex + 1 : start, value = input.slice(n);
430
+ parts.push(value), opts.tokens && prevIndex && prevIndex + 1 < input.length && (tokens[tokens.length - 1].value = value, depth(tokens[tokens.length - 1]), state.maxDepth += tokens[tokens.length - 1].depth), state.slashes = slashes, state.parts = parts;
424
431
  }
425
432
  return state;
426
433
  };
@@ -428,9 +435,9 @@ var require_scan = __commonJS({
428
435
  }
429
436
  });
430
437
 
431
- // ../../../node_modules/@rollup/pluginutils/node_modules/picomatch/lib/parse.js
438
+ // ../../../node_modules/picomatch/lib/parse.js
432
439
  var require_parse = __commonJS({
433
- "../../../node_modules/@rollup/pluginutils/node_modules/picomatch/lib/parse.js"(exports, module) {
440
+ "../../../node_modules/picomatch/lib/parse.js"(exports, module) {
434
441
  "use strict";
435
442
  var constants = require_constants(), utils = require_utils(), {
436
443
  MAX_LENGTH,
@@ -554,7 +561,7 @@ var require_parse = __commonJS({
554
561
  }
555
562
  }
556
563
  }
557
- }, getStarExtglobSequenceOutput = (pattern) => {
564
+ }, buildCharClassStar = (chars) => `${chars.length === 1 ? utils.escapeRegex(chars[0]) : `[${chars.map((ch) => utils.escapeRegex(ch)).join("")}]`}*`, getStarExtglobSequenceChars = (pattern) => {
558
565
  let index = 0, chars = [];
559
566
  for (; index < pattern.length; ) {
560
567
  let match = parseRepeatedExtglob(pattern.slice(index), !1);
@@ -568,7 +575,8 @@ var require_parse = __commonJS({
568
575
  return;
569
576
  chars.push(branch), index += match.end + 1;
570
577
  }
571
- return chars.length < 1 ? void 0 : `${chars.length === 1 ? utils.escapeRegex(chars[0]) : `[${chars.map((ch) => utils.escapeRegex(ch)).join("")}]`}*`;
578
+ if (!(chars.length < 1))
579
+ return chars;
572
580
  }, repeatedExtglobRecursion = (pattern) => {
573
581
  let depth = 0, value = pattern.trim(), match = parseRepeatedExtglob(value);
574
582
  for (; match; )
@@ -580,14 +588,22 @@ var require_parse = __commonJS({
580
588
  let max = typeof options.maxExtglobRecursion == "number" ? options.maxExtglobRecursion : constants.DEFAULT_MAX_EXTGLOB_RECURSION, branches = splitTopLevel(body).map((branch) => branch.trim());
581
589
  if (branches.length > 1 && (branches.some((branch) => branch === "") || branches.some((branch) => /^[*?]+$/.test(branch)) || hasRepeatedCharPrefixOverlap(branches)))
582
590
  return { risky: !0 };
591
+ let safeChars = [], sawStarSequence = !1, combinable = !0;
583
592
  for (let branch of branches) {
584
- let safeOutput = getStarExtglobSequenceOutput(branch);
585
- if (safeOutput)
586
- return { risky: !0, safeOutput };
587
- if (repeatedExtglobRecursion(branch) > max)
593
+ let chars = getStarExtglobSequenceChars(branch);
594
+ if (chars) {
595
+ sawStarSequence = !0, safeChars.push(...chars);
596
+ continue;
597
+ }
598
+ let literal = normalizeSimpleBranch(branch);
599
+ if (literal && literal.length === 1) {
600
+ safeChars.push(literal);
601
+ continue;
602
+ }
603
+ if (combinable = !1, repeatedExtglobRecursion(branch) > max)
588
604
  return { risky: !0 };
589
605
  }
590
- return { risky: !1 };
606
+ return sawStarSequence ? combinable ? { risky: !0, safeOutput: buildCharClassStar([...new Set(safeChars)]) } : { risky: !0 } : { risky: !1 };
591
607
  }, parse = (input, options) => {
592
608
  if (typeof input != "string")
593
609
  throw new TypeError("Expected a string");
@@ -920,11 +936,12 @@ var require_parse = __commonJS({
920
936
  break;
921
937
  rest = rest.slice(3), consume("/**", 3);
922
938
  }
939
+ let isEnd = eos() || state.parens > 0 && rest === ")".repeat(state.parens) && !extglobs.some((extglob) => extglob.type === "negate");
923
940
  if (prior.type === "bos" && eos()) {
924
941
  prev.type = "globstar", prev.value += value, prev.output = globstar(opts), state.output = prev.output, state.globstar = !0, consume(value);
925
942
  continue;
926
943
  }
927
- if (prior.type === "slash" && prior.prev.type !== "bos" && !afterStar && eos()) {
944
+ if (prior.type === "slash" && prior.prev.type !== "bos" && !afterStar && isEnd) {
928
945
  state.output = state.output.slice(0, -(prior.output + prev.output).length), prior.output = `(?:${prior.output}`, prev.type = "globstar", prev.output = globstar(opts) + (opts.strictSlashes ? ")" : "|$)"), prev.value += value, state.globstar = !0, state.output += prior.output + prev.output, consume(value);
929
946
  continue;
930
947
  }
@@ -1019,9 +1036,9 @@ var require_parse = __commonJS({
1019
1036
  }
1020
1037
  });
1021
1038
 
1022
- // ../../../node_modules/@rollup/pluginutils/node_modules/picomatch/lib/picomatch.js
1039
+ // ../../../node_modules/picomatch/lib/picomatch.js
1023
1040
  var require_picomatch = __commonJS({
1024
- "../../../node_modules/@rollup/pluginutils/node_modules/picomatch/lib/picomatch.js"(exports, module) {
1041
+ "../../../node_modules/picomatch/lib/picomatch.js"(exports, module) {
1025
1042
  "use strict";
1026
1043
  var scan = require_scan(), parse = require_parse(), utils = require_utils(), constants = require_constants(), isObject = (val) => val && typeof val == "object" && !Array.isArray(val), picomatch = (glob, options, returnState = !1) => {
1027
1044
  if (Array.isArray(glob)) {
@@ -1058,7 +1075,7 @@ var require_picomatch = __commonJS({
1058
1075
  let opts = options || {}, format = opts.format || (posix2 ? utils.toPosixSlashes : null), match = input === glob, output = match && format ? format(input) : input;
1059
1076
  return match === !1 && (output = format ? format(input) : input, match = output === glob), (match === !1 || opts.capture === !0) && (opts.matchBase === !0 || opts.basename === !0 ? match = picomatch.matchBase(input, regex, options, posix2) : match = regex.exec(output)), { isMatch: !!match, match, output };
1060
1077
  };
1061
- picomatch.matchBase = (input, glob, options) => (glob instanceof RegExp ? glob : picomatch.makeRe(glob, options)).test(utils.basename(input));
1078
+ picomatch.matchBase = (input, glob, options, posix2 = options && options.windows) => (glob instanceof RegExp ? glob : picomatch.makeRe(glob, options)).test(utils.basename(input, { windows: posix2 }));
1062
1079
  picomatch.isMatch = (str, patterns, options) => picomatch(patterns, options)(str);
1063
1080
  picomatch.parse = (pattern, options) => Array.isArray(pattern) ? pattern.map((p) => picomatch.parse(p, options)) : parse(pattern, { ...options, fastpaths: !1 });
1064
1081
  picomatch.scan = (input, options) => scan(input, options);
@@ -1090,9 +1107,9 @@ var require_picomatch = __commonJS({
1090
1107
  }
1091
1108
  });
1092
1109
 
1093
- // ../../../node_modules/@rollup/pluginutils/node_modules/picomatch/index.js
1110
+ // ../../../node_modules/picomatch/index.js
1094
1111
  var require_picomatch2 = __commonJS({
1095
- "../../../node_modules/@rollup/pluginutils/node_modules/picomatch/index.js"(exports, module) {
1112
+ "../../../node_modules/picomatch/index.js"(exports, module) {
1096
1113
  "use strict";
1097
1114
  var pico = require_picomatch(), utils = require_utils();
1098
1115
  function picomatch(glob, options, returnState = !1) {
@@ -1153,7 +1170,7 @@ var hasStringIsWellFormed = "isWellFormed" in String.prototype;
1153
1170
 
1154
1171
  // src/mdx-plugin.ts
1155
1172
  async function mdxPlugin(options) {
1156
- let include = /\.mdx$/, filter = createFilter(include), { presets } = options, mdxPluginOptions = (await presets.apply("options", {}))?.mdxPluginOptions, rehypeSlug = (await import("./rehype-slug-QEAVOUOL.js")).default, rehypeExternalLinks = (await import("./rehype-external-links-E6KHOF5Y.js")).default;
1173
+ let include = /\.mdx$/, filter = createFilter(include), { presets } = options, mdxPluginOptions = (await presets.apply("options", {}))?.mdxPluginOptions, rehypeSlug = (await import("./rehype-slug-FUPDQSWA.js")).default, rehypeExternalLinks = (await import("./rehype-external-links-BBF5SV2O.js")).default;
1157
1174
  return {
1158
1175
  name: "storybook:mdx-plugin",
1159
1176
  enforce: "pre",
@@ -1,10 +1,10 @@
1
- import CJS_COMPAT_NODE_URL_l5ujx7o305p from 'node:url';
2
- import CJS_COMPAT_NODE_PATH_l5ujx7o305p from 'node:path';
3
- import CJS_COMPAT_NODE_MODULE_l5ujx7o305p from "node:module";
1
+ import CJS_COMPAT_NODE_URL_pqdh56pgv6k from 'node:url';
2
+ import CJS_COMPAT_NODE_PATH_pqdh56pgv6k from 'node:path';
3
+ import CJS_COMPAT_NODE_MODULE_pqdh56pgv6k from "node:module";
4
4
 
5
- var __filename = CJS_COMPAT_NODE_URL_l5ujx7o305p.fileURLToPath(import.meta.url);
6
- var __dirname = CJS_COMPAT_NODE_PATH_l5ujx7o305p.dirname(__filename);
7
- var require = CJS_COMPAT_NODE_MODULE_l5ujx7o305p.createRequire(import.meta.url);
5
+ var __filename = CJS_COMPAT_NODE_URL_pqdh56pgv6k.fileURLToPath(import.meta.url);
6
+ var __dirname = CJS_COMPAT_NODE_PATH_pqdh56pgv6k.dirname(__filename);
7
+ var require = CJS_COMPAT_NODE_MODULE_pqdh56pgv6k.createRequire(import.meta.url);
8
8
 
9
9
  // ------------------------------------------------------------
10
10
  // end of CJS compatibility banner, injected by Storybook's esbuild configuration
@@ -12,11 +12,11 @@ var require = CJS_COMPAT_NODE_MODULE_l5ujx7o305p.createRequire(import.meta.url);
12
12
  import {
13
13
  esm_default,
14
14
  parse
15
- } from "./chunk-THTSUCGC.js";
15
+ } from "./chunk-DAO2HTZD.js";
16
16
  import {
17
17
  visit
18
- } from "./chunk-VW4OYJ5I.js";
19
- import "./chunk-5W7KGOKX.js";
18
+ } from "./chunk-4LLXOBTD.js";
19
+ import "./chunk-FEPIQB7L.js";
20
20
 
21
21
  // ../../../node_modules/hast-util-is-element/lib/index.js
22
22
  var convertElement = (
@@ -1,18 +1,18 @@
1
- import CJS_COMPAT_NODE_URL_l5ujx7o305p from 'node:url';
2
- import CJS_COMPAT_NODE_PATH_l5ujx7o305p from 'node:path';
3
- import CJS_COMPAT_NODE_MODULE_l5ujx7o305p from "node:module";
1
+ import CJS_COMPAT_NODE_URL_pqdh56pgv6k from 'node:url';
2
+ import CJS_COMPAT_NODE_PATH_pqdh56pgv6k from 'node:path';
3
+ import CJS_COMPAT_NODE_MODULE_pqdh56pgv6k from "node:module";
4
4
 
5
- var __filename = CJS_COMPAT_NODE_URL_l5ujx7o305p.fileURLToPath(import.meta.url);
6
- var __dirname = CJS_COMPAT_NODE_PATH_l5ujx7o305p.dirname(__filename);
7
- var require = CJS_COMPAT_NODE_MODULE_l5ujx7o305p.createRequire(import.meta.url);
5
+ var __filename = CJS_COMPAT_NODE_URL_pqdh56pgv6k.fileURLToPath(import.meta.url);
6
+ var __dirname = CJS_COMPAT_NODE_PATH_pqdh56pgv6k.dirname(__filename);
7
+ var require = CJS_COMPAT_NODE_MODULE_pqdh56pgv6k.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
  visit
14
- } from "./chunk-VW4OYJ5I.js";
15
- import "./chunk-5W7KGOKX.js";
14
+ } from "./chunk-4LLXOBTD.js";
15
+ import "./chunk-FEPIQB7L.js";
16
16
 
17
17
  // ../../../node_modules/github-slugger/regex.js
18
18
  var regex = /[\0-\x1F!-,\.\/:-@\[-\^`\{-\xA9\xAB-\xB4\xB6-\xB9\xBB-\xBF\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0378\u0379\u037E\u0380-\u0385\u0387\u038B\u038D\u03A2\u03F6\u0482\u0530\u0557\u0558\u055A-\u055F\u0589-\u0590\u05BE\u05C0\u05C3\u05C6\u05C8-\u05CF\u05EB-\u05EE\u05F3-\u060F\u061B-\u061F\u066A-\u066D\u06D4\u06DD\u06DE\u06E9\u06FD\u06FE\u0700-\u070F\u074B\u074C\u07B2-\u07BF\u07F6-\u07F9\u07FB\u07FC\u07FE\u07FF\u082E-\u083F\u085C-\u085F\u086B-\u089F\u08B5\u08C8-\u08D2\u08E2\u0964\u0965\u0970\u0984\u098D\u098E\u0991\u0992\u09A9\u09B1\u09B3-\u09B5\u09BA\u09BB\u09C5\u09C6\u09C9\u09CA\u09CF-\u09D6\u09D8-\u09DB\u09DE\u09E4\u09E5\u09F2-\u09FB\u09FD\u09FF\u0A00\u0A04\u0A0B-\u0A0E\u0A11\u0A12\u0A29\u0A31\u0A34\u0A37\u0A3A\u0A3B\u0A3D\u0A43-\u0A46\u0A49\u0A4A\u0A4E-\u0A50\u0A52-\u0A58\u0A5D\u0A5F-\u0A65\u0A76-\u0A80\u0A84\u0A8E\u0A92\u0AA9\u0AB1\u0AB4\u0ABA\u0ABB\u0AC6\u0ACA\u0ACE\u0ACF\u0AD1-\u0ADF\u0AE4\u0AE5\u0AF0-\u0AF8\u0B00\u0B04\u0B0D\u0B0E\u0B11\u0B12\u0B29\u0B31\u0B34\u0B3A\u0B3B\u0B45\u0B46\u0B49\u0B4A\u0B4E-\u0B54\u0B58-\u0B5B\u0B5E\u0B64\u0B65\u0B70\u0B72-\u0B81\u0B84\u0B8B-\u0B8D\u0B91\u0B96-\u0B98\u0B9B\u0B9D\u0BA0-\u0BA2\u0BA5-\u0BA7\u0BAB-\u0BAD\u0BBA-\u0BBD\u0BC3-\u0BC5\u0BC9\u0BCE\u0BCF\u0BD1-\u0BD6\u0BD8-\u0BE5\u0BF0-\u0BFF\u0C0D\u0C11\u0C29\u0C3A-\u0C3C\u0C45\u0C49\u0C4E-\u0C54\u0C57\u0C5B-\u0C5F\u0C64\u0C65\u0C70-\u0C7F\u0C84\u0C8D\u0C91\u0CA9\u0CB4\u0CBA\u0CBB\u0CC5\u0CC9\u0CCE-\u0CD4\u0CD7-\u0CDD\u0CDF\u0CE4\u0CE5\u0CF0\u0CF3-\u0CFF\u0D0D\u0D11\u0D45\u0D49\u0D4F-\u0D53\u0D58-\u0D5E\u0D64\u0D65\u0D70-\u0D79\u0D80\u0D84\u0D97-\u0D99\u0DB2\u0DBC\u0DBE\u0DBF\u0DC7-\u0DC9\u0DCB-\u0DCE\u0DD5\u0DD7\u0DE0-\u0DE5\u0DF0\u0DF1\u0DF4-\u0E00\u0E3B-\u0E3F\u0E4F\u0E5A-\u0E80\u0E83\u0E85\u0E8B\u0EA4\u0EA6\u0EBE\u0EBF\u0EC5\u0EC7\u0ECE\u0ECF\u0EDA\u0EDB\u0EE0-\u0EFF\u0F01-\u0F17\u0F1A-\u0F1F\u0F2A-\u0F34\u0F36\u0F38\u0F3A-\u0F3D\u0F48\u0F6D-\u0F70\u0F85\u0F98\u0FBD-\u0FC5\u0FC7-\u0FFF\u104A-\u104F\u109E\u109F\u10C6\u10C8-\u10CC\u10CE\u10CF\u10FB\u1249\u124E\u124F\u1257\u1259\u125E\u125F\u1289\u128E\u128F\u12B1\u12B6\u12B7\u12BF\u12C1\u12C6\u12C7\u12D7\u1311\u1316\u1317\u135B\u135C\u1360-\u137F\u1390-\u139F\u13F6\u13F7\u13FE-\u1400\u166D\u166E\u1680\u169B-\u169F\u16EB-\u16ED\u16F9-\u16FF\u170D\u1715-\u171F\u1735-\u173F\u1754-\u175F\u176D\u1771\u1774-\u177F\u17D4-\u17D6\u17D8-\u17DB\u17DE\u17DF\u17EA-\u180A\u180E\u180F\u181A-\u181F\u1879-\u187F\u18AB-\u18AF\u18F6-\u18FF\u191F\u192C-\u192F\u193C-\u1945\u196E\u196F\u1975-\u197F\u19AC-\u19AF\u19CA-\u19CF\u19DA-\u19FF\u1A1C-\u1A1F\u1A5F\u1A7D\u1A7E\u1A8A-\u1A8F\u1A9A-\u1AA6\u1AA8-\u1AAF\u1AC1-\u1AFF\u1B4C-\u1B4F\u1B5A-\u1B6A\u1B74-\u1B7F\u1BF4-\u1BFF\u1C38-\u1C3F\u1C4A-\u1C4C\u1C7E\u1C7F\u1C89-\u1C8F\u1CBB\u1CBC\u1CC0-\u1CCF\u1CD3\u1CFB-\u1CFF\u1DFA\u1F16\u1F17\u1F1E\u1F1F\u1F46\u1F47\u1F4E\u1F4F\u1F58\u1F5A\u1F5C\u1F5E\u1F7E\u1F7F\u1FB5\u1FBD\u1FBF-\u1FC1\u1FC5\u1FCD-\u1FCF\u1FD4\u1FD5\u1FDC-\u1FDF\u1FED-\u1FF1\u1FF5\u1FFD-\u203E\u2041-\u2053\u2055-\u2070\u2072-\u207E\u2080-\u208F\u209D-\u20CF\u20F1-\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F-\u215F\u2189-\u24B5\u24EA-\u2BFF\u2C2F\u2C5F\u2CE5-\u2CEA\u2CF4-\u2CFF\u2D26\u2D28-\u2D2C\u2D2E\u2D2F\u2D68-\u2D6E\u2D70-\u2D7E\u2D97-\u2D9F\u2DA7\u2DAF\u2DB7\u2DBF\u2DC7\u2DCF\u2DD7\u2DDF\u2E00-\u2E2E\u2E30-\u3004\u3008-\u3020\u3030\u3036\u3037\u303D-\u3040\u3097\u3098\u309B\u309C\u30A0\u30FB\u3100-\u3104\u3130\u318F-\u319F\u31C0-\u31EF\u3200-\u33FF\u4DC0-\u4DFF\u9FFD-\u9FFF\uA48D-\uA4CF\uA4FE\uA4FF\uA60D-\uA60F\uA62C-\uA63F\uA673\uA67E\uA6F2-\uA716\uA720\uA721\uA789\uA78A\uA7C0\uA7C1\uA7CB-\uA7F4\uA828-\uA82B\uA82D-\uA83F\uA874-\uA87F\uA8C6-\uA8CF\uA8DA-\uA8DF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA954-\uA95F\uA97D-\uA97F\uA9C1-\uA9CE\uA9DA-\uA9DF\uA9FF\uAA37-\uAA3F\uAA4E\uAA4F\uAA5A-\uAA5F\uAA77-\uAA79\uAAC3-\uAADA\uAADE\uAADF\uAAF0\uAAF1\uAAF7-\uAB00\uAB07\uAB08\uAB0F\uAB10\uAB17-\uAB1F\uAB27\uAB2F\uAB5B\uAB6A-\uAB6F\uABEB\uABEE\uABEF\uABFA-\uABFF\uD7A4-\uD7AF\uD7C7-\uD7CA\uD7FC-\uD7FF\uE000-\uF8FF\uFA6E\uFA6F\uFADA-\uFAFF\uFB07-\uFB12\uFB18-\uFB1C\uFB29\uFB37\uFB3D\uFB3F\uFB42\uFB45\uFBB2-\uFBD2\uFD3E-\uFD4F\uFD90\uFD91\uFDC8-\uFDEF\uFDFC-\uFDFF\uFE10-\uFE1F\uFE30-\uFE32\uFE35-\uFE4C\uFE50-\uFE6F\uFE75\uFEFD-\uFF0F\uFF1A-\uFF20\uFF3B-\uFF3E\uFF40\uFF5B-\uFF65\uFFBF-\uFFC1\uFFC8\uFFC9\uFFD0\uFFD1\uFFD8\uFFD9\uFFDD-\uFFFF]|\uD800[\uDC0C\uDC27\uDC3B\uDC3E\uDC4E\uDC4F\uDC5E-\uDC7F\uDCFB-\uDD3F\uDD75-\uDDFC\uDDFE-\uDE7F\uDE9D-\uDE9F\uDED1-\uDEDF\uDEE1-\uDEFF\uDF20-\uDF2C\uDF4B-\uDF4F\uDF7B-\uDF7F\uDF9E\uDF9F\uDFC4-\uDFC7\uDFD0\uDFD6-\uDFFF]|\uD801[\uDC9E\uDC9F\uDCAA-\uDCAF\uDCD4-\uDCD7\uDCFC-\uDCFF\uDD28-\uDD2F\uDD64-\uDDFF\uDF37-\uDF3F\uDF56-\uDF5F\uDF68-\uDFFF]|\uD802[\uDC06\uDC07\uDC09\uDC36\uDC39-\uDC3B\uDC3D\uDC3E\uDC56-\uDC5F\uDC77-\uDC7F\uDC9F-\uDCDF\uDCF3\uDCF6-\uDCFF\uDD16-\uDD1F\uDD3A-\uDD7F\uDDB8-\uDDBD\uDDC0-\uDDFF\uDE04\uDE07-\uDE0B\uDE14\uDE18\uDE36\uDE37\uDE3B-\uDE3E\uDE40-\uDE5F\uDE7D-\uDE7F\uDE9D-\uDEBF\uDEC8\uDEE7-\uDEFF\uDF36-\uDF3F\uDF56-\uDF5F\uDF73-\uDF7F\uDF92-\uDFFF]|\uD803[\uDC49-\uDC7F\uDCB3-\uDCBF\uDCF3-\uDCFF\uDD28-\uDD2F\uDD3A-\uDE7F\uDEAA\uDEAD-\uDEAF\uDEB2-\uDEFF\uDF1D-\uDF26\uDF28-\uDF2F\uDF51-\uDFAF\uDFC5-\uDFDF\uDFF7-\uDFFF]|\uD804[\uDC47-\uDC65\uDC70-\uDC7E\uDCBB-\uDCCF\uDCE9-\uDCEF\uDCFA-\uDCFF\uDD35\uDD40-\uDD43\uDD48-\uDD4F\uDD74\uDD75\uDD77-\uDD7F\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDFF\uDE12\uDE38-\uDE3D\uDE3F-\uDE7F\uDE87\uDE89\uDE8E\uDE9E\uDEA9-\uDEAF\uDEEB-\uDEEF\uDEFA-\uDEFF\uDF04\uDF0D\uDF0E\uDF11\uDF12\uDF29\uDF31\uDF34\uDF3A\uDF45\uDF46\uDF49\uDF4A\uDF4E\uDF4F\uDF51-\uDF56\uDF58-\uDF5C\uDF64\uDF65\uDF6D-\uDF6F\uDF75-\uDFFF]|\uD805[\uDC4B-\uDC4F\uDC5A-\uDC5D\uDC62-\uDC7F\uDCC6\uDCC8-\uDCCF\uDCDA-\uDD7F\uDDB6\uDDB7\uDDC1-\uDDD7\uDDDE-\uDDFF\uDE41-\uDE43\uDE45-\uDE4F\uDE5A-\uDE7F\uDEB9-\uDEBF\uDECA-\uDEFF\uDF1B\uDF1C\uDF2C-\uDF2F\uDF3A-\uDFFF]|\uD806[\uDC3B-\uDC9F\uDCEA-\uDCFE\uDD07\uDD08\uDD0A\uDD0B\uDD14\uDD17\uDD36\uDD39\uDD3A\uDD44-\uDD4F\uDD5A-\uDD9F\uDDA8\uDDA9\uDDD8\uDDD9\uDDE2\uDDE5-\uDDFF\uDE3F-\uDE46\uDE48-\uDE4F\uDE9A-\uDE9C\uDE9E-\uDEBF\uDEF9-\uDFFF]|\uD807[\uDC09\uDC37\uDC41-\uDC4F\uDC5A-\uDC71\uDC90\uDC91\uDCA8\uDCB7-\uDCFF\uDD07\uDD0A\uDD37-\uDD39\uDD3B\uDD3E\uDD48-\uDD4F\uDD5A-\uDD5F\uDD66\uDD69\uDD8F\uDD92\uDD99-\uDD9F\uDDAA-\uDEDF\uDEF7-\uDFAF\uDFB1-\uDFFF]|\uD808[\uDF9A-\uDFFF]|\uD809[\uDC6F-\uDC7F\uDD44-\uDFFF]|[\uD80A\uD80B\uD80E-\uD810\uD812-\uD819\uD824-\uD82B\uD82D\uD82E\uD830-\uD833\uD837\uD839\uD83D\uD83F\uD87B-\uD87D\uD87F\uD885-\uDB3F\uDB41-\uDBFF][\uDC00-\uDFFF]|\uD80D[\uDC2F-\uDFFF]|\uD811[\uDE47-\uDFFF]|\uD81A[\uDE39-\uDE3F\uDE5F\uDE6A-\uDECF\uDEEE\uDEEF\uDEF5-\uDEFF\uDF37-\uDF3F\uDF44-\uDF4F\uDF5A-\uDF62\uDF78-\uDF7C\uDF90-\uDFFF]|\uD81B[\uDC00-\uDE3F\uDE80-\uDEFF\uDF4B-\uDF4E\uDF88-\uDF8E\uDFA0-\uDFDF\uDFE2\uDFE5-\uDFEF\uDFF2-\uDFFF]|\uD821[\uDFF8-\uDFFF]|\uD823[\uDCD6-\uDCFF\uDD09-\uDFFF]|\uD82C[\uDD1F-\uDD4F\uDD53-\uDD63\uDD68-\uDD6F\uDEFC-\uDFFF]|\uD82F[\uDC6B-\uDC6F\uDC7D-\uDC7F\uDC89-\uDC8F\uDC9A-\uDC9C\uDC9F-\uDFFF]|\uD834[\uDC00-\uDD64\uDD6A-\uDD6C\uDD73-\uDD7A\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDE41\uDE45-\uDFFF]|\uD835[\uDC55\uDC9D\uDCA0\uDCA1\uDCA3\uDCA4\uDCA7\uDCA8\uDCAD\uDCBA\uDCBC\uDCC4\uDD06\uDD0B\uDD0C\uDD15\uDD1D\uDD3A\uDD3F\uDD45\uDD47-\uDD49\uDD51\uDEA6\uDEA7\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3\uDFCC\uDFCD]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85-\uDE9A\uDEA0\uDEB0-\uDFFF]|\uD838[\uDC07\uDC19\uDC1A\uDC22\uDC25\uDC2B-\uDCFF\uDD2D-\uDD2F\uDD3E\uDD3F\uDD4A-\uDD4D\uDD4F-\uDEBF\uDEFA-\uDFFF]|\uD83A[\uDCC5-\uDCCF\uDCD7-\uDCFF\uDD4C-\uDD4F\uDD5A-\uDFFF]|\uD83B[\uDC00-\uDDFF\uDE04\uDE20\uDE23\uDE25\uDE26\uDE28\uDE33\uDE38\uDE3A\uDE3C-\uDE41\uDE43-\uDE46\uDE48\uDE4A\uDE4C\uDE50\uDE53\uDE55\uDE56\uDE58\uDE5A\uDE5C\uDE5E\uDE60\uDE63\uDE65\uDE66\uDE6B\uDE73\uDE78\uDE7D\uDE7F\uDE8A\uDE9C-\uDEA0\uDEA4\uDEAA\uDEBC-\uDFFF]|\uD83C[\uDC00-\uDD2F\uDD4A-\uDD4F\uDD6A-\uDD6F\uDD8A-\uDFFF]|\uD83E[\uDC00-\uDFEF\uDFFA-\uDFFF]|\uD869[\uDEDE-\uDEFF]|\uD86D[\uDF35-\uDF3F]|\uD86E[\uDC1E\uDC1F]|\uD873[\uDEA2-\uDEAF]|\uD87A[\uDFE1-\uDFFF]|\uD87E[\uDE1E-\uDFFF]|\uD884[\uDF4B-\uDFFF]|\uDB40[\uDC00-\uDCFF\uDDF0-\uDFFF]/g;
package/dist/blocks.d.ts CHANGED
@@ -53,7 +53,6 @@ type Layout = 'padded' | 'fullscreen' | 'centered';
53
53
  interface ArgType {
54
54
  name?: string;
55
55
  description?: string;
56
- defaultValue?: any;
57
56
  if?: Conditional;
58
57
  table?: {
59
58
  category?: string;
package/dist/blocks.js CHANGED
@@ -1,7 +1,8 @@
1
1
  import {
2
2
  getControlId,
3
- getControlSetterButtonId
4
- } from "./_browser-chunks/chunk-QQBDHPVZ.js";
3
+ getControlSetterButtonId,
4
+ globalThis_
5
+ } from "./_browser-chunks/chunk-B2IUWPZU.js";
5
6
  import {
6
7
  EmptyBlock,
7
8
  SnippetWarning,
@@ -48,24 +49,24 @@ var dataViewTag = "[object DataView]", uint8ArrayTag = "[object Uint8Array]", ui
48
49
  var int8ArrayTag = "[object Int8Array]", int16ArrayTag = "[object Int16Array]", int32ArrayTag = "[object Int32Array]";
49
50
  var float32ArrayTag = "[object Float32Array]", float64ArrayTag = "[object Float64Array]";
50
51
 
52
+ // ../../../node_modules/es-toolkit/dist/predicate/isBuffer.mjs
53
+ function isBuffer(x2) {
54
+ return typeof globalThis_.Buffer < "u" && globalThis_.Buffer.isBuffer(x2);
55
+ }
56
+
51
57
  // ../../../node_modules/es-toolkit/dist/object/cloneDeepWith.mjs
52
58
  function cloneDeepWithImpl(valueToClone, keyToClone, objectToClone, stack = /* @__PURE__ */ new Map(), cloneValue = void 0) {
53
59
  let cloned = cloneValue?.(valueToClone, keyToClone, objectToClone, stack);
54
- if (cloned !== void 0)
55
- return cloned;
56
- if (isPrimitive(valueToClone))
57
- return valueToClone;
58
- if (stack.has(valueToClone))
59
- return stack.get(valueToClone);
60
+ if (cloned !== void 0) return cloned;
61
+ if (isPrimitive(valueToClone)) return valueToClone;
62
+ if (stack.has(valueToClone)) return stack.get(valueToClone);
60
63
  if (Array.isArray(valueToClone)) {
61
64
  let result = new Array(valueToClone.length);
62
65
  stack.set(valueToClone, result);
63
- for (let i2 = 0; i2 < valueToClone.length; i2++)
64
- result[i2] = cloneDeepWithImpl(valueToClone[i2], i2, objectToClone, stack, cloneValue);
66
+ for (let i2 = 0; i2 < valueToClone.length; i2++) result[i2] = cloneDeepWithImpl(valueToClone[i2], i2, objectToClone, stack, cloneValue);
65
67
  return Object.hasOwn(valueToClone, "index") && (result.index = valueToClone.index), Object.hasOwn(valueToClone, "input") && (result.input = valueToClone.input), result;
66
68
  }
67
- if (valueToClone instanceof Date)
68
- return new Date(valueToClone.getTime());
69
+ if (valueToClone instanceof Date) return new Date(valueToClone.getTime());
69
70
  if (valueToClone instanceof RegExp) {
70
71
  let result = new RegExp(valueToClone.source, valueToClone.flags);
71
72
  return result.lastIndex = valueToClone.lastIndex, result;
@@ -73,36 +74,29 @@ function cloneDeepWithImpl(valueToClone, keyToClone, objectToClone, stack = /* @
73
74
  if (valueToClone instanceof Map) {
74
75
  let result = /* @__PURE__ */ new Map();
75
76
  stack.set(valueToClone, result);
76
- for (let [key, value] of valueToClone)
77
- result.set(key, cloneDeepWithImpl(value, key, objectToClone, stack, cloneValue));
77
+ for (let [key, value] of valueToClone) result.set(key, cloneDeepWithImpl(value, key, objectToClone, stack, cloneValue));
78
78
  return result;
79
79
  }
80
80
  if (valueToClone instanceof Set) {
81
81
  let result = /* @__PURE__ */ new Set();
82
82
  stack.set(valueToClone, result);
83
- for (let value of valueToClone)
84
- result.add(cloneDeepWithImpl(value, void 0, objectToClone, stack, cloneValue));
83
+ for (let value of valueToClone) result.add(cloneDeepWithImpl(value, void 0, objectToClone, stack, cloneValue));
85
84
  return result;
86
85
  }
87
- if (typeof Buffer < "u" && Buffer.isBuffer(valueToClone))
88
- return valueToClone.subarray();
86
+ if (isBuffer(valueToClone)) return valueToClone.subarray();
89
87
  if (isTypedArray(valueToClone)) {
90
88
  let result = new (Object.getPrototypeOf(valueToClone)).constructor(valueToClone.length);
91
89
  stack.set(valueToClone, result);
92
- for (let i2 = 0; i2 < valueToClone.length; i2++)
93
- result[i2] = cloneDeepWithImpl(valueToClone[i2], i2, objectToClone, stack, cloneValue);
90
+ for (let i2 = 0; i2 < valueToClone.length; i2++) result[i2] = cloneDeepWithImpl(valueToClone[i2], i2, objectToClone, stack, cloneValue);
94
91
  return result;
95
92
  }
96
- if (valueToClone instanceof ArrayBuffer || typeof SharedArrayBuffer < "u" && valueToClone instanceof SharedArrayBuffer)
97
- return valueToClone.slice(0);
93
+ if (valueToClone instanceof ArrayBuffer || typeof SharedArrayBuffer < "u" && valueToClone instanceof SharedArrayBuffer) return valueToClone.slice(0);
98
94
  if (valueToClone instanceof DataView) {
99
95
  let result = new DataView(valueToClone.buffer.slice(0), valueToClone.byteOffset, valueToClone.byteLength);
100
96
  return stack.set(valueToClone, result), copyProperties(result, valueToClone, objectToClone, stack, cloneValue), result;
101
97
  }
102
98
  if (typeof File < "u" && valueToClone instanceof File) {
103
- let result = new File([valueToClone], valueToClone.name, {
104
- type: valueToClone.type
105
- });
99
+ let result = new File([valueToClone], valueToClone.name, { type: valueToClone.type });
106
100
  return stack.set(valueToClone, result), copyProperties(result, valueToClone, objectToClone, stack, cloneValue), result;
107
101
  }
108
102
  if (typeof Blob < "u" && valueToClone instanceof Blob) {
@@ -110,8 +104,8 @@ function cloneDeepWithImpl(valueToClone, keyToClone, objectToClone, stack = /* @
110
104
  return stack.set(valueToClone, result), copyProperties(result, valueToClone, objectToClone, stack, cloneValue), result;
111
105
  }
112
106
  if (valueToClone instanceof Error) {
113
- let result = new valueToClone.constructor();
114
- return stack.set(valueToClone, result), result.message = valueToClone.message, result.name = valueToClone.name, result.stack = valueToClone.stack, result.cause = valueToClone.cause, copyProperties(result, valueToClone, objectToClone, stack, cloneValue), result;
107
+ let result = structuredClone(valueToClone);
108
+ return stack.set(valueToClone, result), result.message = valueToClone.message, result.name = valueToClone.name, result.stack = valueToClone.stack, result.cause = valueToClone.cause, result.constructor = valueToClone.constructor, copyProperties(result, valueToClone, objectToClone, stack, cloneValue), result;
115
109
  }
116
110
  if (valueToClone instanceof Boolean) {
117
111
  let result = new Boolean(valueToClone.valueOf());
@@ -177,8 +171,8 @@ function cloneDeep(obj) {
177
171
  function pickBy(obj, shouldPick) {
178
172
  let result = {}, keys = Object.keys(obj);
179
173
  for (let i2 = 0; i2 < keys.length; i2++) {
180
- let key = keys[i2], value = obj[key];
181
- shouldPick(value, key) && (result[key] = value);
174
+ let key = keys[i2], objectKey = key, value = obj[objectKey];
175
+ shouldPick(value, key) && (result[objectKey] = value);
182
176
  }
183
177
  return result;
184
178
  }
@@ -2806,7 +2800,7 @@ var FilesControl = ({
2806
2800
  };
2807
2801
 
2808
2802
  // src/blocks/controls/index.tsx
2809
- var LazyColorControl = lazy(() => import("./_browser-chunks/Color-6AOWCN3U.js")), ColorControl = (props) => React15.createElement(Suspense, { fallback: React15.createElement("div", null) }, React15.createElement(LazyColorControl, { ...props }));
2803
+ var LazyColorControl = lazy(() => import("./_browser-chunks/Color-A4XNZHQV.js")), ColorControl = (props) => React15.createElement(Suspense, { fallback: React15.createElement("div", null) }, React15.createElement(LazyColorControl, { ...props }));
2810
2804
 
2811
2805
  // src/blocks/components/ArgsTable/ArgControl.tsx
2812
2806
  var Controls2 = {
@@ -3098,7 +3092,7 @@ var Name = styled14.span({ fontWeight: "bold" }), Required = styled14.span(({ th
3098
3092
  }
3099
3093
  }
3100
3094
  }), toSummary = (value) => value && { summary: typeof value == "string" ? value : value.name }, ArgRow = (props) => {
3101
- let { row, updateArgs, compact: compact2, expandable, initialExpandedArgs, docsLang } = props, { name, description } = row, table = row.table || {}, type = table.type || toSummary(row.type), defaultValue = table.defaultValue || row.defaultValue, required = row.type?.required, hasDescription = description != null && description !== "";
3095
+ let { row, updateArgs, compact: compact2, expandable, initialExpandedArgs, docsLang } = props, { name, description } = row, table = row.table || {}, type = table.type || toSummary(row.type), defaultValue = table.defaultValue, required = row.type?.required, hasDescription = description != null && description !== "";
3102
3096
  return React19.createElement(StyledTr, null, React19.createElement(StyledTd, { expandable: expandable ?? !1 }, React19.createElement(Name, null, name), required ? React19.createElement(Required, { "aria-hidden": !0, title: "Required" }, "*") : null), compact2 ? null : React19.createElement("td", null, hasDescription && React19.createElement(Description, { lang: docsLang }, React19.createElement(index_modern_default, null, description)), table.jsDocTags != null ? React19.createElement(React19.Fragment, null, React19.createElement(TypeWithJsDoc, { hasDescription }, React19.createElement(ArgValue, { value: type, initialExpandedArgs })), React19.createElement(ArgJsDoc, { tags: table.jsDocTags })) : React19.createElement(Type, { hasDescription }, React19.createElement(ArgValue, { value: type, initialExpandedArgs }))), compact2 ? null : React19.createElement("td", null, React19.createElement(ArgValue, { value: defaultValue, initialExpandedArgs })), updateArgs ? React19.createElement("td", null, React19.createElement(ArgControl, { ...props, isRequired: !!required })) : null);
3103
3097
  };
3104
3098
 
@@ -4185,10 +4179,10 @@ import { styled as styled20 } from "storybook/theming";
4185
4179
 
4186
4180
  // src/blocks/getStoryHref.ts
4187
4181
  var getStoryHref = (storyId, additionalParams = {}) => {
4188
- let baseUrl = globalThis.PREVIEW_URL || "iframe.html", [url, paramsStr] = baseUrl.split("?"), params = new URLSearchParams(paramsStr || "");
4182
+ let params = new URLSearchParams();
4189
4183
  return Object.entries(additionalParams).forEach(([key, value]) => {
4190
4184
  params.set(key, value);
4191
- }), params.set("id", storyId), `${url}?${params.toString()}`;
4185
+ }), params.set("id", storyId), `iframe.html?${params.toString()}`;
4192
4186
  };
4193
4187
 
4194
4188
  // src/blocks/components/IFrame.tsx
@@ -5642,8 +5636,7 @@ var LegacyArgTypes = (props) => {
5642
5636
  componentId,
5643
5637
  storyId,
5644
5638
  initialArgs,
5645
- filterProps,
5646
- component
5639
+ filterProps
5647
5640
  }) => {
5648
5641
  let { rows: serviceRows, isInitialLoading } = useDocgenServiceRows({
5649
5642
  componentId,
@@ -5653,7 +5646,7 @@ var LegacyArgTypes = (props) => {
5653
5646
  customArgTypes: argTypes
5654
5647
  });
5655
5648
  return isInitialLoading ? React37.createElement(ArgsTable, { isLoading: !0 }) : serviceRows ? renderArgTypesTables({
5656
- mainName: getComponentName(component) ?? serviceRows.serviceComponentName,
5649
+ mainName: serviceRows.serviceComponentName,
5657
5650
  mainRows: serviceRows.mainRows,
5658
5651
  subcomponentRows: serviceRows.subcomponentRows,
5659
5652
  docsLang: parameters?.docs?.lang,
@@ -7021,7 +7014,7 @@ var ControlsTables = ({
7021
7014
  }
7022
7015
  ) : null;
7023
7016
  }, DocgenServiceControls = ({ story, context, ...props }) => {
7024
- let { parameters, argTypes, component } = story, filterProps = getControlsFilterProps(story, props), interactiveState = useControlsInteractiveState(story, context), { rows: serviceRows, isInitialLoading } = useDocgenServiceRows({
7017
+ let { parameters, argTypes } = story, filterProps = getControlsFilterProps(story, props), interactiveState = useControlsInteractiveState(story, context), { rows: serviceRows, isInitialLoading } = useDocgenServiceRows({
7025
7018
  componentId: story.id.split("--")[0],
7026
7019
  storyId: story.id,
7027
7020
  parameters,
@@ -7031,7 +7024,7 @@ var ControlsTables = ({
7031
7024
  return isInitialLoading ? React41.createElement(ArgsTable, { isLoading: !0 }) : serviceRows ? React41.createElement(
7032
7025
  ControlsTables,
7033
7026
  {
7034
- mainName: getComponentName(component) ?? serviceRows.serviceComponentName,
7027
+ mainName: serviceRows.serviceComponentName,
7035
7028
  mainRows: serviceRows.mainRows,
7036
7029
  subcomponentRows: serviceRows.subcomponentRows,
7037
7030
  ...filterProps,
@@ -7500,9 +7493,8 @@ var StyledHeading = styled29(Heading2)(({ theme }) => ({
7500
7493
 
7501
7494
  // src/blocks/blocks/Subtitle.tsx
7502
7495
  import React51 from "react";
7503
- import { deprecate } from "storybook/internal/client-logger";
7504
7496
  import { InvalidBlockOfPropError as InvalidBlockOfPropError6 } from "storybook/internal/preview-errors";
7505
- var DEPRECATION_MIGRATION_LINK = "https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#subtitle-block-and-parameterscomponentsubtitle", SubtitleImpl = (props) => {
7497
+ var SubtitleImpl = (props) => {
7506
7498
  let { of, children } = props;
7507
7499
  if ("of" in props && of === void 0)
7508
7500
  throw new InvalidBlockOfPropError6();
@@ -7513,11 +7505,7 @@ var DEPRECATION_MIGRATION_LINK = "https://github.com/storybookjs/storybook/blob/
7513
7505
  if (children && !error.message.includes("did you forget to use <Meta of={} />?"))
7514
7506
  throw error;
7515
7507
  }
7516
- let { componentSubtitle, docs } = preparedMeta?.parameters || {};
7517
- componentSubtitle && deprecate(
7518
- `Using 'parameters.componentSubtitle' property to subtitle stories is deprecated. See ${DEPRECATION_MIGRATION_LINK}`
7519
- );
7520
- let content = children || docs?.subtitle || componentSubtitle;
7508
+ let content = children || preparedMeta?.parameters?.docs?.subtitle;
7521
7509
  return content ? React51.createElement(Subtitle, { className: "sbdocs-subtitle sb-unstyled" }, content) : null;
7522
7510
  }, Subtitle2 = withMdxComponentOverride("Subtitle", SubtitleImpl);
7523
7511
 
@@ -7559,7 +7547,7 @@ function Docs({
7559
7547
 
7560
7548
  // src/blocks/blocks/external/ExternalDocs.tsx
7561
7549
  import React55, { useRef as useRef8 } from "react";
7562
- import { deprecate as deprecate2 } from "storybook/internal/client-logger";
7550
+ import { deprecate } from "storybook/internal/client-logger";
7563
7551
  import { composeConfigs as composeConfigs2 } from "storybook/preview-api";
7564
7552
 
7565
7553
  // src/blocks/blocks/external/ExternalPreview.ts
@@ -7648,7 +7636,7 @@ function ExternalDocs({
7648
7636
  projectAnnotationsList,
7649
7637
  children
7650
7638
  }) {
7651
- deprecate2("ExternalDocs is deprecated and will be removed in Storybook 11.");
7639
+ deprecate("ExternalDocs is deprecated and will be removed in Storybook 11.");
7652
7640
  let projectAnnotations = composeConfigs2(projectAnnotationsList), preview2 = usePreview(projectAnnotations), docsParameter = {
7653
7641
  ...projectAnnotations.parameters?.docs,
7654
7642
  page: () => children
@@ -7658,9 +7646,9 @@ function ExternalDocs({
7658
7646
 
7659
7647
  // src/blocks/blocks/external/ExternalDocsContainer.tsx
7660
7648
  import React56 from "react";
7661
- import { deprecate as deprecate3 } from "storybook/internal/client-logger";
7649
+ import { deprecate as deprecate2 } from "storybook/internal/client-logger";
7662
7650
  import { ThemeProvider as ThemeProvider2, ensure, themes } from "storybook/theming";
7663
- var preview, ExternalDocsContainer = ({ projectAnnotations, children }) => (deprecate3("ExternalDocsContainer is deprecated and will be removed in Storybook 11."), preview || (preview = new ExternalPreview(projectAnnotations)), React56.createElement(DocsContext.Provider, { value: preview.docsContext() }, React56.createElement(ThemeProvider2, { theme: ensure(themes.light) }, children)));
7651
+ var preview, ExternalDocsContainer = ({ projectAnnotations, children }) => (deprecate2("ExternalDocsContainer is deprecated and will be removed in Storybook 11."), preview || (preview = new ExternalPreview(projectAnnotations)), React56.createElement(DocsContext.Provider, { value: preview.docsContext() }, React56.createElement(ThemeProvider2, { theme: ensure(themes.light) }, children)));
7664
7652
 
7665
7653
  // src/blocks/blocks/Meta.tsx
7666
7654
  import React57, { useContext as useContext12 } from "react";
@@ -1,24 +1,24 @@
1
- import CJS_COMPAT_NODE_URL_l5ujx7o305p from 'node:url';
2
- import CJS_COMPAT_NODE_PATH_l5ujx7o305p from 'node:path';
3
- import CJS_COMPAT_NODE_MODULE_l5ujx7o305p from "node:module";
1
+ import CJS_COMPAT_NODE_URL_pqdh56pgv6k from 'node:url';
2
+ import CJS_COMPAT_NODE_PATH_pqdh56pgv6k from 'node:path';
3
+ import CJS_COMPAT_NODE_MODULE_pqdh56pgv6k from "node:module";
4
4
 
5
- var __filename = CJS_COMPAT_NODE_URL_l5ujx7o305p.fileURLToPath(import.meta.url);
6
- var __dirname = CJS_COMPAT_NODE_PATH_l5ujx7o305p.dirname(__filename);
7
- var require = CJS_COMPAT_NODE_MODULE_l5ujx7o305p.createRequire(import.meta.url);
5
+ var __filename = CJS_COMPAT_NODE_URL_pqdh56pgv6k.fileURLToPath(import.meta.url);
6
+ var __dirname = CJS_COMPAT_NODE_PATH_pqdh56pgv6k.dirname(__filename);
7
+ var require = CJS_COMPAT_NODE_MODULE_pqdh56pgv6k.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 "../_node-chunks/chunk-5W7KGOKX.js";
12
+ import "../_node-chunks/chunk-FEPIQB7L.js";
13
13
 
14
14
  // src/csf-plugin/webpack-loader.ts
15
15
  import { readFile } from "node:fs/promises";
16
16
  import { enrichCsf, formatCsf, loadCsf } from "storybook/internal/csf-tools";
17
17
  import { logger } from "storybook/internal/node-logger";
18
18
  async function loader(content, map) {
19
- let callback = this.async(), options = this.getOptions(), id = this.resourcePath, sourceCode = await readFile(id, "utf-8");
19
+ let callback = this.async(), options = this.getOptions(), id = this.resourcePath;
20
20
  try {
21
- let makeTitle = (userTitle) => userTitle || "default", csf = loadCsf(content, { makeTitle }).parse(), csfSource = loadCsf(sourceCode, { makeTitle }).parse();
21
+ let sourceCode = await readFile(id, "utf-8"), makeTitle = (userTitle) => userTitle || "default", csf = loadCsf(content, { makeTitle }).parse(), csfSource = loadCsf(sourceCode, { makeTitle }).parse();
22
22
  await enrichCsf(csf, csfSource, options);
23
23
  let formattedCsf = formatCsf(
24
24
  csf,
package/dist/index.d.ts CHANGED
@@ -128,7 +128,7 @@ interface DocsParameters {
128
128
  */
129
129
  canvas?: Partial<CanvasBlockParameters>;
130
130
  /**
131
- * Enable the Code panel.
131
+ * Show the Code panel by default. Set to `false` to hide it.
132
132
  *
133
133
  * @see https://storybook.js.org/docs/writing-docs/code-panel
134
134
  */
package/dist/index.js CHANGED
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  DocsRenderer
3
- } from "./_browser-chunks/chunk-OATZR77O.js";
3
+ } from "./_browser-chunks/chunk-RVCCNNTU.js";
4
4
  import {
5
5
  preview_exports
6
- } from "./_browser-chunks/chunk-6Z2O5XYJ.js";
6
+ } from "./_browser-chunks/chunk-ZZLJPRGX.js";
7
7
  import "./_browser-chunks/chunk-UAWMPV5J.js";
8
8
 
9
9
  // src/index.ts
package/dist/manager.js CHANGED
@@ -53,20 +53,7 @@ addons.register(ADDON_ID, (api) => {
53
53
  title: "Code",
54
54
  type: types.PANEL,
55
55
  paramKey: PARAM_KEY,
56
- /**
57
- * This code panel can be enabled by adding this parameter:
58
- *
59
- * @example
60
- *
61
- * ```ts
62
- * parameters: {
63
- * docs: {
64
- * codePanel: true,
65
- * },
66
- * },
67
- * ```
68
- */
69
- disabled: (parameters) => !parameters?.docs?.codePanel,
56
+ disabled: (parameters) => parameters?.docs?.codePanel === !1,
70
57
  match: ({ viewMode }) => viewMode === "story",
71
58
  render: ({ active }) => {
72
59
  let channel = api.getChannel(), currentStory = api.getCurrentStoryData(), lastEvent = channel?.last(SNIPPET_RENDERED)?.[0];
@@ -1,20 +1,20 @@
1
- import CJS_COMPAT_NODE_URL_l5ujx7o305p from 'node:url';
2
- import CJS_COMPAT_NODE_PATH_l5ujx7o305p from 'node:path';
3
- import CJS_COMPAT_NODE_MODULE_l5ujx7o305p from "node:module";
1
+ import CJS_COMPAT_NODE_URL_pqdh56pgv6k from 'node:url';
2
+ import CJS_COMPAT_NODE_PATH_pqdh56pgv6k from 'node:path';
3
+ import CJS_COMPAT_NODE_MODULE_pqdh56pgv6k from "node:module";
4
4
 
5
- var __filename = CJS_COMPAT_NODE_URL_l5ujx7o305p.fileURLToPath(import.meta.url);
6
- var __dirname = CJS_COMPAT_NODE_PATH_l5ujx7o305p.dirname(__filename);
7
- var require = CJS_COMPAT_NODE_MODULE_l5ujx7o305p.createRequire(import.meta.url);
5
+ var __filename = CJS_COMPAT_NODE_URL_pqdh56pgv6k.fileURLToPath(import.meta.url);
6
+ var __dirname = CJS_COMPAT_NODE_PATH_pqdh56pgv6k.dirname(__filename);
7
+ var require = CJS_COMPAT_NODE_MODULE_pqdh56pgv6k.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
  compile
14
- } from "./_node-chunks/chunk-NQKVOQF7.js";
15
- import "./_node-chunks/chunk-THTSUCGC.js";
16
- import "./_node-chunks/chunk-VW4OYJ5I.js";
17
- import "./_node-chunks/chunk-5W7KGOKX.js";
14
+ } from "./_node-chunks/chunk-WCEZ5UIY.js";
15
+ import "./_node-chunks/chunk-DAO2HTZD.js";
16
+ import "./_node-chunks/chunk-4LLXOBTD.js";
17
+ import "./_node-chunks/chunk-FEPIQB7L.js";
18
18
 
19
19
  // src/mdx-loader.ts
20
20
  var DEFAULT_RENDERER = `
package/dist/preset.js CHANGED
@@ -1,10 +1,10 @@
1
- import CJS_COMPAT_NODE_URL_l5ujx7o305p from 'node:url';
2
- import CJS_COMPAT_NODE_PATH_l5ujx7o305p from 'node:path';
3
- import CJS_COMPAT_NODE_MODULE_l5ujx7o305p from "node:module";
1
+ import CJS_COMPAT_NODE_URL_pqdh56pgv6k from 'node:url';
2
+ import CJS_COMPAT_NODE_PATH_pqdh56pgv6k from 'node:path';
3
+ import CJS_COMPAT_NODE_MODULE_pqdh56pgv6k from "node:module";
4
4
 
5
- var __filename = CJS_COMPAT_NODE_URL_l5ujx7o305p.fileURLToPath(import.meta.url);
6
- var __dirname = CJS_COMPAT_NODE_PATH_l5ujx7o305p.dirname(__filename);
7
- var require = CJS_COMPAT_NODE_MODULE_l5ujx7o305p.createRequire(import.meta.url);
5
+ var __filename = CJS_COMPAT_NODE_URL_pqdh56pgv6k.fileURLToPath(import.meta.url);
6
+ var __dirname = CJS_COMPAT_NODE_PATH_pqdh56pgv6k.dirname(__filename);
7
+ var require = CJS_COMPAT_NODE_MODULE_pqdh56pgv6k.createRequire(import.meta.url);
8
8
 
9
9
  // ------------------------------------------------------------
10
10
  // end of CJS compatibility banner, injected by Storybook's esbuild configuration
@@ -12,7 +12,7 @@ var require = CJS_COMPAT_NODE_MODULE_l5ujx7o305p.createRequire(import.meta.url);
12
12
  import {
13
13
  __commonJS,
14
14
  __toESM
15
- } from "./_node-chunks/chunk-5W7KGOKX.js";
15
+ } from "./_node-chunks/chunk-FEPIQB7L.js";
16
16
 
17
17
  // ../../../node_modules/semver/internal/constants.js
18
18
  var require_constants = __commonJS({
@@ -2000,7 +2000,7 @@ var getResolvedReact = async (options) => {
2000
2000
  };
2001
2001
  };
2002
2002
  async function webpack2(webpackConfig = {}, options) {
2003
- let { module = {} } = webpackConfig, { csfPluginOptions = {}, mdxPluginOptions = {} } = options, enrichCsf2 = await options.presets.apply("experimental_enrichCsf"), rehypeSlug = (await import("./_node-chunks/rehype-slug-QEAVOUOL.js")).default, rehypeExternalLinks = (await import("./_node-chunks/rehype-external-links-E6KHOF5Y.js")).default, mdxLoaderOptions = await options.presets.apply("mdxLoaderOptions", {
2003
+ let { module = {} } = webpackConfig, { csfPluginOptions = {}, mdxPluginOptions = {} } = options, enrichCsf2 = await options.presets.apply("experimental_enrichCsf"), rehypeSlug = (await import("./_node-chunks/rehype-slug-FUPDQSWA.js")).default, rehypeExternalLinks = (await import("./_node-chunks/rehype-external-links-BBF5SV2O.js")).default, mdxLoaderOptions = await options.presets.apply("mdxLoaderOptions", {
2004
2004
  ...mdxPluginOptions,
2005
2005
  mdxCompileOptions: {
2006
2006
  providerImportSource: fileURLToPath3(
@@ -2075,10 +2075,8 @@ var docs = (input = {}, options) => {
2075
2075
  defaultName: "Docs"
2076
2076
  }, docsMode = options.docs;
2077
2077
  return docsMode && (result.docsMode = docsMode), result;
2078
- }, addons = [
2079
- import.meta.resolve("@storybook/react-dom-shim/preset")
2080
- ], viteFinal = async (config, options) => {
2081
- let { plugins = [] } = config, { csfPluginOptions = {} } = options, { mdxPlugin } = await import("./_node-chunks/mdx-plugin-GF4BGZ4Y.js"), enrichCsf2 = await options.presets.apply("experimental_enrichCsf"), { react, reactDom, mdx } = await getResolvedReact(options), packageDeduplicationPlugin = {
2078
+ }, viteFinal = async (config, options) => {
2079
+ let { plugins = [] } = config, { csfPluginOptions = {} } = options, { mdxPlugin } = await import("./_node-chunks/mdx-plugin-AHL7EMEX.js"), enrichCsf2 = await options.presets.apply("experimental_enrichCsf"), { react, reactDom, mdx } = await getResolvedReact(options), packageDeduplicationPlugin = {
2082
2080
  name: "storybook:package-deduplication",
2083
2081
  enforce: "pre",
2084
2082
  config: () => ({
@@ -2108,20 +2106,18 @@ var docs = (input = {}, options) => {
2108
2106
  mdx: existing?.mdx ?? fileURLToPath3(import.meta.resolve("@mdx-js/react"))
2109
2107
  }), services = async (_value, options) => {
2110
2108
  let features = await options.presets.apply("features");
2111
- features?.experimentalDocgenServer && features?.componentsManifest && !options.ignorePreview && registerMdxService({
2109
+ features?.experimentalDocgenServer && features?.componentsManifest && registerMdxService({
2112
2110
  getIndex: () => options.presets.apply("storyIndexGenerator").then((generator) => generator.getIndex())
2113
2111
  });
2114
2112
  }, optimizeViteDeps = [
2115
2113
  "@storybook/addon-docs",
2116
2114
  "@storybook/addon-docs/blocks",
2117
2115
  "@storybook/addon-docs > @mdx-js/react",
2118
- "@storybook/addon-docs > @storybook/react-dom-shim",
2119
2116
  "react-dom/client",
2120
2117
  "react/jsx-runtime",
2121
2118
  "react"
2122
2119
  ];
2123
2120
  export {
2124
- addons,
2125
2121
  docsX as docs,
2126
2122
  manifests as experimental_manifests,
2127
2123
  optimizeViteDeps,
package/dist/preview.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  parameters
3
- } from "./_browser-chunks/chunk-6Z2O5XYJ.js";
3
+ } from "./_browser-chunks/chunk-ZZLJPRGX.js";
4
4
  import "./_browser-chunks/chunk-UAWMPV5J.js";
5
5
  export {
6
6
  parameters
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@storybook/addon-docs",
3
- "version": "11.0.0-alpha.1",
3
+ "version": "11.0.0-alpha.3",
4
4
  "description": "Storybook Docs: Document UI components automatically with stories and MDX",
5
5
  "keywords": [
6
6
  "docs",
@@ -88,9 +88,8 @@
88
88
  "dependencies": {
89
89
  "@mdx-js/react": "^3.0.0",
90
90
  "@storybook/icons": "^2.0.2",
91
- "@storybook/react-dom-shim": "11.0.0-alpha.1",
92
- "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
93
- "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
91
+ "react": "^18.0.0 || ^19.0.0",
92
+ "react-dom": "^18.0.0 || ^19.0.0",
94
93
  "ts-dedent": "^2.0.0",
95
94
  "unplugin": "^2.3.5"
96
95
  },
@@ -98,7 +97,7 @@
98
97
  "@mdx-js/mdx": "^3.0.0",
99
98
  "@rollup/pluginutils": "^5.0.2",
100
99
  "@types/color-convert": "^2.0.0",
101
- "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
100
+ "@types/react": "^18.0.0 || ^19.0.0",
102
101
  "color-convert": "^2.0.1",
103
102
  "es-toolkit": "^1.43.0",
104
103
  "github-slugger": "^2.0.0",
@@ -117,8 +116,8 @@
117
116
  "vite": "^7.0.4"
118
117
  },
119
118
  "peerDependencies": {
120
- "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
121
- "storybook": "^11.0.0-alpha.1"
119
+ "@types/react": "^18.0.0 || ^19.0.0",
120
+ "storybook": "^11.0.0-alpha.3"
122
121
  },
123
122
  "peerDependenciesMeta": {
124
123
  "@types/react": {
@@ -1,52 +0,0 @@
1
- // src/DocsRenderer.tsx
2
- import React, { Component } from "react";
3
- import { renderElement, unmountElement } from "@storybook/react-dom-shim";
4
- import { AnchorMdx, CodeOrSourceMdx, Docs, HeadersMdx } from "@storybook/addon-docs/blocks";
5
- var defaultComponents = {
6
- code: CodeOrSourceMdx,
7
- a: AnchorMdx,
8
- ...HeadersMdx
9
- }, ErrorBoundary = class extends Component {
10
- constructor() {
11
- super(...arguments);
12
- this.state = { hasError: !1 };
13
- }
14
- static getDerivedStateFromError() {
15
- return { hasError: !0 };
16
- }
17
- componentDidCatch(err) {
18
- let { showException } = this.props;
19
- showException(err);
20
- }
21
- render() {
22
- let { hasError } = this.state, { children } = this.props;
23
- return hasError ? null : React.createElement(React.Fragment, null, children);
24
- }
25
- }, DocsRenderer = class {
26
- constructor() {
27
- this.render = async (context, docsParameter, element) => {
28
- let components = {
29
- ...defaultComponents,
30
- ...docsParameter?.components
31
- }, TDocs = Docs;
32
- return new Promise((resolve, reject) => {
33
- import("@mdx-js/react").then(
34
- ({ MDXProvider }) => (
35
- // We use a `key={}` here to reset the `hasError` state each time we render ErrorBoundary
36
- renderElement(
37
- React.createElement(ErrorBoundary, { showException: reject, key: Math.random() }, React.createElement(MDXProvider, { components }, React.createElement(TDocs, { context, docsParameter }))),
38
- element
39
- )
40
- )
41
- ).then(() => resolve());
42
- });
43
- }, this.unmount = (element) => {
44
- unmountElement(element);
45
- };
46
- }
47
- };
48
-
49
- export {
50
- defaultComponents,
51
- DocsRenderer
52
- };