storybook 10.2.0-alpha.1 → 10.2.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.
Files changed (120) hide show
  1. package/dist/_browser-chunks/{Color-TNPFN3FC.js → Color-XESOIGZP.js} +9 -568
  2. package/dist/_browser-chunks/{WithTooltip-IO6J4KBT.js → WithTooltip-65CFNBJE.js} +70 -70
  3. package/dist/_browser-chunks/{chunk-45UGUKRX.js → chunk-242VQQM5.js} +1 -1
  4. package/dist/_browser-chunks/{chunk-JP7NCOJX.js → chunk-3LY4VQVK.js} +1 -1
  5. package/dist/_browser-chunks/{chunk-VYJQ7RU5.js → chunk-G4M6MXF4.js} +31 -27
  6. package/dist/_browser-chunks/{chunk-BRX2HXH7.js → chunk-IH6QJILI.js} +1 -1
  7. package/dist/_browser-chunks/{chunk-AS2HQEYC.js → chunk-IWQGIXJS.js} +1 -1
  8. package/dist/_browser-chunks/{chunk-3IAH5M2U.js → chunk-IYCKG66Y.js} +5 -5
  9. package/dist/_browser-chunks/{chunk-UD6FQLAF.js → chunk-JK6U3MQW.js} +3 -3
  10. package/dist/_browser-chunks/{chunk-FQ7SLVLR.js → chunk-JVRDBUUP.js} +20 -1
  11. package/dist/_browser-chunks/{chunk-GFLS4VP3.js → chunk-LCHBOIHN.js} +6 -6
  12. package/dist/_browser-chunks/{chunk-CHUV5WSW.js → chunk-LE2LTDW3.js} +1 -1
  13. package/dist/_browser-chunks/{chunk-IPA5A322.js → chunk-MEXTPDJG.js} +1 -1
  14. package/dist/_browser-chunks/{chunk-XJNX76GA.js → chunk-NQJGOFZV.js} +4 -4
  15. package/dist/_browser-chunks/chunk-NZMVUW5T.js +7 -0
  16. package/dist/_browser-chunks/{chunk-2XZMBGTA.js → chunk-POMIZRJL.js} +3 -3
  17. package/dist/_browser-chunks/{chunk-RP5RXKFU.js → chunk-Q5RYDXT3.js} +38 -30
  18. package/dist/_browser-chunks/{chunk-SS2NHR7W.js → chunk-RBABWY22.js} +18 -18
  19. package/dist/_browser-chunks/{chunk-AXG2BOBL.js → chunk-S6TK43XQ.js} +10 -10
  20. package/dist/_browser-chunks/{chunk-AIOS4NGK.js → chunk-SWJP5COI.js} +11 -11
  21. package/dist/_browser-chunks/{chunk-H6XK3RSC.js → chunk-UAYGIC3L.js} +6 -6
  22. package/dist/_browser-chunks/{chunk-YKE5S47A.js → chunk-V2VKKSMQ.js} +18 -18
  23. package/dist/_browser-chunks/{chunk-GFY5R5EY.js → chunk-V5NV5R37.js} +1 -1
  24. package/dist/_browser-chunks/chunk-VIJ7SQRO.js +568 -0
  25. package/dist/_browser-chunks/{chunk-3OXGAGBE.js → chunk-XLJZ7AOP.js} +14 -14
  26. package/dist/_browser-chunks/{chunk-P4F4UVXX.js → chunk-YKABRMAI.js} +15 -15
  27. package/dist/_browser-chunks/{chunk-WJYERY3R.js → chunk-ZCFV7BZB.js} +2 -2
  28. package/dist/_browser-chunks/{formatter-QJ4M4OGQ.js → formatter-EIJCOSYU.js} +2 -2
  29. package/dist/_browser-chunks/{syntaxhighlighter-IQDEPFLK.js → syntaxhighlighter-ED5Y7EFY.js} +119 -119
  30. package/dist/_node-chunks/{builder-manager-LXL5N6M5.js → builder-manager-IL56SHZF.js} +23 -22
  31. package/dist/_node-chunks/camelcase-P3NIWBZX.js +62 -0
  32. package/dist/_node-chunks/{chunk-SR5ZYD7K.js → chunk-BP66TAYC.js} +8 -8
  33. package/dist/_node-chunks/{chunk-R3WYNAT5.js → chunk-D3YJHXPC.js} +6 -6
  34. package/dist/_node-chunks/{chunk-5GNBLJKS.js → chunk-E2KSZELU.js} +8 -8
  35. package/dist/_node-chunks/{chunk-KXDU466E.js → chunk-EKU7ASGO.js} +31 -31
  36. package/dist/_node-chunks/chunk-GLYH3TSV.js +61 -0
  37. package/dist/_node-chunks/{chunk-GOOBGRAV.js → chunk-JXL37VS7.js} +34 -24
  38. package/dist/_node-chunks/{chunk-4BQMSZKI.js → chunk-KH2A547Y.js} +165 -191
  39. package/dist/_node-chunks/{chunk-77APSTTM.js → chunk-KP3IIE5P.js} +8 -9
  40. package/dist/_node-chunks/{chunk-5NWCBUGD.js → chunk-LZ5NNY6S.js} +6 -6
  41. package/dist/_node-chunks/{chunk-AJUO2ZU3.js → chunk-MLCI5FPI.js} +9 -9
  42. package/dist/_node-chunks/{chunk-CLNMK7MP.js → chunk-OVKHHS4W.js} +5434 -1625
  43. package/dist/_node-chunks/{chunk-ET4VMMZG.js → chunk-OZHIDIRL.js} +77 -16
  44. package/dist/_node-chunks/{chunk-TX77W2KY.js → chunk-POAHHCVK.js} +597 -593
  45. package/dist/_node-chunks/chunk-Q6PDB4Y6.js +126 -0
  46. package/dist/_node-chunks/{chunk-VFTNRF5X.js → chunk-QF3YWFYM.js} +17 -17
  47. package/dist/_node-chunks/{chunk-KMTK5W6O.js → chunk-RGJIQDLW.js} +48 -26
  48. package/dist/_node-chunks/{chunk-FTR6MHOX.js → chunk-SME7252C.js} +59 -147
  49. package/dist/_node-chunks/{chunk-LEDV47V2.js → chunk-TAETXAN6.js} +15 -15
  50. package/dist/_node-chunks/chunk-TPSZ4QDT.js +20 -0
  51. package/dist/_node-chunks/{chunk-PGFQADZC.js → chunk-WULYWBBT.js} +7 -7
  52. package/dist/_node-chunks/{chunk-JYMZJCZ7.js → chunk-XBDIQU4P.js} +62 -124
  53. package/dist/_node-chunks/chunk-XXOA6ULE.js +18 -0
  54. package/dist/_node-chunks/{chunk-ZI2RAI3I.js → chunk-YCQRVBE4.js} +26 -7
  55. package/dist/_node-chunks/{chunk-TP6ICLTL.js → chunk-YELE6V4D.js} +6 -6
  56. package/dist/_node-chunks/{chunk-GYZQMMTN.js → chunk-Z2CJCEHN.js} +9 -9
  57. package/dist/_node-chunks/{chunk-F7377GT2.js → chunk-Z2ETF7EI.js} +111 -38
  58. package/dist/_node-chunks/chunk-ZHSAQXJF.js +23 -0
  59. package/dist/_node-chunks/{dist-HGQ5R6JU.js → dist-5MXCD6KF.js} +10 -10
  60. package/dist/_node-chunks/{globby-5XJTXKUJ.js → globby-322GM5CY.js} +155 -164
  61. package/dist/_node-chunks/{lib-XNLTS2RI.js → lib-IXZT5UQX.js} +16 -16
  62. package/dist/_node-chunks/{mdx-N42X6CFJ-7WF3QWVO.js → mdx-N42X6CFJ-DBPHTSPN.js} +11 -11
  63. package/dist/_node-chunks/{p-limit-RBKYTJKF.js → p-limit-TLN4WCPA.js} +19 -15
  64. package/dist/babel/index.js +10 -10
  65. package/dist/bin/core.js +40 -34
  66. package/dist/bin/dispatcher.js +11 -11
  67. package/dist/bin/loader.js +14 -11
  68. package/dist/channels/index.js +3 -3
  69. package/dist/cli/index.d.ts +1330 -250
  70. package/dist/cli/index.js +18 -18
  71. package/dist/common/index.d.ts +1344 -289
  72. package/dist/common/index.js +22 -22
  73. package/dist/components/index.d.ts +9 -2
  74. package/dist/components/index.js +339 -317
  75. package/dist/core-events/index.d.ts +4 -2
  76. package/dist/core-events/index.js +4 -2
  77. package/dist/core-server/index.d.ts +71 -2
  78. package/dist/core-server/index.js +3381 -3529
  79. package/dist/core-server/presets/common-manager.css +2 -2
  80. package/dist/core-server/presets/common-manager.js +93 -65
  81. package/dist/core-server/presets/common-override-preset.js +9 -9
  82. package/dist/core-server/presets/common-preset.js +86 -118
  83. package/dist/csf/index.d.ts +41 -11
  84. package/dist/csf/index.js +46 -39
  85. package/dist/csf-tools/index.js +9 -9
  86. package/dist/docs-tools/index.js +5 -5
  87. package/dist/instrumenter/index.js +1 -1
  88. package/dist/manager/globals-runtime.js +9402 -7204
  89. package/dist/manager/runtime.js +186 -143
  90. package/dist/manager-api/index.js +34 -26
  91. package/dist/manager-errors.d.ts +24 -0
  92. package/dist/manager-errors.js +2 -2
  93. package/dist/mocking-utils/index.js +14 -14
  94. package/dist/node-logger/index.d.ts +1456 -111
  95. package/dist/node-logger/index.js +9 -9
  96. package/dist/preview/runtime.js +4608 -2436
  97. package/dist/preview-api/index.js +12 -12
  98. package/dist/preview-errors.d.ts +24 -0
  99. package/dist/preview-errors.js +3 -3
  100. package/dist/router/index.js +11 -11
  101. package/dist/server-errors.d.ts +59 -3
  102. package/dist/server-errors.js +22 -11
  103. package/dist/telemetry/index.d.ts +10 -3
  104. package/dist/telemetry/index.js +27 -25
  105. package/dist/test/index.js +3237 -1653
  106. package/dist/theming/create.js +3 -3
  107. package/dist/theming/index.d.ts +5 -5
  108. package/dist/theming/index.js +38 -38
  109. package/dist/types/index.d.ts +12 -6
  110. package/dist/viewport/index.d.ts +3 -3
  111. package/package.json +27 -33
  112. package/dist/_browser-chunks/chunk-EZSQOHRI.js +0 -18
  113. package/dist/_browser-chunks/chunk-QKODTO7K.js +0 -7
  114. package/dist/_node-chunks/camelcase-64II7H4U.js +0 -37
  115. package/dist/_node-chunks/chunk-4EZYJUAC.js +0 -70
  116. package/dist/_node-chunks/chunk-COQ27OZ3.js +0 -61
  117. package/dist/_node-chunks/chunk-MC2R4DSD.js +0 -20
  118. package/dist/_node-chunks/chunk-NEENMS4J.js +0 -18
  119. package/dist/_node-chunks/chunk-VR5LMO3F.js +0 -72
  120. package/dist/_node-chunks/chunk-XEPVDCRL.js +0 -23
