storybook 10.1.0-beta.2 → 10.1.0-beta.4
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/{chunk-L4RMQ7D7.js → chunk-BRX2HXH7.js} +75 -5
- package/dist/_node-chunks/{builder-manager-DE5CZGPU.js → builder-manager-T3A7QLUO.js} +26 -593
- package/dist/_node-chunks/{camelcase-3GPWEIYB.js → camelcase-WMMYRUH4.js} +7 -7
- package/dist/_node-chunks/{chunk-ZH4F5JWQ.js → chunk-3MVB5IZX.js} +28 -24
- package/dist/_node-chunks/{chunk-RZEXP6OF.js → chunk-5DEFF2GB.js} +7 -7
- package/dist/_node-chunks/{chunk-3GUEJ3O3.js → chunk-67VVNDJJ.js} +6 -6
- package/dist/_node-chunks/{chunk-RSFKUYLE.js → chunk-C6RLDV2P.js} +8 -8
- package/dist/_node-chunks/{chunk-77QRXLGA.js → chunk-CM44JL5Z.js} +6 -6
- package/dist/_node-chunks/{chunk-HGDN3STX.js → chunk-CSFSQ2I4.js} +7 -7
- package/dist/_node-chunks/{chunk-45XWOXXM.js → chunk-EFN4RLWH.js} +7 -7
- package/dist/_node-chunks/{chunk-D2CQN4LQ.js → chunk-EFTR6VSG.js} +9 -9
- package/dist/_node-chunks/{chunk-UWKUW2OJ.js → chunk-EJPOXNSG.js} +15 -15
- package/dist/_node-chunks/{chunk-6T6VTXDE.js → chunk-HDMHX5QM.js} +7 -7
- package/dist/_node-chunks/{chunk-EXJNST6P.js → chunk-HT32VUX7.js} +7 -7
- package/dist/_node-chunks/chunk-IQFN7VY4.js +23 -0
- package/dist/_node-chunks/{chunk-YZEOU7D5.js → chunk-JYAXWHGH.js} +9 -9
- package/dist/_node-chunks/chunk-K7U3BSTR.js +61 -0
- package/dist/_node-chunks/{chunk-NOLZUVQN.js → chunk-KAVR7KJP.js} +287 -281
- package/dist/_node-chunks/{chunk-HFPMBHAF.js → chunk-KI6KY2ZN.js} +13 -13
- package/dist/_node-chunks/{chunk-Z7F5CZXW.js → chunk-NORFPLB6.js} +7 -7
- package/dist/_node-chunks/{chunk-ODJGHT54.js → chunk-PMZEJJNX.js} +7 -7
- package/dist/_node-chunks/{chunk-F4HHDWJV.js → chunk-RSJK2D7X.js} +6 -6
- package/dist/_node-chunks/{chunk-PQF6TGKN.js → chunk-TBYOSPAV.js} +6 -6
- package/dist/_node-chunks/{chunk-KIW5GZKQ.js → chunk-TC7X5DN2.js} +10 -10
- package/dist/_node-chunks/{chunk-43AQPYQJ.js → chunk-TCLOOFNE.js} +7 -7
- package/dist/_node-chunks/{chunk-QAX2QIAO.js → chunk-VN7SAKM4.js} +6 -6
- package/dist/_node-chunks/{chunk-3FVKDIQ7.js → chunk-VW25O2YM.js} +6 -6
- package/dist/_node-chunks/{chunk-4CHMPSHM.js → chunk-WGBDDI6W.js} +642 -639
- package/dist/_node-chunks/chunk-YN3C74EA.js +18 -0
- package/dist/_node-chunks/{chunk-INMOMYVB.js → chunk-YTTOTUWC.js} +6 -6
- package/dist/_node-chunks/{chunk-PJAOEV2K.js → chunk-YZ3XRP4N.js} +6 -6
- package/dist/_node-chunks/{dist-RFQRGJD5.js → dist-L6XLFQOU.js} +9 -9
- package/dist/_node-chunks/{globby-WIMKMN5Q.js → globby-7IXLXFEA.js} +9 -9
- package/dist/_node-chunks/{lib-OBEY3MUM.js → lib-T5L2ZSAG.js} +7 -7
- package/dist/_node-chunks/{mdx-N42X6CFJ-7XA7LOVG.js → mdx-N42X6CFJ-GOOKUTSA.js} +8 -8
- package/dist/_node-chunks/{p-limit-VII3MYEU.js → p-limit-7GKATDEW.js} +7 -7
- package/dist/babel/index.js +10 -10
- package/dist/bin/core.js +12 -12
- package/dist/bin/dispatcher.js +11 -11
- package/dist/bin/loader.js +9 -9
- package/dist/cli/index.d.ts +1 -2
- package/dist/cli/index.js +18 -18
- package/dist/common/index.d.ts +553 -560
- package/dist/common/index.js +19 -21
- package/dist/components/index.js +35 -29
- package/dist/core-server/index.js +33 -33
- package/dist/core-server/presets/common-manager.js +74 -108
- package/dist/core-server/presets/common-override-preset.js +9 -9
- package/dist/core-server/presets/common-preset.js +25 -25
- package/dist/csf-tools/index.js +9 -9
- package/dist/manager/globals-runtime.js +142 -65
- package/dist/manager/runtime.js +139 -115
- package/dist/manager-api/index.js +1 -1
- package/dist/mocking-utils/index.js +8 -8
- package/dist/node-logger/index.d.ts +3 -1
- package/dist/node-logger/index.js +9 -9
- package/dist/preview-api/index.d.ts +68 -67
- package/dist/server-errors.js +11 -11
- package/dist/telemetry/index.js +23 -23
- package/dist/theming/create.d.ts +1 -1
- package/dist/theming/create.js +1 -1
- package/dist/theming/index.d.ts +65 -2
- package/dist/theming/index.js +6 -3
- package/dist/types/index.d.ts +1 -1
- package/package.json +2 -3
- package/dist/_node-chunks/chunk-CEFT3TLW.js +0 -18
- package/dist/_node-chunks/chunk-HG5BSY5V.js +0 -23
- package/dist/_node-chunks/chunk-Y35QWPHB.js +0 -61
package/dist/manager/runtime.js
CHANGED
|
@@ -293,9 +293,9 @@ var require_memoizerific = __commonJS({
|
|
|
293
293
|
module3.exports = function(limit) {
|
|
294
294
|
var cache = new MapOrSimilar(!1), lru = [];
|
|
295
295
|
return function(fn) {
|
|
296
|
-
var
|
|
296
|
+
var memoizerific3 = function() {
|
|
297
297
|
var currentCache = cache, newMap, fnResult, argsLengthMinusOne = arguments.length - 1, lruPath = Array(argsLengthMinusOne + 1), isMemoized = !0, i2;
|
|
298
|
-
if ((
|
|
298
|
+
if ((memoizerific3.numArgs || memoizerific3.numArgs === 0) && memoizerific3.numArgs !== argsLengthMinusOne + 1)
|
|
299
299
|
throw new Error("Memoizerific functions should always be called with the same number of arguments");
|
|
300
300
|
for (i2 = 0; i2 < argsLengthMinusOne; i2++) {
|
|
301
301
|
if (lruPath[i2] = {
|
|
@@ -310,9 +310,9 @@ var require_memoizerific = __commonJS({
|
|
|
310
310
|
return isMemoized && (currentCache.has(arguments[argsLengthMinusOne]) ? fnResult = currentCache.get(arguments[argsLengthMinusOne]) : isMemoized = !1), isMemoized || (fnResult = fn.apply(null, arguments), currentCache.set(arguments[argsLengthMinusOne], fnResult)), limit > 0 && (lruPath[argsLengthMinusOne] = {
|
|
311
311
|
cacheItem: currentCache,
|
|
312
312
|
arg: arguments[argsLengthMinusOne]
|
|
313
|
-
}, isMemoized ? moveToMostRecentLru(lru, lruPath) : lru.push(lruPath), lru.length > limit && removeCachedResult(lru.shift())),
|
|
313
|
+
}, isMemoized ? moveToMostRecentLru(lru, lruPath) : lru.push(lruPath), lru.length > limit && removeCachedResult(lru.shift())), memoizerific3.wasMemoized = isMemoized, memoizerific3.numArgs = argsLengthMinusOne + 1, fnResult;
|
|
314
314
|
};
|
|
315
|
-
return
|
|
315
|
+
return memoizerific3.limit = limit, memoizerific3.wasMemoized = !1, memoizerific3.cache = cache, memoizerific3.lru = lru, memoizerific3;
|
|
316
316
|
};
|
|
317
317
|
};
|
|
318
318
|
function moveToMostRecentLru(lru, lruPath) {
|
|
@@ -2259,7 +2259,7 @@ var icons_default = __STORYBOOK_ICONS__, { AccessibilityAltIcon, AccessibilityIc
|
|
|
2259
2259
|
var manager_api_default = __STORYBOOK_API__, { ActiveTabs, Consumer, ManagerContext, Provider, RequestResponseError, addons, combineParameters, controlOrMetaKey, controlOrMetaSymbol, eventMatchesShortcut, eventToShortcut, experimental_MockUniversalStore, experimental_UniversalStore, experimental_getStatusStore, experimental_getTestProviderStore, experimental_requestResponse, experimental_useStatusStore, experimental_useTestProviderStore, experimental_useUniversalStore, internal_checklistStore, internal_fullStatusStore, internal_fullTestProviderStore, internal_universalChecklistStore, internal_universalStatusStore, internal_universalTestProviderStore, isMacLike, isShortcutTaken, keyToSymbol, merge, mockChannel, optionOrAltSymbol, shortcutMatchesShortcut, shortcutToAriaKeyshortcuts, shortcutToHumanString, types, useAddonState, useArgTypes, useArgs, useChannel, useGlobalTypes, useGlobals, useParameter, useSharedState, useStoryPrepared, useStorybookApi, useStorybookState } = __STORYBOOK_API__;
|
|
2260
2260
|
|
|
2261
2261
|
// global-externals:storybook/theming
|
|
2262
|
-
var theming_default = __STORYBOOK_THEMING__, { CacheProvider, ClassNames, Global, ThemeProvider, background, color, convert, create, createCache, createGlobal, createReset, css, darken, ensure, getPreferredColorScheme, ignoreSsrWarning, isPropValid, jsx, keyframes, lighten, styled, themes, typography, useTheme, withTheme } = __STORYBOOK_THEMING__;
|
|
2262
|
+
var theming_default = __STORYBOOK_THEMING__, { CacheProvider, ClassNames, Global, ThemeProvider, background, color, convert, create, createCache, createGlobal, createReset, css, darken, ensure, getPreferredColorScheme, ignoreSsrWarning, isPropValid, jsx, keyframes, lighten, styled, themes, tokens, typography, useTheme, withTheme } = __STORYBOOK_THEMING__;
|
|
2263
2263
|
|
|
2264
2264
|
// global-externals:storybook/internal/components
|
|
2265
2265
|
var components_default = __STORYBOOK_COMPONENTS__, { A, AbstractToolbar, ActionBar, AddonPanel, Badge, Bar, Blockquote, Button, Card, ClipboardCode, Code, Collapsible, DL, Div, DocumentWrapper, EmptyTabContent, ErrorFormatter, FlexBar, Form, H1, H2, H3, H4, H5, H6, HR, IconButton, Img, LI, Link, ListItem, Listbox, Loader, Modal, ModalDecorator, OL, P, Placeholder, Popover, PopoverProvider, Pre, ProgressSpinner, ResetWrapper, ScrollArea, Select, Separator, Spaced, Span, StatelessTab, StatelessTabList, StatelessTabPanel, StatelessTabsView, StorybookIcon: StorybookIcon2, StorybookLogo, SyntaxHighlighter, TT, TabBar, TabButton, TabList, TabPanel, TabWrapper, Table, Tabs, TabsState, TabsView, ToggleButton, Toolbar, Tooltip, TooltipLinkList, TooltipMessage, TooltipNote, TooltipProvider, UL, WithTooltip, WithTooltipPure, Zoom, codeCommon, components, convertToReactAriaPlacement, createCopyToClipboardFunction, getStoryHref, interleaveSeparators, nameSpaceClassNames, resetComponents, useTabsState, withReset } = __STORYBOOK_COMPONENTS__;
|
|
@@ -6537,6 +6537,19 @@ var storeOptions = {
|
|
|
6537
6537
|
};
|
|
6538
6538
|
var STORE_CHANNEL_EVENT_NAME = `UNIVERSAL_STORE:${storeOptions.id}`;
|
|
6539
6539
|
|
|
6540
|
+
// src/cli/AddonVitestService.constants.ts
|
|
6541
|
+
var SUPPORTED_FRAMEWORKS = [
|
|
6542
|
+
"html-vite" /* HTML_VITE */,
|
|
6543
|
+
"nextjs-vite" /* NEXTJS_VITE */,
|
|
6544
|
+
"preact-vite" /* PREACT_VITE */,
|
|
6545
|
+
"react-native-web-vite" /* REACT_NATIVE_WEB_VITE */,
|
|
6546
|
+
"react-vite" /* REACT_VITE */,
|
|
6547
|
+
"svelte-vite" /* SVELTE_VITE */,
|
|
6548
|
+
"sveltekit" /* SVELTEKIT */,
|
|
6549
|
+
"vue3-vite" /* VUE3_VITE */,
|
|
6550
|
+
"web-components-vite" /* WEB_COMPONENTS_VITE */
|
|
6551
|
+
];
|
|
6552
|
+
|
|
6540
6553
|
// src/docs-tools/shared.ts
|
|
6541
6554
|
var ADDON_ID5 = "storybook/docs", PANEL_ID3 = `${ADDON_ID5}/panel`;
|
|
6542
6555
|
var SNIPPET_RENDERED = `${ADDON_ID5}/snippet-rendered`;
|
|
@@ -10652,8 +10665,13 @@ var CodeWrapper = styled.div(({ theme }) => ({
|
|
|
10652
10665
|
".linenumber": {
|
|
10653
10666
|
opacity: 0.5
|
|
10654
10667
|
}
|
|
10655
|
-
})), CodeSnippet = (props) => react_default.createElement(ThemeProvider, { theme: convert(themes.dark) }, react_default.createElement(CodeWrapper, null, react_default.createElement(SyntaxHighlighter, { ...props }))), subscribeToIndex = (condition) => ({ api, done }) => {
|
|
10656
|
-
let check = () => condition(
|
|
10668
|
+
})), CodeSnippet = (props) => react_default.createElement(ThemeProvider, { theme: convert(themes.dark) }, react_default.createElement(CodeWrapper, null, react_default.createElement(SyntaxHighlighter, { ...props }))), isExample = (id) => id.startsWith("example-") || id.startsWith("configure-your-project--"), subscribeToIndex = (condition) => ({ api, done }) => {
|
|
10669
|
+
let check = () => condition(
|
|
10670
|
+
Object.entries(api.getIndex()?.entries || {}).reduce(
|
|
10671
|
+
(acc, [id, entry]) => isExample(entry.id) ? acc : Object.assign(acc, { [id]: entry }),
|
|
10672
|
+
{}
|
|
10673
|
+
)
|
|
10674
|
+
);
|
|
10657
10675
|
if (check())
|
|
10658
10676
|
done();
|
|
10659
10677
|
else
|
|
@@ -10699,7 +10717,10 @@ var CodeWrapper = styled.div(({ theme }) => ({
|
|
|
10699
10717
|
id: "renderComponent",
|
|
10700
10718
|
label: "Render a component",
|
|
10701
10719
|
criteria: "A story finished rendering successfully",
|
|
10702
|
-
subscribe: ({ api, done }) => api.on(
|
|
10720
|
+
subscribe: ({ api, done }) => api.on(
|
|
10721
|
+
STORY_FINISHED,
|
|
10722
|
+
({ storyId, status }) => status === "success" && !isExample(storyId) && done()
|
|
10723
|
+
),
|
|
10703
10724
|
content: ({ api }) => react_default.createElement(react_default.Fragment, null, react_default.createElement("p", null, "Storybook renders your components in isolation, using stories. That allows you to work on the bit of UI you need, without worrying about the rest of the app."), react_default.createElement("p", null, "Rendering your components can often require", " ", react_default.createElement(
|
|
10704
10725
|
Link,
|
|
10705
10726
|
{
|
|
@@ -10786,7 +10807,7 @@ export const Primary: Story = {
|
|
|
10786
10807
|
criteria: "At least 5 components exist in the index",
|
|
10787
10808
|
subscribe: subscribeToIndex((entries) => {
|
|
10788
10809
|
let stories = Object.values(entries).filter(
|
|
10789
|
-
(entry) => entry.type === "story"
|
|
10810
|
+
(entry) => entry.type === "story"
|
|
10790
10811
|
);
|
|
10791
10812
|
return new Set(stories.map(({ title: title2 }) => title2)).size >= 5;
|
|
10792
10813
|
})
|
|
@@ -10819,7 +10840,7 @@ export const Primary: Story = {
|
|
|
10819
10840
|
))),
|
|
10820
10841
|
criteria: "At least 20 stories exist in the index",
|
|
10821
10842
|
subscribe: subscribeToIndex((entries) => Object.values(entries).filter(
|
|
10822
|
-
(entry) => entry.type === "story"
|
|
10843
|
+
(entry) => entry.type === "story"
|
|
10823
10844
|
).length >= 20)
|
|
10824
10845
|
},
|
|
10825
10846
|
{
|
|
@@ -10943,8 +10964,7 @@ export default {
|
|
|
10943
10964
|
id: "installVitest",
|
|
10944
10965
|
label: "Install Vitest addon",
|
|
10945
10966
|
afterCompletion: "unavailable",
|
|
10946
|
-
available: () =>
|
|
10947
|
-
// TODO check for compatibility with the project
|
|
10967
|
+
available: () => !!globalThis.STORYBOOK_FRAMEWORK && SUPPORTED_FRAMEWORKS.includes(globalThis.STORYBOOK_FRAMEWORK),
|
|
10948
10968
|
criteria: "@storybook/addon-vitest registered in .storybook/main.js|ts",
|
|
10949
10969
|
subscribe: ({ done }) => {
|
|
10950
10970
|
addons.experimental_getRegisteredAddons().includes(ADDON_ID4) && done();
|
|
@@ -11047,7 +11067,7 @@ export default {
|
|
|
11047
11067
|
criteria: "At least one story with a play or test function",
|
|
11048
11068
|
subscribe: subscribeToIndex(
|
|
11049
11069
|
(entries) => Object.values(entries).some(
|
|
11050
|
-
(
|
|
11070
|
+
(entry) => entry.tags?.includes("play-fn") || entry.tags?.includes("test-fn")
|
|
11051
11071
|
)
|
|
11052
11072
|
),
|
|
11053
11073
|
content: ({ api }) => react_default.createElement(react_default.Fragment, null, react_default.createElement("p", null, "When you need to test non-visual or particularly complex behavior of a component, add a play function."), react_default.createElement(CodeSnippet, { language: "typescript" }, `// Button.stories.ts
|
|
@@ -11319,16 +11339,16 @@ export const Disabled: Story = {
|
|
|
11319
11339
|
label: "Automatically document your components",
|
|
11320
11340
|
criteria: "At least one component with the autodocs tag applied",
|
|
11321
11341
|
subscribe: subscribeToIndex(
|
|
11322
|
-
(entries) => Object.values(entries).some(
|
|
11323
|
-
({ id, tags }) => !id.startsWith("example-") && tags?.includes("autodocs")
|
|
11324
|
-
)
|
|
11342
|
+
(entries) => Object.values(entries).some((entry) => entry.tags?.includes("autodocs"))
|
|
11325
11343
|
),
|
|
11326
|
-
content: ({ api }) => react_default.createElement(react_default.Fragment, null, react_default.createElement("p", null, "Add the autodocs tag to a component's meta to automatically generate documentation for that component, complete with examples, source code, an API table, and a description."), react_default.createElement(CodeSnippet, { language: "typescript" }, `// Button.stories.
|
|
11344
|
+
content: ({ api }) => react_default.createElement(react_default.Fragment, null, react_default.createElement("p", null, "Add the autodocs tag to a component's meta to automatically generate documentation for that component, complete with examples, source code, an API table, and a description."), react_default.createElement(CodeSnippet, { language: "typescript" }, `// Button.stories.js
|
|
11327
11345
|
|
|
11328
|
-
|
|
11346
|
+
const meta = {
|
|
11329
11347
|
component: Button,
|
|
11330
11348
|
tags: ['autodocs'], // \u{1F448} Add this tag
|
|
11331
|
-
}
|
|
11349
|
+
}
|
|
11350
|
+
|
|
11351
|
+
export default meta;`), react_default.createElement("p", null, "That tag can also be applied in ", react_default.createElement("code", null, ".storybook/preview.ts"), ", to generate documentation for ", react_default.createElement("em", null, "all"), " components."), react_default.createElement(
|
|
11332
11352
|
"img",
|
|
11333
11353
|
{
|
|
11334
11354
|
src: api.getDocsUrl({
|
|
@@ -11356,9 +11376,7 @@ export default {
|
|
|
11356
11376
|
label: "Custom content with MDX",
|
|
11357
11377
|
criteria: "At least one MDX page",
|
|
11358
11378
|
subscribe: subscribeToIndex(
|
|
11359
|
-
(entries) => Object.values(entries).some(
|
|
11360
|
-
({ id, type }) => type === "docs" && !id.startsWith("example-")
|
|
11361
|
-
)
|
|
11379
|
+
(entries) => Object.values(entries).some((entry) => entry.type === "docs")
|
|
11362
11380
|
),
|
|
11363
11381
|
content: ({ api }) => react_default.createElement(react_default.Fragment, null, react_default.createElement("p", null, "You can use MDX (markdown + React components) to provide an introduction to your project, document things like design tokens, or go beyond the automatic documentation for your components."), react_default.createElement("p", null, "For a start, create an ", react_default.createElement("code", null, "introduction.mdx"), " file and (using markdown and Storybook's", " ", react_default.createElement(
|
|
11364
11382
|
Link,
|
|
@@ -13919,6 +13937,9 @@ var { document: document4, window: globalWindow3 } = scope, IndicatorPlacement =
|
|
|
13919
13937
|
return react_default.createElement(Message, { href: "https://storybook.js.org/docs/sharing/storybook-composition?ref=ui" }, react_default.createElement(LightningIcon, { color: theme.color.gold }), react_default.createElement("div", null, react_default.createElement(MessageTitle, null, "Reduce lag"), react_default.createElement("div", null, "Learn how to speed up Composition performance.")));
|
|
13920
13938
|
};
|
|
13921
13939
|
|
|
13940
|
+
// src/manager/utils/status.tsx
|
|
13941
|
+
var import_memoizerific3 = __toESM(require_memoizerific(), 1);
|
|
13942
|
+
|
|
13922
13943
|
// src/manager/components/sidebar/IconSymbols.tsx
|
|
13923
13944
|
var Svg2 = styled.svg`
|
|
13924
13945
|
position: absolute;
|
|
@@ -14015,7 +14036,7 @@ var SmallIcons = styled(CircleIcon)({
|
|
|
14015
14036
|
"status-value:success",
|
|
14016
14037
|
"status-value:warning",
|
|
14017
14038
|
"status-value:error"
|
|
14018
|
-
],
|
|
14039
|
+
], getStatus = (0, import_memoizerific3.default)(5)((theme, status) => ({
|
|
14019
14040
|
"status-value:unknown": [null, null],
|
|
14020
14041
|
"status-value:pending": [react_default.createElement(LoadingIcons, { key: "icon" }), "currentColor"],
|
|
14021
14042
|
"status-value:success": [
|
|
@@ -14024,13 +14045,13 @@ var SmallIcons = styled(CircleIcon)({
|
|
|
14024
14045
|
],
|
|
14025
14046
|
"status-value:warning": [
|
|
14026
14047
|
react_default.createElement("svg", { key: "icon", viewBox: "0 0 14 14", width: "14", height: "14" }, react_default.createElement(UseSymbol, { type: "warning" })),
|
|
14027
|
-
|
|
14048
|
+
theme.fgColor.warning
|
|
14028
14049
|
],
|
|
14029
14050
|
"status-value:error": [
|
|
14030
14051
|
react_default.createElement("svg", { key: "icon", viewBox: "0 0 14 14", width: "14", height: "14" }, react_default.createElement(UseSymbol, { type: "error" })),
|
|
14031
|
-
|
|
14052
|
+
theme.fgColor.negative
|
|
14032
14053
|
]
|
|
14033
|
-
}, getMostCriticalStatusValue = (statusValues) => statusPriority.reduce(
|
|
14054
|
+
})[status]), getMostCriticalStatusValue = (statusValues) => statusPriority.reduce(
|
|
14034
14055
|
(acc, value) => statusValues.includes(value) ? value : acc,
|
|
14035
14056
|
"status-value:unknown"
|
|
14036
14057
|
);
|
|
@@ -14101,6 +14122,9 @@ var withStatusColor = ({ theme, status }) => {
|
|
|
14101
14122
|
), StatusButton = forwardRef((props, ref) => react_default.createElement(StyledButton, { variant: "ghost", padding: "small", ...props, ref }));
|
|
14102
14123
|
StatusButton.displayName = "StatusButton";
|
|
14103
14124
|
|
|
14125
|
+
// src/manager/components/sidebar/StatusContext.tsx
|
|
14126
|
+
var StatusContext = createContext({});
|
|
14127
|
+
|
|
14104
14128
|
// src/manager/components/sidebar/ContextMenu.tsx
|
|
14105
14129
|
var empty = {
|
|
14106
14130
|
onMouseEnter: () => {
|
|
@@ -14116,7 +14140,7 @@ var empty = {
|
|
|
14116
14140
|
outlineOffset: -2
|
|
14117
14141
|
}
|
|
14118
14142
|
}), useContextMenu = (context, links, api) => {
|
|
14119
|
-
let [hoverCount, setHoverCount] = useState(0), [isOpen, setIsOpen] = useState(!1), [copyText, setCopyText] = react_default.useState("Copy story name"), shortcutKeys = api.getShortcutKeys(), enableShortcuts = !!shortcutKeys, topLinks = useMemo(() => {
|
|
14143
|
+
let [hoverCount, setHoverCount] = useState(0), [isOpen, setIsOpen] = useState(!1), [copyText, setCopyText] = react_default.useState("Copy story name"), { allStatuses, groupStatus } = useContext(StatusContext), shortcutKeys = api.getShortcutKeys(), enableShortcuts = !!shortcutKeys, topLinks = useMemo(() => {
|
|
14120
14144
|
let defaultLinks = [];
|
|
14121
14145
|
return context && "importPath" in context && defaultLinks.push({
|
|
14122
14146
|
id: "open-in-editor",
|
|
@@ -14143,7 +14167,7 @@ var empty = {
|
|
|
14143
14167
|
}, 2e3);
|
|
14144
14168
|
}
|
|
14145
14169
|
}), defaultLinks;
|
|
14146
|
-
}, [context, copyText, enableShortcuts, shortcutKeys]), handlers = useMemo(() => ({
|
|
14170
|
+
}, [api, context, copyText, enableShortcuts, shortcutKeys]), handlers = useMemo(() => ({
|
|
14147
14171
|
onMouseEnter: () => {
|
|
14148
14172
|
setHoverCount((c2) => c2 + 1);
|
|
14149
14173
|
},
|
|
@@ -14156,7 +14180,20 @@ var empty = {
|
|
|
14156
14180
|
}), []), providerLinks = useMemo(() => {
|
|
14157
14181
|
let registeredTestProviders = api.getElements(Addon_TypesEnum.experimental_TEST_PROVIDER);
|
|
14158
14182
|
return hoverCount ? generateTestProviderLinks(registeredTestProviders, context) : [];
|
|
14159
|
-
}, [api, context, hoverCount]), shouldRender = !context.refId && (providerLinks.length > 0 || links.length > 0 || topLinks.length > 0)
|
|
14183
|
+
}, [api, context, hoverCount]), shouldRender = !context.refId && (providerLinks.length > 0 || links.length > 0 || topLinks.length > 0), isLeafNode = context.type === "story" || context.type === "docs", itemStatus = useMemo(() => {
|
|
14184
|
+
let status = "status-value:unknown";
|
|
14185
|
+
if (!context)
|
|
14186
|
+
return status;
|
|
14187
|
+
if (isLeafNode) {
|
|
14188
|
+
let values = Object.values(allStatuses?.[context.id] || {}).map((s2) => s2.value);
|
|
14189
|
+
status = getMostCriticalStatusValue(values);
|
|
14190
|
+
}
|
|
14191
|
+
if (!isLeafNode) {
|
|
14192
|
+
let groupValue = groupStatus && groupStatus[context.id];
|
|
14193
|
+
status = groupValue === "status-value:success" || groupValue === void 0 ? "status-value:unknown" : groupValue;
|
|
14194
|
+
}
|
|
14195
|
+
return status;
|
|
14196
|
+
}, [allStatuses, groupStatus, context, isLeafNode]), MenuIcon2 = useMemo(() => context.type !== "story" && context.type !== "docs" ? itemStatus !== "status-value:success" && itemStatus !== "status-value:unknown" ? react_default.createElement("svg", { key: "icon", viewBox: "0 0 6 6", width: "6", height: "6" }, react_default.createElement(UseSymbol, { type: "dot" })) : react_default.createElement(EllipsisIcon, null) : itemStatus === "status-value:error" ? react_default.createElement("svg", { key: "icon", viewBox: "0 0 14 14", width: "14", height: "14" }, react_default.createElement(UseSymbol, { type: "error" })) : itemStatus === "status-value:warning" ? react_default.createElement("svg", { key: "icon", viewBox: "0 0 14 14", width: "14", height: "14" }, react_default.createElement(UseSymbol, { type: "warning" })) : itemStatus === "status-value:success" ? react_default.createElement("svg", { key: "icon", viewBox: "0 0 14 14", width: "14", height: "14" }, react_default.createElement(UseSymbol, { type: "success" })) : react_default.createElement(EllipsisIcon, null), [itemStatus, context.type]);
|
|
14160
14197
|
return useMemo(() => globalThis.CONFIG_TYPE !== "DEVELOPMENT" ? empty : {
|
|
14161
14198
|
onMouseEnter: handlers.onMouseEnter,
|
|
14162
14199
|
node: shouldRender ? react_default.createElement(
|
|
@@ -14177,13 +14214,13 @@ var empty = {
|
|
|
14177
14214
|
"data-testid": "context-menu",
|
|
14178
14215
|
ariaLabel: "Open context menu",
|
|
14179
14216
|
type: "button",
|
|
14180
|
-
status:
|
|
14217
|
+
status: itemStatus,
|
|
14181
14218
|
onClick: handlers.onOpen
|
|
14182
14219
|
},
|
|
14183
|
-
|
|
14220
|
+
MenuIcon2
|
|
14184
14221
|
)
|
|
14185
14222
|
) : null
|
|
14186
|
-
}, [context, handlers, isOpen, shouldRender, links, topLinks]);
|
|
14223
|
+
}, [context, handlers, isOpen, shouldRender, links, topLinks, itemStatus, MenuIcon2]);
|
|
14187
14224
|
}, LiveContextMenu = ({
|
|
14188
14225
|
context,
|
|
14189
14226
|
links,
|
|
@@ -14206,33 +14243,6 @@ function generateTestProviderLinks(registeredTestProviders, context) {
|
|
|
14206
14243
|
}).filter(Boolean);
|
|
14207
14244
|
}
|
|
14208
14245
|
|
|
14209
|
-
// src/manager/components/sidebar/StatusContext.tsx
|
|
14210
|
-
var StatusContext = createContext({}), useStatusSummary = (item) => {
|
|
14211
|
-
let { data, allStatuses, groupStatus } = useContext(StatusContext), summary = {
|
|
14212
|
-
counts: {
|
|
14213
|
-
"status-value:pending": 0,
|
|
14214
|
-
"status-value:success": 0,
|
|
14215
|
-
"status-value:error": 0,
|
|
14216
|
-
"status-value:warning": 0,
|
|
14217
|
-
"status-value:unknown": 0
|
|
14218
|
-
},
|
|
14219
|
-
statusesByValue: {
|
|
14220
|
-
"status-value:pending": {},
|
|
14221
|
-
"status-value:success": {},
|
|
14222
|
-
"status-value:error": {},
|
|
14223
|
-
"status-value:warning": {},
|
|
14224
|
-
"status-value:unknown": {}
|
|
14225
|
-
}
|
|
14226
|
-
};
|
|
14227
|
-
if (data && allStatuses && groupStatus && ["status-value:pending", "status-value:warning", "status-value:error"].includes(
|
|
14228
|
-
groupStatus[item.id]
|
|
14229
|
-
))
|
|
14230
|
-
for (let storyId of getDescendantIds(data, item.id, !1))
|
|
14231
|
-
for (let status of Object.values(allStatuses[storyId] ?? {}))
|
|
14232
|
-
summary.counts[status.value]++, summary.statusesByValue[status.value][storyId] ??= [], summary.statusesByValue[status.value][storyId].push(status);
|
|
14233
|
-
return summary;
|
|
14234
|
-
};
|
|
14235
|
-
|
|
14236
14246
|
// src/manager/components/sidebar/components/CollapseIcon.tsx
|
|
14237
14247
|
var CollapseIconWrapper = styled.div(({ theme, isExpanded }) => ({
|
|
14238
14248
|
width: 8,
|
|
@@ -14575,48 +14585,66 @@ var statusOrder = [
|
|
|
14575
14585
|
setExpanded,
|
|
14576
14586
|
onSelectStoryId,
|
|
14577
14587
|
api
|
|
14578
|
-
} = props, { isDesktop, isMobile: isMobile2, setMobileMenuOpen } = useLayout()
|
|
14588
|
+
} = props, theme = useTheme(), { isDesktop, isMobile: isMobile2, setMobileMenuOpen } = useLayout();
|
|
14579
14589
|
if (!isDisplayed)
|
|
14580
14590
|
return null;
|
|
14581
|
-
let statusLinks = useMemo(() => {
|
|
14582
|
-
|
|
14583
|
-
|
|
14584
|
-
|
|
14585
|
-
|
|
14586
|
-
|
|
14587
|
-
|
|
14588
|
-
|
|
14589
|
-
onClick: () => {
|
|
14590
|
-
onSelectStoryId(item.id), internal_fullStatusStore.selectStatuses([status]);
|
|
14591
|
-
}
|
|
14592
|
-
}));
|
|
14593
|
-
if (item.type === "component" || item.type === "group") {
|
|
14594
|
-
let links = [], errorCount = counts["status-value:error"], warningCount = counts["status-value:warning"];
|
|
14595
|
-
return errorCount && links.push({
|
|
14596
|
-
id: "errors",
|
|
14597
|
-
icon: StatusIconMap["status-value:error"],
|
|
14598
|
-
title: `${errorCount} ${errorCount === 1 ? "story" : "stories"} with errors`,
|
|
14599
|
-
onClick: () => {
|
|
14600
|
-
let [firstStoryId] = Object.entries(statusesByValue["status-value:error"])[0];
|
|
14601
|
-
onSelectStoryId(firstStoryId);
|
|
14602
|
-
let errorStatuses = Object.values(statusesByValue["status-value:error"]).flat();
|
|
14603
|
-
internal_fullStatusStore.selectStatuses(errorStatuses);
|
|
14604
|
-
}
|
|
14605
|
-
}), warningCount && links.push({
|
|
14606
|
-
id: "warnings",
|
|
14607
|
-
icon: StatusIconMap["status-value:warning"],
|
|
14608
|
-
title: `${warningCount} ${warningCount === 1 ? "story" : "stories"} with warnings`,
|
|
14609
|
-
onClick: () => {
|
|
14610
|
-
let [firstStoryId] = Object.entries(statusesByValue["status-value:warning"])[0];
|
|
14611
|
-
onSelectStoryId(firstStoryId);
|
|
14612
|
-
let warningStatuses = Object.values(statusesByValue["status-value:warning"]).flat();
|
|
14613
|
-
internal_fullStatusStore.selectStatuses(warningStatuses);
|
|
14614
|
-
}
|
|
14615
|
-
}), links;
|
|
14591
|
+
let statusLinks = useMemo(() => item.type === "story" || item.type === "docs" ? Object.entries(statuses).filter(([, status]) => status.sidebarContextMenu !== !1).sort((a2, b2) => statusOrder.indexOf(a2[1].value) - statusOrder.indexOf(b2[1].value)).map(([typeId, status]) => ({
|
|
14592
|
+
id: typeId,
|
|
14593
|
+
title: status.title,
|
|
14594
|
+
description: status.description,
|
|
14595
|
+
"aria-label": `Test status for ${status.title}: ${status.value}`,
|
|
14596
|
+
icon: StatusIconMap[status.value],
|
|
14597
|
+
onClick: () => {
|
|
14598
|
+
onSelectStoryId(item.id), internal_fullStatusStore.selectStatuses([status]);
|
|
14616
14599
|
}
|
|
14617
|
-
|
|
14618
|
-
}, [counts, item.id, item.type, onSelectStoryId, statuses, statusesByValue]), id = createId(item.id, refId), contextMenu = refId === "storybook_internal" ? useContextMenu(item, statusLinks, api) : { node: null, onMouseEnter: () => {
|
|
14600
|
+
})) : [], [item.id, item.type, onSelectStoryId, statuses]), id = createId(item.id, refId), contextMenu = refId === "storybook_internal" ? useContextMenu(item, statusLinks, api) : { node: null, onMouseEnter: () => {
|
|
14619
14601
|
} };
|
|
14602
|
+
if (item.type === "story" && !("children" in item && item.children) && (!("subtype" in item) || item.subtype !== "test") || item.type === "docs") {
|
|
14603
|
+
let LeafNode3 = item.type === "docs" ? DocumentNode : StoryNode, statusValue = getMostCriticalStatusValue(
|
|
14604
|
+
Object.values(statuses || {}).map((s2) => s2.value)
|
|
14605
|
+
), [icon, textColor] = getStatus(theme, statusValue);
|
|
14606
|
+
return react_default.createElement(
|
|
14607
|
+
LeafNodeStyleWrapper,
|
|
14608
|
+
{
|
|
14609
|
+
key: id,
|
|
14610
|
+
className: "sidebar-item",
|
|
14611
|
+
"data-selected": isSelected,
|
|
14612
|
+
"data-ref-id": refId,
|
|
14613
|
+
"data-item-id": item.id,
|
|
14614
|
+
"data-parent-id": item.parent,
|
|
14615
|
+
"data-nodetype": item.type === "docs" ? "document" : "story",
|
|
14616
|
+
"data-highlightable": isDisplayed,
|
|
14617
|
+
onMouseEnter: contextMenu.onMouseEnter
|
|
14618
|
+
},
|
|
14619
|
+
react_default.createElement(
|
|
14620
|
+
LeafNode3,
|
|
14621
|
+
{
|
|
14622
|
+
style: isSelected ? {} : { color: textColor },
|
|
14623
|
+
href: getLink(item, refId),
|
|
14624
|
+
id,
|
|
14625
|
+
depth: isOrphan ? item.depth : item.depth - 1,
|
|
14626
|
+
onClick: (event) => {
|
|
14627
|
+
event.preventDefault(), onSelectStoryId(item.id), isMobile2 && setMobileMenuOpen(!1);
|
|
14628
|
+
},
|
|
14629
|
+
...item.type === "docs" && { docsMode }
|
|
14630
|
+
},
|
|
14631
|
+
item.renderLabel?.(item, api) || item.name
|
|
14632
|
+
),
|
|
14633
|
+
isSelected && react_default.createElement(SkipToContentLink, { asChild: !0, ariaLabel: !1 }, react_default.createElement("a", { href: "#storybook-preview-wrapper" }, "Skip to canvas")),
|
|
14634
|
+
contextMenu.node,
|
|
14635
|
+
icon ? react_default.createElement(
|
|
14636
|
+
StatusButton,
|
|
14637
|
+
{
|
|
14638
|
+
ariaLabel: `Test status: ${statusValue.replace("status-value:", "")}`,
|
|
14639
|
+
"data-testid": "tree-status-button",
|
|
14640
|
+
type: "button",
|
|
14641
|
+
status: statusValue,
|
|
14642
|
+
selectedItem: isSelected
|
|
14643
|
+
},
|
|
14644
|
+
icon
|
|
14645
|
+
) : null
|
|
14646
|
+
);
|
|
14647
|
+
}
|
|
14620
14648
|
if (item.type === "root")
|
|
14621
14649
|
return react_default.createElement(
|
|
14622
14650
|
RootNode,
|
|
@@ -14658,7 +14686,7 @@ var statusOrder = [
|
|
|
14658
14686
|
isFullyExpanded ? react_default.createElement(CollapseIcon, null) : react_default.createElement(ExpandAltIcon, null)
|
|
14659
14687
|
)
|
|
14660
14688
|
);
|
|
14661
|
-
let itemStatus = getMostCriticalStatusValue(Object.values(statuses || {}).map((s2) => s2.value)), [itemIcon, itemColor] =
|
|
14689
|
+
let itemStatus = getMostCriticalStatusValue(Object.values(statuses || {}).map((s2) => s2.value)), [itemIcon, itemColor] = getStatus(theme, itemStatus), itemStatusButton = itemIcon ? react_default.createElement(
|
|
14662
14690
|
StatusButton,
|
|
14663
14691
|
{
|
|
14664
14692
|
ariaLabel: `Test status: ${itemStatus.replace("status-value:", "")}`,
|
|
@@ -14671,7 +14699,7 @@ var statusOrder = [
|
|
|
14671
14699
|
itemIcon
|
|
14672
14700
|
) : null;
|
|
14673
14701
|
if (item.type === "component" || item.type === "group" || item.type === "story" && "children" in item && item.children) {
|
|
14674
|
-
let { children = [] } = item, BranchNode2 = { component: ComponentNode, group: GroupNode, story: StoryNode }[item.type], status = getMostCriticalStatusValue([itemStatus, groupStatus?.[item.id]]), color2 = status ?
|
|
14702
|
+
let { children = [] } = item, BranchNode2 = { component: ComponentNode, group: GroupNode, story: StoryNode }[item.type], status = getMostCriticalStatusValue([itemStatus, groupStatus?.[item.id]]), color2 = status ? getStatus(theme, status)[1] : null, showBranchStatus = status === "status-value:error" || status === "status-value:warning";
|
|
14675
14703
|
return react_default.createElement(
|
|
14676
14704
|
LeafNodeStyleWrapper,
|
|
14677
14705
|
{
|
|
@@ -14745,8 +14773,7 @@ var statusOrder = [
|
|
|
14745
14773
|
depth: isOrphan ? item.depth : item.depth - 1,
|
|
14746
14774
|
onClick: (event) => {
|
|
14747
14775
|
event.preventDefault(), onSelectStoryId(item.id), isMobile2 && setMobileMenuOpen(!1);
|
|
14748
|
-
}
|
|
14749
|
-
...item.type === "docs" && { docsMode }
|
|
14776
|
+
}
|
|
14750
14777
|
},
|
|
14751
14778
|
item.renderLabel?.(item, api) || item.name
|
|
14752
14779
|
),
|
|
@@ -17581,13 +17608,13 @@ var { document: document7 } = scope, DEFAULT_MAX_SEARCH_RESULTS = 50, options =
|
|
|
17581
17608
|
openMenu,
|
|
17582
17609
|
closeMenu,
|
|
17583
17610
|
inputValue,
|
|
17584
|
-
clearSelection,
|
|
17585
17611
|
getInputProps,
|
|
17586
17612
|
getItemProps,
|
|
17587
17613
|
getLabelProps,
|
|
17588
17614
|
getMenuProps,
|
|
17589
17615
|
getRootProps,
|
|
17590
|
-
highlightedIndex
|
|
17616
|
+
highlightedIndex,
|
|
17617
|
+
reset
|
|
17591
17618
|
}) => {
|
|
17592
17619
|
let input = inputValue ? inputValue.trim() : "", results = input ? getResults(input) : [], lastViewed = !input && getLastViewed();
|
|
17593
17620
|
lastViewed && lastViewed.length && (results = lastViewed.reduce((acc, { storyId, refId }) => {
|
|
@@ -17630,7 +17657,9 @@ var { document: document7 } = scope, DEFAULT_MAX_SEARCH_RESULTS = 50, options =
|
|
|
17630
17657
|
padding: "small",
|
|
17631
17658
|
variant: "ghost",
|
|
17632
17659
|
ariaLabel: "Clear search",
|
|
17633
|
-
onClick: () =>
|
|
17660
|
+
onClick: () => {
|
|
17661
|
+
reset({ inputValue: "" }), closeMenu();
|
|
17662
|
+
}
|
|
17634
17663
|
},
|
|
17635
17664
|
react_default.createElement(CloseIcon, null)
|
|
17636
17665
|
), searchFieldContent)
|
|
@@ -17745,7 +17774,7 @@ var { document: document8 } = scope, ResultsList = styled.ol({
|
|
|
17745
17774
|
}
|
|
17746
17775
|
}
|
|
17747
17776
|
})), Result = react_default.memo(function({ item, matches, onClick, ...props }) {
|
|
17748
|
-
let click = useCallback(
|
|
17777
|
+
let theme = useTheme(), click = useCallback(
|
|
17749
17778
|
(event) => {
|
|
17750
17779
|
event.preventDefault(), onClick?.(event);
|
|
17751
17780
|
},
|
|
@@ -17753,8 +17782,8 @@ var { document: document8 } = scope, ResultsList = styled.ol({
|
|
|
17753
17782
|
), api = useStorybookApi();
|
|
17754
17783
|
useEffect(() => {
|
|
17755
17784
|
api && props.isHighlighted && item.type === "component" && api.emit(PRELOAD_ENTRIES, { ids: [item.children[0]] }, { options: { target: item.refId } });
|
|
17756
|
-
}, [props.isHighlighted, item]);
|
|
17757
|
-
let nameMatch = matches.find((match) => match.key === "name"), pathMatches = matches.filter((match) => match.key === "path"), [icon] = item.status ?
|
|
17785
|
+
}, [api, props.isHighlighted, item]);
|
|
17786
|
+
let nameMatch = matches.find((match) => match.key === "name"), pathMatches = matches.filter((match) => match.key === "path"), [icon] = item.status ? getStatus(theme, item.status) : [];
|
|
17758
17787
|
return react_default.createElement(ResultRow, { ...props, onClick: click }, react_default.createElement(IconWrapper2, null, item.type === "component" && react_default.createElement(TypeIcon2, { viewBox: "0 0 14 14", width: "14", height: "14", type: "component" }, react_default.createElement(UseSymbol, { type: "component" })), item.type === "story" && react_default.createElement(TypeIcon2, { viewBox: "0 0 14 14", width: "14", height: "14", type: item.subtype }, react_default.createElement(UseSymbol, { type: item.subtype })), !(item.type === "component" || item.type === "story") && react_default.createElement(TypeIcon2, { viewBox: "0 0 14 14", width: "14", height: "14", type: "document" }, react_default.createElement(UseSymbol, { type: "document" }))), react_default.createElement(ResultRowContent, { className: "search-result-item--label" }, react_default.createElement(Title, null, react_default.createElement(Highlight, { match: nameMatch }, item.name)), react_default.createElement(Path, null, item.path.map((group, index) => react_default.createElement("span", { key: index }, react_default.createElement(Highlight, { match: pathMatches.find((match) => match.arrayIndex === index) }, group))))), item.status ? react_default.createElement(StatusLabel, { status: item.status }, icon) : null);
|
|
17759
17788
|
}), SearchResults = react_default.memo(function({
|
|
17760
17789
|
query,
|
|
@@ -19069,14 +19098,9 @@ var Sections = styled.ol(({ theme }) => ({
|
|
|
19069
19098
|
return { id, title: title2, items, progress };
|
|
19070
19099
|
}),
|
|
19071
19100
|
[itemsById, sectionsById]
|
|
19072
|
-
), next = useMemo(
|
|
19073
|
-
() => Object.values(sections).findIndex(
|
|
19074
|
-
({ items }) => items.some((item) => item.isOpen && item.isAvailable)
|
|
19075
|
-
),
|
|
19076
|
-
[sections]
|
|
19077
19101
|
);
|
|
19078
|
-
return react_default.createElement(Sections, null, sections.map(({ id, title: title2, items, progress }
|
|
19079
|
-
let collapsed =
|
|
19102
|
+
return react_default.createElement(Sections, null, sections.map(({ id, title: title2, items, progress }) => {
|
|
19103
|
+
let collapsed = progress === 100 && items.every((item) => item.id !== locationHash);
|
|
19080
19104
|
return react_default.createElement("li", { key: id }, react_default.createElement(Focus.Proxy, { targetId: `toggle-${id}` }, react_default.createElement(
|
|
19081
19105
|
Collapsible,
|
|
19082
19106
|
{
|
|
@@ -19114,7 +19138,7 @@ var Sections = styled.ol(({ theme }) => ({
|
|
|
19114
19138
|
isSkipped,
|
|
19115
19139
|
...item
|
|
19116
19140
|
}) => {
|
|
19117
|
-
let isChecked = isAccepted || isDone, isCollapsed =
|
|
19141
|
+
let isChecked = isAccepted || isDone, isCollapsed = item.id !== locationHash, isLocked = !!isLockedBy, itemContent = content?.({ api });
|
|
19118
19142
|
return react_default.createElement(Listbox.Item, { as: "li", key: item.id }, react_default.createElement(
|
|
19119
19143
|
Focus.Target,
|
|
19120
19144
|
{
|
|
@@ -2329,7 +2329,7 @@ import { global as global8 } from "@storybook/global";
|
|
|
2329
2329
|
import semver from "semver";
|
|
2330
2330
|
|
|
2331
2331
|
// src/manager-api/version.ts
|
|
2332
|
-
var version = "10.1.0-beta.
|
|
2332
|
+
var version = "10.1.0-beta.4";
|
|
2333
2333
|
|
|
2334
2334
|
// src/manager-api/modules/versions.ts
|
|
2335
2335
|
var { VERSIONCHECK } = global8, getVersionCheckData = (0, import_memoizerific2.default)(1)(() => {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
1
|
+
import CJS_COMPAT_NODE_URL_a6gceaz3qeh from 'node:url';
|
|
2
|
+
import CJS_COMPAT_NODE_PATH_a6gceaz3qeh from 'node:path';
|
|
3
|
+
import CJS_COMPAT_NODE_MODULE_a6gceaz3qeh from "node:module";
|
|
4
4
|
|
|
5
|
-
var __filename =
|
|
6
|
-
var __dirname =
|
|
7
|
-
var require =
|
|
5
|
+
var __filename = CJS_COMPAT_NODE_URL_a6gceaz3qeh.fileURLToPath(import.meta.url);
|
|
6
|
+
var __dirname = CJS_COMPAT_NODE_PATH_a6gceaz3qeh.dirname(__filename);
|
|
7
|
+
var require = CJS_COMPAT_NODE_MODULE_a6gceaz3qeh.createRequire(import.meta.url);
|
|
8
8
|
|
|
9
9
|
// ------------------------------------------------------------
|
|
10
10
|
// end of CJS compatibility banner, injected by Storybook's esbuild configuration
|
|
@@ -16,8 +16,8 @@ import {
|
|
|
16
16
|
join,
|
|
17
17
|
normalize,
|
|
18
18
|
resolve
|
|
19
|
-
} from "../_node-chunks/chunk-
|
|
20
|
-
import "../_node-chunks/chunk-
|
|
19
|
+
} from "../_node-chunks/chunk-TBYOSPAV.js";
|
|
20
|
+
import "../_node-chunks/chunk-VW25O2YM.js";
|
|
21
21
|
|
|
22
22
|
// ../node_modules/@jridgewell/sourcemap-codec/dist/sourcemap-codec.mjs
|
|
23
23
|
var comma = 44, semicolon = 59, chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", intToChar = new Uint8Array(64), charToInt = new Uint8Array(128);
|
|
@@ -8,6 +8,7 @@ interface CommonOptions {
|
|
|
8
8
|
input?: Readable;
|
|
9
9
|
output?: Writable;
|
|
10
10
|
signal?: AbortSignal;
|
|
11
|
+
withGuide?: boolean;
|
|
11
12
|
}
|
|
12
13
|
|
|
13
14
|
type BoxAlignment = 'left' | 'center' | 'right';
|
|
@@ -18,7 +19,6 @@ interface BoxOptions extends CommonOptions {
|
|
|
18
19
|
titlePadding?: number;
|
|
19
20
|
contentPadding?: number;
|
|
20
21
|
rounded?: boolean;
|
|
21
|
-
includePrefix?: boolean;
|
|
22
22
|
formatBorder?: (text: string) => string;
|
|
23
23
|
}
|
|
24
24
|
|
|
@@ -160,6 +160,8 @@ interface PromptOptions {
|
|
|
160
160
|
interface SpinnerInstance {
|
|
161
161
|
start: (message?: string) => void;
|
|
162
162
|
stop: (message?: string) => void;
|
|
163
|
+
cancel: (message?: string) => void;
|
|
164
|
+
error: (message?: string) => void;
|
|
163
165
|
message: (text: string) => void;
|
|
164
166
|
}
|
|
165
167
|
interface TaskLogInstance {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
1
|
+
import CJS_COMPAT_NODE_URL_a6gceaz3qeh from 'node:url';
|
|
2
|
+
import CJS_COMPAT_NODE_PATH_a6gceaz3qeh from 'node:path';
|
|
3
|
+
import CJS_COMPAT_NODE_MODULE_a6gceaz3qeh from "node:module";
|
|
4
4
|
|
|
5
|
-
var __filename =
|
|
6
|
-
var __dirname =
|
|
7
|
-
var require =
|
|
5
|
+
var __filename = CJS_COMPAT_NODE_URL_a6gceaz3qeh.fileURLToPath(import.meta.url);
|
|
6
|
+
var __dirname = CJS_COMPAT_NODE_PATH_a6gceaz3qeh.dirname(__filename);
|
|
7
|
+
var require = CJS_COMPAT_NODE_MODULE_a6gceaz3qeh.createRequire(import.meta.url);
|
|
8
8
|
|
|
9
9
|
// ------------------------------------------------------------
|
|
10
10
|
// end of CJS compatibility banner, injected by Storybook's esbuild configuration
|
|
@@ -22,9 +22,9 @@ import {
|
|
|
22
22
|
once,
|
|
23
23
|
prompt,
|
|
24
24
|
protectUrls
|
|
25
|
-
} from "../_node-chunks/chunk-
|
|
26
|
-
import "../_node-chunks/chunk-
|
|
27
|
-
import "../_node-chunks/chunk-
|
|
25
|
+
} from "../_node-chunks/chunk-WGBDDI6W.js";
|
|
26
|
+
import "../_node-chunks/chunk-TCLOOFNE.js";
|
|
27
|
+
import "../_node-chunks/chunk-VW25O2YM.js";
|
|
28
28
|
var export_instance = import_npmlog.default;
|
|
29
29
|
export {
|
|
30
30
|
CLI_COLORS,
|