@storybook/vue3 7.1.0-alpha.9 → 7.1.0-beta.0

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.
Files changed (28) hide show
  1. package/dist/chunk-SRVBJOBI.mjs +6 -0
  2. package/dist/config.d.ts +4 -15
  3. package/dist/config.js +3 -44
  4. package/dist/config.mjs +11 -43
  5. package/dist/index.d.ts +8 -9
  6. package/dist/index.js +1 -1
  7. package/dist/index.mjs +8 -1
  8. package/package.json +19 -15
  9. package/src/typings.d.ts +1 -0
  10. package/template/cli/js/Header.vue +1 -1
  11. package/template/cli/js/Page.vue +1 -1
  12. package/template/cli/ts-3-8/Header.vue +1 -1
  13. package/template/cli/ts-3-8/Page.vue +8 -5
  14. package/template/cli/ts-4-9/Header.vue +1 -1
  15. package/template/cli/ts-4-9/Page.vue +8 -5
  16. package/template/components/Form.vue +1 -4
  17. package/template/stories/{preview.ts → preview.js} +7 -20
  18. package/template/stories_vue3-vite-default-ts/CustomRenderFunctionalComponent.stories.ts +0 -2
  19. package/template/stories_vue3-vite-default-ts/CustomRenderOptionsArgsFromData.stories.ts +0 -2
  20. package/template/{stories → stories_vue3-vite-default-ts}/GlobalSetup.stories.ts +4 -1
  21. package/template/stories_vue3-vite-default-ts/ReactiveArgs.stories.ts +5 -3
  22. package/template/stories_vue3-vite-default-ts/ReactiveDecorators.stories.ts +2 -26
  23. package/template/stories_vue3-vite-default-ts/ScopedSlots.stories.ts +2 -2
  24. package/template/stories_vue3-vite-default-ts/SourceDecorator.stories.ts +46 -0
  25. package/template/stories_vue3-vite-default-ts/preview.ts +12 -0
  26. package/dist/chunk-3MGVBGQN.mjs +0 -1
  27. package/template/stories_vue3-vite-default-ts/CustomRenderOptionsArgsFromProps.stories.ts +0 -33
  28. /package/template/{stories → stories_vue3-vite-default-ts}/GlobalSetup.vue +0 -0
@@ -0,0 +1,6 @@
1
+ import { h, createApp, reactive, isVNode, isReactive } from 'vue';
2
+ import { sanitizeStoryContextUpdate } from '@storybook/preview-api';
3
+
4
+ function normalizeFunctionalComponent(options){return typeof options=="function"?{render:options,name:options.name}:options}function prepare(rawStory,innerStory){let story=rawStory;return story===null?null:typeof story=="function"?story:innerStory?{...normalizeFunctionalComponent(story),components:{...story.components||{},story:innerStory}}:{render(){return h(story)}}}function decorateStory(storyFn,decorators){return decorators.reduce((decorated,decorator)=>context=>{let story,decoratedStory=decorator(update=>{let sanitizedUpdate=sanitizeStoryContextUpdate(update);return update&&(sanitizedUpdate.args=Object.assign(context.args,sanitizedUpdate.args)),story=decorated({...context,...sanitizedUpdate}),story},context);return story||(story=decorated(context)),decoratedStory===story?story:prepare(decoratedStory,()=>h(story))},context=>prepare(storyFn(context)))}var render=(props,context)=>{let{id,component:Component}=context;if(!Component)throw new Error(`Unable to render story ${id} as the component annotation is missing from the default export`);return ()=>h(Component,props,generateSlots(context))},setupFunctions=new Set,setup=fn=>{setupFunctions.add(fn);},runSetupFunctions=(app,storyContext)=>{setupFunctions.forEach(fn=>fn(app,storyContext));},map=new Map;function renderToCanvas({storyFn,forceRemount,showMain,showException,storyContext,id},canvasElement){let existingApp=map.get(canvasElement);if(existingApp&&!forceRemount){let element=storyFn(),args=getArgs(element,storyContext);return updateArgs(existingApp.reactiveArgs,args),()=>{teardown(existingApp.vueApp,canvasElement);}}existingApp&&forceRemount&&teardown(existingApp.vueApp,canvasElement);let vueApp=createApp({setup(){storyContext.args=reactive(storyContext.args);let rootElement=storyFn(),args=getArgs(rootElement,storyContext),appState={vueApp,reactiveArgs:reactive(args)};return map.set(canvasElement,appState),()=>h(rootElement)}});return vueApp.config.errorHandler=e=>showException(e),runSetupFunctions(vueApp,storyContext),vueApp.mount(canvasElement),showMain(),()=>{teardown(vueApp,canvasElement);}}function generateSlots(context){let{argTypes}=context,slots=Object.entries(argTypes).filter(([key,value])=>argTypes[key]?.table?.category==="slots").map(([key,value])=>{let slotValue=context.args[key];return [key,typeof slotValue=="function"?slotValue:()=>slotValue]});return reactive(Object.fromEntries(slots))}function getArgs(element,storyContext){return element.props&&isVNode(element)?element.props:storyContext.args}function updateArgs(reactiveArgs,nextArgs){if(Object.keys(nextArgs).length===0)return;let currentArgs=isReactive(reactiveArgs)?reactiveArgs:reactive(reactiveArgs);Object.keys(currentArgs).forEach(key=>{key in nextArgs||delete currentArgs[key];}),Object.assign(currentArgs,nextArgs);}function teardown(storybookApp,canvasElement){storybookApp?.unmount(),map.has(canvasElement)&&map.delete(canvasElement);}
5
+
6
+ export { decorateStory, render, renderToCanvas, setup };
package/dist/config.d.ts CHANGED
@@ -1,24 +1,13 @@
1
- import * as lib_docs_tools_dist from 'lib/docs-tools/dist';
2
- import * as lib_types_dist from 'lib/types/dist';
1
+ import { Addon_DecoratorFunction, ArgTypesEnhancer, LegacyStoryFn, DecoratorFunction } from '@storybook/types';
3
2
  import { V as VueRenderer } from './render-32b7dd3f.js';
4
3
  export { r as render, a as renderToCanvas } from './render-32b7dd3f.js';
5
- import { LegacyStoryFn, DecoratorFunction } from '@storybook/types';
6
4
  import 'vue';
7
5
 
8
- declare const decorators: ((storyFn: any, context: lib_types_dist.StoryContext<lib_types_dist.Renderer, lib_types_dist.Args>) => any)[];
9
- declare const argTypesEnhancers: (<TRenderer extends lib_types_dist.Renderer>(context: lib_types_dist.StoryContextForEnhancers<TRenderer, lib_types_dist.Args>) => lib_types_dist.StrictArgTypes<lib_types_dist.Args>)[];
6
+ declare const decorators: Addon_DecoratorFunction<unknown>[];
7
+ declare const argTypesEnhancers: ArgTypesEnhancer[];
10
8
 
11
9
  declare function decorateStory(storyFn: LegacyStoryFn<VueRenderer>, decorators: DecoratorFunction<VueRenderer>[]): LegacyStoryFn<VueRenderer>;
12
10
 
13
- declare const parameters: {
14
- docs: {
15
- story: {
16
- inline: boolean;
17
- };
18
- extractArgTypes: lib_docs_tools_dist.ArgTypesExtractor;
19
- extractComponentDescription: typeof lib_docs_tools_dist.extractComponentDescription;
20
- };
21
- renderer: "vue3";
22
- };
11
+ declare const parameters: {};
23
12
 
24
13
  export { decorateStory as applyDecorators, argTypesEnhancers, decorators, parameters };