forked from storybookjs/storybook
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpreview.ts
More file actions
30 lines (24 loc) · 991 Bytes
/
Copy pathpreview.ts
File metadata and controls
30 lines (24 loc) · 991 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import type { Decorator } from '@storybook/svelte';
import MockProvider from '@storybook/sveltekit/internal/MockProvider.svelte';
import {
setAppStateNavigating,
setAppStatePage,
setAppStateUpdated,
} from '@storybook/sveltekit/internal/mocks/app/state.svelte.js';
import type { SvelteKitParameters } from './types';
const svelteKitMocksDecorator: Decorator = (Story, ctx) => {
const svelteKitParameters: SvelteKitParameters = ctx.parameters?.sveltekit_experimental ?? {};
return {
Component: MockProvider,
props: {
svelteKitParameters,
},
};
};
export const decorators: Decorator[] = [svelteKitMocksDecorator];
export const beforeEach: Preview['beforeEach'] = async (ctx) => {
const svelteKitParameters: SvelteKitParameters = ctx.parameters?.sveltekit_experimental ?? {};
setAppStatePage(svelteKitParameters?.state?.page);
setAppStateNavigating(svelteKitParameters?.state?.navigating);
setAppStateUpdated(svelteKitParameters?.state?.updated);
};