@storybook/addon-docs 10.5.0-alpha.9 → 10.5.0-beta.0

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.
@@ -1029,7 +1029,8 @@ var Wrapper = styled.div({
1029
1029
  presetColors,
1030
1030
  maxPresetColors,
1031
1031
  startOpen = !1,
1032
- argType
1032
+ argType,
1033
+ required
1033
1034
  }) => {
1034
1035
  let debouncedOnChange = useCallback(debounce(onChange, 200), [onChange]), { value, realValue, updateValue, color, colorSpace, cycleColorSpace } = useColorInput(
1035
1036
  initialValue,
@@ -1043,6 +1044,7 @@ var Wrapper = styled.div({
1043
1044
  onChange: (e2) => updateValue(e2.target.value),
1044
1045
  onFocus: (e2) => e2.target.select(),
1045
1046
  readOnly,
1047
+ "aria-required": required || void 0,
1046
1048
  placeholder: "Choose color..."
1047
1049
  }
1048
1050
  ), React.createElement(
@@ -1,10 +1,10 @@
1
- import CJS_COMPAT_NODE_URL_62gi7e79md7 from 'node:url';
2
- import CJS_COMPAT_NODE_PATH_62gi7e79md7 from 'node:path';
3
- import CJS_COMPAT_NODE_MODULE_62gi7e79md7 from "node:module";
1
+ import CJS_COMPAT_NODE_URL_6kmgb85uu0i from 'node:url';
2
+ import CJS_COMPAT_NODE_PATH_6kmgb85uu0i from 'node:path';
3
+ import CJS_COMPAT_NODE_MODULE_6kmgb85uu0i from "node:module";
4
4
 
5
- var __filename = CJS_COMPAT_NODE_URL_62gi7e79md7.fileURLToPath(import.meta.url);
6
- var __dirname = CJS_COMPAT_NODE_PATH_62gi7e79md7.dirname(__filename);
7
- var require = CJS_COMPAT_NODE_MODULE_62gi7e79md7.createRequire(import.meta.url);
5
+ var __filename = CJS_COMPAT_NODE_URL_6kmgb85uu0i.fileURLToPath(import.meta.url);
6
+ var __dirname = CJS_COMPAT_NODE_PATH_6kmgb85uu0i.dirname(__filename);
7
+ var require = CJS_COMPAT_NODE_MODULE_6kmgb85uu0i.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_62gi7e79md7.createRequire(import.meta.url);
12
12
  import {
13
13
  esm_default,
14
14
  stringify
15
- } from "./chunk-URSDNTC6.js";
15
+ } from "./chunk-G6HS65QC.js";
16
16
  import {
17
17
  visit
18
- } from "./chunk-E7HXF55G.js";
18
+ } from "./chunk-AIK622WF.js";
19
19
  import {
20
20
  __commonJS,
21
21
  __esm,
22
22
  __export,
23
23
  __toCommonJS,
24
24
  __toESM
25
- } from "./chunk-UXKGP3JV.js";
25
+ } from "./chunk-N5QKP6IS.js";
26
26
 
27
27
  // ../../../node_modules/acorn-jsx/xhtml.js
28
28
  var require_xhtml = __commonJS({
@@ -1,10 +1,10 @@
1
- import CJS_COMPAT_NODE_URL_62gi7e79md7 from 'node:url';
2
- import CJS_COMPAT_NODE_PATH_62gi7e79md7 from 'node:path';
3
- import CJS_COMPAT_NODE_MODULE_62gi7e79md7 from "node:module";
1
+ import CJS_COMPAT_NODE_URL_6kmgb85uu0i from 'node:url';
2
+ import CJS_COMPAT_NODE_PATH_6kmgb85uu0i from 'node:path';
3
+ import CJS_COMPAT_NODE_MODULE_6kmgb85uu0i from "node:module";
4
4
 
5
- var __filename = CJS_COMPAT_NODE_URL_62gi7e79md7.fileURLToPath(import.meta.url);
6
- var __dirname = CJS_COMPAT_NODE_PATH_62gi7e79md7.dirname(__filename);
7
- var require = CJS_COMPAT_NODE_MODULE_62gi7e79md7.createRequire(import.meta.url);
5
+ var __filename = CJS_COMPAT_NODE_URL_6kmgb85uu0i.fileURLToPath(import.meta.url);
6
+ var __dirname = CJS_COMPAT_NODE_PATH_6kmgb85uu0i.dirname(__filename);
7
+ var require = CJS_COMPAT_NODE_MODULE_6kmgb85uu0i.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_62gi7e79md7 from 'node:url';
2
- import CJS_COMPAT_NODE_PATH_62gi7e79md7 from 'node:path';
3
- import CJS_COMPAT_NODE_MODULE_62gi7e79md7 from "node:module";
1
+ import CJS_COMPAT_NODE_URL_6kmgb85uu0i from 'node:url';
2
+ import CJS_COMPAT_NODE_PATH_6kmgb85uu0i from 'node:path';
3
+ import CJS_COMPAT_NODE_MODULE_6kmgb85uu0i from "node:module";
4
4
 
5
- var __filename = CJS_COMPAT_NODE_URL_62gi7e79md7.fileURLToPath(import.meta.url);
6
- var __dirname = CJS_COMPAT_NODE_PATH_62gi7e79md7.dirname(__filename);
7
- var require = CJS_COMPAT_NODE_MODULE_62gi7e79md7.createRequire(import.meta.url);
5
+ var __filename = CJS_COMPAT_NODE_URL_6kmgb85uu0i.fileURLToPath(import.meta.url);
6
+ var __dirname = CJS_COMPAT_NODE_PATH_6kmgb85uu0i.dirname(__filename);
7
+ var require = CJS_COMPAT_NODE_MODULE_6kmgb85uu0i.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_62gi7e79md7 from 'node:url';
2
- import CJS_COMPAT_NODE_PATH_62gi7e79md7 from 'node:path';
3
- import CJS_COMPAT_NODE_MODULE_62gi7e79md7 from "node:module";
1
+ import CJS_COMPAT_NODE_URL_6kmgb85uu0i from 'node:url';
2
+ import CJS_COMPAT_NODE_PATH_6kmgb85uu0i from 'node:path';
3
+ import CJS_COMPAT_NODE_MODULE_6kmgb85uu0i from "node:module";
4
4
 
5
- var __filename = CJS_COMPAT_NODE_URL_62gi7e79md7.fileURLToPath(import.meta.url);
6
- var __dirname = CJS_COMPAT_NODE_PATH_62gi7e79md7.dirname(__filename);
7
- var require = CJS_COMPAT_NODE_MODULE_62gi7e79md7.createRequire(import.meta.url);
5
+ var __filename = CJS_COMPAT_NODE_URL_6kmgb85uu0i.fileURLToPath(import.meta.url);
6
+ var __dirname = CJS_COMPAT_NODE_PATH_6kmgb85uu0i.dirname(__filename);
7
+ var require = CJS_COMPAT_NODE_MODULE_6kmgb85uu0i.createRequire(import.meta.url);
8
8
 
9
9
  // ------------------------------------------------------------
10
10
  // end of CJS compatibility banner, injected by Storybook's esbuild configuration
@@ -1,23 +1,23 @@
1
- import CJS_COMPAT_NODE_URL_62gi7e79md7 from 'node:url';
2
- import CJS_COMPAT_NODE_PATH_62gi7e79md7 from 'node:path';
3
- import CJS_COMPAT_NODE_MODULE_62gi7e79md7 from "node:module";
1
+ import CJS_COMPAT_NODE_URL_6kmgb85uu0i from 'node:url';
2
+ import CJS_COMPAT_NODE_PATH_6kmgb85uu0i from 'node:path';
3
+ import CJS_COMPAT_NODE_MODULE_6kmgb85uu0i from "node:module";
4
4
 
5
- var __filename = CJS_COMPAT_NODE_URL_62gi7e79md7.fileURLToPath(import.meta.url);
6
- var __dirname = CJS_COMPAT_NODE_PATH_62gi7e79md7.dirname(__filename);
7
- var require = CJS_COMPAT_NODE_MODULE_62gi7e79md7.createRequire(import.meta.url);
5
+ var __filename = CJS_COMPAT_NODE_URL_6kmgb85uu0i.fileURLToPath(import.meta.url);
6
+ var __dirname = CJS_COMPAT_NODE_PATH_6kmgb85uu0i.dirname(__filename);
7
+ var require = CJS_COMPAT_NODE_MODULE_6kmgb85uu0i.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-V5BW74Q5.js";
15
- import "./chunk-URSDNTC6.js";
16
- import "./chunk-E7HXF55G.js";
14
+ } from "./chunk-6COZ6RQD.js";
15
+ import "./chunk-G6HS65QC.js";
16
+ import "./chunk-AIK622WF.js";
17
17
  import {
18
18
  __commonJS,
19
19
  __toESM
20
- } from "./chunk-UXKGP3JV.js";
20
+ } from "./chunk-N5QKP6IS.js";
21
21
 
22
22
  // ../../../node_modules/@rollup/pluginutils/node_modules/picomatch/lib/constants.js
