@storybook/addon-docs 10.4.0-alpha.0 → 10.4.0-alpha.10
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.
- package/dist/_browser-chunks/{Color-FRDS63T2.js → Color-23OOGO2C.js} +12 -4
- package/dist/_browser-chunks/chunk-S2IHWCOG.js +13 -0
- package/dist/_node-chunks/{chunk-73YLCN4K.js → chunk-EEG4RDZ5.js} +9 -9
- package/dist/_node-chunks/{chunk-IZ4IIMQ3.js → chunk-KUAESHGL.js} +6 -6
- package/dist/_node-chunks/{chunk-6ARKSHGI.js → chunk-RG2UQ7CS.js} +6 -6
- package/dist/_node-chunks/{chunk-NYEJA2CZ.js → chunk-XOX2N3QE.js} +6 -6
- package/dist/_node-chunks/{mdx-plugin-JZ3SHCGE.js → mdx-plugin-XGLK6OPD.js} +34 -31
- package/dist/_node-chunks/{rehype-external-links-WELLNDNO.js → rehype-external-links-P7YOBLT5.js} +9 -9
- package/dist/_node-chunks/{rehype-slug-YLZUJAH7.js → rehype-slug-CPBEERZT.js} +8 -8
- package/dist/blocks.d.ts +12 -1
- package/dist/blocks.js +131 -69
- package/dist/mdx-loader.js +10 -10
- package/dist/preset.js +9 -9
- package/package.json +4 -4
- package/dist/_browser-chunks/chunk-CYSK6WYR.js +0 -7
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getControlId
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-S2IHWCOG.js";
|
|
4
4
|
import {
|
|
5
5
|
__commonJS,
|
|
6
6
|
__toESM
|
|
@@ -998,12 +998,18 @@ var Wrapper = styled.div({
|
|
|
998
998
|
setValue(updatedValue), onChange(updatedValue);
|
|
999
999
|
}, [color, colorSpace, onChange]);
|
|
1000
1000
|
return { value, realValue, updateValue, color, colorSpace, cycleColorSpace };
|
|
1001
|
-
}, id = (value) => value.replace(/\s*/, "").toLowerCase(), usePresets = (presetColors, currentColor, colorSpace) => {
|
|
1001
|
+
}, id = (value) => value.replace(/\s*/, "").toLowerCase(), usePresets = (presetColors, currentColor, colorSpace, maxPresetColors = 27) => {
|
|
1002
1002
|
let [selectedColors, setSelectedColors] = useState(currentColor?.valid ? [currentColor] : []);
|
|
1003
1003
|
useEffect(() => {
|
|
1004
1004
|
currentColor === void 0 && setSelectedColors([]);
|
|
1005
1005
|
}, [currentColor]);
|
|
1006
|
-
let presets = useMemo(() =>
|
|
1006
|
+
let presets = useMemo(() => {
|
|
1007
|
+
let combined = (presetColors || []).map((preset) => typeof preset == "string" ? parseValue(preset) : preset.title ? { ...parseValue(preset.color), keyword: preset.title } : parseValue(preset.color)).concat(selectedColors).filter(Boolean);
|
|
1008
|
+
if (maxPresetColors === 0 || maxPresetColors === 1 / 0)
|
|
1009
|
+
return combined;
|
|
1010
|
+
let limit = Number.isInteger(maxPresetColors) && maxPresetColors > 0 ? maxPresetColors : 27;
|
|
1011
|
+
return combined.slice(-limit);
|
|
1012
|
+
}, [presetColors, selectedColors, maxPresetColors]), addPreset = useCallback(
|
|
1007
1013
|
(color) => {
|
|
1008
1014
|
color?.valid && (presets.some(
|
|
1009
1015
|
(preset) => preset && preset[colorSpace] && id(preset[colorSpace] || "") === id(color[colorSpace] || "")
|
|
@@ -1014,18 +1020,20 @@ var Wrapper = styled.div({
|
|
|
1014
1020
|
return { presets, addPreset };
|
|
1015
1021
|
}, ColorControl = ({
|
|
1016
1022
|
name,
|
|
1023
|
+
storyId,
|
|
1017
1024
|
value: initialValue,
|
|
1018
1025
|
onChange,
|
|
1019
1026
|
onFocus,
|
|
1020
1027
|
onBlur,
|
|
1021
1028
|
presetColors,
|
|
1029
|
+
maxPresetColors,
|
|
1022
1030
|
startOpen = !1,
|
|
1023
1031
|
argType
|
|
1024
1032
|
}) => {
|
|
1025
1033
|
let debouncedOnChange = useCallback(debounce(onChange, 200), [onChange]), { value, realValue, updateValue, color, colorSpace, cycleColorSpace } = useColorInput(
|
|
1026
1034
|
initialValue,
|
|
1027
1035
|
debouncedOnChange
|
|
1028
|
-
), { presets, addPreset } = usePresets(presetColors ?? [], color, colorSpace), Picker = ColorPicker[colorSpace], readOnly = !!argType?.table?.readonly, controlId = getControlId(name);
|
|
1036
|
+
), { presets, addPreset } = usePresets(presetColors ?? [], color, colorSpace, maxPresetColors), Picker = ColorPicker[colorSpace], readOnly = !!argType?.table?.readonly, controlId = getControlId(name, storyId);
|
|
1029
1037
|
return React.createElement(Wrapper, null, React.createElement("label", { htmlFor: controlId, className: "sb-sr-only" }, name), React.createElement(
|
|
1030
1038
|
Input,
|
|
1031
1039
|
{
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
// src/blocks/controls/helpers.ts
|
|
2
|
+
var getControlId = (value, storyId) => {
|
|
3
|
+
let base = value.replace(/\s+/g, "-");
|
|
4
|
+
return storyId ? `control-${storyId}-${base}` : `control-${base}`;
|
|
5
|
+
}, getControlSetterButtonId = (value, storyId) => {
|
|
6
|
+
let base = value.replace(/\s+/g, "-");
|
|
7
|
+
return storyId ? `set-${storyId}-${base}` : `set-${base}`;
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
export {
|
|
11
|
+
getControlId,
|
|
12
|
+
getControlSetterButtonId
|
|
13
|
+
};
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
1
|
+
import CJS_COMPAT_NODE_URL_bem9xq5gsqn from 'node:url';
|
|
2
|
+
import CJS_COMPAT_NODE_PATH_bem9xq5gsqn from 'node:path';
|
|
3
|
+
import CJS_COMPAT_NODE_MODULE_bem9xq5gsqn from "node:module";
|
|
4
4
|
|
|
5
|
-
var __filename =
|
|
6
|
-
var __dirname =
|
|
7
|
-
var require =
|
|
5
|
+
var __filename = CJS_COMPAT_NODE_URL_bem9xq5gsqn.fileURLToPath(import.meta.url);
|
|
6
|
+
var __dirname = CJS_COMPAT_NODE_PATH_bem9xq5gsqn.dirname(__filename);
|
|
7
|
+
var require = CJS_COMPAT_NODE_MODULE_bem9xq5gsqn.createRequire(import.meta.url);
|
|
8
8
|
|
|
9
9
|
// ------------------------------------------------------------
|
|
10
10
|
// end of CJS compatibility banner, injected by Storybook's esbuild configuration
|
|
@@ -12,15 +12,15 @@ var require = CJS_COMPAT_NODE_MODULE_on6o02dgj0e.createRequire(import.meta.url);
|
|
|
12
12
|
import {
|
|
13
13
|
esm_default,
|
|
14
14
|
stringify
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-KUAESHGL.js";
|
|
16
16
|
import {
|
|
17
17
|
visit
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-RG2UQ7CS.js";
|
|
19
19
|
import {
|
|
20
20
|
__commonJS,
|
|
21
21
|
__export,
|
|
22
22
|
__toESM
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-XOX2N3QE.js";
|
|
24
24
|
|
|
25
25
|
// ../../../node_modules/@mdx-js/mdx/node_modules/acorn-jsx/xhtml.js
|
|
26
26
|
var require_xhtml = __commonJS({
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
1
|
+
import CJS_COMPAT_NODE_URL_bem9xq5gsqn from 'node:url';
|
|
2
|
+
import CJS_COMPAT_NODE_PATH_bem9xq5gsqn from 'node:path';
|
|
3
|
+
import CJS_COMPAT_NODE_MODULE_bem9xq5gsqn from "node:module";
|
|
4
4
|
|
|
5
|
-
var __filename =
|
|
6
|
-
var __dirname =
|
|
7
|
-
var require =
|
|
5
|
+
var __filename = CJS_COMPAT_NODE_URL_bem9xq5gsqn.fileURLToPath(import.meta.url);
|
|
6
|
+
var __dirname = CJS_COMPAT_NODE_PATH_bem9xq5gsqn.dirname(__filename);
|
|
7
|
+
var require = CJS_COMPAT_NODE_MODULE_bem9xq5gsqn.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
|
|
2
|
-
import
|
|
3
|
-
import
|
|
1
|
+
import CJS_COMPAT_NODE_URL_bem9xq5gsqn from 'node:url';
|
|
2
|
+
import CJS_COMPAT_NODE_PATH_bem9xq5gsqn from 'node:path';
|
|
3
|
+
import CJS_COMPAT_NODE_MODULE_bem9xq5gsqn from "node:module";
|
|
4
4
|
|
|
5
|
-
var __filename =
|
|
6
|
-
var __dirname =
|
|
7
|
-
var require =
|
|
5
|
+
var __filename = CJS_COMPAT_NODE_URL_bem9xq5gsqn.fileURLToPath(import.meta.url);
|
|
6
|
+
var __dirname = CJS_COMPAT_NODE_PATH_bem9xq5gsqn.dirname(__filename);
|
|
7
|
+
var require = CJS_COMPAT_NODE_MODULE_bem9xq5gsqn.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
|
|
2
|
-
import
|
|
3
|
-
import
|
|
1
|
+
import CJS_COMPAT_NODE_URL_bem9xq5gsqn from 'node:url';
|
|
2
|
+
import CJS_COMPAT_NODE_PATH_bem9xq5gsqn from 'node:path';
|
|
3
|
+
import CJS_COMPAT_NODE_MODULE_bem9xq5gsqn from "node:module";
|
|
4
4
|
|
|
5
|
-
var __filename =
|
|
6
|
-
var __dirname =
|
|
7
|
-
var require =
|
|
5
|
+
var __filename = CJS_COMPAT_NODE_URL_bem9xq5gsqn.fileURLToPath(import.meta.url);
|
|
6
|
+
var __dirname = CJS_COMPAT_NODE_PATH_bem9xq5gsqn.dirname(__filename);
|
|
7
|
+
var require = CJS_COMPAT_NODE_MODULE_bem9xq5gsqn.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
|
|
2
|
-
import
|
|
3
|
-
import
|
|
1
|
+
import CJS_COMPAT_NODE_URL_bem9xq5gsqn from 'node:url';
|
|
2
|
+
import CJS_COMPAT_NODE_PATH_bem9xq5gsqn from 'node:path';
|
|
3
|
+
import CJS_COMPAT_NODE_MODULE_bem9xq5gsqn from "node:module";
|
|
4
4
|
|
|
5
|
-
var __filename =
|
|
6
|
-
var __dirname =
|
|
7
|
-
var require =
|
|
5
|
+
var __filename = CJS_COMPAT_NODE_URL_bem9xq5gsqn.fileURLToPath(import.meta.url);
|
|
6
|
+
var __dirname = CJS_COMPAT_NODE_PATH_bem9xq5gsqn.dirname(__filename);
|
|
7
|
+
var require = CJS_COMPAT_NODE_MODULE_bem9xq5gsqn.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-
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-
|
|
14
|
+
} from "./chunk-EEG4RDZ5.js";
|
|
15
|
+
import "./chunk-KUAESHGL.js";
|
|
16
|
+
import "./chunk-RG2UQ7CS.js";
|
|
17
17
|
import {
|
|
18
18
|
__commonJS,
|
|
19
19
|
__toESM
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-XOX2N3QE.js";
|
|
21
21
|
|
|
22
22
|
// ../../../node_modules/@rollup/pluginutils/node_modules/picomatch/lib/constants.js
|
|
23
23
|
var require_constants = __commonJS({
|
|
@@ -1000,30 +1000,33 @@ var hasStringIsWellFormed = "isWellFormed" in String.prototype;
|
|
|
1000
1000
|
|
|
1001
1001
|
// src/mdx-plugin.ts
|
|
1002
1002
|
async function mdxPlugin(options) {
|
|
1003
|
-
let filter = createFilter(
|
|
1003
|
+
let include = /\.mdx$/, filter = createFilter(include), { presets } = options, mdxPluginOptions = (await presets.apply("options", {}))?.mdxPluginOptions, rehypeSlug = (await import("./rehype-slug-CPBEERZT.js")).default, rehypeExternalLinks = (await import("./rehype-external-links-P7YOBLT5.js")).default;
|
|
1004
1004
|
return {
|
|
1005
1005
|
name: "storybook:mdx-plugin",
|
|
1006
1006
|
enforce: "pre",
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
...mdxPluginOptions?.mdxCompileOptions
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1007
|
+
transform: {
|
|
1008
|
+
filter: { id: include },
|
|
1009
|
+
async handler(src, id) {
|
|
1010
|
+
if (!filter(id))
|
|
1011
|
+
return;
|
|
1012
|
+
let mdxLoaderOptions = await presets.apply("mdxLoaderOptions", {
|
|
1013
|
+
...mdxPluginOptions,
|
|
1014
|
+
mdxCompileOptions: {
|
|
1015
|
+
providerImportSource: import.meta.resolve("@storybook/addon-docs/mdx-react-shim"),
|
|
1016
|
+
...mdxPluginOptions?.mdxCompileOptions,
|
|
1017
|
+
rehypePlugins: [
|
|
1018
|
+
...mdxPluginOptions?.mdxCompileOptions?.rehypePlugins ?? [],
|
|
1019
|
+
rehypeSlug,
|
|
1020
|
+
rehypeExternalLinks
|
|
1021
|
+
]
|
|
1022
|
+
}
|
|
1023
|
+
});
|
|
1024
|
+
return {
|
|
1025
|
+
code: String(await compile(src, mdxLoaderOptions)),
|
|
1026
|
+
// TODO: support source maps
|
|
1027
|
+
map: null
|
|
1028
|
+
};
|
|
1029
|
+
}
|
|
1027
1030
|
}
|
|
1028
1031
|
};
|
|
1029
1032
|
}
|
package/dist/_node-chunks/{rehype-external-links-WELLNDNO.js → rehype-external-links-P7YOBLT5.js}
RENAMED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
1
|
+
import CJS_COMPAT_NODE_URL_bem9xq5gsqn from 'node:url';
|
|
2
|
+
import CJS_COMPAT_NODE_PATH_bem9xq5gsqn from 'node:path';
|
|
3
|
+
import CJS_COMPAT_NODE_MODULE_bem9xq5gsqn from "node:module";
|
|
4
4
|
|
|
5
|
-
var __filename =
|
|
6
|
-
var __dirname =
|
|
7
|
-
var require =
|
|
5
|
+
var __filename = CJS_COMPAT_NODE_URL_bem9xq5gsqn.fileURLToPath(import.meta.url);
|
|
6
|
+
var __dirname = CJS_COMPAT_NODE_PATH_bem9xq5gsqn.dirname(__filename);
|
|
7
|
+
var require = CJS_COMPAT_NODE_MODULE_bem9xq5gsqn.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_on6o02dgj0e.createRequire(import.meta.url);
|
|
|
12
12
|
import {
|
|
13
13
|
esm_default,
|
|
14
14
|
parse
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-KUAESHGL.js";
|
|
16
16
|
import {
|
|
17
17
|
visit
|
|
18
|
-
} from "./chunk-
|
|
19
|
-
import "./chunk-
|
|
18
|
+
} from "./chunk-RG2UQ7CS.js";
|
|
19
|
+
import "./chunk-XOX2N3QE.js";
|
|
20
20
|
|
|
21
21
|
// ../../../node_modules/hast-util-is-element/lib/index.js
|
|
22
22
|
var convertElement = (
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
1
|
+
import CJS_COMPAT_NODE_URL_bem9xq5gsqn from 'node:url';
|
|
2
|
+
import CJS_COMPAT_NODE_PATH_bem9xq5gsqn from 'node:path';
|
|
3
|
+
import CJS_COMPAT_NODE_MODULE_bem9xq5gsqn from "node:module";
|
|
4
4
|
|
|
5
|
-
var __filename =
|
|
6
|
-
var __dirname =
|
|
7
|
-
var require =
|
|
5
|
+
var __filename = CJS_COMPAT_NODE_URL_bem9xq5gsqn.fileURLToPath(import.meta.url);
|
|
6
|
+
var __dirname = CJS_COMPAT_NODE_PATH_bem9xq5gsqn.dirname(__filename);
|
|
7
|
+
var require = CJS_COMPAT_NODE_MODULE_bem9xq5gsqn.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-
|
|
15
|
-
import "./chunk-
|
|
14
|
+
} from "./chunk-RG2UQ7CS.js";
|
|
15
|
+
import "./chunk-XOX2N3QE.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
|
@@ -56,6 +56,7 @@ interface ArgsTableOptionProps {
|
|
|
56
56
|
initialExpandedArgs?: boolean;
|
|
57
57
|
isLoading?: boolean;
|
|
58
58
|
sort?: SortType;
|
|
59
|
+
storyId?: string;
|
|
59
60
|
}
|
|
60
61
|
interface ArgsTableDataProps {
|
|
61
62
|
rows: ArgTypes$1;
|
|
@@ -109,6 +110,7 @@ type PreviewProps = PropsWithChildren<{
|
|
|
109
110
|
withToolbar?: boolean;
|
|
110
111
|
className?: string;
|
|
111
112
|
additionalActions?: ActionItem[];
|
|
113
|
+
onReloadStory?: () => void;
|
|
112
114
|
}>;
|
|
113
115
|
type Layout = 'padded' | 'fullscreen' | 'centered';
|
|
114
116
|
|
|
@@ -275,7 +277,7 @@ type SourceProps = SourceParameters & {
|
|
|
275
277
|
__forceInitialArgs?: boolean;
|
|
276
278
|
};
|
|
277
279
|
type PureSourceProps = ComponentProps<typeof Source$1>;
|
|
278
|
-
declare const useSourceProps: (props: SourceProps, docsContext: DocsContextProps
|
|
280
|
+
declare const useSourceProps: (props: SourceProps, docsContext: DocsContextProps, sourceContext: SourceContextProps) => PureSourceProps;
|
|
279
281
|
declare const Source: React__default.ComponentType<SourceProps>;
|
|
280
282
|
|
|
281
283
|
type PureStoryProps = ComponentProps<typeof Story$1>;
|
|
@@ -951,6 +953,7 @@ declare const HeadersMdx: {};
|
|
|
951
953
|
|
|
952
954
|
interface ControlProps<T> {
|
|
953
955
|
name: string;
|
|
956
|
+
storyId?: string;
|
|
954
957
|
value?: T;
|
|
955
958
|
defaultValue?: T;
|
|
956
959
|
argType?: ArgType;
|
|
@@ -968,6 +971,14 @@ type PresetColor = ColorValue | {
|
|
|
968
971
|
};
|
|
969
972
|
interface ColorConfig {
|
|
970
973
|
presetColors?: PresetColor[];
|
|
974
|
+
/**
|
|
975
|
+
* Maximum number of preset colors shown in the color picker. When the number of presets exceeds
|
|
976
|
+
* this value, the oldest presets are removed first (most-recently-used order). Set to `Infinity`
|
|
977
|
+
* or `0` to disable the limit and show all presets.
|
|
978
|
+
*
|
|
979
|
+
* @default 27
|
|
980
|
+
*/
|
|
981
|
+
maxPresetColors?: number;
|
|
971
982
|
/**
|
|
972
983
|
* Whether the color picker should be open by default when rendered.
|
|
973
984
|
*
|
package/dist/blocks.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getControlId,
|
|
3
3
|
getControlSetterButtonId
|
|
4
|
-
} from "./_browser-chunks/chunk-
|
|
4
|
+
} from "./_browser-chunks/chunk-S2IHWCOG.js";
|
|
5
5
|
import {
|
|
6
6
|
EmptyBlock,
|
|
7
7
|
Source,
|
|
@@ -581,8 +581,8 @@ import React15, { Suspense, lazy } from "react";
|
|
|
581
581
|
// src/blocks/controls/Boolean.tsx
|
|
582
582
|
import React, { useCallback } from "react";
|
|
583
583
|
import { Button } from "storybook/internal/components";
|
|
584
|
-
import { styled } from "storybook/theming";
|
|
585
|
-
var
|
|
584
|
+
import { srOnlyStyles, styled } from "storybook/theming";
|
|
585
|
+
var getBooleanControlStyles = (theme) => ({
|
|
586
586
|
lineHeight: "18px",
|
|
587
587
|
alignItems: "center",
|
|
588
588
|
marginBottom: 8,
|
|
@@ -598,28 +598,26 @@ var Label = styled.label(({ theme }) => ({
|
|
|
598
598
|
cursor: "not-allowed"
|
|
599
599
|
}
|
|
600
600
|
},
|
|
601
|
+
"@media (forced-colors: active)": {
|
|
602
|
+
background: "ButtonFace",
|
|
603
|
+
outline: "1px solid ButtonText"
|
|
604
|
+
},
|
|
605
|
+
"&:focus-within": {
|
|
606
|
+
outline: `1px solid ${theme.color.secondary}`,
|
|
607
|
+
outlineOffset: 1,
|
|
608
|
+
"@media (forced-colors: active)": {
|
|
609
|
+
outline: "1px solid Highlight",
|
|
610
|
+
outlineOffset: 1
|
|
611
|
+
}
|
|
612
|
+
},
|
|
601
613
|
input: {
|
|
614
|
+
...srOnlyStyles,
|
|
602
615
|
appearance: "none",
|
|
603
|
-
width: "100%",
|
|
604
|
-
height: "100%",
|
|
605
|
-
position: "absolute",
|
|
606
616
|
left: 0,
|
|
607
617
|
top: 0,
|
|
608
|
-
margin: 0,
|
|
609
|
-
padding: 0,
|
|
610
|
-
border: "none",
|
|
611
618
|
background: "transparent",
|
|
612
619
|
cursor: "pointer",
|
|
613
|
-
borderRadius: "3em"
|
|
614
|
-
"&:focus": {
|
|
615
|
-
outline: "none",
|
|
616
|
-
boxShadow: `${theme.color.secondary} 0 0 0 1px inset !important`
|
|
617
|
-
},
|
|
618
|
-
"@media (forced-colors: active)": {
|
|
619
|
-
"&:focus": {
|
|
620
|
-
outline: "1px solid highlight"
|
|
621
|
-
}
|
|
622
|
-
}
|
|
620
|
+
borderRadius: "3em"
|
|
623
621
|
},
|
|
624
622
|
span: {
|
|
625
623
|
textAlign: "center",
|
|
@@ -634,9 +632,6 @@ var Label = styled.label(({ theme }) => ({
|
|
|
634
632
|
borderRadius: "3em",
|
|
635
633
|
color: curriedTransparentize$1(0.5, theme.color.defaultText),
|
|
636
634
|
background: "transparent",
|
|
637
|
-
"&:hover": {
|
|
638
|
-
boxShadow: `${curriedOpacify$1(0.3, theme.appBorderColor)} 0 0 0 1px inset`
|
|
639
|
-
},
|
|
640
635
|
"&:active": {
|
|
641
636
|
boxShadow: `${curriedOpacify$1(0.05, theme.appBorderColor)} 0 0 0 2px inset`,
|
|
642
637
|
color: curriedOpacify$1(1, theme.appBorderColor)
|
|
@@ -646,6 +641,10 @@ var Label = styled.label(({ theme }) => ({
|
|
|
646
641
|
},
|
|
647
642
|
"&:last-of-type": {
|
|
648
643
|
paddingLeft: 8
|
|
644
|
+
},
|
|
645
|
+
"@media (forced-colors: active)": {
|
|
646
|
+
color: "ButtonText",
|
|
647
|
+
boxShadow: "none"
|
|
649
648
|
}
|
|
650
649
|
},
|
|
651
650
|
"input:checked ~ span:last-of-type, input:not(:checked) ~ span:first-of-type": {
|
|
@@ -654,11 +653,16 @@ var Label = styled.label(({ theme }) => ({
|
|
|
654
653
|
color: theme.color.defaultText,
|
|
655
654
|
padding: "7px 15px",
|
|
656
655
|
"@media (forced-colors: active)": {
|
|
657
|
-
|
|
656
|
+
forcedColorAdjust: "none",
|
|
657
|
+
background: "Highlight",
|
|
658
|
+
color: "HighlightText",
|
|
659
|
+
boxShadow: "none",
|
|
660
|
+
outline: "1px solid ButtonText"
|
|
658
661
|
}
|
|
659
662
|
}
|
|
660
|
-
})), parse = (value) => value === "true", BooleanControl = ({
|
|
663
|
+
}), Label = styled.label(({ theme }) => getBooleanControlStyles(theme)), parse = (value) => value === "true", BooleanControl = ({
|
|
661
664
|
name,
|
|
665
|
+
storyId,
|
|
662
666
|
value,
|
|
663
667
|
onChange,
|
|
664
668
|
onBlur,
|
|
@@ -673,13 +677,13 @@ var Label = styled.label(({ theme }) => ({
|
|
|
673
677
|
ariaLabel: !1,
|
|
674
678
|
variant: "outline",
|
|
675
679
|
size: "medium",
|
|
676
|
-
id: getControlSetterButtonId(name),
|
|
680
|
+
id: getControlSetterButtonId(name, storyId),
|
|
677
681
|
onClick: onSetFalse,
|
|
678
682
|
disabled: readonly
|
|
679
683
|
},
|
|
680
684
|
"Set boolean"
|
|
681
685
|
);
|
|
682
|
-
let controlId = getControlId(name), parsedValue = typeof value == "string" ? parse(value) : value;
|
|
686
|
+
let controlId = getControlId(name, storyId), parsedValue = typeof value == "string" ? parse(value) : value;
|
|
683
687
|
return React.createElement(Label, { "aria-disabled": readonly, htmlFor: controlId, "aria-label": name }, React.createElement(
|
|
684
688
|
"input",
|
|
685
689
|
{
|
|
@@ -734,7 +738,15 @@ var parseDate = (value) => {
|
|
|
734
738
|
"div:last-of-type": {
|
|
735
739
|
flex: 3
|
|
736
740
|
}
|
|
737
|
-
}), DateControl = ({
|
|
741
|
+
}), DateControl = ({
|
|
742
|
+
name,
|
|
743
|
+
storyId,
|
|
744
|
+
value,
|
|
745
|
+
onChange,
|
|
746
|
+
onFocus,
|
|
747
|
+
onBlur,
|
|
748
|
+
argType
|
|
749
|
+
}) => {
|
|
738
750
|
let [valid, setValid] = useState(!0), dateRef = useRef(), timeRef = useRef(), readonly = !!argType?.table?.readonly;
|
|
739
751
|
useEffect(() => {
|
|
740
752
|
valid !== !1 && (dateRef && dateRef.current && (dateRef.current.value = value ? formatDate(value) : ""), timeRef && timeRef.current && (timeRef.current.value = value ? formatTime(value) : ""));
|
|
@@ -753,7 +765,7 @@ var parseDate = (value) => {
|
|
|
753
765
|
result.setHours(parsed.getHours()), result.setMinutes(parsed.getMinutes());
|
|
754
766
|
let time = result.getTime();
|
|
755
767
|
time && onChange(time), setValid(!!time);
|
|
756
|
-
}, controlId = getControlId(name);
|
|
768
|
+
}, controlId = getControlId(name, storyId);
|
|
757
769
|
return React2.createElement(FlexSpaced, null, React2.createElement("legend", { className: "sb-sr-only" }, name), React2.createElement("label", { htmlFor: `${controlId}-date`, className: "sb-sr-only" }, "Date"), React2.createElement(
|
|
758
770
|
FormInput,
|
|
759
771
|
{
|
|
@@ -795,6 +807,7 @@ var Wrapper = styled3.label({
|
|
|
795
807
|
background: theme.base === "light" ? theme.color.lighter : "transparent"
|
|
796
808
|
})), NumberControl = ({
|
|
797
809
|
name,
|
|
810
|
+
storyId,
|
|
798
811
|
value,
|
|
799
812
|
onChange,
|
|
800
813
|
min,
|
|
@@ -830,7 +843,7 @@ var Wrapper = styled3.label({
|
|
|
830
843
|
ariaLabel: !1,
|
|
831
844
|
variant: "outline",
|
|
832
845
|
size: "medium",
|
|
833
|
-
id: getControlSetterButtonId(name),
|
|
846
|
+
id: getControlSetterButtonId(name, storyId),
|
|
834
847
|
onClick: onForceVisible,
|
|
835
848
|
disabled: readonly
|
|
836
849
|
},
|
|
@@ -839,7 +852,7 @@ var Wrapper = styled3.label({
|
|
|
839
852
|
FormInput2,
|
|
840
853
|
{
|
|
841
854
|
ref: htmlElRef,
|
|
842
|
-
id: getControlId(name),
|
|
855
|
+
id: getControlId(name, storyId),
|
|
843
856
|
type: "number",
|
|
844
857
|
onChange: handleChange,
|
|
845
858
|
size: "flex",
|
|
@@ -907,6 +920,7 @@ var Wrapper2 = styled4.fieldset(
|
|
|
907
920
|
}
|
|
908
921
|
})), CheckboxControl = ({
|
|
909
922
|
name,
|
|
923
|
+
storyId,
|
|
910
924
|
options,
|
|
911
925
|
value,
|
|
912
926
|
onChange,
|
|
@@ -922,7 +936,7 @@ var Wrapper2 = styled4.fieldset(
|
|
|
922
936
|
useEffect3(() => {
|
|
923
937
|
setSelected(selectedKeys(value || [], options));
|
|
924
938
|
}, [value]);
|
|
925
|
-
let controlId = getControlId(name);
|
|
939
|
+
let controlId = getControlId(name, storyId);
|
|
926
940
|
return React4.createElement(Wrapper2, { $isInline: isInline }, React4.createElement("legend", { className: "sb-sr-only" }, name), Object.keys(options).map((key, index) => {
|
|
927
941
|
let id = `${controlId}-${index}`;
|
|
928
942
|
return React4.createElement(Label2, { key: id, htmlFor: id, $readOnly: readonly }, React4.createElement(
|
|
@@ -978,6 +992,7 @@ var Wrapper3 = styled5.fieldset(
|
|
|
978
992
|
}
|
|
979
993
|
})), RadioControl = ({
|
|
980
994
|
name,
|
|
995
|
+
storyId,
|
|
981
996
|
options,
|
|
982
997
|
value,
|
|
983
998
|
onChange,
|
|
@@ -986,7 +1001,7 @@ var Wrapper3 = styled5.fieldset(
|
|
|
986
1001
|
}) => {
|
|
987
1002
|
if (!options)
|
|
988
1003
|
return logger2.warn(`Radio with no options: ${name}`), React5.createElement(React5.Fragment, null, "-");
|
|
989
|
-
let selection = selectedKey(value, options), controlId = getControlId(name), readonly = !!argType?.table?.readonly;
|
|
1004
|
+
let selection = selectedKey(value, options), controlId = getControlId(name, storyId), readonly = !!argType?.table?.readonly;
|
|
990
1005
|
return React5.createElement(Wrapper3, { isInline }, React5.createElement("legend", { className: "sb-sr-only" }, name), Object.keys(options).map((key, index) => {
|
|
991
1006
|
let id = `${controlId}-${index}`;
|
|
992
1007
|
return React5.createElement(Label3, { key: id, htmlFor: id, $readOnly: readonly }, React5.createElement(
|
|
@@ -1080,16 +1095,16 @@ var styleResets = {
|
|
|
1080
1095
|
fill: theme.textMutedColor
|
|
1081
1096
|
}
|
|
1082
1097
|
}
|
|
1083
|
-
})), NO_SELECTION = "Choose option...", SingleSelect = ({ name, value, options, onChange, argType }) => {
|
|
1098
|
+
})), NO_SELECTION = "Choose option...", SingleSelect = ({ name, storyId, value, options, onChange, argType }) => {
|
|
1084
1099
|
let handleChange = (e2) => {
|
|
1085
1100
|
onChange(options[e2.currentTarget.value]);
|
|
1086
|
-
}, selection = selectedKey(value, options) || NO_SELECTION, controlId = getControlId(name), readonly = !!argType?.table?.readonly;
|
|
1101
|
+
}, selection = selectedKey(value, options) || NO_SELECTION, controlId = getControlId(name, storyId), readonly = !!argType?.table?.readonly;
|
|
1087
1102
|
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))));
|
|
1088
|
-
}, MultiSelect = ({ name, value, options, onChange, argType }) => {
|
|
1103
|
+
}, MultiSelect = ({ name, storyId, value, options, onChange, argType }) => {
|
|
1089
1104
|
let handleChange = (e2) => {
|
|
1090
1105
|
let selection2 = Array.from(e2.currentTarget.options).filter((option) => option.selected).map((option) => option.value);
|
|
1091
1106
|
onChange(selectedValues(selection2, options));
|
|
1092
|
-
}, selection = selectedKeys(value, options), controlId = getControlId(name), readonly = !!argType?.table?.readonly;
|
|
1107
|
+
}, selection = selectedKeys(value, options), controlId = getControlId(name, storyId), readonly = !!argType?.table?.readonly;
|
|
1093
1108
|
return React6.createElement(SelectWrapper, null, React6.createElement("label", { htmlFor: controlId, className: "sb-sr-only" }, name), React6.createElement(
|
|
1094
1109
|
OptionsSelect,
|
|
1095
1110
|
{
|
|
@@ -2386,7 +2401,7 @@ var { window: globalWindow } = globalThis, Wrapper4 = styled8.div(({ theme }) =>
|
|
|
2386
2401
|
event.currentTarget.dispatchEvent(new globalWindow.KeyboardEvent("keydown", ENTER_EVENT));
|
|
2387
2402
|
}, selectValue = (event) => {
|
|
2388
2403
|
event.currentTarget.select();
|
|
2389
|
-
}, ObjectControl = ({ name, value, onChange, argType }) => {
|
|
2404
|
+
}, ObjectControl = ({ name, storyId, value, onChange, argType }) => {
|
|
2390
2405
|
let theme = useTheme(), data = useMemo(() => value && cloneDeep(value), [value]), hasData = data != null, [showRaw, setShowRaw] = useState4(!hasData), [parseError, setParseError] = useState4(null), readonly = !!argType?.table?.readonly, updateRaw = useCallback3(
|
|
2391
2406
|
(raw) => {
|
|
2392
2407
|
try {
|
|
@@ -2409,7 +2424,7 @@ var { window: globalWindow } = globalThis, Wrapper4 = styled8.div(({ theme }) =>
|
|
|
2409
2424
|
{
|
|
2410
2425
|
ariaLabel: !1,
|
|
2411
2426
|
disabled: readonly,
|
|
2412
|
-
id: getControlSetterButtonId(name),
|
|
2427
|
+
id: getControlSetterButtonId(name, storyId),
|
|
2413
2428
|
onClick: onForceVisible
|
|
2414
2429
|
},
|
|
2415
2430
|
"Set object"
|
|
@@ -2418,7 +2433,7 @@ var { window: globalWindow } = globalThis, Wrapper4 = styled8.div(({ theme }) =>
|
|
|
2418
2433
|
RawInput,
|
|
2419
2434
|
{
|
|
2420
2435
|
ref: htmlElRef,
|
|
2421
|
-
id: getControlId(name),
|
|
2436
|
+
id: getControlId(name, storyId),
|
|
2422
2437
|
minRows: 3,
|
|
2423
2438
|
name,
|
|
2424
2439
|
key: jsonString,
|
|
@@ -2584,6 +2599,7 @@ function getNumberOfDecimalPlaces(number) {
|
|
|
2584
2599
|
}
|
|
2585
2600
|
var RangeControl = ({
|
|
2586
2601
|
name,
|
|
2602
|
+
storyId,
|
|
2587
2603
|
value,
|
|
2588
2604
|
onChange,
|
|
2589
2605
|
min = 0,
|
|
@@ -2595,7 +2611,7 @@ var RangeControl = ({
|
|
|
2595
2611
|
}) => {
|
|
2596
2612
|
let handleChange = (event) => {
|
|
2597
2613
|
onChange(parse2(event.target.value));
|
|
2598
|
-
}, hasValue = value !== void 0, numberOFDecimalsPlaces = useMemo2(() => getNumberOfDecimalPlaces(step), [step]), readonly = !!argType?.table?.readonly, controlId = getControlId(name);
|
|
2614
|
+
}, hasValue = value !== void 0, numberOFDecimalsPlaces = useMemo2(() => getNumberOfDecimalPlaces(step), [step]), readonly = !!argType?.table?.readonly, controlId = getControlId(name, storyId);
|
|
2599
2615
|
return React12.createElement(RangeWrapper, { readOnly: readonly }, React12.createElement("label", { htmlFor: controlId, className: "sb-sr-only" }, name), React12.createElement(RangeLabel, null, min), React12.createElement(
|
|
2600
2616
|
RangeInput,
|
|
2601
2617
|
{
|
|
@@ -2626,6 +2642,7 @@ var Wrapper5 = styled10.label({
|
|
|
2626
2642
|
color: isMaxed ? "red" : void 0
|
|
2627
2643
|
})), TextControl = ({
|
|
2628
2644
|
name,
|
|
2645
|
+
storyId,
|
|
2629
2646
|
value,
|
|
2630
2647
|
onChange,
|
|
2631
2648
|
onFocus,
|
|
@@ -2646,7 +2663,7 @@ var Wrapper5 = styled10.label({
|
|
|
2646
2663
|
variant: "outline",
|
|
2647
2664
|
size: "medium",
|
|
2648
2665
|
disabled: readonly,
|
|
2649
|
-
id: getControlSetterButtonId(name),
|
|
2666
|
+
id: getControlSetterButtonId(name, storyId),
|
|
2650
2667
|
onClick: onForceVisible
|
|
2651
2668
|
},
|
|
2652
2669
|
"Set string"
|
|
@@ -2655,7 +2672,7 @@ var Wrapper5 = styled10.label({
|
|
|
2655
2672
|
return React13.createElement(Wrapper5, null, React13.createElement(
|
|
2656
2673
|
Form4.Textarea,
|
|
2657
2674
|
{
|
|
2658
|
-
id: getControlId(name),
|
|
2675
|
+
id: getControlId(name, storyId),
|
|
2659
2676
|
maxLength,
|
|
2660
2677
|
onChange: handleChange,
|
|
2661
2678
|
disabled: readonly,
|
|
@@ -2686,6 +2703,7 @@ function revokeOldUrls(urls) {
|
|
|
2686
2703
|
var FilesControl = ({
|
|
2687
2704
|
onChange,
|
|
2688
2705
|
name,
|
|
2706
|
+
storyId,
|
|
2689
2707
|
accept = "image/*",
|
|
2690
2708
|
value,
|
|
2691
2709
|
argType
|
|
@@ -2700,7 +2718,7 @@ var FilesControl = ({
|
|
|
2700
2718
|
useEffect5(() => {
|
|
2701
2719
|
value == null && inputElement.current && (inputElement.current.value = "");
|
|
2702
2720
|
}, [value, name]);
|
|
2703
|
-
let controlId = getControlId(name);
|
|
2721
|
+
let controlId = getControlId(name, storyId);
|
|
2704
2722
|
return React14.createElement(React14.Fragment, null, React14.createElement("label", { htmlFor: controlId, className: "sb-sr-only" }, name), React14.createElement(
|
|
2705
2723
|
FileInput,
|
|
2706
2724
|
{
|
|
@@ -2718,7 +2736,7 @@ var FilesControl = ({
|
|
|
2718
2736
|
};
|
|
2719
2737
|
|
|
2720
2738
|
// src/blocks/controls/index.tsx
|
|
2721
|
-
var LazyColorControl = lazy(() => import("./_browser-chunks/Color-
|
|
2739
|
+
var LazyColorControl = lazy(() => import("./_browser-chunks/Color-23OOGO2C.js")), ColorControl = (props) => React15.createElement(Suspense, { fallback: React15.createElement("div", null) }, React15.createElement(LazyColorControl, { ...props }));
|
|
2722
2740
|
|
|
2723
2741
|
// src/blocks/components/ArgsTable/ArgControl.tsx
|
|
2724
2742
|
var Controls2 = {
|
|
@@ -2737,7 +2755,7 @@ var Controls2 = {
|
|
|
2737
2755
|
range: RangeControl,
|
|
2738
2756
|
text: TextControl,
|
|
2739
2757
|
file: FilesControl
|
|
2740
|
-
}, NoControl = () => React16.createElement(React16.Fragment, null, "-"), ArgControl = ({ row, arg, updateArgs, isHovered }) => {
|
|
2758
|
+
}, NoControl = () => React16.createElement(React16.Fragment, null, "-"), ArgControl = ({ row, arg, updateArgs, isHovered, storyId }) => {
|
|
2741
2759
|
let { key, control } = row, [isFocused, setFocused] = useState6(!1), [boxedValue, setBoxedValue] = useState6({ value: arg });
|
|
2742
2760
|
useEffect6(() => {
|
|
2743
2761
|
isFocused || setBoxedValue({ value: arg });
|
|
@@ -2758,7 +2776,15 @@ var Controls2 = {
|
|
|
2758
2776
|
"Setup controls"
|
|
2759
2777
|
) : React16.createElement(NoControl, null);
|
|
2760
2778
|
}
|
|
2761
|
-
let props = {
|
|
2779
|
+
let props = {
|
|
2780
|
+
name: key,
|
|
2781
|
+
storyId,
|
|
2782
|
+
argType: row,
|
|
2783
|
+
value: boxedValue.value,
|
|
2784
|
+
onChange,
|
|
2785
|
+
onBlur,
|
|
2786
|
+
onFocus
|
|
2787
|
+
}, Control = Controls2[control.type] || NoControl;
|
|
2762
2788
|
return React16.createElement(Control, { ...props, ...control, controlType: control.type });
|
|
2763
2789
|
};
|
|
2764
2790
|
|
|
@@ -3367,7 +3393,8 @@ var sortFns = {
|
|
|
3367
3393
|
inTabPanel,
|
|
3368
3394
|
initialExpandedArgs,
|
|
3369
3395
|
sort = "none",
|
|
3370
|
-
isLoading
|
|
3396
|
+
isLoading,
|
|
3397
|
+
storyId
|
|
3371
3398
|
} = props;
|
|
3372
3399
|
if ("error" in props) {
|
|
3373
3400
|
let { error } = props;
|
|
@@ -3386,7 +3413,7 @@ var sortFns = {
|
|
|
3386
3413
|
return React23.createElement(Empty, { inAddonPanel });
|
|
3387
3414
|
let colSpan = 1;
|
|
3388
3415
|
updateArgs && (colSpan += 1), compact2 || (colSpan += 2);
|
|
3389
|
-
let expandable = Object.keys(groups.sections).length > 0, common = { updateArgs, compact: compact2, inAddonPanel, initialExpandedArgs };
|
|
3416
|
+
let expandable = Object.keys(groups.sections).length > 0, common = { updateArgs, compact: compact2, inAddonPanel, initialExpandedArgs, storyId };
|
|
3390
3417
|
return React23.createElement(ResetWrapper, null, React23.createElement(TablePositionWrapper, null, updateArgs && !isLoading && resetArgs && React23.createElement(ButtonPositionWrapper, null, React23.createElement(
|
|
3391
3418
|
StyledButton,
|
|
3392
3419
|
{
|
|
@@ -4166,6 +4193,7 @@ var DocsContext = globalThis ? globalThis.__DOCS_CONTEXT__ : createContext(null)
|
|
|
4166
4193
|
|
|
4167
4194
|
// src/blocks/blocks/Story.tsx
|
|
4168
4195
|
import React26, { useContext } from "react";
|
|
4196
|
+
import { InvalidBlockOfPropError } from "storybook/internal/preview-errors";
|
|
4169
4197
|
|
|
4170
4198
|
// src/blocks/blocks/useStory.ts
|
|
4171
4199
|
import { useEffect as useEffect8, useState as useState11 } from "react";
|
|
@@ -4216,7 +4244,7 @@ var MDX_WRAPPED_BLOCK = Symbol("mdxWrappedBlock"), MdxWrappedBlockContext = Reac
|
|
|
4216
4244
|
var getStoryId = (props, context) => {
|
|
4217
4245
|
let { of, meta } = props;
|
|
4218
4246
|
if ("of" in props && of === void 0)
|
|
4219
|
-
throw new
|
|
4247
|
+
throw new InvalidBlockOfPropError();
|
|
4220
4248
|
return meta && context.referenceMeta(meta, !1), context.resolveOf(of || "story", ["story"]).story.id;
|
|
4221
4249
|
}, getStoryProps = (props, story, context) => {
|
|
4222
4250
|
let { parameters = {} } = story || {}, { docs = {} } = parameters, storyParameters = docs.story || {};
|
|
@@ -4364,7 +4392,7 @@ var storyBlockIdFromId = ({ story, primary }) => `story--${story.id}${primary ?
|
|
|
4364
4392
|
// src/blocks/components/Toolbar.tsx
|
|
4365
4393
|
import React29 from "react";
|
|
4366
4394
|
import { Button as Button6, Toolbar as SharedToolbar } from "storybook/internal/components";
|
|
4367
|
-
import { ShareAltIcon, ZoomIcon, ZoomOutIcon, ZoomResetIcon } from "@storybook/icons";
|
|
4395
|
+
import { ShareAltIcon, SyncIcon, ZoomIcon, ZoomOutIcon, ZoomResetIcon } from "@storybook/icons";
|
|
4368
4396
|
import { styled as styled21 } from "storybook/theming";
|
|
4369
4397
|
var AbsoluteBar = styled21(SharedToolbar)({
|
|
4370
4398
|
position: "absolute",
|
|
@@ -4385,7 +4413,24 @@ var AbsoluteBar = styled21(SharedToolbar)({
|
|
|
4385
4413
|
margin: "0 7px",
|
|
4386
4414
|
backgroundColor: theme.appBorderColor,
|
|
4387
4415
|
animation: `${theme.animation.glow} 1.5s ease-in-out infinite`
|
|
4388
|
-
})), Toolbar = ({
|
|
4416
|
+
})), Toolbar = ({
|
|
4417
|
+
isLoading,
|
|
4418
|
+
storyId,
|
|
4419
|
+
zoom,
|
|
4420
|
+
resetZoom,
|
|
4421
|
+
onReloadStory,
|
|
4422
|
+
...rest
|
|
4423
|
+
}) => 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(
|
|
4424
|
+
Button6,
|
|
4425
|
+
{
|
|
4426
|
+
padding: "small",
|
|
4427
|
+
variant: "ghost",
|
|
4428
|
+
key: "reload",
|
|
4429
|
+
onClick: onReloadStory,
|
|
4430
|
+
ariaLabel: "Reload story"
|
|
4431
|
+
},
|
|
4432
|
+
React29.createElement(SyncIcon, null)
|
|
4433
|
+
), React29.createElement(
|
|
4389
4434
|
Button6,
|
|
4390
4435
|
{
|
|
4391
4436
|
padding: "small",
|
|
@@ -4517,6 +4562,7 @@ var PositionedToolbar = styled22(Toolbar)({
|
|
|
4517
4562
|
className,
|
|
4518
4563
|
layout = "padded",
|
|
4519
4564
|
inline = !1,
|
|
4565
|
+
onReloadStory,
|
|
4520
4566
|
...props
|
|
4521
4567
|
}) => {
|
|
4522
4568
|
let [expanded, setExpanded] = useState13(isExpanded), [copied, setCopied] = useState13(null), [scale, setScale] = useState13(1), additionalActionItems = useMemo3(
|
|
@@ -4548,7 +4594,8 @@ var PositionedToolbar = styled22(Toolbar)({
|
|
|
4548
4594
|
border: !0,
|
|
4549
4595
|
zoom: (z2) => setScale(scale * z2),
|
|
4550
4596
|
resetZoom: () => setScale(1),
|
|
4551
|
-
storyId: !isLoading && childProps ? getStoryId(childProps, context) : void 0
|
|
4597
|
+
storyId: !isLoading && childProps ? getStoryId(childProps, context) : void 0,
|
|
4598
|
+
onReloadStory
|
|
4552
4599
|
}
|
|
4553
4600
|
),
|
|
4554
4601
|
React30.createElement(ZoomContext.Provider, { value: { scale } }, React30.createElement(
|
|
@@ -5447,6 +5494,7 @@ var anchorBlockIdFromId = (storyId) => `anchor--${storyId}`, Anchor = ({ storyId
|
|
|
5447
5494
|
|
|
5448
5495
|
// src/blocks/blocks/ArgTypes.tsx
|
|
5449
5496
|
import React37 from "react";
|
|
5497
|
+
import { InvalidBlockOfPropError as InvalidBlockOfPropError2 } from "storybook/internal/preview-errors";
|
|
5450
5498
|
import { filterArgTypes } from "storybook/preview-api";
|
|
5451
5499
|
|
|
5452
5500
|
// src/blocks/blocks/useOf.ts
|
|
@@ -5499,7 +5547,7 @@ function getArgTypesFromResolved(resolved) {
|
|
|
5499
5547
|
var ArgTypesImpl = (props) => {
|
|
5500
5548
|
let { of } = props;
|
|
5501
5549
|
if ("of" in props && of === void 0)
|
|
5502
|
-
throw new
|
|
5550
|
+
throw new InvalidBlockOfPropError2();
|
|
5503
5551
|
let resolved = useOf(of || "meta"), { argTypes, parameters, component, subcomponents } = getArgTypesFromResolved(resolved), argTypesParameters = parameters?.docs?.argTypes || {}, include = props.include ?? argTypesParameters.include, exclude = props.exclude ?? argTypesParameters.exclude, sort = props.sort ?? argTypesParameters.sort, filteredArgTypes = filterArgTypes(argTypes, include, exclude);
|
|
5504
5552
|
if (!(!!subcomponents && Object.keys(subcomponents || {}).length > 0))
|
|
5505
5553
|
return React37.createElement(ArgsTable, { rows: filteredArgTypes, sort });
|
|
@@ -5523,11 +5571,14 @@ var ArgTypesImpl = (props) => {
|
|
|
5523
5571
|
}, ArgTypes = withMdxComponentOverride("ArgTypes", ArgTypesImpl);
|
|
5524
5572
|
|
|
5525
5573
|
// src/blocks/blocks/Canvas.tsx
|
|
5526
|
-
import React40, { useContext as useContext5 } from "react";
|
|
5574
|
+
import React40, { useCallback as useCallback7, useContext as useContext5 } from "react";
|
|
5575
|
+
import { FORCE_REMOUNT } from "storybook/internal/core-events";
|
|
5576
|
+
import { InvalidBlockOfPropError as InvalidBlockOfPropError4 } from "storybook/internal/preview-errors";
|
|
5527
5577
|
|
|
5528
5578
|
// src/blocks/blocks/Source.tsx
|
|
5529
5579
|
import React39, { useContext as useContext4, useMemo as useMemo4 } from "react";
|
|
5530
5580
|
import { SourceType } from "storybook/internal/docs-tools";
|
|
5581
|
+
import { InvalidBlockOfPropError as InvalidBlockOfPropError3 } from "storybook/internal/preview-errors";
|
|
5531
5582
|
|
|
5532
5583
|
// src/blocks/blocks/SourceContainer.tsx
|
|
5533
5584
|
import React38, { createContext as createContext3, useEffect as useEffect11, useState as useState14 } from "react";
|
|
@@ -6600,7 +6651,7 @@ function useTransformCode(source, transform, storyContext) {
|
|
|
6600
6651
|
}
|
|
6601
6652
|
|
|
6602
6653
|
// src/blocks/blocks/Source.tsx
|
|
6603
|
-
var getStorySource = (storyId, args, sourceContext) => {
|
|
6654
|
+
var EMPTY_SOURCE_CONTEXT = { sources: {} }, getStorySource = (storyId, args, sourceContext) => {
|
|
6604
6655
|
let { sources } = sourceContext, sourceMap = sources?.[storyId];
|
|
6605
6656
|
return sourceMap?.[argsHash(args)] || sourceMap?.[UNKNOWN_ARGS_HASH] || { code: "" };
|
|
6606
6657
|
}, useCode = ({
|
|
@@ -6627,9 +6678,9 @@ var getStorySource = (storyId, args, sourceContext) => {
|
|
|
6627
6678
|
transformFromProps: props.transform
|
|
6628
6679
|
});
|
|
6629
6680
|
if ("of" in props && of === void 0)
|
|
6630
|
-
throw new
|
|
6681
|
+
throw new InvalidBlockOfPropError3();
|
|
6631
6682
|
let sourceParameters = story?.parameters?.docs?.source || {}, format2 = props.format, language = props.language ?? sourceParameters.language ?? "jsx", dark = props.dark ?? sourceParameters.dark ?? !1;
|
|
6632
|
-
return
|
|
6683
|
+
return props.code === void 0 && !story ? { error: "Oh no! The source is not available." /* SOURCE_UNAVAILABLE */ } : props.code !== void 0 ? {
|
|
6633
6684
|
code: props.code,
|
|
6634
6685
|
format: format2,
|
|
6635
6686
|
language,
|
|
@@ -6640,17 +6691,22 @@ var getStorySource = (storyId, args, sourceContext) => {
|
|
|
6640
6691
|
language,
|
|
6641
6692
|
dark
|
|
6642
6693
|
});
|
|
6643
|
-
},
|
|
6694
|
+
}, SourceWithStorySnippet = (props) => {
|
|
6644
6695
|
let sourceContext = useContext4(SourceContext), docsContext = useContext4(DocsContext), sourceProps = useSourceProps(props, docsContext, sourceContext);
|
|
6645
6696
|
return React39.createElement(Source, { ...sourceProps });
|
|
6646
|
-
},
|
|
6697
|
+
}, SourceWithCode = (props) => {
|
|
6698
|
+
let docsContext = useContext4(DocsContext), sourceProps = useSourceProps(props, docsContext, EMPTY_SOURCE_CONTEXT);
|
|
6699
|
+
return React39.createElement(Source, { ...sourceProps });
|
|
6700
|
+
}, SourceImpl = (props) => props.code !== void 0 ? React39.createElement(SourceWithCode, { ...props }) : React39.createElement(SourceWithStorySnippet, { ...props }), Source2 = withMdxComponentOverride("Source", SourceImpl);
|
|
6647
6701
|
|
|
6648
6702
|
// src/blocks/blocks/Canvas.tsx
|
|
6649
6703
|
var CanvasImpl = (props) => {
|
|
6650
6704
|
let docsContext = useContext5(DocsContext), sourceContext = useContext5(SourceContext), { of, source } = props;
|
|
6651
6705
|
if ("of" in props && of === void 0)
|
|
6652
|
-
throw new
|
|
6653
|
-
let { story } = useOf(of || "story", ["story"]), sourceProps = useSourceProps({ ...source, ...of && { of } }, docsContext, sourceContext), layout = props.layout ?? story.parameters.layout ?? story.parameters.docs?.canvas?.layout ?? "padded", withToolbar = props.withToolbar ?? story.parameters.docs?.canvas?.withToolbar ?? !1, additionalActions = props.additionalActions ?? story.parameters.docs?.canvas?.additionalActions, sourceState = props.sourceState ?? story.parameters.docs?.canvas?.sourceState ?? "hidden", className = props.className ?? story.parameters.docs?.canvas?.className, inline = props.story?.inline ?? story.parameters?.docs?.story?.inline ?? !1
|
|
6706
|
+
throw new InvalidBlockOfPropError4();
|
|
6707
|
+
let { story } = useOf(of || "story", ["story"]), sourceProps = useSourceProps({ ...source, ...of && { of } }, docsContext, sourceContext), layout = props.layout ?? story.parameters.layout ?? story.parameters.docs?.canvas?.layout ?? "padded", withToolbar = props.withToolbar ?? story.parameters.docs?.canvas?.withToolbar ?? !1, additionalActions = props.additionalActions ?? story.parameters.docs?.canvas?.additionalActions, sourceState = props.sourceState ?? story.parameters.docs?.canvas?.sourceState ?? "hidden", className = props.className ?? story.parameters.docs?.canvas?.className, inline = props.story?.inline ?? story.parameters?.docs?.story?.inline ?? !1, handleReloadStory = useCallback7(() => {
|
|
6708
|
+
docsContext.channel.emit(FORCE_REMOUNT, { storyId: story.id });
|
|
6709
|
+
}, [docsContext.channel, story.id]);
|
|
6654
6710
|
return React40.createElement(
|
|
6655
6711
|
Preview,
|
|
6656
6712
|
{
|
|
@@ -6660,7 +6716,8 @@ var CanvasImpl = (props) => {
|
|
|
6660
6716
|
additionalActions,
|
|
6661
6717
|
className,
|
|
6662
6718
|
layout,
|
|
6663
|
-
inline
|
|
6719
|
+
inline,
|
|
6720
|
+
onReloadStory: inline ? handleReloadStory : void 0
|
|
6664
6721
|
},
|
|
6665
6722
|
React40.createElement(Story2, { of: of || story.moduleExport, meta: props.meta, ...props.story })
|
|
6666
6723
|
);
|
|
@@ -6671,7 +6728,7 @@ import React41, { useContext as useContext7 } from "react";
|
|
|
6671
6728
|
import { filterArgTypes as filterArgTypes2 } from "storybook/preview-api";
|
|
6672
6729
|
|
|
6673
6730
|
// src/blocks/blocks/useArgs.ts
|
|
6674
|
-
import { useCallback as
|
|
6731
|
+
import { useCallback as useCallback8, useEffect as useEffect13, useState as useState16 } from "react";
|
|
6675
6732
|
import {
|
|
6676
6733
|
RESET_STORY_ARGS,
|
|
6677
6734
|
STORY_ARGS_UPDATED,
|
|
@@ -6690,10 +6747,10 @@ var useArgs = (story, context) => {
|
|
|
6690
6747
|
};
|
|
6691
6748
|
return context.channel.on(STORY_ARGS_UPDATED, onArgsUpdated), () => context.channel.off(STORY_ARGS_UPDATED, onArgsUpdated);
|
|
6692
6749
|
}, [storyId, context.channel]);
|
|
6693
|
-
let updateArgs =
|
|
6750
|
+
let updateArgs = useCallback8(
|
|
6694
6751
|
(updatedArgs) => context.channel.emit(UPDATE_STORY_ARGS, { storyId, updatedArgs }),
|
|
6695
6752
|
[storyId, context.channel]
|
|
6696
|
-
), resetArgs =
|
|
6753
|
+
), resetArgs = useCallback8(
|
|
6697
6754
|
(argNames) => context.channel.emit(RESET_STORY_ARGS, { storyId, argNames }),
|
|
6698
6755
|
[storyId, context.channel]
|
|
6699
6756
|
);
|
|
@@ -6734,6 +6791,7 @@ var ControlsImpl = (props) => {
|
|
|
6734
6791
|
return Object.keys(filteredArgTypes).length > 0 || Object.keys(args).length > 0 ? React41.createElement(
|
|
6735
6792
|
ArgsTable,
|
|
6736
6793
|
{
|
|
6794
|
+
storyId: story.id,
|
|
6737
6795
|
rows: filteredArgTypes,
|
|
6738
6796
|
sort,
|
|
6739
6797
|
args,
|
|
@@ -6762,13 +6820,15 @@ var ControlsImpl = (props) => {
|
|
|
6762
6820
|
args,
|
|
6763
6821
|
globals,
|
|
6764
6822
|
updateArgs,
|
|
6765
|
-
resetArgs
|
|
6823
|
+
resetArgs,
|
|
6824
|
+
storyId: story.id
|
|
6766
6825
|
}
|
|
6767
6826
|
);
|
|
6768
6827
|
}, Controls3 = withMdxComponentOverride("Controls", ControlsImpl);
|
|
6769
6828
|
|
|
6770
6829
|
// src/blocks/blocks/Description.tsx
|
|
6771
6830
|
import React44 from "react";
|
|
6831
|
+
import { InvalidBlockOfPropError as InvalidBlockOfPropError5 } from "storybook/internal/preview-errors";
|
|
6772
6832
|
|
|
6773
6833
|
// src/blocks/blocks/Markdown.tsx
|
|
6774
6834
|
import React43 from "react";
|
|
@@ -6967,7 +7027,7 @@ var DescriptionType = /* @__PURE__ */ ((DescriptionType2) => (DescriptionType2.I
|
|
|
6967
7027
|
}, DescriptionImpl = (props) => {
|
|
6968
7028
|
let { of } = props;
|
|
6969
7029
|
if ("of" in props && of === void 0)
|
|
6970
|
-
throw new
|
|
7030
|
+
throw new InvalidBlockOfPropError5();
|
|
6971
7031
|
let resolvedOf = useOf(of || "meta"), markdown = getDescriptionFromResolvedOf(resolvedOf);
|
|
6972
7032
|
return markdown ? React44.createElement(Markdown, null, markdown) : null;
|
|
6973
7033
|
}, Description2 = withMdxComponentOverride("Description", DescriptionImpl);
|
|
@@ -7150,10 +7210,11 @@ var StyledHeading = styled29(Heading2)(({ theme }) => ({
|
|
|
7150
7210
|
// src/blocks/blocks/Subtitle.tsx
|
|
7151
7211
|
import React51 from "react";
|
|
7152
7212
|
import { deprecate } from "storybook/internal/client-logger";
|
|
7213
|
+
import { InvalidBlockOfPropError as InvalidBlockOfPropError6 } from "storybook/internal/preview-errors";
|
|
7153
7214
|
var DEPRECATION_MIGRATION_LINK = "https://github.com/storybookjs/storybook/blob/next/MIGRATION.md#subtitle-block-and-parameterscomponentsubtitle", SubtitleImpl = (props) => {
|
|
7154
7215
|
let { of, children } = props;
|
|
7155
7216
|
if ("of" in props && of === void 0)
|
|
7156
|
-
throw new
|
|
7217
|
+
throw new InvalidBlockOfPropError6();
|
|
7157
7218
|
let preparedMeta;
|
|
7158
7219
|
try {
|
|
7159
7220
|
preparedMeta = useOf(of || "meta", ["meta"]).preparedMeta;
|
|
@@ -7171,13 +7232,14 @@ var DEPRECATION_MIGRATION_LINK = "https://github.com/storybookjs/storybook/blob/
|
|
|
7171
7232
|
|
|
7172
7233
|
// src/blocks/blocks/Title.tsx
|
|
7173
7234
|
import React52 from "react";
|
|
7235
|
+
import { InvalidBlockOfPropError as InvalidBlockOfPropError7 } from "storybook/internal/preview-errors";
|
|
7174
7236
|
var STORY_KIND_PATH_SEPARATOR = /\s*\/\s*/, extractTitle = (title) => {
|
|
7175
7237
|
let groups = title.trim().split(STORY_KIND_PATH_SEPARATOR);
|
|
7176
7238
|
return groups?.[groups?.length - 1] || title;
|
|
7177
7239
|
}, TitleImpl = (props) => {
|
|
7178
7240
|
let { children, of } = props;
|
|
7179
7241
|
if ("of" in props && of === void 0)
|
|
7180
|
-
throw new
|
|
7242
|
+
throw new InvalidBlockOfPropError7();
|
|
7181
7243
|
let preparedMeta;
|
|
7182
7244
|
try {
|
|
7183
7245
|
preparedMeta = useOf(of || "meta", ["meta"]).preparedMeta;
|
package/dist/mdx-loader.js
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
1
|
+
import CJS_COMPAT_NODE_URL_bem9xq5gsqn from 'node:url';
|
|
2
|
+
import CJS_COMPAT_NODE_PATH_bem9xq5gsqn from 'node:path';
|
|
3
|
+
import CJS_COMPAT_NODE_MODULE_bem9xq5gsqn from "node:module";
|
|
4
4
|
|
|
5
|
-
var __filename =
|
|
6
|
-
var __dirname =
|
|
7
|
-
var require =
|
|
5
|
+
var __filename = CJS_COMPAT_NODE_URL_bem9xq5gsqn.fileURLToPath(import.meta.url);
|
|
6
|
+
var __dirname = CJS_COMPAT_NODE_PATH_bem9xq5gsqn.dirname(__filename);
|
|
7
|
+
var require = CJS_COMPAT_NODE_MODULE_bem9xq5gsqn.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-
|
|
15
|
-
import "./_node-chunks/chunk-
|
|
16
|
-
import "./_node-chunks/chunk-
|
|
17
|
-
import "./_node-chunks/chunk-
|
|
14
|
+
} from "./_node-chunks/chunk-EEG4RDZ5.js";
|
|
15
|
+
import "./_node-chunks/chunk-KUAESHGL.js";
|
|
16
|
+
import "./_node-chunks/chunk-RG2UQ7CS.js";
|
|
17
|
+
import "./_node-chunks/chunk-XOX2N3QE.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
|
|
2
|
-
import
|
|
3
|
-
import
|
|
1
|
+
import CJS_COMPAT_NODE_URL_bem9xq5gsqn from 'node:url';
|
|
2
|
+
import CJS_COMPAT_NODE_PATH_bem9xq5gsqn from 'node:path';
|
|
3
|
+
import CJS_COMPAT_NODE_MODULE_bem9xq5gsqn from "node:module";
|
|
4
4
|
|
|
5
|
-
var __filename =
|
|
6
|
-
var __dirname =
|
|
7
|
-
var require =
|
|
5
|
+
var __filename = CJS_COMPAT_NODE_URL_bem9xq5gsqn.fileURLToPath(import.meta.url);
|
|
6
|
+
var __dirname = CJS_COMPAT_NODE_PATH_bem9xq5gsqn.dirname(__filename);
|
|
7
|
+
var require = CJS_COMPAT_NODE_MODULE_bem9xq5gsqn.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-
|
|
12
|
+
import "./_node-chunks/chunk-XOX2N3QE.js";
|
|
13
13
|
|
|
14
14
|
// src/preset.ts
|
|
15
15
|
import { isAbsolute as isAbsolute2 } from "node:path";
|
|
@@ -312,7 +312,7 @@ var getResolvedReact = async (options) => {
|
|
|
312
312
|
};
|
|
313
313
|
};
|
|
314
314
|
async function webpack(webpackConfig = {}, options) {
|
|
315
|
-
let { module = {} } = webpackConfig, { csfPluginOptions = {}, mdxPluginOptions = {} } = options, enrichCsf = await options.presets.apply("experimental_enrichCsf"), rehypeSlug = (await import("./_node-chunks/rehype-slug-
|
|
315
|
+
let { module = {} } = webpackConfig, { csfPluginOptions = {}, mdxPluginOptions = {} } = options, enrichCsf = await options.presets.apply("experimental_enrichCsf"), rehypeSlug = (await import("./_node-chunks/rehype-slug-CPBEERZT.js")).default, rehypeExternalLinks = (await import("./_node-chunks/rehype-external-links-P7YOBLT5.js")).default, mdxLoaderOptions = await options.presets.apply("mdxLoaderOptions", {
|
|
316
316
|
...mdxPluginOptions,
|
|
317
317
|
mdxCompileOptions: {
|
|
318
318
|
providerImportSource: import.meta.resolve("@storybook/addon-docs/mdx-react-shim"),
|
|
@@ -388,7 +388,7 @@ var docs = (input = {}, options) => {
|
|
|
388
388
|
}, addons = [
|
|
389
389
|
import.meta.resolve("@storybook/react-dom-shim/preset")
|
|
390
390
|
], viteFinal = async (config, options) => {
|
|
391
|
-
let { plugins = [] } = config, { mdxPlugin } = await import("./_node-chunks/mdx-plugin-
|
|
391
|
+
let { plugins = [] } = config, { mdxPlugin } = await import("./_node-chunks/mdx-plugin-XGLK6OPD.js"), { react, reactDom, mdx } = await getResolvedReact(options), packageDeduplicationPlugin = {
|
|
392
392
|
name: "storybook:package-deduplication",
|
|
393
393
|
enforce: "pre",
|
|
394
394
|
config: () => ({
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@storybook/addon-docs",
|
|
3
|
-
"version": "10.4.0-alpha.
|
|
3
|
+
"version": "10.4.0-alpha.10",
|
|
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.4.0-alpha.
|
|
90
|
+
"@storybook/csf-plugin": "10.4.0-alpha.10",
|
|
91
91
|
"@storybook/icons": "^2.0.1",
|
|
92
|
-
"@storybook/react-dom-shim": "10.4.0-alpha.
|
|
92
|
+
"@storybook/react-dom-shim": "10.4.0-alpha.10",
|
|
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"
|
|
@@ -116,7 +116,7 @@
|
|
|
116
116
|
"vite": "^7.0.4"
|
|
117
117
|
},
|
|
118
118
|
"peerDependencies": {
|
|
119
|
-
"storybook": "^10.4.0-alpha.
|
|
119
|
+
"storybook": "^10.4.0-alpha.10"
|
|
120
120
|
},
|
|
121
121
|
"publishConfig": {
|
|
122
122
|
"access": "public"
|