@storybook/sveltekit
Version:
Storybook for SvelteKit: Develop, document, and test UI components in isolation
140 lines (134 loc) • 4.71 kB
TypeScript
import { SvelteRenderer } from '@storybook/svelte';
export * from '@storybook/svelte';
import { StorybookConfig as StorybookConfig$1, CompatibleString, NamedOrDefaultProjectAnnotations, NormalizedProjectAnnotations } from 'storybook/internal/types';
import { BuilderOptions, StorybookConfigVite } from '@storybook/builder-vite';
declare function enhance(form: HTMLFormElement): {
destroy(): void;
};
declare function goto(...args: any[]): Promise<void>;
declare function invalidate(...args: any[]): Promise<void>;
declare function invalidateAll(): Promise<void>;
type FrameworkName = CompatibleString<'@storybook/sveltekit'>;
type BuilderName = CompatibleString<'@storybook/builder-vite'>;
type FrameworkOptions = {
builder?: BuilderOptions;
/**
* Enable or disable automatic documentation generation for component properties, events, and
* slots. When disabled, Storybook will skip the docgen processing step during build, which can
* improve build performance.
*
* @default true
*/
docgen?: boolean;
};
type StorybookConfigFramework = {
framework: FrameworkName | {
name: FrameworkName;
options: FrameworkOptions;
};
core?: StorybookConfig$1['core'] & {
builder?: BuilderName | {
name: BuilderName;
options: BuilderOptions;
};
};
};
type StorybookConfig = Omit<StorybookConfig$1, keyof StorybookConfigVite | keyof StorybookConfigFramework> & StorybookConfigVite & StorybookConfigFramework;
type NormalizedHrefConfig = {
callback: (to: string, event: Event) => void;
asRegex?: boolean;
};
type HrefConfig = NormalizedHrefConfig | NormalizedHrefConfig['callback'];
/**
* Copied from:
* {@link https://github.com/sveltejs/kit/blob/7bb41aa4263b057a8912f4cdd35db03755d37342/packages/kit/types/index.d.ts#L1102-L1143}
*/
interface Page<Params extends Record<string, string> = Record<string, string>, RouteId extends string | null = string | null> {
url: URL;
params: Params;
route: {
id: RouteId;
};
status: number;
error: Error | null;
data: Record<string, any>;
state: Record<string, any>;
form: any;
}
/**
* Copied from:
* {@link https://github.com/sveltejs/kit/blob/7bb41aa4263b057a8912f4cdd35db03755d37342/packages/kit/types/index.d.ts#L988}
*/
interface NavigationTarget {
params: Record<string, string> | null;
route: {
id: string | null;
};
url: URL;
}
/**
* Copied from:
* {@link https://github.com/sveltejs/kit/blob/7bb41aa4263b057a8912f4cdd35db03755d37342/packages/kit/types/index.d.ts#L1017C9-L1017C89}
*/
type NavigationType = 'enter' | 'form' | 'leave' | 'link' | 'goto' | 'popstate';
/**
* Copied from:
* {@link https://github.com/sveltejs/kit/blob/7bb41aa4263b057a8912f4cdd35db03755d37342/packages/kit/types/index.d.ts#L1017C9-L1017C89}
*/
interface Navigation {
from: NavigationTarget | null;
to: NavigationTarget | null;
type: Exclude<NavigationType, 'enter'>;
willUnload: boolean;
delta?: number;
complete: Promise<void>;
}
type SvelteKitParameters = Partial<{
hrefs: Record<string, HrefConfig>;
state: {
page: Partial<Page>;
navigating: Partial<Navigation>;
updated: {
current: boolean;
};
};
/**
* @deprecated
* @see {@link https://svelte.dev/docs/kit/$app-stores}
*/
stores: {
page: Record<string, any>;
navigating: Record<string, any>;
updated: boolean;
};
navigation: {
goto: typeof goto;
invalidate: typeof invalidate;
invalidateAll: typeof invalidateAll;
afterNavigate: Record<string, any>;
};
forms: {
enhance: typeof enhance;
};
}>;
/**
* Function that sets the globalConfig of your storybook. The global config is the preview module of
* your .storybook folder.
*
* It should be run a single time, so that your global config (e.g. decorators) is applied to your
* stories when using `composeStories` or `composeStory`.
*
* Example:
*
* ```jsx
* // setup-file.js
* import { setProjectAnnotations } from '@storybook/sveltekit';
* import projectAnnotations from './.storybook/preview';
*
* setProjectAnnotations(projectAnnotations);
* ```
*
* @param projectAnnotations - E.g. (import projectAnnotations from '../.storybook/preview')
*/
declare function setProjectAnnotations(projectAnnotations: NamedOrDefaultProjectAnnotations<any> | NamedOrDefaultProjectAnnotations<any>[]): NormalizedProjectAnnotations<SvelteRenderer>;
export { type FrameworkOptions, type HrefConfig, type NormalizedHrefConfig, type StorybookConfig, type SvelteKitParameters, setProjectAnnotations };