@storybook/preview-api 8.1.0-alpha.7 → 8.1.0-alpha.8

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/index.d.ts CHANGED
@@ -1,6 +1,8 @@
1
1
  import { Channel } from '@storybook/channels';
2
2
  import * as _storybook_types from '@storybook/types';
3
3
  import { Renderer, Args, StoryContext, StoryId, DecoratorApplicator, Addon_StoryWrapper, StoryName, ComponentTitle, StoryIndex, IndexEntry, Path, PreparedStory, Globals, GlobalTypes, LegacyStoryAnnotationsOrFn, NormalizedComponentAnnotations, NormalizedStoryAnnotations, ModuleExports, CSFFile, NormalizedProjectAnnotations, ModuleExport, PreparedMeta, ProjectAnnotations, StepRunner, NamedOrDefaultProjectAnnotations, ComponentAnnotations, ComposedStoryFn, Store_CSFExports, ComposeStoryFn, ModuleImportFn, StoryContextForLoaders, StoryContextForEnhancers, Parameters, StoryIndexV3, BoundStory, StrictArgTypes, ArgTypesEnhancer, LegacyStoryFn, DecoratorFunction, PartialStoryFn, StoryContextUpdate, NormalizedStoriesSpecifier, Addon_StorySortParameterV7, StoryRenderOptions, ViewMode, RenderToCanvas, RenderContextCallbacks, DocsContextProps, ResolvedModuleExportType, ResolvedModuleExportFromType } from '@storybook/types';
4
+ import { CleanupCallback } from '@storybook/csf';
5
+ import { RequestData, ArgTypesRequestPayload } from '@storybook/core-events';
4
6
  import qs$1 from 'qs';
5
7
 
6
8
  declare class AddonStore {
@@ -315,7 +317,7 @@ declare function composeConfigs<TRenderer extends Renderer>(moduleExportList: Mo
315
317
  /**
316
318
  * Compose step runners to create a single step runner that applies each step runner in order.
317
319
  *
318
- * A step runner is a a function that takes a defined step: `step('label', () => { ... })`
320
+ * A step runner is a function that takes a defined step: `step('label', () => { ... })`
319
321
  * and runs it. The prototypical example is from `@storybook/addon-interactions` where the
320
322
  * step runner will decorate all instrumented code inside the step with information about the
321
323
  * label.
@@ -357,6 +359,7 @@ declare class StoryStore<TRenderer extends Renderer> {
357
359
  globals: GlobalsStore;
358
360
  args: ArgsStore;
359
361
  hooks: Record<StoryId, HooksContext<TRenderer>>;
362
+ cleanupCallbacks: Record<StoryId, CleanupCallback[] | undefined>;
360
363
  cachedCSFFiles?: Record<Path, CSFFile<TRenderer>>;
361
364
  processCSFFileWithCache: typeof processCSFFile;
362
365
  prepareMetaWithCache: typeof prepareMeta;
@@ -391,7 +394,8 @@ declare class StoryStore<TRenderer extends Renderer> {
391
394
  getStoryContext(story: PreparedStory<TRenderer>, { forceInitialArgs }?: {
392
395
  forceInitialArgs?: boolean | undefined;
393
396
  }): Omit<StoryContextForLoaders, 'viewMode'>;
394
- cleanupStory(story: PreparedStory<TRenderer>): void;
397
+ addCleanupCallbacks(story: PreparedStory<TRenderer>, callbacks: CleanupCallback[]): void;
398
+ cleanupStory(story: PreparedStory<TRenderer>): Promise<void>;
395
399
  extract(options?: {
396
400
  includeDocsOnly?: boolean;
397
401
  }): Record<StoryId, StoryContextForEnhancers<TRenderer>>;
@@ -459,7 +463,7 @@ interface Render<TRenderer extends Renderer> {
459
463
  renderToElement: (canvasElement: TRenderer['canvasElement'], renderStoryToElement?: any, options?: StoryRenderOptions) => Promise<void>;
460
464
  }
461
465
 
462
- type RenderPhase = 'preparing' | 'loading' | 'rendering' | 'playing' | 'played' | 'completed' | 'aborted' | 'errored';
466
+ type RenderPhase = 'preparing' | 'loading' | 'beforeEach' | 'rendering' | 'playing' | 'played' | 'completed' | 'aborted' | 'errored';
463
467
  declare class StoryRender<TRenderer extends Renderer> implements Render<TRenderer> {
464
468
  channel: Channel;
465
469
  store: StoryStore<TRenderer>;
@@ -474,6 +478,7 @@ declare class StoryRender<TRenderer extends Renderer> implements Render<TRendere
474
478
  private abortController?;
475
479
  private canvasElement?;
476
480
  private notYetRendered;
481
+ private rerenderEnqueued;
477
482
  disableKeyListeners: boolean;
478
483
  private teardownRender;
479
484
  torndown: boolean;
@@ -489,6 +494,13 @@ declare class StoryRender<TRenderer extends Renderer> implements Render<TRendere
489
494
  initial?: boolean;
490
495
  forceRemount?: boolean;
491
496
  }): Promise<void>;
497
+ /**
498
+ * Rerender the story.
499
+ * If the story is currently pending (loading/rendering), the rerender will be enqueued,
500
+ * and will be executed after the current render is completed.
501
+ * Rerendering while playing will not be enqueued, and will be executed immediately, to support
502
+ * rendering args changes while playing.
503
+ */
492
504
  rerender(): Promise<void>;
493
505
  remount(): Promise<void>;
494
506
  cancelRender(): void;
@@ -644,6 +656,7 @@ declare class Preview<TRenderer extends Renderer> {
644
656
  storyId: StoryId;
645
657
  updatedArgs: Args;
646
658
  }): Promise<void>;
659
+ onRequestArgTypesInfo({ id, payload }: RequestData<ArgTypesRequestPayload>): Promise<void>;
647
660
  onResetArgs({ storyId, argNames }: {
648
661
  storyId: string;
649
662
  argNames?: string[];