@@ -1,4 +1,4 @@
1
- /* ../node_modules/@devtools-ds/tree/dist/main.css */
1
+ /* ../../node_modules/@devtools-ds/tree/dist/main.css */
2
2
  .Tree-tree-fbbbe38 {
3
3
  width: 100%;
4
4
  font-family: Menlo, monospace;
@@ -69,7 +69,7 @@
69
69
  --arrowColor:#B7B7B7;
70
70
  }
71
71
 
72
- /* ../node_modules/@devtools-ds/object-inspector/dist/main.css */
72
+ /* ../../node_modules/@devtools-ds/object-inspector/dist/main.css */
73
73
  .ObjectInspector-object-inspector-0c33e82 {
74
74
  width: 100%;
75
75
  font-family: Menlo, monospace;
@@ -5,12 +5,12 @@ import {
5
5
  import {
6
6
  _defineProperty,
7
7
  _objectWithoutProperties
8
- } from "../../_browser-chunks/chunk-H6XK3RSC.js";
9
- import "../../_browser-chunks/chunk-45UGUKRX.js";
8
+ } from "../../_browser-chunks/chunk-UAYGIC3L.js";
9
+ import "../../_browser-chunks/chunk-242VQQM5.js";
10
10
  import {
11
11
  dequal,
12
12
  uniq
13
- } from "../../_browser-chunks/chunk-XJNX76GA.js";
13
+ } from "../../_browser-chunks/chunk-NQJGOFZV.js";
14
14
  import {
15
15
  ADDON_ID as ADDON_ID3,
16
16
  ADDON_ID2 as ADDON_ID4,
@@ -26,24 +26,21 @@ import {
26
26
  curriedOpacify$1,
27
27
  curriedTransparentize$1,
28
28
  rgba
29
- } from "../../_browser-chunks/chunk-AXG2BOBL.js";
29
+ } from "../../_browser-chunks/chunk-S6TK43XQ.js";
30
30
  import {
31
31
  _extends
32
- } from "../../_browser-chunks/chunk-CHUV5WSW.js";
32
+ } from "../../_browser-chunks/chunk-LE2LTDW3.js";
33
33
  import {
34
34
  EVENTS
35
35
  } from "../../_browser-chunks/chunk-ZUWEVLDX.js";
