@andersundsehr/storybook-typo3
Version:
The one and only Storybook Renderer for TYPO3 Fluid Components
58 lines (57 loc) • 2.52 kB
TypeScript
import type { Args, StrictArgs } from '@storybook/server';
import type { AnnotatedStoryFn, CompatibleString, ComponentAnnotations, DecoratorFunction, LoaderFunction, ProjectAnnotations, StoryAnnotations, StorybookConfig as StorybookConfigBase, StoryContext as StoryContext$1, WebRenderer } from 'storybook/internal/types';
import type { BuilderOptions, StorybookConfigVite } from '@storybook/builder-vite';
type FrameworkName = CompatibleString<'@andersundsehr/storybook-typo3'>;
type BuilderName = CompatibleString<'@storybook/builder-vite'>;
export interface FrameworkOptions {
builder?: BuilderOptions;
}
interface StorybookConfigFramework {
framework: FrameworkName | {
name: FrameworkName;
options: FrameworkOptions;
};
core?: StorybookConfigBase['core'] & {
builder?: BuilderName | {
name: BuilderName;
options: BuilderOptions;
};
};
}
/** The interface for Storybook configuration in `main.ts` files. */
export type StorybookConfig = Omit<StorybookConfigBase, keyof StorybookConfigVite | keyof StorybookConfigFramework> & StorybookConfigVite & StorybookConfigFramework;
type StoryFnServerReturnType = any;
export interface FluidComponent {
fullName: string;
name: string;
namespace: string;
collection: string;
argTypes: Record<string, any>;
}
interface FluidRenderer extends WebRenderer {
component: FluidComponent;
storyResult: StoryFnServerReturnType;
}
/**
* Metadata to configure the stories for a component.
*
* @see [Default export](https://storybook.js.org/docs/api/csf#default-export)
*/
type Meta<TArgs = Args> = ComponentAnnotations<FluidRenderer, TArgs>;
/**
* Story function that represents a CSFv2 component example.
*
* @see [Named Story exports](https://storybook.js.org/docs/api/csf#named-story-exports)
*/
type StoryFn<TArgs = Args> = AnnotatedStoryFn<FluidRenderer, TArgs>;
/**
* Story object that represents a CSFv3 component example.
*
* @see [Named Story exports](https://storybook.js.org/docs/api/csf#named-story-exports)
*/
type StoryObj<TArgs = Args> = StoryAnnotations<FluidRenderer, TArgs>;
type Decorator<TArgs = StrictArgs> = DecoratorFunction<FluidRenderer, TArgs>;
type Loader<TArgs = StrictArgs> = LoaderFunction<FluidRenderer, TArgs>;
type StoryContext<TArgs = StrictArgs> = StoryContext$1<FluidRenderer, TArgs>;
type Preview = ProjectAnnotations<FluidRenderer>;
export type { Decorator, Loader, Meta, Preview, FluidRenderer, StoryContext, StoryFn, StoryObj };