23
23
  var require_constants = __commonJS({
@@ -1153,7 +1153,7 @@ var hasStringIsWellFormed = "isWellFormed" in String.prototype;
1153
1153
 
1154
1154
  // src/mdx-plugin.ts
1155
1155
  async function mdxPlugin(options) {
1156
- let include = /\.mdx$/, filter = createFilter(include), { presets } = options, mdxPluginOptions = (await presets.apply("options", {}))?.mdxPluginOptions, rehypeSlug = (await import("./rehype-slug-4727ZT4J.js")).default, rehypeExternalLinks = (await import("./rehype-external-links-KRDD3ZWL.js")).default;
1156
+ let include = /\.mdx$/, filter = createFilter(include), { presets } = options, mdxPluginOptions = (await presets.apply("options", {}))?.mdxPluginOptions, rehypeSlug = (await import("./rehype-slug-BYEJJO5R.js")).default, rehypeExternalLinks = (await import("./rehype-external-links-ZN3EPMI5.js")).default;
1157
1157
  return {
1158
1158
  name: "storybook:mdx-plugin",
1159
1159
  enforce: "pre",
@@ -1,10 +1,10 @@
1
- import CJS_COMPAT_NODE_URL_62gi7e79md7 from 'node:url';
2
- import CJS_COMPAT_NODE_PATH_62gi7e79md7 from 'node:path';
3
- import CJS_COMPAT_NODE_MODULE_62gi7e79md7 from "node:module";
1
+ import CJS_COMPAT_NODE_URL_6kmgb85uu0i from 'node:url';
2
+ import CJS_COMPAT_NODE_PATH_6kmgb85uu0i from 'node:path';
3
+ import CJS_COMPAT_NODE_MODULE_6kmgb85uu0i from "node:module";
4
4
 
5
- var __filename = CJS_COMPAT_NODE_URL_62gi7e79md7.fileURLToPath(import.meta.url);
6
- var __dirname = CJS_COMPAT_NODE_PATH_62gi7e79md7.dirname(__filename);
7
- var require = CJS_COMPAT_NODE_MODULE_62gi7e79md7.createRequire(import.meta.url);
5
+ var __filename = CJS_COMPAT_NODE_URL_6kmgb85uu0i.fileURLToPath(import.meta.url);
6
+ var __dirname = CJS_COMPAT_NODE_PATH_6kmgb85uu0i.dirname(__filename);
7
+ var require = CJS_COMPAT_NODE_MODULE_6kmgb85uu0i.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_62gi7e79md7.createRequire(import.meta.url);
12
12
  import {
13
13
  esm_default,
14
14
  parse
15
- } from "./chunk-URSDNTC6.js";
15
+ } from "./chunk-G6HS65QC.js";
16
16
  import {
17
17
  visit
18
- } from "./chunk-E7HXF55G.js";
19
- import "./chunk-UXKGP3JV.js";
18
+ } from "./chunk-AIK622WF.js";
19
+ import "./chunk-N5QKP6IS.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_62gi7e79md7 from 'node:url';
2
- import CJS_COMPAT_NODE_PATH_62gi7e79md7 from 'node:path';
3
- import CJS_COMPAT_NODE_MODULE_62gi7e79md7 from "node:module";
1
+ import CJS_COMPAT_NODE_URL_6kmgb85uu0i from 'node:url';
2
+ import CJS_COMPAT_NODE_PATH_6kmgb85uu0i from 'node:path';
3
+ import CJS_COMPAT_NODE_MODULE_6kmgb85uu0i from "node:module";
4
4
 
5
- var __filename = CJS_COMPAT_NODE_URL_62gi7e79md7.fileURLToPath(import.meta.url);
6
- var __dirname = CJS_COMPAT_NODE_PATH_62gi7e79md7.dirname(__filename);
7
- var require = CJS_COMPAT_NODE_MODULE_62gi7e79md7.createRequire(import.meta.url);
5
+ var __filename = CJS_COMPAT_NODE_URL_6kmgb85uu0i.fileURLToPath(import.meta.url);
6
+ var __dirname = CJS_COMPAT_NODE_PATH_6kmgb85uu0i.dirname(__filename);
7
+ var require = CJS_COMPAT_NODE_MODULE_6kmgb85uu0i.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-E7HXF55G.js";
15
- import "./chunk-UXKGP3JV.js";
14
+ } from "./chunk-AIK622WF.js";
15
+ import "./chunk-N5QKP6IS.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
@@ -58,6 +58,7 @@ interface ArgsTableOptionProps {
58
58
  sort?: SortType;
59
59
  storyId?: string;
60
60
  controlsId?: string;
61
+ docsLang?: string;
61
62
  }
62
63
  interface ArgsTableDataProps {
63
64
  rows: ArgTypes$1;
@@ -959,6 +960,8 @@ interface ControlProps<T> {
959
960
  value?: T;
960
961
  defaultValue?: T;
961
962
  argType?: ArgType;
963
+ /** Whether the underlying arg is required; surfaced as `aria-required` on the control's input. */
964
+ required?: boolean;
962
965
  onChange: (value?: T) => T | void;
963
966
  onFocus?: (evt: any) => void;
964
967
  onBlur?: (evt: any) => void;
package/dist/blocks.js CHANGED
@@ -14,7 +14,7 @@ import {
14
14
  import "./_browser-chunks/chunk-UAWMPV5J.js";
15
15
 
16
16
  // src/blocks/components/ArgsTable/ArgsTable.tsx
17
- import React23, { useCallback as useCallback6, useEffect as useEffect8, useRef as useRef5, useState as useState11 } from "react";
17
+ import React23, { useCallback as useCallback6, useEffect as useEffect8, useRef as useRef5, useState as useState10 } from "react";
18
18
  import { once } from "storybook/internal/client-logger";
19
19
  import { Button as Button5, Link as Link3, ResetWrapper } from "storybook/internal/components";
20
20
  import { includeConditionalArg } from "storybook/internal/csf";
@@ -189,7 +189,7 @@ var CASE_SPLIT_PATTERN = new RegExp("\\p{Lu}?\\p{Ll}+|[0-9]+|\\p{Lu}+(?!\\p{Ll})
189
189
  import { styled as styled18 } from "storybook/theming";
190
190
 
191
191
  // src/blocks/components/ArgsTable/ArgRow.tsx
192
- import React19, { useState as useState8 } from "react";
192
+ import React19 from "react";
193
193
  import { codeCommon as codeCommon3 } from "storybook/internal/components";
194
194
 
195
195
  // ../../../node_modules/markdown-to-jsx/dist/index.modern.js
@@ -569,7 +569,7 @@ var index_modern_default = (n2) => {
569
569
  };
570
570
 
571
571
  // src/blocks/components/ArgsTable/ArgRow.tsx
572
- import { styled as styled14 } from "storybook/theming";
572
+ import { srOnlyStyles as srOnlyStyles2, srOnlyUnsetStyles, styled as styled14 } from "storybook/theming";
573
573
 
574
574
  // src/blocks/components/ArgsTable/ArgControl.tsx
575
575
  import React16, { useCallback as useCallback5, useEffect as useEffect6, useState as useState6 } from "react";
@@ -668,7 +668,8 @@ var getBooleanControlStyles = (theme) => ({
668
668
  onChange,
669
669
  onBlur,
670
670
  onFocus,
671
- argType
671
+ argType,
672
+ required
672
673
  }) => {
673
674
  let onSetFalse = useCallback(() => onChange(!1), [onChange]), readonly = !!argType?.table?.readonly;
674
675
  if (value === void 0)
@@ -694,6 +695,7 @@ var getBooleanControlStyles = (theme) => ({
694
695
  checked: parsedValue,
695
696
  role: "switch",
696
697
  disabled: readonly,
698
+ "aria-required": required || void 0,
697
699
  name,
698
700
  onBlur,
699
701
  onFocus
@@ -747,7 +749,8 @@ var parseDate = (value) => {
747
749
  onChange,
748
750
  onFocus,
749
751
  onBlur,
750
- argType
752
+ argType,
753
+ required
751
754
  }) => {
752
755
  let [valid, setValid] = useState(!0), dateRef = useRef(), timeRef = useRef(), readonly = !!argType?.table?.readonly;
753
756
  useEffect(() => {
@@ -777,6 +780,7 @@ var parseDate = (value) => {
777
780
  id: `${controlId}-date`,
778
781
  name: `${controlId}-date`,
779
782
  readOnly: readonly,
783
+ "aria-required": required || void 0,
780
784
  onChange: onDateChange,
781
785
  onFocus,
782
786
  onBlur
@@ -790,6 +794,7 @@ var parseDate = (value) => {
790
794
  ref: timeRef,
791
795
  onChange: onTimeChange,
792
796
  readOnly: readonly,
797
+ "aria-required": required || void 0,
793
798
  onFocus,
794
799
  onBlur
795
800
  }
@@ -818,7 +823,8 @@ var Wrapper = styled3.label({
818
823
  step,
819
824
  onBlur,
820
825
  onFocus,
821
- argType
826
+ argType,
827
+ required
822
828
  }) => {
823
829
  let [inputValue, setInputValue] = useState2(typeof value == "number" ? value : ""), [forceVisible, setForceVisible] = useState2(!1), [parseError, setParseError] = useState2(null), readonly = !!argType?.table?.readonly, handleChange = useCallback2(
824
830
  (event) => {
@@ -863,6 +869,7 @@ var Wrapper = styled3.label({
863
869
  value: inputValue,
864
870
  valid: parseError ? "error" : void 0,
865
871
  autoFocus: forceVisible,
872
+ "aria-required": required || void 0,
866
873
  readOnly: readonly,
867
874
  name,
868
875
  min,
@@ -929,7 +936,8 @@ var Wrapper2 = styled4.fieldset(
929
936
  value,
930
937
  onChange,
931
938
  isInline,
932
- argType
939
+ argType,
940
+ required
933
941
  }) => {
934
942
  if (!options)
935
943
  return logger.warn(`Checkbox with no options: ${name}`), React4.createElement(React4.Fragment, null, "-");
@@ -941,7 +949,7 @@ var Wrapper2 = styled4.fieldset(
941
949
  setSelected(selectedKeys(value || [], options));
942
950
  }, [value]);
943
951
  let controlId = getControlId(name, storyId, controlsId);
944
- return React4.createElement(Wrapper2, { $isInline: isInline }, React4.createElement("legend", { className: "sb-sr-only" }, name), Object.keys(options).map((key, index) => {
952
+ return React4.createElement(Wrapper2, { $isInline: isInline }, React4.createElement("legend", { className: "sb-sr-only" }, name, required ? " (required)" : ""), Object.keys(options).map((key, index) => {
945
953
  let id = `${controlId}-${index}`;
946
954
  return React4.createElement(Label2, { key: id, htmlFor: id, $readOnly: readonly }, React4.createElement(
947
955
  "input",
@@ -1002,12 +1010,13 @@ var Wrapper3 = styled5.fieldset(
1002
1010
  value,
1003
1011
  onChange,
1004
1012
  isInline,
1005
- argType
1013
+ argType,
1014
+ required
1006
1015
  }) => {
1007
1016
  if (!options)
1008
1017
  return logger2.warn(`Radio with no options: ${name}`), React5.createElement(React5.Fragment, null, "-");
1009
1018
  let selection = selectedKey(value, options), controlId = getControlId(name, storyId, controlsId), readonly = !!argType?.table?.readonly;
1010
- return React5.createElement(Wrapper3, { isInline }, React5.createElement("legend", { className: "sb-sr-only" }, name), Object.keys(options).map((key, index) => {
1019
+ return React5.createElement(Wrapper3, { isInline }, React5.createElement("legend", { className: "sb-sr-only" }, name, required ? " (required)" : ""), Object.keys(options).map((key, index) => {
1011
1020
  let id = `${controlId}-${index}`;
1012
1021
  return React5.createElement(Label3, { key: id, htmlFor: id, $readOnly: readonly }, React5.createElement(
1013
1022
  "input",
@@ -1107,12 +1116,24 @@ var styleResets = {
1107
1116
  value,
1108
1117
  options,
1109
1118
  onChange,
1110
- argType
1119
+ argType,
1120
+ required
1111
1121
  }) => {
1112
1122
  let handleChange = (e2) => {
1113
1123
  onChange(options[e2.currentTarget.value]);
1114
1124
  }, selection = selectedKey(value, options) || NO_SELECTION, controlId = getControlId(name, storyId, controlsId), readonly = !!argType?.table?.readonly;
1115
- return React6.createElement(SelectWrapper, null, React6.createElement(ChevronSmallDownIcon, null), React6.createElement("label", { htmlFor: controlId, className: "sb-sr-only" }, name), React6.createElement(OptionsSelect, { disabled: readonly, id: controlId, value: selection, onChange: handleChange }, React6.createElement("option", { disabled: selection === NO_SELECTION, key: "no-selection" }, NO_SELECTION), Object.keys(options).map((key) => React6.createElement("option", { key, value: key }, key))));
1125
+ return React6.createElement(SelectWrapper, null, React6.createElement(ChevronSmallDownIcon, null), React6.createElement("label", { htmlFor: controlId, className: "sb-sr-only" }, name), React6.createElement(
1126
+ OptionsSelect,
1127
+ {
1128
+ disabled: readonly,
1129
+ id: controlId,
1130
+ value: selection,
1131
+ onChange: handleChange,
1132
+ "aria-required": required || void 0
1133
+ },
1134
+ React6.createElement("option", { disabled: selection === NO_SELECTION, key: "no-selection" }, NO_SELECTION),
1135
+ Object.keys(options).map((key) => React6.createElement("option", { key, value: key }, key))
1136
+ ));
1116
1137
  }, MultiSelect = ({
1117
1138
  name,
1118
1139
  storyId,
@@ -1120,7 +1141,8 @@ var styleResets = {
1120
1141
  value,
1121
1142
  options,
1122
1143
  onChange,
1123
- argType
1144
+ argType,
1145
+ required
1124
1146
  }) => {
1125
1147
  let handleChange = (e2) => {
1126
1148
  let selection2 = Array.from(e2.currentTarget.options).filter((option) => option.selected).map((option) => option.value);
@@ -1133,7 +1155,8 @@ var styleResets = {
1133
1155
  id: controlId,
1134
1156
  multiple: !0,
1135
1157
  value: selection,
1136
- onChange: handleChange
1158
+ onChange: handleChange,
1159
+ "aria-required": required || void 0
1137
1160
  },
1138
1161
  Object.keys(options).map((key) => React6.createElement("option", { key, value: key }, key))
1139
1162
  ));
@@ -2431,7 +2454,8 @@ var { window: globalWindow } = globalThis, Wrapper4 = styled8.div(({ theme }) =>
2431
2454
  controlsId,
2432
2455
  value,
2433
2456
  onChange,
2434
- argType
2457
+ argType,
2458
+ required
2435
2459
  }) => {
2436
2460
  let data = useMemo(() => value && cloneDeep(value), [value]), hasData = data != null, [showRaw, setShowRaw] = useState4(!hasData), hadDataRef = useRef3(hasData), [parseError, setParseError] = useState4(null), readonly = !!argType?.table?.readonly, updateRaw = useCallback3(
2437
2461
  (raw) => {
@@ -2477,7 +2501,8 @@ var { window: globalWindow } = globalThis, Wrapper4 = styled8.div(({ theme }) =>
2477
2501
  placeholder: "Edit JSON string...",
2478
2502
  autoFocus: forceVisible,
2479
2503
  valid: parseError ? "error" : void 0,
2480
- readOnly: readonly
2504
+ readOnly: readonly,
2505
+ "aria-required": required || void 0
2481
2506
  }
2482
2507
  )), isObjectOrArray = Array.isArray(value) || typeof value == "object" && value?.constructor === Object;
2483
2508
  return React11.createElement(Wrapper4, null, isObjectOrArray && React11.createElement(
@@ -2643,7 +2668,8 @@ var RangeControl = ({
2643
2668
  step = 1,
2644
2669
  onBlur,
2645
2670
  onFocus,
2646
- argType
2671
+ argType,
2672
+ required
2647
2673
  }) => {
2648
2674
  let handleChange = (event) => {
2649
2675
  onChange(parse2(event.target.value));
@@ -2655,6 +2681,7 @@ var RangeControl = ({
2655
2681
  type: "range",
2656
2682
  disabled: readonly,
2657
2683
  onChange: handleChange,
2684
+ "aria-required": required || void 0,
2658
2685
  name,
2659
2686
  min,
2660
2687
  max,
@@ -2685,7 +2712,8 @@ var Wrapper5 = styled10.label({
2685
2712
  onFocus,
2686
2713
  onBlur,
2687
2714
  maxLength,
2688
- argType
2715
+ argType,
2716
+ required
2689
2717
  }) => {
2690
2718
  let handleChange = (event) => {
2691
2719
  onChange(event.target.value);
@@ -2716,6 +2744,7 @@ var Wrapper5 = styled10.label({
2716
2744
  size: "flex",
2717
2745
  placeholder: "Edit string...",
2718
2746
  autoFocus: forceVisible,
2747
+ "aria-required": required || void 0,
2719
2748
  valid: isValid ? void 0 : "error",
2720
2749
  name,
2721
2750
  value: isValid ? value : "",
@@ -2744,7 +2773,8 @@ var FilesControl = ({
2744
2773
  controlsId,
2745
2774
  accept = "image/*",
2746
2775
  value,
2747
- argType
2776
+ argType,
2777
+ required
2748
2778
  }) => {
2749
2779
  let inputElement = useRef4(null), readonly = argType?.control?.readOnly;
2750
2780
  function handleFileChange(e2) {
@@ -2768,13 +2798,14 @@ var FilesControl = ({
2768
2798
  disabled: readonly,
2769
2799
  onChange: handleFileChange,
2770
2800
  accept,
2801
+ "aria-required": required || void 0,
2771
2802
  size: "flex"
2772
2803
  }
2773
2804
  ));
2774
2805
  };
2775
2806
 
2776
2807
  // src/blocks/controls/index.tsx
2777
- var LazyColorControl = lazy(() => import("./_browser-chunks/Color-AVMI7ZZZ.js")), ColorControl = (props) => React15.createElement(Suspense, { fallback: React15.createElement("div", null) }, React15.createElement(LazyColorControl, { ...props }));
2808
+ var LazyColorControl = lazy(() => import("./_browser-chunks/Color-6AOWCN3U.js")), ColorControl = (props) => React15.createElement(Suspense, { fallback: React15.createElement("div", null) }, React15.createElement(LazyColorControl, { ...props }));
2778
2809
 
2779
2810
  // src/blocks/components/ArgsTable/ArgControl.tsx
2780
2811
  var Controls2 = {
@@ -2797,7 +2828,7 @@ var Controls2 = {
2797
2828
  row,
2798
2829
  arg,
2799
2830
  updateArgs,
2800
- isHovered,
2831
+ isRequired,
2801
2832
  storyId,
2802
2833
  controlsId
2803
2834
  }) => {
@@ -2809,9 +2840,8 @@ var Controls2 = {
2809
2840
  (argVal) => (setBoxedValue({ value: argVal }), updateArgs({ [key]: argVal }), argVal),
2810
2841
  [updateArgs, key]
2811
2842
  ), onBlur = useCallback5(() => setFocused(!1), []), onFocus = useCallback5(() => setFocused(!0), []);
2812
- if (!control || control.disable) {
2813
- let canBeSetup = control?.disable !== !0 && row?.type?.name !== "function";
2814
- return isHovered && canBeSetup ? React16.createElement(
2843
+ if (!control || control.disable)
2844
+ return control?.disable !== !0 && row?.type?.name !== "function" ? React16.createElement(React16.Fragment, null, React16.createElement("span", { className: "sbdocs sbdocs-argcontrol-setup" }, React16.createElement(
2815
2845
  Link,
2816
2846
  {
2817
2847
  href: "https://storybook.js.org/docs/essentials/controls?ref=ui",
@@ -2819,14 +2849,14 @@ var Controls2 = {
2819
2849
  withArrow: !0
2820
2850
  },
2821
2851
  "Setup controls"
2822
- ) : React16.createElement(NoControl, null);
2823
- }
2852
+ )), React16.createElement("span", { className: "sbdocs sbdocs-argcontrol-placeholder" }, React16.createElement(NoControl, null))) : React16.createElement(NoControl, null);
2824
2853
  let props = {
2825
2854
  name: key,
2826
2855
  storyId,
2827
2856
  controlsId,
2828
2857
  argType: row,
2829
2858
  value: boxedValue.value,
2859
+ required: isRequired,
2830
2860
  onChange,
2831
2861
  onBlur,
2832
2862
  onFocus
@@ -3054,13 +3084,25 @@ var Name = styled14.span({ fontWeight: "bold" }), Required = styled14.span(({ th
3054
3084
  marginBottom: 12
3055
3085
  })), StyledTd = styled14.td(({ expandable }) => ({
3056
3086
  paddingLeft: expandable ? "40px !important" : "20px !important"
3057
- })), toSummary = (value) => value && { summary: typeof value == "string" ? value : value.name }, ArgRow = (props) => {
3058
- let [isHovered, setIsHovered] = useState8(!1), { row, updateArgs, compact: compact2, expandable, initialExpandedArgs } = 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 !== "";
3059
- return React19.createElement("tr", { onMouseEnter: () => setIsHovered(!0), onMouseLeave: () => setIsHovered(!1) }, React19.createElement(StyledTd, { expandable: expandable ?? !1 }, React19.createElement(Name, null, name), required ? React19.createElement(Required, { title: "Required" }, "*") : null), compact2 ? null : React19.createElement("td", null, hasDescription && React19.createElement(Description, null, 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, isHovered })) : null);
3087
+ })), StyledTr = styled14.tr({
3088
+ "span.sbdocs-argcontrol-setup": {
3089
+ ...srOnlyStyles2
3090
+ },
3091
+ "&:hover, &:focus-within": {
3092
+ "span.sbdocs-argcontrol-setup": {
3093
+ ...srOnlyUnsetStyles
3094
+ },
3095
+ "span.sbdocs-argcontrol-placeholder": {
3096
+ ...srOnlyStyles2
3097
+ }
3098
+ }
3099
+ }), toSummary = (value) => value && { summary: typeof value == "string" ? value : value.name }, ArgRow = (props) => {
3100
+ 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 !== "";
3101
+ 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);
3060
3102
  };
3061
3103
 
3062
3104
  // src/blocks/components/ArgsTable/Empty.tsx
3063
- import React20, { useEffect as useEffect7, useState as useState9 } from "react";
3105
+ import React20, { useEffect as useEffect7, useState as useState8 } from "react";
3064
3106
  import { EmptyTabContent, Link as Link2 } from "storybook/internal/components";
3065
3107
  import { DocumentIcon } from "@storybook/icons";
3066
3108
  import { styled as styled15 } from "storybook/theming";
@@ -3080,7 +3122,7 @@ var Wrapper6 = styled15.div(({ inAddonPanel, theme }) => ({
3080
3122
  fontSize: theme.typography.size.s2 - 1,
3081
3123
  gap: 25
3082
3124
  })), Empty = ({ inAddonPanel }) => {
3083
- let [isLoading, setIsLoading] = useState9(!0);
3125
+ let [isLoading, setIsLoading] = useState8(!0);
3084
3126
  return useEffect7(() => {
3085
3127
  let load = setTimeout(() => {
3086
3128
  setIsLoading(!1);
@@ -3106,7 +3148,7 @@ var Wrapper6 = styled15.div(({ inAddonPanel, theme }) => ({
3106
3148
  };
3107
3149
 
3108
3150
  // src/blocks/components/ArgsTable/SectionRow.tsx
3109
- import React21, { useState as useState10 } from "react";
3151
+ import React21, { useState as useState9 } from "react";
3110
3152
  import { ChevronDownIcon as ChevronDownIcon2, ChevronRightIcon } from "@storybook/icons";
3111
3153
  import { styled as styled16 } from "storybook/theming";
3112
3154
  var ExpanderIconDown = styled16(ChevronDownIcon2)(({ theme }) => ({
@@ -3151,7 +3193,7 @@ var ExpanderIconDown = styled16(ChevronDownIcon2)(({ theme }) => ({
3151
3193
  background: theme.background.app
3152
3194
  })), StyledTd2 = styled16.td({
3153
3195
  position: "relative"
3154
- }), StyledTr = styled16.tr(({ theme }) => ({
3196
+ }), StyledTr2 = styled16.tr(({ theme }) => ({
3155
3197
  "&:hover > td": {
3156
3198
  backgroundColor: `${curriedLighten$1(5e-3, theme.background.app)} !important`,
3157
3199
  boxShadow: `${theme.color.mediumlight} 0 - 1px 0 0 inset`,
@@ -3180,8 +3222,8 @@ var ExpanderIconDown = styled16(ChevronDownIcon2)(({ theme }) => ({
3180
3222
  initialExpanded = !0,
3181
3223
  colSpan = 3
3182
3224
  }) => {
3183
- let [expanded, setExpanded] = useState10(initialExpanded), Level = level === "subsection" ? Subsection : Section, itemCount = children?.length || 0, caption = level === "subsection" ? `${itemCount} item${itemCount !== 1 ? "s" : ""}` : "", helperText = `${expanded ? "Hide" : "Show"} ${level === "subsection" ? itemCount : label} item${itemCount !== 1 ? "s" : ""}`;
3184
- return React21.createElement(React21.Fragment, null, React21.createElement(StyledTr, { title: helperText }, React21.createElement(Level, { colSpan: 1 }, React21.createElement(ClickIntercept, { onClick: (e2) => setExpanded(!expanded), tabIndex: 0 }, helperText), React21.createElement(FlexWrapper, null, expanded ? React21.createElement(ExpanderIconDown, null) : React21.createElement(ExpanderIconRight, null), label)), React21.createElement(StyledTd2, { colSpan: colSpan - 1 }, React21.createElement(
3225
+ let [expanded, setExpanded] = useState9(initialExpanded), Level = level === "subsection" ? Subsection : Section, itemCount = children?.length || 0, caption = level === "subsection" ? `${itemCount} item${itemCount !== 1 ? "s" : ""}` : "", helperText = `${expanded ? "Hide" : "Show"} ${level === "subsection" ? itemCount : label} item${itemCount !== 1 ? "s" : ""}`;
3226
+ return React21.createElement(React21.Fragment, null, React21.createElement(StyledTr2, { title: helperText }, React21.createElement(Level, { colSpan: 1 }, React21.createElement(ClickIntercept, { onClick: (e2) => setExpanded(!expanded), tabIndex: 0 }, helperText), React21.createElement(FlexWrapper, null, expanded ? React21.createElement(ExpanderIconDown, null) : React21.createElement(ExpanderIconRight, null), label)), React21.createElement(StyledTd2, { colSpan: colSpan - 1 }, React21.createElement(
3185
3227
  ClickIntercept,
3186
3228
  {
3187
3229
  onClick: (e2) => setExpanded(!expanded),
@@ -3441,8 +3483,9 @@ var sortFns = {
3441
3483
  sort = "none",
3442
3484
  isLoading,
3443
3485
  storyId,
3444
- controlsId
3445
- } = props, { rows, args, globals } = "rows" in props ? props : { rows: void 0, args: void 0, globals: void 0 }, isResettingRef = useRef5(!1), [isResetting, setIsResetting] = useState11(!1);
3486
+ controlsId,
3487
+ docsLang
3488
+ } = props, { rows, args, globals } = "rows" in props ? props : { rows: void 0, args: void 0, globals: void 0 }, isResettingRef = useRef5(!1), [isResetting, setIsResetting] = useState10(!1);
3446
3489
  useEffect8(() => {
3447
3490
  isResettingRef.current = !1, setIsResetting(!1);
3448
3491
  }, [args]);
@@ -3481,7 +3524,8 @@ var sortFns = {
3481
3524
  padding: "small",
3482
3525
  onClick: handleResetClick,
3483
3526
  disabled: isResetting,
3484
- ariaLabel: isResetting ? "Resetting controls..." : "Reset controls"
3527
+ ariaLabel: isResetting ? "Resetting controls..." : "Reset controls",
3528
+ lang: "en"
3485
3529
  },
3486
3530
  React23.createElement(UndoIcon, null)
3487
3531
  )), React23.createElement(
@@ -3490,10 +3534,20 @@ var sortFns = {
3490
3534
  compact: compact2,
3491
3535
  inAddonPanel,
3492
3536
  inTabPanel,
3493
- className: "docblock-argstable sb-unstyled"
3537
+ className: "docblock-argstable sb-unstyled",
3538
+ lang: "en"
3494
3539
  },
3495
3540
  React23.createElement("thead", { className: "docblock-argstable-head" }, React23.createElement("tr", null, React23.createElement("th", null, React23.createElement("span", null, "Name")), compact2 ? null : React23.createElement("th", null, React23.createElement("span", null, "Description")), compact2 ? null : React23.createElement("th", null, React23.createElement("span", null, "Default")), updateArgs ? React23.createElement("th", null, React23.createElement("span", null, "Control")) : null)),
3496
- React23.createElement("tbody", { className: "docblock-argstable-body" }, groups.ungrouped.map((row) => React23.createElement(ArgRow, { key: row.key, row, arg: args && args[row.key], ...common })), Object.entries(groups.ungroupedSubsections).map(([subcategory, subsection]) => React23.createElement(
3541
+ React23.createElement("tbody", { className: "docblock-argstable-body" }, groups.ungrouped.map((row) => React23.createElement(
3542
+ ArgRow,
3543
+ {
3544
+ key: row.key,
3545
+ row,
3546
+ arg: args && args[row.key],
3547
+ docsLang,
3548
+ ...common
3549
+ }
3550
+ )), Object.entries(groups.ungroupedSubsections).map(([subcategory, subsection]) => React23.createElement(
3497
3551
  SectionRow,
3498
3552
  {
3499
3553
  key: subcategory,
@@ -3925,10 +3979,10 @@ var toGlobalSelector = (element) => `& :where(${element}:not(.sb-anchor, .sb-uns
3925
3979
  boxSizing: "border-box",
3926
3980
  gap: "3rem",
3927
3981
  [`@media (min-width: ${breakpoint}px)`]: {}
3928
- })), DocsPageWrapper = ({ children, toc }) => React24.createElement(DocsWrapper, { className: "sbdocs sbdocs-wrapper" }, toc, React24.createElement(DocsContent, { className: "sbdocs sbdocs-content" }, children));
3982
+ })), DocsPageWrapper = ({ children, toc, lang = "en" }) => React24.createElement(DocsWrapper, { className: "sbdocs sbdocs-wrapper" }, toc, React24.createElement(DocsContent, { className: "sbdocs sbdocs-content", lang }, children));
3929
3983
 
3930
3984
  // src/blocks/components/Preview.tsx
3931
- import React30, { Children, useCallback as useCallback7, useContext as useContext2, useMemo as useMemo3, useState as useState14 } from "react";
3985
+ import React30, { Children, useCallback as useCallback7, useContext as useContext2, useMemo as useMemo3, useState as useState13 } from "react";
3932
3986
  import { logger as logger4 } from "storybook/internal/client-logger";
3933
3987
  import { Bar, Button as Button7, ToggleButton as ToggleButton2, Zoom } from "storybook/internal/components";
3934
3988
  import { CopyIcon, MarkupIcon } from "@storybook/icons";
@@ -4258,13 +4312,13 @@ import React26, { useContext } from "react";
4258
4312
  import { InvalidBlockOfPropError } from "storybook/internal/preview-errors";
4259
4313
 
4260
4314
  // src/blocks/blocks/useStory.ts
4261
- import { useEffect as useEffect9, useState as useState12 } from "react";
4315
+ import { useEffect as useEffect9, useState as useState11 } from "react";
4262
4316
  function useStory(storyId, context) {
4263
4317
  let stories = useStories([storyId], context);
4264
4318
  return stories && stories[0];
4265
4319
  }
4266
4320
  function useStories(storyIds, context) {
4267
- let [storiesById, setStories] = useState12({});
4321
+ let [storiesById, setStories] = useState11({});
4268
4322
  return useEffect9(() => {
4269
4323
  Promise.all(
4270
4324
  storyIds.map(async (storyId) => {
@@ -4348,7 +4402,7 @@ var getBlockBackgroundStyle = (theme) => ({
4348
4402
  });
4349
4403
 
4350
4404
  // src/blocks/components/Story.tsx
4351
- import React28, { useEffect as useEffect10, useRef as useRef6, useState as useState13 } from "react";
4405
+ import React28, { useEffect as useEffect10, useRef as useRef6, useState as useState12 } from "react";
4352
4406
  import { ErrorFormatter, Loader } from "storybook/internal/components";
4353
4407
  import { styled as styled20 } from "storybook/theming";
4354
4408
 
@@ -4407,7 +4461,7 @@ var ZoomContext = createContext2({
4407
4461
 
4408
4462
  // src/blocks/components/Story.tsx
4409
4463
  var storyBlockIdFromId = ({ story, primary }) => `story--${story.id}${primary ? "--primary" : ""}`, InlineStory = (props) => {
4410
- let storyRef = useRef6(), [showLoader, setShowLoader] = useState13(!0), [error, setError] = useState13(), { story, height, autoplay, forceInitialArgs, renderStoryToElement } = props;
4464
+ let storyRef = useRef6(), [showLoader, setShowLoader] = useState12(!0), [error, setError] = useState12(), { story, height, autoplay, forceInitialArgs, renderStoryToElement } = props;
4411
4465
  return useEffect10(() => {
4412
4466
  if (!(story && storyRef.current))
4413
4467
  return () => {
@@ -4428,7 +4482,15 @@ var storyBlockIdFromId = ({ story, primary }) => `story--${story.id}${primary ?
4428
4482
  };
4429
4483
  }, [autoplay, renderStoryToElement, story]), error ? React28.createElement("pre", null, React28.createElement(ErrorFormatter, { error })) : React28.createElement(React28.Fragment, null, height ? React28.createElement("style", null, `#${storyBlockIdFromId(
4430
4484
  props
4431
- )} { min-height: ${height}; transform: translateZ(0); overflow: auto }`) : null, showLoader && React28.createElement(StorySkeleton, null), React28.createElement("div", { ref: storyRef, id: `${storyBlockIdFromId(props)}-inner`, "data-name": story.name }));
4485
+ )} { min-height: ${height}; transform: translateZ(0); overflow: auto }`) : null, showLoader && React28.createElement(StorySkeleton, null), React28.createElement(
4486
+ "div",
4487
+ {
4488
+ ref: storyRef,
4489
+ id: `${storyBlockIdFromId(props)}-inner`,
4490
+ "data-name": story.name,
4491
+ lang: story.parameters?.htmlLang || "en"
4492
+ }
4493
+ ));
4432
4494
  }, IFrameStory = ({ story, height = "500px" }) => React28.createElement("div", { style: { width: "100%", height } }, React28.createElement(ZoomContext.Consumer, null, ({ scale }) => React28.createElement(
4433
4495
  IFrame,
4434
4496
  {
@@ -4482,63 +4544,72 @@ var AbsoluteBar = styled21(SharedToolbar)({
4482
4544
  resetZoom,
4483
4545
  onReloadStory,
4484
4546
  ...rest
4485
- }) => React29.createElement(AbsoluteBar, { innerStyle: { gap: 4, paddingInline: 7, justifyContent: "space-between" }, ...rest }, React29.createElement(Wrapper7, { key: "left" }, isLoading ? [1, 2, 3].map((key) => React29.createElement(IconPlaceholder, { key })) : React29.createElement(React29.Fragment, null, onReloadStory && React29.createElement(
4486
- Button6,
4547
+ }) => React29.createElement(
4548
+ AbsoluteBar,
4487
4549
  {
4488
- padding: "small",
4489
- variant: "ghost",
4490
- key: "reload",
4491
- onClick: onReloadStory,
4492
- ariaLabel: "Reload story"
4550
+ innerStyle: { gap: 4, paddingInline: 7, justifyContent: "space-between" },
4551
+ lang: "en",
4552
+ ...rest
4493
4553
  },
4494
- React29.createElement(SyncIcon, null)
4495
- ), React29.createElement(
4496
- Button6,
4497
- {
4498
- padding: "small",
4499
- variant: "ghost",
4500
- key: "zoomin",
4501
- onClick: (e2) => {
4502
- e2.preventDefault(), zoom(0.8);
4554
+ React29.createElement(Wrapper7, { key: "left" }, isLoading ? [1, 2, 3].map((key) => React29.createElement(IconPlaceholder, { key })) : React29.createElement(React29.Fragment, null, onReloadStory && React29.createElement(
4555
+ Button6,
4556
+ {
4557
+ padding: "small",
4558
+ variant: "ghost",
4559
+ key: "reload",
4560
+ onClick: onReloadStory,
4561
+ ariaLabel: "Reload story"
4503
4562
  },
4504
- ariaLabel: "Zoom in"
4505
- },
4506
- React29.createElement(ZoomIcon, null)
4507
- ), React29.createElement(
4508
- Button6,
4509
- {
4510
- padding: "small",
4511
- variant: "ghost",
4512
- key: "zoomout",
4513
- onClick: (e2) => {
4514
- e2.preventDefault(), zoom(1.25);
4563
+ React29.createElement(SyncIcon, null)
4564
+ ), React29.createElement(
4565
+ Button6,
4566
+ {
4567
+ padding: "small",
4568
+ variant: "ghost",
4569
+ key: "zoomin",
4570
+ onClick: (e2) => {
4571
+ e2.preventDefault(), zoom(0.8);
4572
+ },
4573
+ ariaLabel: "Zoom in"
4515
4574
  },
4516
- ariaLabel: "Zoom out"
4517
- },
4518
- React29.createElement(ZoomOutIcon, null)
4519
- ), React29.createElement(
4520
- Button6,
4521
- {
4522
- padding: "small",
4523
- variant: "ghost",
4524
- key: "zoomreset",
4525
- onClick: (e2) => {
4526
- e2.preventDefault(), resetZoom();
4575
+ React29.createElement(ZoomIcon, null)
4576
+ ), React29.createElement(
4577
+ Button6,
4578
+ {
4579
+ padding: "small",
4580
+ variant: "ghost",
4581
+ key: "zoomout",
4582
+ onClick: (e2) => {
4583
+ e2.preventDefault(), zoom(1.25);
4584
+ },
4585
+ ariaLabel: "Zoom out"
4527
4586
  },
4528
- ariaLabel: "Reset zoom"
4529
- },
4530
- React29.createElement(ZoomResetIcon, null)
4531
- ))), isLoading ? React29.createElement(Wrapper7, { key: "right" }, React29.createElement(IconPlaceholder, null)) : storyId && React29.createElement(Wrapper7, { key: "right" }, React29.createElement(
4532
- Button6,
4533
- {
4534
- asChild: !0,
4535
- padding: "small",
4536
- variant: "ghost",
4537
- key: "opener",
4538
- ariaLabel: "Open canvas in new tab"
4539
- },
4540
- React29.createElement("a", { href: getStoryHref(storyId), target: "_blank", rel: "noopener noreferrer" }, React29.createElement(ShareAltIcon, null))
4541
- )));
4587
+ React29.createElement(ZoomOutIcon, null)
4588
+ ), React29.createElement(
4589
+ Button6,
4590
+ {
4591
+ padding: "small",
4592
+ variant: "ghost",
4593
+ key: "zoomreset",
4594
+ onClick: (e2) => {
4595
+ e2.preventDefault(), resetZoom();
4596
+ },
4597
+ ariaLabel: "Reset zoom"
4598
+ },
4599
+ React29.createElement(ZoomResetIcon, null)
4600
+ ))),
4601
+ isLoading ? React29.createElement(Wrapper7, { key: "right" }, React29.createElement(IconPlaceholder, null)) : storyId && React29.createElement(Wrapper7, { key: "right" }, React29.createElement(
4602
+ Button6,
4603
+ {
4604
+ asChild: !0,
4605
+ padding: "small",
4606
+ variant: "ghost",
4607
+ key: "opener",
4608
+ ariaLabel: "Open canvas in new tab"
4609
+ },
4610
+ React29.createElement("a", { href: getStoryHref(storyId), target: "_blank", rel: "noopener noreferrer" }, React29.createElement(ShareAltIcon, null))
4611
+ ))
4612
+ );
4542
4613
 
4543
4614
  // src/blocks/components/Preview.tsx
4544
4615
  var ChildrenContainer = styled22.div(
@@ -4627,7 +4698,7 @@ var PositionedToolbar = styled22(Toolbar)({
4627
4698
  onReloadStory,
4628
4699
  ...props
4629
4700
  }) => {
4630
- let [expanded, setExpanded] = useState14(isExpanded), [copied, setCopied] = useState14(null), [scale, setScale] = useState14(1), additionalActionItems = useMemo3(
4701
+ let [expanded, setExpanded] = useState13(isExpanded), [copied, setCopied] = useState13(null), [scale, setScale] = useState13(1), additionalActionItems = useMemo3(
4631
4702
  () => additionalActions ? [...additionalActions] : [],
4632
4703
  [additionalActions]
4633
4704
  ), sourceId = $bdb11010cef70236$export$f680877a34711e37(), previewClasses = [className].concat(["sbdocs", "sbdocs-preview", "sb-unstyled"]), context = useContext2(DocsContext), copyToClipboard = useCallback7(async (text) => {
@@ -4675,6 +4746,7 @@ var PositionedToolbar = styled22(Toolbar)({
4675
4746
  ), (withSource || additionalActionItems.length > 0) && React30.createElement(ActionBar, { className: "sbdocs sbdocs-preview-actions", innerStyle: { paddingInline: 0 } }, hasSourceError && React30.createElement(
4676
4747
  Button7,
4677
4748
  {
4749
+ lang: "en",
4678
4750
  ariaLabel: !1,
4679
4751
  disabled: !0,
4680
4752
  variant: "ghost",
@@ -4685,6 +4757,7 @@ var PositionedToolbar = styled22(Toolbar)({
4685
4757
  ), hasValidSource && React30.createElement(React30.Fragment, null, React30.createElement(
4686
4758
  ToggleButton2,
4687
4759
  {
4760
+ lang: "en",
4688
4761
  ariaLabel: !1,
4689
4762
  pressed: expanded,
4690
4763
  "aria-expanded": expanded,
@@ -4696,7 +4769,7 @@ var PositionedToolbar = styled22(Toolbar)({
4696
4769
  React30.createElement(MarkupIcon, null),
4697
4770
  " ",
4698
4771
  expanded ? "Hide code" : "Show code"
4699
- ), React30.createElement(Button7, { ariaLabel: !1, variant: "ghost", onClick: handleCopyCode }, React30.createElement(CopyIcon, null), " ", copied ?? "Copy code")), additionalActionItems.map(
4772
+ ), React30.createElement(Button7, { lang: "en", ariaLabel: !1, variant: "ghost", onClick: handleCopyCode }, React30.createElement(CopyIcon, null), " ", copied ?? "Copy code")), additionalActionItems.map(
4700
4773
  ({ title, ariaLabel, className: className2, onClick, disabled }, index) => React30.createElement(
4701
4774
  Button7,
4702
4775
  {
@@ -4728,7 +4801,7 @@ var StyledTabsView = styled23(TabsView)({
4728
4801
  if (entries.length === 1)
4729
4802
  return React31.createElement(ArgsTable, { ...entries[0][1], ...props });
4730
4803
  let tabsFromEntries = entries.map(([label, table], index) => {
4731
- let argsTableProps = index === 0 ? props : { sort: props.sort };
4804
+ let argsTableProps = index === 0 ? props : { sort: props.sort, docsLang: props.docsLang };
4732
4805
  return {
4733
4806
  id: `prop_table_div_${label}`,
4734
4807
  title: label,
@@ -5513,7 +5586,16 @@ var Aside = styled27.aside(() => ({
5513
5586
  color: theme.color.defaultText,
5514
5587
  textTransform: "uppercase",
5515
5588
  marginBottom: 10
5516
- })), Title2 = ({ headingId, title }) => typeof title == "string" || !title ? React35.createElement(Heading, { as: "h2", id: headingId, className: title ? "" : "sb-sr-only" }, title || "Table of contents") : React35.createElement("div", { id: headingId }, title), TableOfContents = ({
5589
+ })), Title2 = ({ headingId, title }) => typeof title == "string" || !title ? React35.createElement(
5590
+ Heading,
5591
+ {
5592
+ as: "h2",
5593
+ id: headingId,
5594
+ className: title ? "" : "sb-sr-only",
5595
+ lang: title ? void 0 : "en"
5596
+ },
5597
+ title || "Table of contents"
5598
+ ) : React35.createElement("div", { id: headingId }, title), TableOfContents = ({
5517
5599
  title,
5518
5600
  disable,
5519
5601
  headingSelector,
@@ -5576,9 +5658,9 @@ import { useCallback as useCallback8, useRef as useRef7 } from "react";
5576
5658
  import { seedQueryState } from "storybook/open-service";
5577
5659
 
5578
5660
  // src/blocks/blocks/useSyncExternalStoreShim.ts
5579
- import { useEffect as useEffect12, useLayoutEffect, useState as useState15 } from "react";
5661
+ import { useEffect as useEffect12, useLayoutEffect, useState as useState14 } from "react";
5580
5662
  function useSyncExternalStoreShim(subscribe, getSnapshot) {
5581
- let value = getSnapshot(), [{ inst }, forceUpdate] = useState15({ inst: { value, getSnapshot } });
5663
+ let value = getSnapshot(), [{ inst }, forceUpdate] = useState14({ inst: { value, getSnapshot } });
5582
5664
  return useLayoutEffect(() => {
5583
5665
  inst.value = value, inst.getSnapshot = getSnapshot, didSnapshotChange(inst) && forceUpdate({ inst });
5584
5666
  }, [subscribe, value, getSnapshot]), useEffect12(() => (didSnapshotChange(inst) && forceUpdate({ inst }), subscribe(() => {
@@ -5736,11 +5818,12 @@ function renderArgTypesTables({
5736
5818
  subcomponentRows,
5737
5819
  include,
5738
5820
  exclude,
5739
- sort
5821
+ sort,
5822
+ docsLang
5740
5823
  }) {
5741
5824
  let filteredMainRows = filterArgTypes(mainRows, include, exclude);
5742
5825
  if (Object.keys(subcomponentRows).length === 0)
5743
- return React37.createElement(ArgsTable, { rows: filteredMainRows, sort });
5826
+ return React37.createElement(ArgsTable, { rows: filteredMainRows, sort, docsLang });
5744
5827
  let tabs = {
5745
5828
  [mainName]: { rows: filteredMainRows, sort },
5746
5829
  ...Object.fromEntries(
@@ -5753,7 +5836,7 @@ function renderArgTypesTables({
5753
5836
  ])
5754
5837
  )
5755
5838
  };
5756
- return React37.createElement(TabbedArgsTable, { tabs, sort });
5839
+ return React37.createElement(TabbedArgsTable, { tabs, sort, docsLang });
5757
5840
  }
5758
5841
  var LegacyArgTypes = (props) => {
5759
5842
  let { argTypes, parameters, component, subcomponents, filterProps } = useResolveArgTypes(props);
@@ -5761,6 +5844,7 @@ var LegacyArgTypes = (props) => {
5761
5844
  mainName: getComponentName(component),
5762
5845
  mainRows: argTypes,
5763
5846
  subcomponentRows: extractSubcomponentArgTypes(subcomponents, parameters),
5847
+ docsLang: parameters?.docs?.lang,
5764
5848
  ...filterProps
5765
5849
  }) : null;
5766
5850
  }, DocgenServiceArgTypes = (props) => {
@@ -5775,6 +5859,7 @@ var LegacyArgTypes = (props) => {
5775
5859
  mainName: getComponentName(component) ?? serviceRows.serviceComponentName,
5776
5860
  mainRows: serviceRows.mainRows,
5777
5861
  subcomponentRows: serviceRows.subcomponentRows,
5862
+ docsLang: parameters?.docs?.lang,
5778
5863
  ...filterProps
5779
5864
  }) : null;
5780
5865
  }, ArgTypesImpl = (props) => globalThis.FEATURES?.experimentalDocgenServer ? React37.createElement(DocgenServiceArgTypes, { ...props }) : React37.createElement(LegacyArgTypes, { ...props }), ArgTypes = withMdxComponentOverride("ArgTypes", ArgTypesImpl);
@@ -5790,7 +5875,7 @@ import { SourceType } from "storybook/internal/docs-tools";
5790
5875
  import { InvalidBlockOfPropError as InvalidBlockOfPropError3 } from "storybook/internal/preview-errors";
5791
5876
 
5792
5877
  // src/blocks/blocks/SourceContainer.tsx
5793
- import React38, { createContext as createContext3, useEffect as useEffect13, useState as useState16 } from "react";
5878
+ import React38, { createContext as createContext3, useEffect as useEffect13, useState as useState15 } from "react";
5794
5879
  import { SNIPPET_RENDERED } from "storybook/internal/docs-tools";
5795
5880
 
5796
5881
  // ../../../node_modules/telejson/dist/chunk-EAFQLD22.mjs
@@ -6821,7 +6906,7 @@ var SourceContext = createContext3({ sources: {} }), UNKNOWN_ARGS_HASH = "--unkn
6821
6906
  children,
6822
6907
  channel
6823
6908
  }) => {
6824
- let [sources, setSources] = useState16({});
6909
+ let [sources, setSources] = useState15({});
6825
6910
  return useEffect13(() => {
6826
6911
  let handleSnippetRendered = (idOrEvent, inputSource = null, inputFormat = !1) => {
6827
6912
  let {
@@ -6870,9 +6955,9 @@ function useServiceStorySnippet(storyId) {
6870
6955
  }
6871
6956
 
6872
6957
  // src/blocks/blocks/useTransformCode.tsx
6873
- import { useEffect as useEffect14, useState as useState17 } from "react";
6958
+ import { useEffect as useEffect14, useState as useState16 } from "react";
6874
6959
  function useTransformCode(source, transform, storyContext) {
6875
- let [transformedCode, setTransformedCode] = useState17("Transforming..."), transformed = transform ? transform?.(source, storyContext) : source;
6960
+ let [transformedCode, setTransformedCode] = useState16("Transforming..."), transformed = transform ? transform?.(source, storyContext) : source;
6876
6961
  return useEffect14(() => {
6877
6962
  async function getTransformedCode() {
6878
6963
  let transformResult = await transformed;
@@ -6983,7 +7068,7 @@ import React41, { useContext as useContext8 } from "react";
6983
7068
  import { filterArgTypes as filterArgTypes2 } from "storybook/preview-api";
6984
7069
 
6985
7070
  // src/blocks/blocks/useArgs.ts
6986
- import { useCallback as useCallback11, useEffect as useEffect15, useState as useState18 } from "react";
7071
+ import { useCallback as useCallback11, useEffect as useEffect15, useState as useState17 } from "react";
6987
7072
  import {
6988
7073
  RESET_STORY_ARGS,
6989
7074
  STORY_ARGS_UPDATED,
@@ -6995,7 +7080,7 @@ var useArgs = (story, context) => {
6995
7080
  throw new Error("No result when story was defined");
6996
7081
  return result;
6997
7082
  }, useArgsIfDefined = (story, context) => {
6998
- let storyContext = story ? context.getStoryContext(story) : { args: {} }, { id: storyId } = story || { id: "none" }, [args, setArgs] = useState18(storyContext.args);
7083
+ let storyContext = story ? context.getStoryContext(story) : { args: {} }, { id: storyId } = story || { id: "none" }, [args, setArgs] = useState17(storyContext.args);
6999
7084
  useEffect15(() => {
7000
7085
  let onArgsUpdated = (changed) => {
7001
7086
  changed.storyId === storyId && setArgs(changed.args);
@@ -7013,10 +7098,10 @@ var useArgs = (story, context) => {
7013
7098
  };
7014
7099
 
7015
7100
  // src/blocks/blocks/useGlobals.ts
7016
- import { useEffect as useEffect16, useState as useState19 } from "react";
7101
+ import { useEffect as useEffect16, useState as useState18 } from "react";
7017
7102
  import { GLOBALS_UPDATED } from "storybook/internal/core-events";
7018
7103
  var useGlobals = (story, context) => {
7019
- let storyContext = context.getStoryContext(story), [globals, setGlobals] = useState19(storyContext.globals);
7104
+ let storyContext = context.getStoryContext(story), [globals, setGlobals] = useState18(storyContext.globals);
7020
7105
  return useEffect16(() => {
7021
7106
  let onGlobalsUpdated = (changed) => {
7022
7107
  setGlobals(changed.globals);
@@ -7058,7 +7143,8 @@ var ControlsTables = ({
7058
7143
  args,
7059
7144
  globals,
7060
7145
  updateArgs,
7061
- resetArgs
7146
+ resetArgs,
7147
+ docsLang
7062
7148
  }) => {
7063
7149
  let filteredMainRows = filterArgTypes2(mainRows, include, exclude);
7064
7150
  if (Object.keys(subcomponentRows).length === 0)
@@ -7072,7 +7158,8 @@ var ControlsTables = ({
7072
7158
  args,
7073
7159
  globals,
7074
7160
  updateArgs,
7075
- resetArgs
7161
+ resetArgs,
7162
+ docsLang
7076
7163
  }
7077
7164
  ) : null;
7078
7165
  let tabs = {
@@ -7097,7 +7184,8 @@ var ControlsTables = ({
7097
7184
  updateArgs,
7098
7185
  resetArgs,
7099
7186
  storyId,
7100
- controlsId
7187
+ controlsId,
7188
+ docsLang
7101
7189
  }
7102
7190
  );
7103
7191
  }, LegacyControls = ({ story, context, ...props }) => {
@@ -7110,7 +7198,8 @@ var ControlsTables = ({
7110
7198
  subcomponentRows: extractSubcomponentArgTypes(subcomponents, parameters),
7111
7199
  ...filterProps,
7112
7200
  storyId: story.id,
7113
- ...interactiveState
7201
+ ...interactiveState,
7202
+ docsLang: parameters?.docs?.lang
7114
7203
  }
7115
7204
  ) : null;
7116
7205
  }, DocgenServiceControls = ({ story, context, ...props }) => {
@@ -7129,7 +7218,8 @@ var ControlsTables = ({
7129
7218
  subcomponentRows: serviceRows.subcomponentRows,
7130
7219
  ...filterProps,
7131
7220
  storyId: story.id,
7132
- ...interactiveState
7221
+ ...interactiveState,
7222
+ docsLang: parameters?.docs?.lang
7133
7223
  }
7134
7224
  ) : null;
7135
7225
  }, ControlsImpl = (props) => {
@@ -7362,32 +7452,38 @@ var DescriptionType = /* @__PURE__ */ ((DescriptionType2) => (DescriptionType2.I
7362
7452
  `Unrecognized module type resolved from 'useOf', got: ${resolvedOf.type}`
7363
7453
  );
7364
7454
  }
7365
- }, DescriptionBody = ({ resolvedOf, serviceComponentDescription, storyDocsDescription }) => {
7455
+ }, DescriptionBody = ({ resolvedOf, serviceComponentDescription, lang, storyDocsDescription }) => {
7366
7456
  let markdown = getDescriptionFromResolvedOf(
7367
7457
  resolvedOf,
7368
7458
  serviceComponentDescription,
7369
7459
  storyDocsDescription
7370
7460
  );
7371
- return markdown ? React44.createElement(Markdown, null, markdown) : null;
7372
- }, DescriptionStoryWithServices = ({
7373
- resolvedOf
7374
- }) => {
7375
- let storyDocsDescription = useServiceStoryDoc(resolvedOf.story.id).data?.description;
7376
- return React44.createElement(DescriptionBody, { resolvedOf, storyDocsDescription });
7461
+ return markdown ? React44.createElement(Markdown, { lang }, markdown) : null;
7462
+ }, DescriptionStoryWithServices = ({ resolvedOf }) => {
7463
+ let storyDocsDescription = useServiceStoryDoc(resolvedOf.story.id).data?.description, lang = resolvedOf.story.parameters.docs?.lang || "en";
7464
+ return React44.createElement(
7465
+ DescriptionBody,
7466
+ {
7467
+ resolvedOf,
7468
+ storyDocsDescription,
7469
+ lang
7470
+ }
7471
+ );
7377
7472
  }, DescriptionComponentWithServices = ({ resolvedOf, componentId }) => {
7378
- let serviceComponentDescription = useServiceDocgen(componentId).data?.description || void 0;
7473
+ let serviceComponentDescription = useServiceDocgen(componentId).data?.description || void 0, lang = resolvedOf.type === "meta" ? resolvedOf.preparedMeta.parameters.docs?.lang || "en" : resolvedOf.projectAnnotations.parameters?.docs?.lang || "en";
7379
7474
  return React44.createElement(
7380
7475
  DescriptionBody,
7381
7476
  {
7382
7477
  resolvedOf,
7383
- serviceComponentDescription
7478
+ serviceComponentDescription,
7479
+ lang
7384
7480
  }
7385
7481
  );
7386
7482
  }, DescriptionImpl = (props) => {
7387
- let { of } = props;
7483
+ let { of } = props, context = useContext10(DocsContext);
7388
7484
  if ("of" in props && of === void 0)
7389
7485
  throw new InvalidBlockOfPropError5();
7390
- let resolvedOf = useOf(of || "meta"), context = useContext10(DocsContext);
7486
+ let resolvedOf = useOf(of || "meta");
7391
7487
  if (globalThis.FEATURES?.experimentalDocgenServer) {
7392
7488
  if (resolvedOf.type === "story")
7393
7489
  return React44.createElement(DescriptionStoryWithServices, { resolvedOf });
@@ -7395,7 +7491,8 @@ var DescriptionType = /* @__PURE__ */ ((DescriptionType2) => (DescriptionType2.I
7395
7491
  if (componentId)
7396
7492
  return React44.createElement(DescriptionComponentWithServices, { resolvedOf, componentId });
7397
7493
  }
7398
- return React44.createElement(DescriptionBody, { resolvedOf });
7494
+ let lang = (resolvedOf.type === "story" ? resolvedOf.story.parameters : resolvedOf.type === "meta" ? resolvedOf.preparedMeta.parameters : resolvedOf.projectAnnotations.parameters)?.docs?.lang || "en";
7495
+ return React44.createElement(DescriptionBody, { resolvedOf, lang });
7399
7496
  }, Description2 = withMdxComponentOverride("Description", DescriptionImpl);
7400
7497
 
7401
7498
  // src/blocks/blocks/Docs.tsx
@@ -7403,7 +7500,7 @@ import React54 from "react";
7403
7500
 
7404
7501
  // src/blocks/blocks/DocsContainer.tsx
7405
7502
  import React45, { useEffect as useEffect17, useMemo as useMemo5 } from "react";
7406
- import { ThemeProvider, ensure as ensureTheme } from "storybook/theming";
7503
+ import { ensure as ensureTheme, ThemeProvider } from "storybook/theming";
7407
7504
 
7408
7505
  // src/blocks/blocks/DocsSluggerContext.ts
7409
7506
  import { createContext as createContext4 } from "react";
@@ -7463,11 +7560,12 @@ var { document: document3, window: globalWindow3 } = globalThis, DocsContainer =
7463
7560
  theme,
7464
7561
  children
7465
7562
  }) => {
7466
- let slugger = useMemo5(() => createDocsSlugger(), []), toc;
7563
+ let slugger = useMemo5(() => createDocsSlugger(), []), toc, lang;
7467
7564
  try {
7468
- toc = context.resolveOf("meta", ["meta"]).preparedMeta.parameters?.docs?.toc;
7565
+ let metaParameters = context.resolveOf("meta", ["meta"]).preparedMeta.parameters;
7566
+ toc = metaParameters?.docs?.toc, lang = metaParameters?.docs?.lang || "en";
7469
7567
  } catch {
7470
- toc = context?.projectAnnotations?.parameters?.docs?.toc;
7568
+ toc = context?.projectAnnotations?.parameters?.docs?.toc, lang = context?.projectAnnotations?.parameters?.docs?.lang || "en";
7471
7569
  }
7472
7570
  return useEffect17(() => {
7473
7571
  let url;
@@ -7483,6 +7581,7 @@ var { document: document3, window: globalWindow3 } = globalThis, DocsContainer =
7483
7581
  }), React45.createElement(DocsSluggerContext.Provider, { value: slugger }, React45.createElement(DocsContext.Provider, { value: context }, React45.createElement(SourceContainer, { channel: context.channel }, React45.createElement(ThemeProvider, { theme: ensureTheme(theme) }, React45.createElement(
7484
7582
  DocsPageWrapper,
7485
7583
  {
7584
+ lang,
7486
7585
  toc: toc ? React45.createElement(
7487
7586
  TableOfContents,
7488
7587
  {
package/dist/index.d.ts CHANGED
@@ -241,6 +241,16 @@ interface DocsParameters {
241
241
  * @see https://storybook.js.org/docs/api/doc-blocks/doc-block-subtitle
242
242
  */
243
243
  subtitle?: string;
244
+ /**
245
+ * The BCP-47 language tag applied to Storybook-rendered docs prose (descriptions, titles,
246
+ * ArgTypes description cells, free MDX prose).
247
+ *
248
+ * Storybook's own chrome stays English regardless. Inherited project → meta (page-level) or
249
+ * project → meta → story (per-story prose).
250
+ *
251
+ * @default 'en'
252
+ */
253
+ lang?: string;
244
254
  /**
245
255
  * Override the default theme
246
256
  *
@@ -1,20 +1,20 @@
1
- import CJS_COMPAT_NODE_URL_62gi7e79md7 from 'node:url';
2
- import CJS_COMPAT_NODE_PATH_62gi7e79md7 from 'node:path';
3
- import CJS_COMPAT_NODE_MODULE_62gi7e79md7 from "node:module";
1
+ import CJS_COMPAT_NODE_URL_6kmgb85uu0i from 'node:url';
2
+ import CJS_COMPAT_NODE_PATH_6kmgb85uu0i from 'node:path';
3
+ import CJS_COMPAT_NODE_MODULE_6kmgb85uu0i from "node:module";
4
4
 
5
- var __filename = CJS_COMPAT_NODE_URL_62gi7e79md7.fileURLToPath(import.meta.url);
6
- var __dirname = CJS_COMPAT_NODE_PATH_62gi7e79md7.dirname(__filename);
7
- var require = CJS_COMPAT_NODE_MODULE_62gi7e79md7.createRequire(import.meta.url);
5
+ var __filename = CJS_COMPAT_NODE_URL_6kmgb85uu0i.fileURLToPath(import.meta.url);
6
+ var __dirname = CJS_COMPAT_NODE_PATH_6kmgb85uu0i.dirname(__filename);
7
+ var require = CJS_COMPAT_NODE_MODULE_6kmgb85uu0i.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-V5BW74Q5.js";
15
- import "./_node-chunks/chunk-URSDNTC6.js";
16
- import "./_node-chunks/chunk-E7HXF55G.js";
17
- import "./_node-chunks/chunk-UXKGP3JV.js";
14
+ } from "./_node-chunks/chunk-6COZ6RQD.js";
15
+ import "./_node-chunks/chunk-G6HS65QC.js";
16
+ import "./_node-chunks/chunk-AIK622WF.js";
17
+ import "./_node-chunks/chunk-N5QKP6IS.js";
18
18
 
19
19
  // src/mdx-loader.ts
20
20
  var DEFAULT_RENDERER = `
package/dist/preset.js CHANGED
@@ -1,15 +1,15 @@
1
- import CJS_COMPAT_NODE_URL_62gi7e79md7 from 'node:url';
2
- import CJS_COMPAT_NODE_PATH_62gi7e79md7 from 'node:path';
3
- import CJS_COMPAT_NODE_MODULE_62gi7e79md7 from "node:module";
1
+ import CJS_COMPAT_NODE_URL_6kmgb85uu0i from 'node:url';
2
+ import CJS_COMPAT_NODE_PATH_6kmgb85uu0i from 'node:path';
3
+ import CJS_COMPAT_NODE_MODULE_6kmgb85uu0i from "node:module";
4
4
 
5
- var __filename = CJS_COMPAT_NODE_URL_62gi7e79md7.fileURLToPath(import.meta.url);
6
- var __dirname = CJS_COMPAT_NODE_PATH_62gi7e79md7.dirname(__filename);
7
- var require = CJS_COMPAT_NODE_MODULE_62gi7e79md7.createRequire(import.meta.url);
5
+ var __filename = CJS_COMPAT_NODE_URL_6kmgb85uu0i.fileURLToPath(import.meta.url);
6
+ var __dirname = CJS_COMPAT_NODE_PATH_6kmgb85uu0i.dirname(__filename);
7
+ var require = CJS_COMPAT_NODE_MODULE_6kmgb85uu0i.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-UXKGP3JV.js";
12
+ import "./_node-chunks/chunk-N5QKP6IS.js";
13
13
 
14
14
  // src/preset.ts
15
15
  import { isAbsolute as isAbsolute2 } from "node:path";
@@ -713,16 +713,6 @@ function registerMdxService({
713
713
  });
714
714
  }
715
715
 
716
- // src/docgen.ts
717
- var experimental_docgenProvider = async (nextDocgen) => async (input) => {
718
- let downstream = await nextDocgen(input);
719
- if (downstream)
720
- return {
721
- ...downstream,
722
- description: downstream.description ? `${downstream.description} (docs enabled)` : "docs enabled"
723
- };
724
- };
725
-
726
716
  // src/preset.ts
727
717
  var getResolvedReact = async (options) => {
728
718
  let resolvedReact2 = await options.presets.apply("resolvedReact", {});
@@ -738,7 +728,7 @@ var getResolvedReact = async (options) => {
738
728
  };
739
729
  };
740
730
  async function webpack(webpackConfig = {}, options) {
741
- let { module = {} } = webpackConfig, { csfPluginOptions = {}, mdxPluginOptions = {} } = options, enrichCsf = await options.presets.apply("experimental_enrichCsf"), rehypeSlug = (await import("./_node-chunks/rehype-slug-4727ZT4J.js")).default, rehypeExternalLinks = (await import("./_node-chunks/rehype-external-links-KRDD3ZWL.js")).default, mdxLoaderOptions = await options.presets.apply("mdxLoaderOptions", {
731
+ let { module = {} } = webpackConfig, { csfPluginOptions = {}, mdxPluginOptions = {} } = options, enrichCsf = await options.presets.apply("experimental_enrichCsf"), rehypeSlug = (await import("./_node-chunks/rehype-slug-BYEJJO5R.js")).default, rehypeExternalLinks = (await import("./_node-chunks/rehype-external-links-ZN3EPMI5.js")).default, mdxLoaderOptions = await options.presets.apply("mdxLoaderOptions", {
742
732
  ...mdxPluginOptions,
743
733
  mdxCompileOptions: {
744
734
  providerImportSource: fileURLToPath2(
@@ -816,7 +806,7 @@ var docs = (input = {}, options) => {
816
806
  }, addons = [
817
807
  import.meta.resolve("@storybook/react-dom-shim/preset")
818
808
  ], viteFinal = async (config, options) => {
819
- let { plugins = [] } = config, { mdxPlugin } = await import("./_node-chunks/mdx-plugin-Y733C4JM.js"), { react, reactDom, mdx } = await getResolvedReact(options), packageDeduplicationPlugin = {
809
+ let { plugins = [] } = config, { mdxPlugin } = await import("./_node-chunks/mdx-plugin-HJBCBRQH.js"), { react, reactDom, mdx } = await getResolvedReact(options), packageDeduplicationPlugin = {
820
810
  name: "storybook:package-deduplication",
821
811
  enforce: "pre",
822
812
  config: () => ({
@@ -859,7 +849,6 @@ var docs = (input = {}, options) => {
859
849
  export {
860
850
  addons,
861
851
  docsX as docs,
862
- experimental_docgenProvider,
863
852
  manifests as experimental_manifests,
864
853
  optimizeViteDeps,
865
854
  resolvedReact,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@storybook/addon-docs",
3
- "version": "10.5.0-alpha.9",
3
+ "version": "10.5.0-beta.0",
4
4
  "description": "Storybook Docs: Document UI components automatically with stories and MDX",
5
5
  "keywords": [
6
6
  "docs",
@@ -87,9 +87,9 @@
87
87
  ],
88
88
  "dependencies": {
89
89
  "@mdx-js/react": "^3.0.0",
90
- "@storybook/csf-plugin": "10.5.0-alpha.9",
90
+ "@storybook/csf-plugin": "10.5.0-beta.0",
91
91
  "@storybook/icons": "^2.0.2",
92
- "@storybook/react-dom-shim": "10.5.0-alpha.9",
92
+ "@storybook/react-dom-shim": "10.5.0-beta.0",
93
93
  "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
94
94
  "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
95
95
  "ts-dedent": "^2.0.0"
@@ -117,7 +117,7 @@
117
117
  },
118
118
  "peerDependencies": {
119
119
  "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0",
120
- "storybook": "^10.5.0-alpha.9"
120
+ "storybook": "^10.5.0-beta.0"
121
121
  },
122
122
  "peerDependenciesMeta": {
123
123
  "@types/react": {