36
36
  import {
37
37
  require_ansi_to_html
38
- } from "../../_browser-chunks/chunk-YKE5S47A.js";
38
+ } from "../../_browser-chunks/chunk-V2VKKSMQ.js";
39
39
  import {
40
40
  cloneDeep,
41
41
  pickBy
42
- } from "../../_browser-chunks/chunk-AIOS4NGK.js";
43
- import "../../_browser-chunks/chunk-GFLS4VP3.js";
44
- import {
45
- require_memoizerific
46
- } from "../../_browser-chunks/chunk-WJYERY3R.js";
42
+ } from "../../_browser-chunks/chunk-SWJP5COI.js";
43
+ import "../../_browser-chunks/chunk-LCHBOIHN.js";
47
44
  import {
48
45
  ADDON_ID,
49
46
  CLEAR_ID,
@@ -119,7 +116,7 @@ var Wrapper = styled.div(withReset, ({ theme: theme3 }) => ({
119
116
  import React20, { useState as useState8 } from "react";
120
117
  import { codeCommon as codeCommon3 } from "storybook/internal/components";
121
118
 
122
- // ../node_modules/markdown-to-jsx/dist/index.modern.js
119
+ // ../../node_modules/markdown-to-jsx/dist/index.modern.js
123
120
  import * as e from "react";
124
121
  function n() {
125
122
  return n = Object.assign ? Object.assign.bind() : function(e2) {
@@ -1018,7 +1015,7 @@ var styleResets = {
1018
1015
  let handleChange = (e2) => {
1019
1016
  onChange(options[e2.currentTarget.value]);
1020
1017
  }, selection = selectedKey(value2, options) || NO_SELECTION, controlId = getControlId(name), readonly = !!argType?.table?.readonly;
1021
- return React7.createElement(SelectWrapper, null, React7.createElement(ChevronSmallDownIcon, null), React7.createElement("label", { htmlFor: controlId, className: "sb-sr-only" }, name), React7.createElement(OptionsSelect, { disabled: readonly, id: controlId, value: selection, onChange: handleChange }, React7.createElement("option", { key: "no-selection", disabled: !0 }, NO_SELECTION), Object.keys(options).map((key) => React7.createElement("option", { key, value: key }, key))));
1018
+ return React7.createElement(SelectWrapper, null, React7.createElement(ChevronSmallDownIcon, null), React7.createElement("label", { htmlFor: controlId, className: "sb-sr-only" }, name), React7.createElement(OptionsSelect, { disabled: readonly, id: controlId, value: selection, onChange: handleChange }, React7.createElement("option", { disabled: selection === NO_SELECTION, key: "no-selection" }, NO_SELECTION), Object.keys(options).map((key) => React7.createElement("option", { key, value: key }, key))));
1022
1019
  }, MultiSelect = ({ name, value: value2, options, onChange, argType }) => {
1023
1020
  let handleChange = (e2) => {
1024
1021
  let selection2 = Array.from(e2.currentTarget.options).filter((option) => option.selected).map((option) => option.value);
@@ -2452,9 +2449,11 @@ var { window: globalWindow } = globalThis, Wrapper5 = styled9.div(({ theme: them
2452
2449
  ), [forceVisible, setForceVisible] = useState4(!1), onForceVisible = useCallback3(() => {
2453
2450
  onChange({}), setForceVisible(!0);
2454
2451
  }, [setForceVisible]), htmlElRef = useRef3(null);
2455
- if (useEffect4(() => {
2452
+ useEffect4(() => {
2456
2453
  forceVisible && htmlElRef.current && htmlElRef.current.select();
2457
- }, [forceVisible]), !hasData)
2454
+ }, [forceVisible]);
2455
+ let jsonString = useMemo(() => JSON.stringify(data ?? "", null, 2), [data]);
2456
+ if (!hasData)
2458
2457
  return React12.createElement(
2459
2458
  Button3,
2460
2459
  {
@@ -2472,7 +2471,8 @@ var { window: globalWindow } = globalThis, Wrapper5 = styled9.div(({ theme: them
2472
2471
  id: getControlId(name),
2473
2472
  minRows: 3,
2474
2473
  name,
2475
- defaultValue: value2 === null ? "" : JSON.stringify(value2, null, 2),
2474
+ key: jsonString,
2475
+ defaultValue: jsonString,
2476
2476
  onBlur: (event) => updateRaw(event.target.value),
2477
2477
  placeholder: "Edit JSON string...",
2478
2478
  autoFocus: forceVisible,
@@ -2766,7 +2766,7 @@ var FilesControl = ({
2766
2766
  };
2767
2767
 
2768
2768
  // ../addons/docs/src/blocks/controls/index.tsx
2769
- var LazyColorControl = lazy(() => import("../../_browser-chunks/Color-TNPFN3FC.js")), ColorControl = (props) => React16.createElement(Suspense, { fallback: React16.createElement("div", null) }, React16.createElement(LazyColorControl, { ...props }));
2769
+ var LazyColorControl = lazy(() => import("../../_browser-chunks/Color-XESOIGZP.js")), ColorControl = (props) => React16.createElement(Suspense, { fallback: React16.createElement("div", null) }, React16.createElement(LazyColorControl, { ...props }));
2770
2770
 
2771
2771
  // ../addons/docs/src/blocks/components/ArgsTable/ArgControl.tsx
2772
2772
  var Controls2 = {
@@ -2869,9 +2869,8 @@ var Table = styled13.table(({ theme: theme3 }) => ({
2869
2869
 
2870
2870
  // ../addons/docs/src/blocks/components/ArgsTable/ArgValue.tsx
2871
2871
  import React19, { useState as useState7 } from "react";
2872
- import { SyntaxHighlighter, TooltipProvider, codeCommon as codeCommon2 } from "storybook/internal/components";
2872
+ import { PopoverProvider, SyntaxHighlighter, codeCommon as codeCommon2 } from "storybook/internal/components";
2873
2873
  import { ChevronSmallDownIcon as ChevronSmallDownIcon2, ChevronSmallUpIcon } from "@storybook/icons";
2874
- var import_memoizerific = __toESM(require_memoizerific(), 1);
2875
2874
  import { styled as styled14 } from "storybook/theming";
2876
2875
  var ITEMS_BEFORE_EXPANSION = 8, Summary = styled14.div(({ isExpanded }) => ({
2877
2876
  display: "flex",
@@ -2880,7 +2879,24 @@ var ITEMS_BEFORE_EXPANSION = 8, Summary = styled14.div(({ isExpanded }) => ({
2880
2879
  alignItems: "flex-start",
2881
2880
  marginBottom: "-4px",
2882
2881
  minWidth: 100
2883
- })), Text3 = styled14.span(codeCommon2, ({ theme: theme3, simple = !1 }) => ({
2882
+ })), DetailsContainer = styled14.details({
2883
+ display: "flex",
2884
+ flexDirection: "column",
2885
+ summary: {
2886
+ order: 2
2887
+ },
2888
+ "summary::-webkit-details-marker": {
2889
+ display: "none"
2890
+ },
2891
+ "summary::marker": {
2892
+ content: "none"
2893
+ }
2894
+ }), AlignedDetails = styled14.div({
2895
+ display: "flex",
2896
+ flexDirection: "column",
2897
+ flexWrap: "wrap",
2898
+ alignItems: "flex-start"
2899
+ }), Text3 = styled14.span(codeCommon2, ({ theme: theme3, simple = !1 }) => ({
2884
2900
  flex: "0 0 auto",
2885
2901
  fontFamily: theme3.typography.fonts.mono,
2886
2902
  fontSize: theme3.typography.size.s1,
@@ -2898,13 +2914,16 @@ var ITEMS_BEFORE_EXPANSION = 8, Summary = styled14.div(({ isExpanded }) => ({
2898
2914
  border: "0 none",
2899
2915
  paddingLeft: 0
2900
2916
  }
2901
- })), ExpandButton = styled14.button(({ theme: theme3 }) => ({
2917
+ })), ExpandButton = styled14.summary(({ theme: theme3 }) => ({
2902
2918
  fontFamily: theme3.typography.fonts.mono,
2903
2919
  color: theme3.color.secondary,
2904
- marginBottom: "4px",
2920
+ cursor: "pointer",
2921
+ lineHeight: "normal",
2922
+ margin: "0 0 4px",
2923
+ padding: "1px 6px",
2905
2924
  background: "none",
2906
2925
  border: "none"
2907
- })), Expandable = styled14.div(codeCommon2, ({ theme: theme3 }) => ({
2926
+ })), Expandable = styled14.button(codeCommon2, ({ theme: theme3 }) => ({
2908
2927
  fontFamily: theme3.typography.fonts.mono,
2909
2928
  color: theme3.color.secondary,
2910
2929
  fontSize: theme3.typography.size.s1,
@@ -2912,12 +2931,19 @@ var ITEMS_BEFORE_EXPANSION = 8, Summary = styled14.div(({ isExpanded }) => ({
2912
2931
  margin: 0,
2913
2932
  whiteSpace: "nowrap",
2914
2933
  display: "flex",
2915
- alignItems: "center"
2916
- })), Detail = styled14.div(({ theme: theme3, width }) => ({
2917
- width,
2934
+ alignItems: "center",
2935
+ cursor: "pointer",
2936
+ "&:hover": {
2937
+ border: theme3.base === "light" ? "1px solid hsl(0 0 0 / 0.15)" : "1px solid hsl(0 0 100 / 0.15)"
2938
+ },
2939
+ "&:focus-visible": {
2940
+ outline: `2px solid ${theme3.color.secondary}`,
2941
+ outlineOffset: "2px"
2942
+ }
2943
+ })), Detail = styled14.div(({ theme: theme3 }) => ({
2918
2944
  minWidth: 200,
2919
2945
  maxWidth: 800,
2920
- padding: 15,
2946
+ paddingRight: 16,
2921
2947
  // Don't remove the mono fontFamily here even if it seems useless, this is used by the browser to calculate the length of a "ch" unit.
2922
2948
  fontFamily: theme3.typography.fonts.mono,
2923
2949
  fontSize: theme3.typography.size.s1,
@@ -2930,18 +2956,12 @@ var ITEMS_BEFORE_EXPANSION = 8, Summary = styled14.div(({ isExpanded }) => ({
2930
2956
  marginLeft: 4
2931
2957
  }), ChevronDownIcon = styled14(ChevronSmallDownIcon2)({
2932
2958
  marginLeft: 4
2933
- }), EmptyArg = () => React19.createElement("span", null, "-"), ArgText = ({ text, simple }) => React19.createElement(Text3, { simple }, text), calculateDetailWidth = (0, import_memoizerific.default)(1e3)((detail) => {
2934
- let lines = detail.split(/\r?\n/);
2935
- return `${Math.max(...lines.map((x2) => x2.length))}ch`;
2936
- }), getSummaryItems = (summary) => {
2959
+ }), EmptyArg = () => React19.createElement("span", null, "-"), ArgText = ({ text, simple }) => React19.createElement(Text3, { simple }, text), getSummaryItems = (summary) => {
2937
2960
  if (!summary)
2938
2961
  return [summary];
2939
2962
  let summaryItems = summary.split("|").map((value2) => value2.trim());
2940
2963
  return uniq(summaryItems);
2941
- }, renderSummaryItems = (summaryItems, isExpanded = !0) => {
2942
- let items = summaryItems;
2943
- return isExpanded || (items = summaryItems.slice(0, ITEMS_BEFORE_EXPANSION)), items.map((item) => React19.createElement(ArgText, { key: item, text: item === "" ? '""' : item }));
2944
- }, ArgSummary = ({ value: value2, initialExpandedArgs }) => {
2964
+ }, renderSummaryItems = (summaryItems) => summaryItems.slice(0, ITEMS_BEFORE_EXPANSION).map((item) => React19.createElement(ArgText, { key: item, text: item === "" ? '""' : item })), renderExpandedItems = (summaryItems) => summaryItems.slice(ITEMS_BEFORE_EXPANSION).map((item) => React19.createElement(ArgText, { key: item, text: item === "" ? '""' : item })), ArgSummary = ({ value: value2, initialExpandedArgs }) => {
2945
2965
  let { summary, detail } = value2, [isOpen, setIsOpen] = useState7(!1), [isExpanded, setIsExpanded] = useState7(initialExpandedArgs || !1);
2946
2966
  if (summary == null)
2947
2967
  return null;
@@ -2950,17 +2970,18 @@ var ITEMS_BEFORE_EXPANSION = 8, Summary = styled14.div(({ isExpanded }) => ({
2950
2970
  if (/[(){}[\]<>]/.test(summaryAsString))
2951
2971
  return React19.createElement(ArgText, { text: summaryAsString });
2952
2972
  let summaryItems = getSummaryItems(summaryAsString), itemsCount = summaryItems.length;
2953
- return itemsCount > ITEMS_BEFORE_EXPANSION ? React19.createElement(Summary, { isExpanded }, renderSummaryItems(summaryItems, isExpanded), React19.createElement(ExpandButton, { onClick: () => setIsExpanded(!isExpanded) }, isExpanded ? "Show less..." : `Show ${itemsCount - ITEMS_BEFORE_EXPANSION} more...`)) : React19.createElement(Summary, null, renderSummaryItems(summaryItems));
2973
+ return itemsCount > ITEMS_BEFORE_EXPANSION ? React19.createElement(Summary, { isExpanded }, renderSummaryItems(summaryItems), React19.createElement(DetailsContainer, { open: isExpanded, onToggle: (e2) => setIsExpanded(e2.currentTarget.open) }, React19.createElement(AlignedDetails, null, renderExpandedItems(summaryItems)), React19.createElement(ExpandButton, { role: "button" }, isExpanded ? "Show less..." : `Show ${itemsCount - ITEMS_BEFORE_EXPANSION} more...`))) : React19.createElement(Summary, null, renderSummaryItems(summaryItems));
2954
2974
  }
2955
2975
  return React19.createElement(
2956
- TooltipProvider,
2976
+ PopoverProvider,
2957
2977
  {
2958
2978
  placement: "bottom",
2959
2979
  visible: isOpen,
2960
2980
  onVisibleChange: (isVisible) => {
2961
2981
  setIsOpen(isVisible);
2962
2982
  },
2963
- tooltip: React19.createElement(Detail, { width: calculateDetailWidth(detail) }, React19.createElement(SyntaxHighlighter, { language: "jsx", format: !1 }, detail))
2983
+ hasCloseButton: !0,
2984
+ popover: React19.createElement(Detail, null, React19.createElement(SyntaxHighlighter, { language: "jsx", format: !1 }, detail))
2964
2985
  },
2965
2986
  React19.createElement(Expandable, { className: "sbdocs-expandable" }, React19.createElement("span", null, summaryAsString), isOpen ? React19.createElement(ChevronUpIcon, null) : React19.createElement(ChevronDownIcon, null))
2966
2987
  );
@@ -3744,7 +3765,7 @@ import { STORY_CHANGED as STORY_CHANGED2 } from "storybook/internal/core-events"
3744
3765
  import React31, { Fragment, forwardRef, useEffect as useEffect9, useRef as useRef5 } from "react";
3745
3766
  import { ActionBar, ScrollArea as ScrollArea2 } from "storybook/internal/components";
3746
3767
 
3747
- // ../node_modules/react-inspector/dist/index.mjs
3768
+ // ../../node_modules/react-inspector/dist/index.mjs
3748
3769
  import React92 from "react";
3749
3770
  import React32, { useContext as useContext2, useCallback as useCallback6, useLayoutEffect, useState as useState12, memo as memo2 } from "react";
3750
3771
  import { createContext } from "react";
@@ -4846,7 +4867,7 @@ import {
4846
4867
  } from "storybook/manager-api";
4847
4868
 
4848
4869
  // src/component-testing/constants.ts
4849
- var ADDON_ID7 = "storybook/interactions", PANEL_ID2 = `${ADDON_ID7}/panel`, DOCUMENTATION_LINK = "writing-tests/integrations/vitest-addon", DOCUMENTATION_DISCREPANCY_LINK = `${DOCUMENTATION_LINK}#what-happens-when-there-are-different-test-results-in-multiple-environments`, DOCUMENTATION_PLAY_FUNCTION_LINK = "writing-stories/play-function#writing-stories-with-the-play-function", INTERNAL_RENDER_CALL_ID = "internal_render_call";
4870
+ var ADDON_ID7 = "storybook/interactions", PANEL_ID2 = `${ADDON_ID7}/panel`, PARAM_KEY6 = "interactions", DOCUMENTATION_LINK = "writing-tests/integrations/vitest-addon", DOCUMENTATION_DISCREPANCY_LINK = `${DOCUMENTATION_LINK}#what-happens-when-there-are-different-test-results-in-multiple-environments`, DOCUMENTATION_PLAY_FUNCTION_LINK = "writing-stories/play-function#writing-stories-with-the-play-function", INTERNAL_RENDER_CALL_ID = "internal_render_call";
4850
4871
 
4851
4872
  // ../addons/a11y/src/constants.ts
4852
4873
  var ADDON_ID8 = "storybook/a11y", PANEL_ID3 = `${ADDON_ID8}/panel`;
@@ -4902,13 +4923,16 @@ import { styled as styled32 } from "storybook/theming";
4902
4923
  var import_ansi_to_html = __toESM(require_ansi_to_html(), 1);
4903
4924
  import { useTheme as useTheme2 } from "storybook/theming";
4904
4925
 
4905
- // ../node_modules/ansi-regex/index.js
4926
+ // ../../node_modules/ansi-regex/index.js
4906
4927
  function ansiRegex({ onlyFirst = !1 } = {}) {
4907
- let pattern = "(?:\\u001B\\][\\s\\S]*?(?:\\u0007|\\u001B\\u005C|\\u009C))|[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]";
4928
+ let pattern = [
4929
+ "[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)",
4930
+ "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"
4931
+ ].join("|");
4908
4932
  return new RegExp(pattern, onlyFirst ? void 0 : "g");
4909
4933
  }
4910
4934
 
4911
- // ../node_modules/strip-ansi/index.js
4935
+ // ../../node_modules/strip-ansi/index.js
4912
4936
  var regex = ansiRegex();
4913
4937
  function stripAnsi(string) {
4914
4938
  if (typeof string != "string")
@@ -4917,6 +4941,9 @@ function stripAnsi(string) {
4917
4941
  }
4918
4942
 
4919
4943
  // src/component-testing/utils.ts
4944
+ function isInteractionsDisabled(parameters) {
4945
+ return !!parameters?.[PARAM_KEY6]?.disable;
4946
+ }
4920
4947
  function isTestAssertionError(error) {
4921
4948
  return isChaiError(error) || isJestError(error);
4922
4949
  }
@@ -5009,10 +5036,10 @@ import { styled as styled26, typography } from "storybook/theming";
5009
5036
  import React46, { Fragment as Fragment2 } from "react";
5010
5037
  import { logger as logger4 } from "storybook/internal/client-logger";
5011
5038
 
5012
- // ../node_modules/@devtools-ds/object-inspector/dist/esm/ObjectInspector.js
5039
+ // ../../node_modules/@devtools-ds/object-inspector/dist/esm/ObjectInspector.js
5013
5040
  import React45, { useEffect as useEffect14, useState as useState17 } from "react";
5014
5041
 
5015
- // ../node_modules/@devtools-ds/object-inspector/node_modules/clsx/dist/clsx.m.js
5042
+ // ../../node_modules/@devtools-ds/object-inspector/node_modules/clsx/dist/clsx.m.js
5016
5043
  function toVal(mix) {
5017
5044
  var k2, y2, str = "";
5018
5045
  if (mix)
@@ -5032,7 +5059,7 @@ function clsx_m_default() {
5032
5059
  return str;
5033
5060
  }
5034
5061
 
5035
- // ../node_modules/@devtools-ds/object-parser/dist/esm/index.js
5062
+ // ../../node_modules/@devtools-ds/object-parser/dist/esm/index.js
5036
5063
  var isArray = (val) => Array.isArray(val) || // Detect https://developer.mozilla.org/en-US/docs/Web/JavaScript/Typed_arrays
5037
5064
  ArrayBuffer.isView(val) && !(val instanceof DataView), isObject = (val) => val !== null && typeof val == "object" && !isArray(val) && !(val instanceof Date) && !(val instanceof RegExp) && !(val instanceof Error) && !(val instanceof WeakMap) && !(val instanceof WeakSet), isKnownObject = (val) => isObject(val) || isArray(val) || typeof val == "function" || val instanceof Promise, getPromiseState = (promise) => {
5038
5065
  let unique = /unique/;
@@ -5113,7 +5140,7 @@ ArrayBuffer.isView(val) && !(val instanceof DataView), isObject = (val) => val !
5113
5140
  return astNode;
5114
5141
  }, parse4 = (data, sortKeys, includePrototypes) => buildAST("root", data, 0, sortKeys === !1 ? sortKeys : !0, void 0, includePrototypes === !1 ? includePrototypes : !0);
5115
5142
 
5116
- // ../node_modules/@babel/runtime/helpers/esm/objectSpread2.js
5143
+ // ../../node_modules/@babel/runtime/helpers/esm/objectSpread2.js
5117
5144
  function ownKeys(e2, r2) {
5118
5145
  var t = Object.keys(e2);
5119
5146
  if (Object.getOwnPropertySymbols) {
@@ -5136,10 +5163,10 @@ function _objectSpread2(e2) {
5136
5163
  return e2;
5137
5164
  }
5138
5165
 
5139
- // ../node_modules/@devtools-ds/themes/dist/esm/utils.js
5166
+ // ../../node_modules/@devtools-ds/themes/dist/esm/utils.js
5140
5167
  import React37 from "react";
5141
5168
 
5142
- // ../node_modules/@devtools-ds/themes/node_modules/clsx/dist/clsx.m.js
5169
+ // ../../node_modules/@devtools-ds/themes/node_modules/clsx/dist/clsx.m.js
5143
5170
  function toVal2(mix) {
5144
5171
  var k2, y2, str = "";
5145
5172
  if (mix)
@@ -5159,7 +5186,7 @@ function clsx_m_default2() {
5159
5186
  return str;
5160
5187
  }
5161
5188
 
5162
- // ../node_modules/@devtools-ds/themes/dist/esm/utils.js
5189
+ // ../../node_modules/@devtools-ds/themes/dist/esm/utils.js
5163
5190
  var _excluded = ["children"];
5164
5191
  var ThemeContext2 = React37.createContext({
5165
5192
  theme: "chrome",
@@ -5181,16 +5208,16 @@ var ThemeProvider = (_ref) => {
5181
5208
  };
5182
5209
  };
5183
5210
 
5184
- // ../node_modules/@devtools-ds/themes/dist/esm/AutoThemeProvider.js
5211
+ // ../../node_modules/@devtools-ds/themes/dist/esm/AutoThemeProvider.js
5185
5212
  import React38 from "react";
5186
5213
 
5187
- // ../node_modules/@devtools-ds/object-inspector/dist/esm/ObjectInspectorItem.js
5214
+ // ../../node_modules/@devtools-ds/object-inspector/dist/esm/ObjectInspectorItem.js
5188
5215
  import React44, { useEffect as useEffect13, useState as useState16 } from "react";
5189
5216
 
5190
- // ../node_modules/@devtools-ds/tree/dist/esm/index.js
5217
+ // ../../node_modules/@devtools-ds/tree/dist/esm/index.js
5191
5218
  import React40, { useState as useState14, useEffect as useEffect11 } from "react";
5192
5219
 
5193
- // ../node_modules/@devtools-ds/tree/node_modules/clsx/dist/clsx.m.js
5220
+ // ../../node_modules/@devtools-ds/tree/node_modules/clsx/dist/clsx.m.js
5194
5221
  function toVal3(mix) {
5195
5222
  var k2, y2, str = "";
5196
5223
  if (mix)
@@ -5210,7 +5237,7 @@ function clsx_m_default3() {
5210
5237
  return str;
5211
5238
  }
5212
5239
 
5213
- // ../node_modules/@devtools-ds/tree/dist/esm/TreeContext.js
5240
+ // ../../node_modules/@devtools-ds/tree/dist/esm/TreeContext.js
5214
5241
  import React39 from "react";
5215
5242
  var TreeContext = React39.createContext({
5216
5243
  isChild: !1,
@@ -5218,10 +5245,10 @@ var TreeContext = React39.createContext({
5218
5245
  hasHover: !0
5219
5246
  }), TreeContext_default = TreeContext;
5220
5247
 
5221
- // ../node_modules/@devtools-ds/tree/dist/esm/Tree.css.js
5248
+ // ../../node_modules/@devtools-ds/tree/dist/esm/Tree.css.js
5222
5249
  var Tree_css_default = { tree: "Tree-tree-fbbbe38", item: "Tree-item-353d6f3", group: "Tree-group-d3c3d8a", label: "Tree-label-d819155", focusWhite: "Tree-focusWhite-f1e00c2", arrow: "Tree-arrow-03ab2e7", hover: "Tree-hover-3cc4e5d", open: "Tree-open-3f1a336", dark: "Tree-dark-1b4aa00", chrome: "Tree-chrome-bcbcac6", light: "Tree-light-09174ee" };
5223
5250
 
5224
- // ../node_modules/@devtools-ds/tree/dist/esm/index.js
5251
+ // ../../node_modules/@devtools-ds/tree/dist/esm/index.js
5225
5252
  var _excluded2 = ["theme", "hover", "colorScheme", "children", "label", "className", "onUpdate", "onSelect", "open"], Tree = (props) => {
5226
5253
  let {
5227
5254
  theme: theme3,
@@ -5385,13 +5412,13 @@ Tree.defaultProps = {
5385
5412
  hover: !0
5386
5413
  };
5387
5414
 
5388
- // ../node_modules/@devtools-ds/object-inspector/dist/esm/ObjectValue.js
5415
+ // ../../node_modules/@devtools-ds/object-inspector/dist/esm/ObjectValue.js
5389
5416
  import React41, { useState as useState15, useEffect as useEffect12 } from "react";
5390
5417
 
5391
- // ../node_modules/@devtools-ds/object-inspector/dist/esm/ObjectInspector.css.js
5418
+ // ../../node_modules/@devtools-ds/object-inspector/dist/esm/ObjectInspector.css.js
5392
5419
  var ObjectInspector_css_default = { "object-inspector": "ObjectInspector-object-inspector-0c33e82", objectInspector: "ObjectInspector-object-inspector-0c33e82", "object-label": "ObjectInspector-object-label-b81482b", objectLabel: "ObjectInspector-object-label-b81482b", text: "ObjectInspector-text-25f57f3", key: "ObjectInspector-key-4f712bb", value: "ObjectInspector-value-f7ec2e5", string: "ObjectInspector-string-c496000", regex: "ObjectInspector-regex-59d45a3", error: "ObjectInspector-error-b818698", boolean: "ObjectInspector-boolean-2dd1642", number: "ObjectInspector-number-a6daabb", undefined: "ObjectInspector-undefined-3a68263", null: "ObjectInspector-null-74acb50", function: "ObjectInspector-function-07bbdcd", "function-decorator": "ObjectInspector-function-decorator-3d22c24", functionDecorator: "ObjectInspector-function-decorator-3d22c24", prototype: "ObjectInspector-prototype-f2449ee", dark: "ObjectInspector-dark-0c96c97", chrome: "ObjectInspector-chrome-2f3ca98", light: "ObjectInspector-light-78bef54" };
5393
5420
 
5394
- // ../node_modules/@devtools-ds/object-inspector/dist/esm/ObjectValue.js
5421
+ // ../../node_modules/@devtools-ds/object-inspector/dist/esm/ObjectValue.js
5395
5422
  var _excluded3 = ["ast", "theme", "showKey", "colorScheme", "className"], buildValue = (key, value2, valueClass, showKey, depth) => {
5396
5423
  let computedKey = key.includes("-") ? `"${key}"` : key, isRoot = depth <= 0;
5397
5424
  return React41.createElement("span", {
@@ -5427,7 +5454,7 @@ ObjectValue2.defaultProps = {
5427
5454
  };
5428
5455
  var ObjectValue_default = ObjectValue2;
5429
5456
 
5430
- // ../node_modules/@devtools-ds/object-inspector/dist/esm/ObjectLabel.js
5457
+ // ../../node_modules/@devtools-ds/object-inspector/dist/esm/ObjectLabel.js
5431
5458
  import React43 from "react";
5432
5459
  var _excluded4 = ["ast", "theme", "previewMax", "open", "colorScheme", "className"], buildPreview = (children, previewMax, showKey) => {
5433
5460
  let previews = [];
@@ -5501,7 +5528,7 @@ ObjectLabel2.defaultProps = {
5501
5528
  };
5502
5529
  var ObjectLabel_default = ObjectLabel2;
5503
5530
 
5504
- // ../node_modules/@devtools-ds/object-inspector/dist/esm/ObjectInspectorItem.js
5531
+ // ../../node_modules/@devtools-ds/object-inspector/dist/esm/ObjectInspectorItem.js
5505
5532
  var ObjectInspectorItem = (props) => {
5506
5533
  let {
5507
5534
  ast,
@@ -5554,7 +5581,7 @@ ObjectInspectorItem.defaultProps = {
5554
5581
  };
5555
5582
  var ObjectInspectorItem_default = ObjectInspectorItem;
5556
5583
 
5557
- // ../node_modules/@devtools-ds/object-inspector/dist/esm/ObjectInspector.js
5584
+ // ../../node_modules/@devtools-ds/object-inspector/dist/esm/ObjectInspector.js
5558
5585
  var _excluded5 = ["data", "expandLevel", "sortKeys", "includePrototypes", "className", "theme", "colorScheme", "onSelect"], ObjectInspector2 = (props) => {
5559
5586
  let {
5560
5587
  data,
@@ -6514,7 +6541,7 @@ var INITIAL_CONTROL_STATES = {
6514
6541
  { root: global2.document.querySelector('#storybook-panel-root [role="tabpanel"]') }
6515
6542
  ), endRef.current && observer.observe(endRef.current)), () => observer?.disconnect();
6516
6543
  }, []);
6517
- let lastStoryId = useRef6(void 0), lastRenderId = useRef6(0), emit = useChannel2(
6544
+ let lastStoryId = useRef6(void 0), latestRenderId = useRef6(0), emit = useChannel2(
6518
6545
  {
6519
6546
  [EVENTS.CALL]: setCall,
6520
6547
  [EVENTS.SYNC]: (payload) => {
@@ -6526,7 +6553,7 @@ var INITIAL_CONTROL_STATES = {
6526
6553
  );
6527
6554
  },
6528
6555
  [STORY_RENDER_PHASE_CHANGED]: (event) => {
6529
- lastStoryId.current === event.storyId && ["preparing", "loading"].includes(event.newPhase) || (lastStoryId.current = event.storyId, lastRenderId.current = Math.max(lastRenderId.current, event.renderId || 0), lastRenderId.current === event.renderId && (event.newPhase === "rendering" ? (log.current = [getInternalRenderLogItem("active" /* ACTIVE */)], calls.current.set(INTERNAL_RENDER_CALL_ID, getInternalRenderCall(storyId)), set({
6556
+ lastStoryId.current === event.storyId && ["preparing", "loading"].includes(event.newPhase) || (lastStoryId.current === event.storyId ? latestRenderId.current = Math.max(latestRenderId.current, event.renderId || 0) : (latestRenderId.current = event.renderId || 0, lastStoryId.current = event.storyId), latestRenderId.current === event.renderId && (event.newPhase === "rendering" ? (log.current = [getInternalRenderLogItem("active" /* ACTIVE */)], calls.current.set(INTERNAL_RENDER_CALL_ID, getInternalRenderCall(storyId)), set({
6530
6557
  status: "rendering",
6531
6558
  controlStates: INITIAL_CONTROL_STATES,
6532
6559
  pausedAt: void 0,
@@ -6654,6 +6681,7 @@ var manager_default3 = addons3.register(ADDON_ID7, () => {
6654
6681
  type: types3.PANEL,
6655
6682
  title: () => React57.createElement(PanelTitle, null),
6656
6683
  match: ({ viewMode }) => viewMode === "story",
6684
+ disabled: isInteractionsDisabled,
6657
6685
  render: ({ active }) => React57.createElement(AddonPanel2, { active: !!active }, React57.createElement(Consumer, { filter }, (props) => React57.createElement(Panel, { ...props })))
6658
6686
  });
6659
6687
  }
@@ -1,21 +1,21 @@
1
- import CJS_COMPAT_NODE_URL_2297kyafub from 'node:url';
2
- import CJS_COMPAT_NODE_PATH_2297kyafub from 'node:path';
3
- import CJS_COMPAT_NODE_MODULE_2297kyafub from "node:module";
1
+ import CJS_COMPAT_NODE_URL_1qalasm8z9n from 'node:url';
2
+ import CJS_COMPAT_NODE_PATH_1qalasm8z9n from 'node:path';
3
+ import CJS_COMPAT_NODE_MODULE_1qalasm8z9n from "node:module";
4
4
 
5
- var __filename = CJS_COMPAT_NODE_URL_2297kyafub.fileURLToPath(import.meta.url);
6
- var __dirname = CJS_COMPAT_NODE_PATH_2297kyafub.dirname(__filename);
7
- var require = CJS_COMPAT_NODE_MODULE_2297kyafub.createRequire(import.meta.url);
5
+ var __filename = CJS_COMPAT_NODE_URL_1qalasm8z9n.fileURLToPath(import.meta.url);
6
+ var __dirname = CJS_COMPAT_NODE_PATH_1qalasm8z9n.dirname(__filename);
7
+ var require = CJS_COMPAT_NODE_MODULE_1qalasm8z9n.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
  glob
14
- } from "../../_node-chunks/chunk-FTR6MHOX.js";
14
+ } from "../../_node-chunks/chunk-SME7252C.js";
15
15
  import {
16
16
  slash
17
- } from "../../_node-chunks/chunk-MC2R4DSD.js";
18
- import "../../_node-chunks/chunk-5NWCBUGD.js";
17
+ } from "../../_node-chunks/chunk-TPSZ4QDT.js";
18
+ import "../../_node-chunks/chunk-LZ5NNY6S.js";
19
19
 
20
20
  // src/core-server/utils/remove-mdx-entries.ts
21
21
  import { isAbsolute, join, relative } from "node:path";