@storybook/angular
Version:
Storybook for Angular: Develop, document, and test UI components in isolation
8 lines (5 loc) • 1.24 kB
JavaScript
import { computesTemplateSourceFromComponent } from '../../chunk-LXSTVAFF.mjs';
import { SourceType } from 'storybook/internal/docs-tools';
import { useRef, useEffect, emitTransformCode } from 'storybook/preview-api';
var skipSourceRender=context=>{let sourceParams=context?.parameters.docs?.source;return sourceParams?.type===SourceType.DYNAMIC?!1:sourceParams?.code||sourceParams?.type===SourceType.CODE},sourceDecorator=(storyFn,context)=>{let story=storyFn(),source=useRef(void 0);return useEffect(()=>{if(skipSourceRender(context))return;let{props,userDefinedTemplate}=story,{component,argTypes,parameters:parameters2}=context,template=parameters2.docs?.source?.excludeDecorators?context.originalStoryFn(context.args,context).template:story.template;if(component&&!userDefinedTemplate){let newSource=computesTemplateSourceFromComponent(component,props,argTypes)||template;newSource&&newSource!==source.current&&(emitTransformCode(newSource,context),source.current=newSource);}else template&&template!==source.current&&(emitTransformCode(template,context),source.current=template);}),story};var parameters={docs:{source:{type:SourceType.DYNAMIC,language:"html"}}},decorators=[sourceDecorator];
export { decorators, parameters };