@storybook/svelte 10.0.0-beta.1 → 10.0.0-beta.11

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.
@@ -131,7 +131,7 @@ addons.getChannel().on(RESET_STORY_ARGS, ({ storyId }) => {
131
131
  storyIdsToRemountFromResetArgsEvent.add(storyId);
132
132
  });
133
133
  var componentsByDomElement = /* @__PURE__ */ new Map();
134
- function renderToCanvas({
134
+ async function renderToCanvas({
135
135
  storyFn,
136
136
  title,
137
137
  name,
@@ -171,6 +171,7 @@ function renderToCanvas({
171
171
  props
172
172
  });
173
173
  componentsByDomElement.set(canvasElement, { mountedComponent, props });
174
+ await svelte.tick();
174
175
  } else {
175
176
  Object.assign(existingComponent.props, {
176
177
  storyFn,
@@ -179,6 +180,7 @@ function renderToCanvas({
179
180
  title,
180
181
  showError
181
182
  });
183
+ await svelte.tick();
182
184
  }
183
185
  showMain();
184
186
  return () => {
@@ -5,7 +5,7 @@ import {
5
5
  parameters,
6
6
  render,
7
7
  renderToCanvas
8
- } from "./_browser-chunks/chunk-6F5NZ26N.js";
8
+ } from "./_browser-chunks/chunk-4ZGG6PUN.js";
9
9
  import "./_browser-chunks/chunk-JFJ5UJ7Q.js";
10
10
  export {
11
11
  decorateStory as applyDecorators,
package/dist/index.d.ts CHANGED
@@ -1,30 +1,20 @@
1
1
  import { WebRenderer, Canvas, Args, ComponentAnnotations, AnnotatedStoryFn, ArgsStoryFn, ArgsFromMeta, StoryAnnotations, StrictArgs, DecoratorFunction, LoaderFunction, StoryContext as StoryContext$1, ProjectAnnotations, NamedOrDefaultProjectAnnotations, NormalizedProjectAnnotations, StoryAnnotationsOrFn, ComposedStoryFn, Store_CSFExports, StoriesWithPartialProps } from 'storybook/internal/types';
2
2
  export { ArgTypes, Args, Parameters, StrictArgs } from 'storybook/internal/types';
3
- import * as svelte from 'svelte';
4
- import { SvelteComponent, ComponentConstructorOptions, ComponentEvents, ComponentProps, ComponentType as ComponentType$1 } from 'svelte';
3
+ import { Component, ComponentProps } from 'svelte';
5
4
  import { Simplify, SetOptional } from 'type-fest';
6
5
  import PreviewRender from '@storybook/svelte/internal/PreviewRender.svelte';
7
6
 
8
- type ComponentType<Props extends Record<string, any> = any, Events extends Record<string, any> = any> = new (options: ComponentConstructorOptions<Props>) => {
9
- [P in keyof SvelteComponent<Props> as P extends `$$${string}` ? never : P]: SvelteComponent<Props, Events>[P];
10
- };
11
- type Svelte5ComponentType<Props extends Record<string, any> = any> = typeof svelte extends {
12
- mount: any;
13
- } ? svelte.Component<Props, any, any> : never;
14
- interface SvelteRenderer<C extends SvelteComponent | Svelte5ComponentType = SvelteComponent> extends WebRenderer {
15
- component: ComponentType<this['T'] extends Record<string, any> ? this['T'] : any> | Svelte5ComponentType<this['T'] extends Record<string, any> ? this['T'] : any>;
16
- storyResult: this['T'] extends Record<string, any> ? SvelteStoryResult<this['T'], C extends SvelteComponent ? ComponentEvents<C> : {}> : SvelteStoryResult;
17
- mount: (Component?: ComponentType | Svelte5ComponentType, options?: Record<string, any> & {
18
- props: Record<string, any>;
7
+ interface SvelteRenderer<C extends Component<any, any, any> = Component<any, any, any>> extends WebRenderer {
8
+ component: Component<this['T'] extends Record<string, any> ? this['T'] : any>;
9
+ storyResult: this['T'] extends Record<string, any> ? SvelteStoryResult<this['T']> : SvelteStoryResult;
10
+ mount: (Component?: C, options?: Record<string, any> & {
11
+ props: ComponentProps<C>;
19
12
  }) => Promise<Canvas>;
20
13
  }
21
- interface SvelteStoryResult<Props extends Record<string, any> = any, Events extends Record<string, any> = any> {
22
- Component?: ComponentType<Props> | Svelte5ComponentType<Props>;
23
- on?: Record<string, any> extends Events ? Record<string, (event: CustomEvent) => void> : {
24
- [K in keyof Events as string extends K ? never : K]?: (event: Events[K]) => void;
25
- };
14
+ interface SvelteStoryResult<Props extends Record<string, any> = any, Exports extends Record<string, any> = any, Bindings extends keyof Props | '' = string> {
15
+ Component?: Component<Props, Exports, Bindings>;
26
16
  props?: Props;
27
- decorator?: ComponentType<Props> | Svelte5ComponentType<Props>;
17
+ decorator?: Component<Props, Exports, Bindings>;
28
18
  }
29
19
 
30
20
  /**
@@ -32,13 +22,13 @@ interface SvelteStoryResult<Props extends Record<string, any> = any, Events exte
32
22
  *
33
23
  * @see [Default export](https://storybook.js.org/docs/api/csf#default-export)
34
24
  */
35
- type Meta<CmpOrArgs = Args> = CmpOrArgs extends SvelteComponent<infer Props> | Svelte5ComponentType<infer Props> ? ComponentAnnotations<SvelteRenderer<CmpOrArgs>, Props> : ComponentAnnotations<SvelteRenderer, CmpOrArgs>;
25
+ type Meta<CmpOrArgs = Args> = CmpOrArgs extends Component<infer Props> ? ComponentAnnotations<SvelteRenderer<CmpOrArgs>, Props> : ComponentAnnotations<SvelteRenderer, CmpOrArgs>;
36
26
  /**
37
27
  * Story function that represents a CSFv2 component example.
38
28
  *
39
29
  * @see [Named Story exports](https://storybook.js.org/docs/api/csf#named-story-exports)
40
30
  */
41
- type StoryFn<TCmpOrArgs = Args> = TCmpOrArgs extends SvelteComponent<infer Props> | Svelte5ComponentType<infer Props> ? AnnotatedStoryFn<SvelteRenderer, Props> : AnnotatedStoryFn<SvelteRenderer, TCmpOrArgs>;
31
+ type StoryFn<TCmpOrArgs = Args> = TCmpOrArgs extends Component<infer Props> ? AnnotatedStoryFn<SvelteRenderer, Props> : AnnotatedStoryFn<SvelteRenderer, TCmpOrArgs>;
42
32
  /**
43
33
  * Story object that represents a CSFv3 component example.
44
34
  *
@@ -48,7 +38,7 @@ type StoryObj<MetaOrCmpOrArgs = Args> = MetaOrCmpOrArgs extends {
48
38
  render?: ArgsStoryFn<SvelteRenderer, any>;
49
39
  component: infer Comp;
50
40
  args?: infer DefaultArgs;
51
- } ? Simplify<ComponentProps<Comp extends ComponentType$1<infer Component> ? Component : Comp extends Svelte5ComponentType ? Comp : never> & ArgsFromMeta<SvelteRenderer, MetaOrCmpOrArgs>> extends infer TArgs ? StoryAnnotations<SvelteRenderer<Comp extends ComponentType$1<infer Component> ? Component : Comp extends Svelte5ComponentType ? Comp : never>, TArgs, SetOptional<TArgs, Extract<keyof TArgs, keyof DefaultArgs>>> : never : MetaOrCmpOrArgs extends SvelteComponent | Svelte5ComponentType ? StoryAnnotations<SvelteRenderer<MetaOrCmpOrArgs>, ComponentProps<MetaOrCmpOrArgs>> : StoryAnnotations<SvelteRenderer, MetaOrCmpOrArgs>;
41
+ } ? Simplify<ComponentProps<Comp extends Component<any, any, any> ? Comp : never> & ArgsFromMeta<SvelteRenderer, MetaOrCmpOrArgs>> extends infer TArgs ? StoryAnnotations<SvelteRenderer<Comp extends Component<any, any, any> ? Comp : never>, TArgs, SetOptional<TArgs, Extract<keyof TArgs, keyof DefaultArgs>>> : never : MetaOrCmpOrArgs extends Component<any, any, any> ? StoryAnnotations<SvelteRenderer<MetaOrCmpOrArgs>, ComponentProps<MetaOrCmpOrArgs>> : StoryAnnotations<SvelteRenderer, MetaOrCmpOrArgs>;
52
42
 
53
43
  type Decorator<TArgs = StrictArgs> = DecoratorFunction<SvelteRenderer, TArgs>;
54
44
  type Loader<TArgs = StrictArgs> = LoaderFunction<SvelteRenderer, TArgs>;
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  entry_preview_exports,
3
3
  renderToCanvas
4
- } from "./_browser-chunks/chunk-6F5NZ26N.js";
4
+ } from "./_browser-chunks/chunk-4ZGG6PUN.js";
5
5
  import {
6
6
  __name
7
7
  } from "./_browser-chunks/chunk-JFJ5UJ7Q.js";
package/dist/preset.js CHANGED
@@ -1,10 +1,10 @@
1
- import CJS_COMPAT_NODE_URL_oy7dmfe0z9d from 'node:url';
2
- import CJS_COMPAT_NODE_PATH_oy7dmfe0z9d from 'node:path';
3
- import CJS_COMPAT_NODE_MODULE_oy7dmfe0z9d from "node:module";
1
+ import CJS_COMPAT_NODE_URL_5alxob4ufr6 from 'node:url';
2
+ import CJS_COMPAT_NODE_PATH_5alxob4ufr6 from 'node:path';
3
+ import CJS_COMPAT_NODE_MODULE_5alxob4ufr6 from "node:module";
4
4
 
5
- var __filename = CJS_COMPAT_NODE_URL_oy7dmfe0z9d.fileURLToPath(import.meta.url);
6
- var __dirname = CJS_COMPAT_NODE_PATH_oy7dmfe0z9d.dirname(__filename);
7
- var require = CJS_COMPAT_NODE_MODULE_oy7dmfe0z9d.createRequire(import.meta.url);
5
+ var __filename = CJS_COMPAT_NODE_URL_5alxob4ufr6.fileURLToPath(import.meta.url);
6
+ var __dirname = CJS_COMPAT_NODE_PATH_5alxob4ufr6.dirname(__filename);
7
+ var require = CJS_COMPAT_NODE_MODULE_5alxob4ufr6.createRequire(import.meta.url);
8
8
 
9
9
  // ------------------------------------------------------------
10
10
  // end of CJS compatibility banner, injected by Storybook's esbuild configuration
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@storybook/svelte",
3
- "version": "10.0.0-beta.1",
3
+ "version": "10.0.0-beta.11",
4
4
  "description": "Storybook Svelte renderer: Develop, document, and test UI components in isolation.",
5
5
  "keywords": [
6
6
  "storybook",
@@ -59,17 +59,16 @@
59
59
  "type-fest": "~2.19"
60
60
  },
61
61
  "devDependencies": {
62
- "@sveltejs/vite-plugin-svelte": "^5.0.3",
62
+ "@sveltejs/vite-plugin-svelte": "^6.2.0",
63
63
  "@testing-library/svelte": "^5.2.4",
64
- "expect-type": "^1.1.0",
65
- "svelte": "^5.20.5",
66
- "svelte-check": "^4.1.4",
64
+ "svelte": "^5.39.5",
65
+ "svelte-check": "^4.3.2",
67
66
  "sveltedoc-parser": "^4.2.1",
68
67
  "typescript": "^5.8.3",
69
68
  "vite": "^7.0.4"
70
69
  },
71
70
  "peerDependencies": {
72
- "storybook": "^10.0.0-beta.1",
71
+ "storybook": "^10.0.0-beta.11",
73
72
  "svelte": "^5.0.0"
74
73
  },
75
74
  "publishConfig": {
@@ -26,4 +26,9 @@
26
26
  });
27
27
  </script>
28
28
 
29
- <DecoratorHandler {Component} {props} />
29
+ <svelte:boundary>
30
+ {#snippet pending()}
31
+ <div id="sb-pending-async-component-notice">Pending async component...</div>
32
+ {/snippet}
33
+ <DecoratorHandler {Component} {props} />
34
+ </svelte:boundary>
@@ -0,0 +1,16 @@
1
+ //! this config isn't actually used, it's just here to tell svelte-check that we have async enabled
2
+
3
+ const config = {
4
+ kit: {
5
+ experimental: {
6
+ remoteFunctions: true,
7
+ },
8
+ },
9
+ compilerOptions: {
10
+ experimental: {
11
+ async: true,
12
+ },
13
+ },
14
+ };
15
+
16
+ export default config;