@storybook/addon-svelte-csf
Version:
Allows to write stories in Svelte syntax
44 lines (43 loc) • 2.17 kB
TypeScript
import StoryComponent from './runtime/Story.svelte';
import LegacyMetaComponent from './runtime/LegacyMeta.svelte';
import LegacyStoryComponent from './runtime/LegacyStory.svelte';
import LegacyTemplateComponent from './runtime/LegacyTemplate.svelte';
import type { Cmp, ComponentAnnotations } from './types.js';
export type { StoryContext } from './types.js';
import type { ComponentProps, Snippet } from 'svelte';
export declare function defineMeta<TSnippet, TCmp extends Cmp>(_meta: {
render?: TSnippet;
component?: TCmp;
args?: Partial<TSnippet extends Snippet<[infer TArgs extends Record<string, any>, any]> ? TArgs : ComponentProps<TCmp>>;
} & Omit<ComponentAnnotations<TCmp, TSnippet extends Snippet<[infer TArgs extends Record<string, any>, any]> ? TArgs : ComponentProps<TCmp>>, 'render' | 'component' | 'args'>): {
Story: typeof StoryComponent<TSnippet extends Snippet<[infer TArgs extends Record<string, any>, any]> ? TArgs : ComponentProps<TCmp>, TCmp>;
};
/**
* Infer **first** parameter type `args` in template snippet specified at the root of fragment _(a shared one)_.
* @template TStoryCmp destructured `Story` property from the {@link defineMeta} call.
*
* @example
* ```svelte
* {#snippet template(args: Args<typeof Story>)}
* <!-- 👆 first parameter ->
* {/snippet}
* ```
*/
export type Args<TStoryCmp> = TStoryCmp extends typeof StoryComponent<infer TArgs extends Record<string, any>, Cmp> ? TArgs : never;
export {
/**
* @deprecated Use `defineMeta` instead
* @see {@link https://github.com/storybookjs/addon-svelte-csf/blob/main/MIGRATION.md#meta-component-removed-in-favor-of-definemeta}
*/
LegacyMetaComponent as Meta,
/**
* @deprecated Use `Story` component returned from `defineMeta` instead
* @see {@link https://github.com/storybookjs/addon-svelte-csf/blob/main/MIGRATION.md#export-meta-removed-in-favor-of-definemeta}
*/
LegacyStoryComponent as Story,
/**
* @deprecated Use snippets instead
* @see {@link https://github.com/storybookjs/addon-svelte-csf/blob/main/MIGRATION.md#template-component-removed}
*/
LegacyTemplateComponent as Template, };
export type * from './legacy-types.d.ts';