@storybook/manager-api
Advanced tools
Comparing version 7.0.24 to 8.0.0-alpha.10
@@ -1,5 +0,5 @@ | ||
import React, { ReactNode, Component, ReactElement, FC } from 'react'; | ||
import { API_Provider, Addon_Types, API_Collection, API_Panels, API_StateMerger, API_Notification, API_Settings, API_LoadedRefData, StoryId, API_HashEntry, API_LeafEntry, API_PreparedStoryIndex, API_StoryEntry, Args, API_IndexHash, API_ComposedRef, API_DocsEntry, API_Refs, API_SetRefData, API_ComposedRefUpdate, API_Layout, API_UI, API_PanelPositions, API_Versions, API_UnknownEntries, API_Version, Globals, GlobalTypes, Addon_Collection, Addon_Type, Addon_Config, API_ProviderData, API_OptionsData, Parameters, ArgTypes } from '@storybook/types'; | ||
export { Addon_Type as Addon, API_ComponentEntry as ComponentEntry, API_ComposedRef as ComposedRef, API_DocsEntry as DocsEntry, API_GroupEntry as GroupEntry, API_HashEntry as HashEntry, API_IndexHash as IndexHash, API_LeafEntry as LeafEntry, API_Refs as Refs, API_RootEntry as RootEntry, API_IndexHash as StoriesHash, API_StoryEntry as StoryEntry, Addon_TypesEnum as types } from '@storybook/types'; | ||
import { NavigateOptions, RouterData } from '@storybook/router'; | ||
import React, { ReactNode, FC, Component, ReactElement } from 'react'; | ||
import { API_ProviderData, API_IframeRenderer, Addon_Types, Addon_TypesEnum, Addon_Collection, Addon_TypesMapping, API_StateMerger, API_Provider, API_Notification, StoryId, API_Settings, API_LoadedRefData, API_PreparedStoryIndex, API_ViewMode, API_StatusState, API_FilterFunction, API_HashEntry, API_LeafEntry, API_StoryEntry, Args, API_IndexHash, API_ComposedRef, API_StatusUpdate, API_DocsEntry, API_Refs, API_SetRefData, API_ComposedRefUpdate, API_Layout, API_UI, API_PanelPositions, API_Versions, API_UnknownEntries, API_Version, Globals, GlobalTypes, Addon_BaseType, Addon_SidebarTopType, Addon_SidebarBottomType, Addon_PageType, Addon_WrapperType, Addon_Config, API_OptionsData, Parameters, ArgTypes } from '@storybook/types'; | ||
export { Addon_Type as Addon, API_ComponentEntry as ComponentEntry, API_ComposedRef as ComposedRef, API_DocsEntry as DocsEntry, API_GroupEntry as GroupEntry, API_HashEntry as HashEntry, API_IndexHash as IndexHash, API_LeafEntry as LeafEntry, API_Refs as Refs, API_RootEntry as RootEntry, API_IndexHash as StoriesHash, API_StoryEntry as StoryEntry } from '@storybook/types'; | ||
import { RouterData, NavigateOptions } from '@storybook/router'; | ||
import { Listener, Channel } from '@storybook/channels'; | ||
@@ -9,2 +9,3 @@ export { Listener as ChannelListener } from '@storybook/channels'; | ||
import { ThemeVars } from '@storybook/theming'; | ||
import { WhatsNewData } from '@storybook/core-events'; | ||
@@ -34,13 +35,55 @@ type GetState = () => State; | ||
type ModuleFn<APIType = unknown, StateType = unknown> = (m: ModuleArgs, options?: any) => { | ||
init?: () => void | Promise<void>; | ||
api: APIType; | ||
state: StateType; | ||
}; | ||
type ModuleArgs = RouterData & API_ProviderData<API> & { | ||
mode?: 'production' | 'development'; | ||
state: State; | ||
fullAPI: API; | ||
store: Store; | ||
}; | ||
interface SubAPI$c { | ||
renderPreview?: API_Provider<API>['renderPreview']; | ||
renderPreview?: API_IframeRenderer; | ||
} | ||
interface SubAPI$b { | ||
getElements: <T>(type: Addon_Types) => API_Collection<T>; | ||
getPanels: () => API_Panels; | ||
getStoryPanels: () => API_Panels; | ||
/** | ||
* Returns a collection of elements of a specific type. | ||
* @protected This is used internally in storybook's manager. | ||
* @template T - The type of the elements in the collection. | ||
* @param {Addon_Types | Addon_TypesEnum.experimental_PAGE} type - The type of the elements to retrieve. | ||
* @returns {Addon_Collection<T>} - A collection of elements of the specified type. | ||
*/ | ||
getElements: <T extends Addon_Types | Addon_TypesEnum.experimental_PAGE | Addon_TypesEnum.experimental_SIDEBAR_BOTTOM | Addon_TypesEnum.experimental_SIDEBAR_TOP = Addon_Types>(type: T) => Addon_Collection<Addon_TypesMapping[T]>; | ||
/** | ||
* Returns the id of the currently selected panel. | ||
* @returns {string} - The ID of the currently selected panel. | ||
*/ | ||
getSelectedPanel: () => string; | ||
/** | ||
* Sets the currently selected panel via it's ID. | ||
* @param {string} panelName - The ID of the panel to select. | ||
* @returns {void} | ||
*/ | ||
setSelectedPanel: (panelName: string) => void; | ||
/** | ||
* Sets the state of an addon with the given ID. | ||
* @template S - The type of the addon state. | ||
* @param {string} addonId - The ID of the addon to set the state for. | ||
* @param {S | API_StateMerger<S>} newStateOrMerger - The new state to set, or a function which receives the current state and returns the new state. | ||
* @param {Options} [options] - Optional options for the state update. | ||
* @deprecated This API might get dropped, if you are using this, please file an issue. | ||
* @returns {Promise<S>} - A promise that resolves with the new state after it has been set. | ||
*/ | ||
setAddonState<S>(addonId: string, newStateOrMerger: S | API_StateMerger<S>, options?: Options): Promise<S>; | ||
/** | ||
* Returns the state of an addon with the given ID. | ||
* @template S - The type of the addon state. | ||
* @param {string} addonId - The ID of the addon to get the state for. | ||
* @deprecated This API might get dropped, if you are using this, please file an issue. | ||
* @returns {S} - The state of the addon with the given ID. | ||
*/ | ||
getAddonState<S>(addonId: string): S; | ||
@@ -50,9 +93,33 @@ } | ||
interface SubAPI$a { | ||
/** | ||
* Returns the channel object. | ||
* @protected Please do not use, it's for internal use only. | ||
*/ | ||
getChannel: () => API_Provider<API>['channel']; | ||
on: (type: string, cb: Listener) => () => void; | ||
off: (type: string, cb: Listener) => void; | ||
/** | ||
* Adds a listener to the channel for the given event type. | ||
* Returns a function that can be called to remove the listener. | ||
* @param type - The event type to listen for. If using a core event, import it from `@storybook/core-events`. | ||
* @param handler - The callback function to be called when the event is emitted. | ||
* @returns A function that can be called to remove the listener. | ||
*/ | ||
on: (type: string, handler: Listener) => () => void; | ||
/** | ||
* Removes a listener from the channel for the given event type. | ||
* @param type - The event type to remove the listener from. If using a core event, import it from `@storybook/core-events`. | ||
* @param handler - The callback function to be removed. | ||
*/ | ||
off: (type: string, handler: Listener) => void; | ||
/** | ||
* Emits an event on the channel for the given event type. | ||
* @param type - The event type to emit. If using a core event, import it from `@storybook/core-events`. | ||
* @param args - The arguments to pass to the event listener. | ||
*/ | ||
emit: (type: string, ...args: any[]) => void; | ||
once: (type: string, cb: Listener) => void; | ||
collapseAll: () => void; | ||
expandAll: () => void; | ||
/** | ||
* Adds a one-time listener to the channel for the given event type. | ||
* @param type - The event type to listen for. If using a core event, import it from `@storybook/core-events`. | ||
* @param handler - The callback function to be called when the event is emitted. | ||
*/ | ||
once: (type: string, handler: Listener) => void; | ||
} | ||
@@ -63,4 +130,16 @@ | ||
} | ||
/** | ||
* The API for managing notifications. | ||
*/ | ||
interface SubAPI$9 { | ||
/** | ||
* Adds a new notification to the list of notifications. | ||
* If a notification with the same ID already exists, it will be replaced. | ||
* @param notification - The notification to add. | ||
*/ | ||
addNotification: (notification: API_Notification) => void; | ||
/** | ||
* Removes a notification from the list of notifications and calls the onClear callback. | ||
* @param id - The ID of the notification to remove. | ||
*/ | ||
clearNotification: (id: string) => void; | ||
@@ -70,6 +149,19 @@ } | ||
interface SubAPI$8 { | ||
changeSettingsTab: (tab: string) => void; | ||
storeSelection: () => void; | ||
retrieveSelection: () => StoryId; | ||
/** | ||
* Changes the active settings tab. | ||
* @param path - The path of the settings page to navigate to. The path NOT should include the `/settings` prefix. | ||
* @example changeSettingsTab(`about`). | ||
*/ | ||
changeSettingsTab: (path: string) => void; | ||
/** | ||
* Closes the settings screen and returns to the last tracked story or the first story. | ||
*/ | ||
closeSettings: () => void; | ||
/** | ||
* Checks if the settings screen is currently active. | ||
* @returns A boolean indicating whether the settings screen is active. | ||
*/ | ||
isSettingsScreenActive: () => boolean; | ||
navigateToSettingsPage: (path: string) => Promise<void>; | ||
} | ||
@@ -80,34 +172,99 @@ interface SubState$8 { | ||
interface SubAPI$7 { | ||
releaseNotesVersion: () => string; | ||
setDidViewReleaseNotes: () => void; | ||
showReleaseNotesOnLaunch: () => boolean; | ||
} | ||
interface SubState$7 { | ||
releaseNotesViewed: string[]; | ||
} | ||
type Direction = -1 | 1; | ||
type ParameterName = string; | ||
type ViewMode = 'story' | 'info' | 'settings' | string | undefined; | ||
type StoryUpdate = Partial<Pick<API_StoryEntry, 'prepared' | 'parameters' | 'initialArgs' | 'argTypes' | 'args'>>; | ||
type DocsUpdate = Partial<Pick<API_DocsEntry, 'prepared' | 'parameters'>>; | ||
interface SubState$6 extends API_LoadedRefData { | ||
interface SubState$7 extends API_LoadedRefData { | ||
storyId: StoryId; | ||
viewMode: ViewMode; | ||
internal_index?: API_PreparedStoryIndex; | ||
viewMode: API_ViewMode; | ||
status: API_StatusState; | ||
filters: Record<string, API_FilterFunction>; | ||
} | ||
interface SubAPI$6 { | ||
interface SubAPI$7 { | ||
/** | ||
* The `storyId` method is a reference to the `toId` function from `@storybook/csf`, which is used to generate a unique ID for a story. | ||
* This ID is used to identify a specific story in the Storybook index. | ||
* | ||
* @type {typeof toId} | ||
*/ | ||
storyId: typeof toId; | ||
resolveStory: (storyId: StoryId, refsId?: string) => API_HashEntry; | ||
/** | ||
* Resolves a story, docs, component or group ID to its corresponding hash entry in the index. | ||
* | ||
* @param {StoryId} storyId - The ID of the story to resolve. | ||
* @param {string} [refsId] - The ID of the refs to use for resolving the story. | ||
* @returns {API_HashEntry} - The hash entry corresponding to the given story ID. | ||
*/ | ||
resolveStory: (storyId: StoryId, refsId?: string) => API_HashEntry | undefined; | ||
/** | ||
* Selects the first story to display in the Storybook UI. | ||
* | ||
* @returns {void} | ||
*/ | ||
selectFirstStory: () => void; | ||
selectStory: (kindOrId?: string, story?: string, obj?: { | ||
/** | ||
* Selects a story to display in the Storybook UI. | ||
* | ||
* @param {string} [kindOrId] - The kind or ID of the story to select. | ||
* @param {StoryId} [story] - The ID of the story to select. | ||
* @param {Object} [obj] - An optional object containing additional options. | ||
* @param {string} [obj.ref] - The ref ID of the story to select. | ||
* @param {API_ViewMode} [obj.viewMode] - The view mode to display the story in. | ||
* @returns {void} | ||
*/ | ||
selectStory: (kindOrId?: string, story?: StoryId, obj?: { | ||
ref?: string; | ||
viewMode?: ViewMode; | ||
viewMode?: API_ViewMode; | ||
}) => void; | ||
/** | ||
* Returns the current story's data, including its ID, kind, name, and parameters. | ||
* | ||
* @returns {API_LeafEntry} The current story's data. | ||
*/ | ||
getCurrentStoryData: () => API_LeafEntry; | ||
/** | ||
* Sets the prepared story index to the given value. | ||
* | ||
* @param {API_PreparedStoryIndex} index - The prepared story index to set. | ||
* @returns {Promise<void>} A promise that resolves when the prepared story index has been set. | ||
*/ | ||
setIndex: (index: API_PreparedStoryIndex) => Promise<void>; | ||
/** | ||
* Jumps to the next or previous component in the index. | ||
* | ||
* @param {Direction} direction - The direction to jump. Use -1 to jump to the previous component, and 1 to jump to the next component. | ||
* @returns {void} | ||
*/ | ||
jumpToComponent: (direction: Direction) => void; | ||
/** | ||
* Jumps to the next or previous story in the story index. | ||
* | ||
* @param {Direction} direction - The direction to jump. Use -1 to jump to the previous story, and 1 to jump to the next story. | ||
* @returns {void} | ||
*/ | ||
jumpToStory: (direction: Direction) => void; | ||
/** | ||
* Returns the data for the given story ID and optional ref ID. | ||
* | ||
* @param {StoryId} storyId - The ID of the story to retrieve data for. | ||
* @param {string} [refId] - The ID of the ref to retrieve data for. If not provided, retrieves data for the default ref. | ||
* @returns {API_LeafEntry} The data for the given story ID and optional ref ID. | ||
*/ | ||
getData: (storyId: StoryId, refId?: string) => API_LeafEntry; | ||
/** | ||
* Returns a boolean indicating whether the given story ID and optional ref ID have been prepared. | ||
* | ||
* @param {StoryId} storyId - The ID of the story to check. | ||
* @param {string} [refId] - The ID of the ref to check. If not provided, checks all refs for the given story ID. | ||
* @returns {boolean} A boolean indicating whether the given story ID and optional ref ID have been prepared. | ||
*/ | ||
isPrepared: (storyId: StoryId, refId?: string) => boolean; | ||
/** | ||
* Returns the parameters for the given story ID and optional ref ID. | ||
* | ||
* @param {StoryId | { storyId: StoryId; refId: string }} storyId - The ID of the story to retrieve parameters for, or an object containing the story ID and ref ID. | ||
* @param {ParameterName} [parameterName] - The name of the parameter to retrieve. If not provided, returns all parameters. | ||
* @returns {API_StoryEntry['parameters'] | any} The parameters for the given story ID and optional ref ID. | ||
*/ | ||
getParameters: (storyId: StoryId | { | ||
@@ -117,28 +274,150 @@ storyId: StoryId; | ||
}, parameterName?: ParameterName) => API_StoryEntry['parameters'] | any; | ||
/** | ||
* Returns the current value of the specified parameter for the currently selected story. | ||
* | ||
* @template S - The type of the parameter value. | ||
* @param {ParameterName} [parameterName] - The name of the parameter to retrieve. If not provided, returns all parameters. | ||
* @returns {S} The value of the specified parameter for the currently selected story. | ||
*/ | ||
getCurrentParameter<S>(parameterName?: ParameterName): S; | ||
/** | ||
* Updates the arguments for the given story with the provided new arguments. | ||
* | ||
* @param {API_StoryEntry} story - The story to update the arguments for. | ||
* @param {Args} newArgs - The new arguments to set for the story. | ||
* @returns {void} | ||
*/ | ||
updateStoryArgs(story: API_StoryEntry, newArgs: Args): void; | ||
/** | ||
* Resets the arguments for the given story to their initial values. | ||
* | ||
* @param {API_StoryEntry} story - The story to reset the arguments for. | ||
* @param {string[]} [argNames] - An optional array of argument names to reset. If not provided, all arguments will be reset. | ||
* @returns {void} | ||
*/ | ||
resetStoryArgs: (story: API_StoryEntry, argNames?: string[]) => void; | ||
/** | ||
* Finds the leaf entry for the given story ID in the given story index. | ||
* | ||
* @param {API_IndexHash} index - The story index to search for the leaf entry in. | ||
* @param {StoryId} storyId - The ID of the story to find the leaf entry for. | ||
* @returns {API_LeafEntry} The leaf entry for the given story ID, or null if no leaf entry was found. | ||
*/ | ||
findLeafEntry(index: API_IndexHash, storyId: StoryId): API_LeafEntry; | ||
/** | ||
* Finds the leaf story ID for the given component or group ID in the given index. | ||
* | ||
* @param {API_IndexHash} index - The story index to search for the leaf story ID in. | ||
* @param {StoryId} storyId - The ID of the story to find the leaf story ID for. | ||
* @returns {StoryId} The ID of the leaf story, or null if no leaf story was found. | ||
*/ | ||
findLeafStoryId(index: API_IndexHash, storyId: StoryId): StoryId; | ||
/** | ||
* Finds the ID of the sibling story in the given direction for the given story ID in the given story index. | ||
* | ||
* @param {StoryId} storyId - The ID of the story to find the sibling of. | ||
* @param {API_IndexHash} index - The story index to search for the sibling in. | ||
* @param {Direction} direction - The direction to search for the sibling in. | ||
* @param {boolean} toSiblingGroup - When true, skips over leafs within the same group. | ||
* @returns {StoryId} The ID of the sibling story, or null if no sibling was found. | ||
*/ | ||
findSiblingStoryId(storyId: StoryId, index: API_IndexHash, direction: Direction, toSiblingGroup: boolean): StoryId; | ||
/** | ||
* Fetches the story index from the server. | ||
* | ||
* @returns {Promise<void>} A promise that resolves when the index has been fetched. | ||
*/ | ||
fetchIndex: () => Promise<void>; | ||
/** | ||
* Updates the story with the given ID with the provided update object. | ||
* | ||
* @param {StoryId} storyId - The ID of the story to update. | ||
* @param {StoryUpdate} update - An object containing the updated story information. | ||
* @param {API_ComposedRef} [ref] - The composed ref of the story to update. | ||
* @returns {Promise<void>} A promise that resolves when the story has been updated. | ||
*/ | ||
updateStory: (storyId: StoryId, update: StoryUpdate, ref?: API_ComposedRef) => Promise<void>; | ||
/** | ||
* Updates the documentation for the given story ID with the given update object. | ||
* | ||
* @param {StoryId} storyId - The ID of the story to update. | ||
* @param {DocsUpdate} update - An object containing the updated documentation information. | ||
* @param {API_ComposedRef} [ref] - The composed ref of the story to update. | ||
* @returns {Promise<void>} A promise that resolves when the documentation has been updated. | ||
*/ | ||
updateDocs: (storyId: StoryId, update: DocsUpdate, ref?: API_ComposedRef) => Promise<void>; | ||
/** | ||
* Sets the preview as initialized. | ||
* | ||
* @param {ComposedRef} [ref] - The composed ref of the story to set as initialized. | ||
* @returns {Promise<void>} A promise that resolves when the preview has been set as initialized. | ||
*/ | ||
setPreviewInitialized: (ref?: API_ComposedRef) => Promise<void>; | ||
/** | ||
* Updates the status of a collection of stories. | ||
* | ||
* @param {string} addonId - The ID of the addon to update. | ||
* @param {StatusUpdate} update - An object containing the updated status information. | ||
* @returns {Promise<void>} A promise that resolves when the status has been updated. | ||
*/ | ||
experimental_updateStatus: (addonId: string, update: API_StatusUpdate | ((state: API_StatusState) => API_StatusUpdate)) => Promise<void>; | ||
/** | ||
* Updates the filtering of the index. | ||
* | ||
* @param {string} addonId - The ID of the addon to update. | ||
* @param {API_FilterFunction} filterFunction - A function that returns a boolean based on the story, index and status. | ||
* @returns {Promise<void>} A promise that resolves when the state has been updated. | ||
*/ | ||
experimental_setFilter: (addonId: string, filterFunction: API_FilterFunction) => Promise<void>; | ||
} | ||
interface SubState$5 { | ||
interface SubState$6 { | ||
refs: API_Refs; | ||
} | ||
interface SubAPI$5 { | ||
interface SubAPI$6 { | ||
/** | ||
* Finds a composed ref by its source. | ||
* @param {string} source - The source/URL of the composed ref. | ||
* @returns {API_ComposedRef} - The composed ref object. | ||
*/ | ||
findRef: (source: string) => API_ComposedRef; | ||
/** | ||
* Sets a composed ref by its ID and data. | ||
* @param {string} id - The ID of the composed ref. | ||
* @param {API_SetRefData} data - The data to set for the composed ref. | ||
* @param {boolean} [ready] - Whether the composed ref is ready. | ||
*/ | ||
setRef: (id: string, data: API_SetRefData, ready?: boolean) => void; | ||
/** | ||
* Updates a composed ref by its ID and update object. | ||
* @param {string} id - The ID of the composed ref. | ||
* @param {API_ComposedRefUpdate} ref - The update object for the composed ref. | ||
*/ | ||
updateRef: (id: string, ref: API_ComposedRefUpdate) => void; | ||
/** | ||
* Gets all composed refs. | ||
* @returns {API_Refs} - The composed refs object. | ||
*/ | ||
getRefs: () => API_Refs; | ||
/** | ||
* Checks if a composed ref is valid. | ||
* @param {API_SetRefData} ref - The composed ref to check. | ||
* @returns {Promise<void>} - A promise that resolves when the check is complete. | ||
*/ | ||
checkRef: (ref: API_SetRefData) => Promise<void>; | ||
/** | ||
* Changes the version of a composed ref by its ID and URL. | ||
* @param {string} id - The ID of the composed ref. | ||
* @param {string} url - The new URL for the composed ref. | ||
*/ | ||
changeRefVersion: (id: string, url: string) => void; | ||
/** | ||
* Changes the state of a composed ref by its ID and previewInitialized flag. | ||
* @param {string} id - The ID of the composed ref. | ||
* @param {boolean} previewInitialized - The new previewInitialized flag for the composed ref. | ||
*/ | ||
changeRefState: (id: string, previewInitialized: boolean) => void; | ||
} | ||
interface SubState$4 { | ||
interface SubState$5 { | ||
layout: API_Layout; | ||
@@ -149,9 +428,49 @@ ui: API_UI; | ||
} | ||
interface SubAPI$4 { | ||
interface SubAPI$5 { | ||
/** | ||
* Toggles the fullscreen mode of the Storybook UI. | ||
* @param toggled - Optional boolean value to set the fullscreen mode to. If not provided, it will toggle the current state. | ||
*/ | ||
toggleFullscreen: (toggled?: boolean) => void; | ||
/** | ||
* Toggles the visibility of the panel in the Storybook UI. | ||
* @param toggled - Optional boolean value to set the panel visibility to. If not provided, it will toggle the current state. | ||
*/ | ||
togglePanel: (toggled?: boolean) => void; | ||
/** | ||
* Toggles the position of the panel in the Storybook UI. | ||
* @param position - Optional string value to set the panel position to. If not provided, it will toggle between 'bottom' and 'right'. | ||
*/ | ||
togglePanelPosition: (position?: API_PanelPositions) => void; | ||
/** | ||
* Toggles the visibility of the navigation bar in the Storybook UI. | ||
* @param toggled - Optional boolean value to set the navigation bar visibility to. If not provided, it will toggle the current state. | ||
*/ | ||
toggleNav: (toggled?: boolean) => void; | ||
/** | ||
* Toggles the visibility of the toolbar in the Storybook UI. | ||
* @param toggled - Optional boolean value to set the toolbar visibility to. If not provided, it will toggle the current state. | ||
*/ | ||
toggleToolbar: (toggled?: boolean) => void; | ||
/** | ||
* Sets the options for the Storybook UI. | ||
* @param options - An object containing the options to set. | ||
*/ | ||
setOptions: (options: any) => void; | ||
/** | ||
* Sets the sizes of the resizable elements in the layout. | ||
*/ | ||
setSizes: (options: Partial<Pick<API_Layout, 'navSize' | 'bottomPanelHeight' | 'rightPanelWidth'>>) => void; | ||
/** | ||
* getIsFullscreen - Returns the current fullscreen mode of the Storybook UI. | ||
*/ | ||
getIsFullscreen: () => boolean; | ||
/** | ||
* getIsPanelShown - Returns the current visibility of the panel in the Storybook UI. | ||
*/ | ||
getIsPanelShown: () => boolean; | ||
/** | ||
* getIsNavShown - Returns the current visibility of the navigation bar in the Storybook UI. | ||
*/ | ||
getIsNavShown: () => boolean; | ||
} | ||
@@ -171,18 +490,68 @@ | ||
interface SubState$3 { | ||
interface SubState$4 { | ||
shortcuts: API_Shortcuts; | ||
} | ||
interface SubAPI$3 { | ||
interface SubAPI$4 { | ||
/** | ||
* Returns the current shortcuts. | ||
*/ | ||
getShortcutKeys(): API_Shortcuts; | ||
/** | ||
* Returns the default shortcuts. | ||
*/ | ||
getDefaultShortcuts(): API_Shortcuts | API_AddonShortcutDefaults; | ||
/** | ||
* Returns the shortcuts for addons. | ||
*/ | ||
getAddonsShortcuts(): API_AddonShortcuts; | ||
/** | ||
* Returns the labels for addon shortcuts. | ||
*/ | ||
getAddonsShortcutLabels(): API_AddonShortcutLabels; | ||
/** | ||
* Returns the default shortcuts for addons. | ||
*/ | ||
getAddonsShortcutDefaults(): API_AddonShortcutDefaults; | ||
/** | ||
* Sets the shortcuts to the given value. | ||
* @param shortcuts The new shortcuts to set. | ||
* @returns A promise that resolves to the new shortcuts. | ||
*/ | ||
setShortcuts(shortcuts: API_Shortcuts): Promise<API_Shortcuts>; | ||
/** | ||
* Sets the shortcut for the given action to the given value. | ||
* @param action The action to set the shortcut for. | ||
* @param value The new shortcut to set. | ||
* @returns A promise that resolves to the new shortcut. | ||
*/ | ||
setShortcut(action: API_Action, value: API_KeyCollection): Promise<API_KeyCollection>; | ||
/** | ||
* Sets the shortcut for the given addon to the given value. | ||
* @param addon The addon to set the shortcut for. | ||
* @param shortcut The new shortcut to set. | ||
* @returns A promise that resolves to the new addon shortcut. | ||
*/ | ||
setAddonShortcut(addon: string, shortcut: API_AddonShortcut): Promise<API_AddonShortcut>; | ||
/** | ||
* Restores all default shortcuts. | ||
* @returns A promise that resolves to the new shortcuts. | ||
*/ | ||
restoreAllDefaultShortcuts(): Promise<API_Shortcuts>; | ||
/** | ||
* Restores the default shortcut for the given action. | ||
* @param action The action to restore the default shortcut for. | ||
* @returns A promise that resolves to the new shortcut. | ||
*/ | ||
restoreDefaultShortcut(action: API_Action): Promise<API_KeyCollection>; | ||
/** | ||
* Handles a keydown event. | ||
* @param event The event to handle. | ||
*/ | ||
handleKeydownEvent(event: KeyboardEventLike): void; | ||
handleShortcutFeature(feature: API_Action): void; | ||
/** | ||
* Handles a shortcut feature. | ||
* @param feature The feature to handle. | ||
* @param event The event to handle. | ||
*/ | ||
handleShortcutFeature(feature: API_Action, event: KeyboardEventLike): void; | ||
} | ||
@@ -223,11 +592,35 @@ type API_KeyCollection = string[]; | ||
interface SubState$2 { | ||
interface SubState$3 { | ||
customQueryParams: QueryParams; | ||
} | ||
interface QueryParams { | ||
[key: string]: string | null; | ||
[key: string]: string | undefined; | ||
} | ||
interface SubAPI$2 { | ||
/** | ||
* SubAPI for managing URL navigation and state. | ||
*/ | ||
interface SubAPI$3 { | ||
/** | ||
* Navigate to a new URL. | ||
* @param {string} url - The URL to navigate to. | ||
* @param {NavigateOptions} options - Options for the navigation. | ||
* @returns {void} | ||
*/ | ||
navigateUrl: (url: string, options: NavigateOptions) => void; | ||
/** | ||
* Get the value of a query parameter from the current URL. | ||
* @param {string} key - The key of the query parameter to get. | ||
* @returns {string | undefined} The value of the query parameter, or undefined if it does not exist. | ||
*/ | ||
getQueryParam: (key: string) => string | undefined; | ||
/** | ||
* Returns an object containing the current state of the URL. | ||
* @returns {{ | ||
* queryParams: QueryParams, | ||
* path: string, | ||
* viewMode?: string, | ||
* storyId?: string, | ||
* url: string | ||
* }} An object containing the current state of the URL. | ||
*/ | ||
getUrlState: () => { | ||
@@ -240,6 +633,11 @@ queryParams: QueryParams; | ||
}; | ||
/** | ||
* Set the query parameters for the current URL. | ||
* @param {QueryParams} input - An object containing the query parameters to set. | ||
* @returns {void} | ||
*/ | ||
setQueryParams: (input: QueryParams) => void; | ||
} | ||
interface SubState$1 { | ||
interface SubState$2 { | ||
versions: API_Versions & API_UnknownEntries; | ||
@@ -249,8 +647,32 @@ lastVersionCheck: number; | ||
} | ||
interface SubAPI$1 { | ||
interface SubAPI$2 { | ||
/** | ||
* Returns the current version of the Storybook Manager. | ||
* | ||
* @returns {API_Version} The current version of the Storybook Manager. | ||
*/ | ||
getCurrentVersion: () => API_Version; | ||
/** | ||
* Returns the latest version of the Storybook Manager. | ||
* | ||
* @returns {API_Version} The latest version of the Storybook Manager. | ||
*/ | ||
getLatestVersion: () => API_Version; | ||
/** | ||
* Checks if an update is available for the Storybook Manager. | ||
* | ||
* @returns {boolean} True if an update is available, false otherwise. | ||
*/ | ||
versionUpdateAvailable: () => boolean; | ||
} | ||
type SubState$1 = { | ||
whatsNewData?: WhatsNewData; | ||
}; | ||
type SubAPI$1 = { | ||
isWhatsNewUnread(): boolean; | ||
whatsNewHasBeenRead(): void; | ||
toggleWhatsNewNotifications(): void; | ||
}; | ||
interface SubState { | ||
@@ -261,9 +683,20 @@ globals?: Globals; | ||
interface SubAPI { | ||
/** | ||
* Returns the current global data object. | ||
* @returns {Globals} The current global data object. | ||
*/ | ||
getGlobals: () => Globals; | ||
/** | ||
* Returns the current global types object. | ||
* @returns {GlobalTypes} The current global types object. | ||
*/ | ||
getGlobalTypes: () => GlobalTypes; | ||
/** | ||
* Updates the current global data object with the provided new global data object. | ||
* @param {Globals} newGlobals - The new global data object to update with. | ||
* @returns {void} | ||
*/ | ||
updateGlobals: (newGlobals: Globals) => void; | ||
} | ||
declare const _default: <TObj = any>(a: TObj, b: Partial<TObj>) => TObj & Partial<TObj>; | ||
declare function mockChannel(): Channel; | ||
@@ -277,18 +710,26 @@ | ||
private channel; | ||
private serverChannel; | ||
private promise; | ||
private resolve; | ||
getChannel: () => Channel; | ||
getServerChannel: () => Channel; | ||
ready: () => Promise<Channel>; | ||
hasChannel: () => boolean; | ||
hasServerChannel: () => boolean; | ||
setChannel: (channel: Channel) => void; | ||
setServerChannel: (channel: Channel) => void; | ||
getElements: (type: Addon_Types) => Addon_Collection; | ||
addPanel: (name: string, options: Addon_Type) => void; | ||
add: (name: string, addon: Addon_Type) => void; | ||
getElements<T extends Addon_Types | Addon_TypesEnum.experimental_PAGE | Addon_TypesEnum.experimental_SIDEBAR_BOTTOM | Addon_TypesEnum.experimental_SIDEBAR_TOP>(type: T): Addon_Collection<Addon_TypesMapping[T]> | any; | ||
/** | ||
* Adds an addon to the addon store. | ||
* @param {string} id - The id of the addon. | ||
* @param {Addon_Type} addon - The addon to add. | ||
* @returns {void} | ||
*/ | ||
add(id: string, addon: Addon_BaseType | Omit<Addon_SidebarTopType, 'id'> | Omit<Addon_SidebarBottomType, 'id'> | Omit<Addon_PageType, 'id'> | Omit<Addon_WrapperType, 'id'>): void; | ||
setConfig: (value: Addon_Config) => void; | ||
getConfig: () => Addon_Config; | ||
register: (name: string, registerCallback: (api: API) => void) => void; | ||
/** | ||
* Registers an addon loader function. | ||
* | ||
* @param {string} id - The id of the addon loader. | ||
* @param {(api: API) => void} callback - The function that will be called to register the addon. | ||
* @returns {void} | ||
*/ | ||
register: (id: string, callback: (api: API) => void) => void; | ||
loadAddons: (api: any) => void; | ||
@@ -298,2 +739,4 @@ } | ||
declare const _default: <TObj = any>(a: TObj, b: Partial<TObj>) => TObj & Partial<TObj>; | ||
declare const ActiveTabs: { | ||
@@ -309,10 +752,4 @@ SIDEBAR: "sidebar"; | ||
}>; | ||
type ModuleArgs = RouterData & API_ProviderData<API> & { | ||
mode?: 'production' | 'development'; | ||
state: State; | ||
fullAPI: API; | ||
store: Store; | ||
}; | ||
type State = SubState$4 & SubState$6 & SubState$5 & SubState$9 & SubState$1 & SubState$2 & SubState$3 & SubState$7 & SubState$8 & SubState & RouterData & API_OptionsData & DeprecatedState & Other; | ||
type API = SubAPI$b & SubAPI$a & SubAPI$c & SubAPI$6 & SubAPI$5 & SubAPI & SubAPI$4 & SubAPI$9 & SubAPI$3 & SubAPI$7 & SubAPI$8 & SubAPI$1 & SubAPI$2 & Other; | ||
type State = SubState$5 & SubState$7 & SubState$6 & SubState$9 & SubState$2 & SubState$3 & SubState$4 & SubState$8 & SubState & SubState$1 & RouterData & API_OptionsData & DeprecatedState & Other; | ||
type API = SubAPI$b & SubAPI$a & SubAPI$c & SubAPI$7 & SubAPI$6 & SubAPI & SubAPI$5 & SubAPI$9 & SubAPI$4 & SubAPI$8 & SubAPI$2 & SubAPI$3 & SubAPI$1 & Other; | ||
interface DeprecatedState { | ||
@@ -340,15 +777,8 @@ /** | ||
type ManagerProviderProps = RouterData & API_ProviderData<API> & { | ||
children: ReactNode | ((props: Combo) => ReactNode); | ||
children: ReactNode | FC<Combo>; | ||
}; | ||
declare const combineParameters: (...parameterSets: Parameters[]) => any; | ||
interface ModuleWithInit<APIType = unknown, StateType = unknown> { | ||
init: () => void | Promise<void>; | ||
api: APIType; | ||
state: StateType; | ||
} | ||
type ModuleWithoutInit<APIType = unknown, StateType = unknown> = Omit<ModuleWithInit<APIType, StateType>, 'init'>; | ||
type ModuleFn<APIType = unknown, StateType = unknown, HasInit = false> = (m: ModuleArgs, options?: any) => HasInit extends true ? ModuleWithInit<APIType, StateType> : ModuleWithoutInit<APIType, StateType>; | ||
declare class ManagerProvider extends Component<ManagerProviderProps, State> { | ||
api: API; | ||
modules: (ModuleWithInit | ModuleWithoutInit)[]; | ||
modules: ReturnType<ModuleFn>[]; | ||
static displayName: string; | ||
@@ -359,3 +789,3 @@ constructor(props: ManagerProviderProps); | ||
initModules: () => void; | ||
render(): JSX.Element; | ||
render(): React.JSX.Element; | ||
} | ||
@@ -377,3 +807,3 @@ interface ManagerConsumerProps<P = unknown> { | ||
declare function useSharedState<S>(stateId: string, defaultState?: S): [S, (newStateOrMerger: S | API_StateMerger<S>, options?: Options) => void]; | ||
declare function useAddonState<S>(addonId: string, defaultState?: S): [S, (newStateOrMerger: S | API_StateMerger<S>, options?: Options) => void]; | ||
declare function useAddonState<S>(addonId: string, defaultState?: S): [S, (newStateOrMerger: S | API_StateMerger<S>, options?: Options | undefined) => void]; | ||
declare function useArgs(): [Args, (newArgs: Args) => void, (argNames?: string[]) => void]; | ||
@@ -384,2 +814,9 @@ declare function useGlobals(): [Args, (newGlobals: Args) => void]; | ||
export { API, API_EventMap, ActiveTabs, AddonStore, Combo, ManagerConsumer as Consumer, KeyboardEventLike, ManagerContext, ManagerProviderProps, ModuleArgs, ModuleFn, ManagerProvider as Provider, State, Options as StoreOptions, addons, combineParameters, controlOrMetaKey, controlOrMetaSymbol, eventMatchesShortcut, eventToShortcut, isMacLike, isShortcutTaken, keyToSymbol, _default as merge, mockChannel, optionOrAltSymbol, shortcutMatchesShortcut, shortcutToHumanString, useAddonState, useArgTypes, useArgs, useChannel, useGlobalTypes, useGlobals, useParameter, useSharedState, useStoryPrepared, useStorybookApi, useStorybookState }; | ||
/** | ||
* We need to rename this so it's not compiled to a straight re-export | ||
* Our globalization plugin can't handle an import and export of the same name in different lines | ||
* @deprecated | ||
*/ | ||
declare const typesX: typeof Addon_TypesEnum; | ||
export { API, API_EventMap, ActiveTabs, AddonStore, Combo, ManagerConsumer as Consumer, KeyboardEventLike, ManagerContext, ManagerProviderProps, ManagerProvider as Provider, State, Options as StoreOptions, addons, combineParameters, controlOrMetaKey, controlOrMetaSymbol, eventMatchesShortcut, eventToShortcut, isMacLike, isShortcutTaken, keyToSymbol, _default as merge, mockChannel, optionOrAltSymbol, shortcutMatchesShortcut, shortcutToHumanString, typesX as types, useAddonState, useArgTypes, useArgs, useChannel, useGlobalTypes, useGlobals, useParameter, useSharedState, useStoryPrepared, useStorybookApi, useStorybookState }; |
{ | ||
"name": "@storybook/manager-api", | ||
"version": "7.0.24", | ||
"version": "8.0.0-alpha.10", | ||
"description": "Core Storybook Manager API & Context", | ||
@@ -38,23 +38,23 @@ "keywords": [ | ||
"*.js", | ||
"*.d.ts" | ||
"*.d.ts", | ||
"!src/**/*" | ||
], | ||
"scripts": { | ||
"check": "../../../scripts/node_modules/.bin/tsc --noEmit", | ||
"prep": "../../../scripts/prepare/bundle.ts" | ||
"check": "node --loader ../../../scripts/node_modules/esbuild-register/loader.js -r ../../../scripts/node_modules/esbuild-register/register.js ../../../scripts/prepare/check.ts", | ||
"prep": "node --loader ../../../scripts/node_modules/esbuild-register/loader.js -r ../../../scripts/node_modules/esbuild-register/register.js ../../../scripts/prepare/bundle.ts" | ||
}, | ||
"dependencies": { | ||
"@storybook/channels": "7.0.24", | ||
"@storybook/client-logger": "7.0.24", | ||
"@storybook/core-events": "7.0.24", | ||
"@storybook/csf": "^0.1.0", | ||
"@storybook/channels": "8.0.0-alpha.10", | ||
"@storybook/client-logger": "8.0.0-alpha.10", | ||
"@storybook/core-events": "8.0.0-alpha.10", | ||
"@storybook/csf": "^0.1.2", | ||
"@storybook/global": "^5.0.0", | ||
"@storybook/router": "7.0.24", | ||
"@storybook/theming": "7.0.24", | ||
"@storybook/types": "7.0.24", | ||
"@storybook/router": "8.0.0-alpha.10", | ||
"@storybook/theming": "8.0.0-alpha.10", | ||
"@storybook/types": "8.0.0-alpha.10", | ||
"dequal": "^2.0.2", | ||
"lodash": "^4.17.21", | ||
"memoizerific": "^1.11.3", | ||
"semver": "^7.3.7", | ||
"store2": "^2.14.2", | ||
"telejson": "^7.0.3", | ||
"telejson": "^7.2.0", | ||
"ts-dedent": "^2.0.0" | ||
@@ -66,10 +66,10 @@ }, | ||
"@types/qs": "^6", | ||
"@types/semver": "^7.3.4", | ||
"flush-promises": "^1.0.2", | ||
"qs": "^6.10.0", | ||
"typescript": "~4.9.3" | ||
"react": "^18.2.0", | ||
"react-dom": "^18.2.0", | ||
"semver": "^7.3.7", | ||
"typescript": "^5.3.2" | ||
}, | ||
"peerDependencies": { | ||
"react": "^16.8.0 || ^17.0.0 || ^18.0.0", | ||
"react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" | ||
}, | ||
"publishConfig": { | ||
@@ -81,5 +81,9 @@ "access": "public" | ||
"./src/index.tsx" | ||
], | ||
"externals": [ | ||
"react", | ||
"react-dom" | ||
] | ||
}, | ||
"gitHead": "9fb2573aa274f3f69d3358050e8df9c903e8245f" | ||
"gitHead": "e6a7fd8a655c69780bc20b9749c2699e44beae17" | ||
} |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 2 instances in 1 package
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
252061
14
10
4
1643
3
6
+ Added@storybook/channels@8.0.0-alpha.10(transitive)
+ Added@storybook/client-logger@8.0.0-alpha.10(transitive)
+ Added@storybook/core-events@8.0.0-alpha.10(transitive)
+ Added@storybook/router@8.0.0-alpha.10(transitive)
+ Added@storybook/theming@8.0.0-alpha.10(transitive)
+ Added@storybook/types@8.0.0-alpha.10(transitive)
+ Addedtiny-invariant@1.3.3(transitive)
- Removedsemver@^7.3.7
- Removed@babel/helper-string-parser@7.25.9(transitive)
- Removed@babel/helper-validator-identifier@7.25.9(transitive)
- Removed@babel/parser@7.26.1(transitive)
- Removed@babel/types@7.26.0(transitive)
- Removed@storybook/channels@7.0.24(transitive)
- Removed@storybook/client-logger@7.0.24(transitive)
- Removed@storybook/core-events@7.0.24(transitive)
- Removed@storybook/router@7.0.24(transitive)
- Removed@storybook/theming@7.0.24(transitive)
- Removed@storybook/types@7.0.24(transitive)
- Removed@types/babel__core@7.20.5(transitive)
- Removed@types/babel__generator@7.6.8(transitive)
- Removed@types/babel__template@7.4.4(transitive)
- Removed@types/babel__traverse@7.20.6(transitive)
- Removedsemver@7.6.3(transitive)
Updated@storybook/csf@^0.1.2
Updatedtelejson@^7.2.0