UNPKG

@storybook/addon-svelte-csf

Version:
44 lines (43 loc) 2.17 kB
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';