@storybook/vue3 9.0.0-rc.2 → 9.0.0-rc.3
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.
- package/dist/chunk-DYBVISFM.mjs +8 -0
- package/dist/entry-preview-docs.d.ts +3 -14
- package/dist/entry-preview-docs.js +4 -4
- package/dist/entry-preview-docs.mjs +4 -4
- package/dist/entry-preview.d.ts +16 -4
- package/dist/entry-preview.js +1 -1
- package/dist/entry-preview.mjs +1 -1
- package/dist/index.js +1 -1
- package/dist/index.mjs +2 -2
- package/package.json +2 -2
- package/dist/chunk-3D4J5ZX4.mjs +0 -7
@@ -0,0 +1,8 @@
|
|
1
|
+
import { __export } from './chunk-CEH6MNVV.mjs';
|
2
|
+
import { extractComponentDescription, enhanceArgTypes, hasDocgen, extractComponentProps, convert } from 'storybook/internal/docs-tools';
|
3
|
+
import { h, createApp, reactive, isVNode, isReactive } from 'vue';
|
4
|
+
import { sanitizeStoryContextUpdate } from 'storybook/preview-api';
|
5
|
+
|
6
|
+
var entry_preview_exports={};__export(entry_preview_exports,{applyDecorators:()=>decorateStory,argTypesEnhancers:()=>argTypesEnhancers,mount:()=>mount,parameters:()=>parameters,render:()=>render,renderToCanvas:()=>renderToCanvas});var ARG_TYPE_SECTIONS=["props","events","slots","exposed","expose"],extractArgTypes=component=>{if(!hasDocgen(component))return null;let usedDocgenPlugin="exposed"in component.__docgenInfo?"vue-component-meta":"vue-docgen-api",argTypes={};return ARG_TYPE_SECTIONS.forEach(section=>{extractComponentProps(component,section).forEach(extractedProp=>{let argType;if(usedDocgenPlugin==="vue-docgen-api"){let docgenInfo=extractedProp.docgenInfo;argType=extractFromVueDocgenApi(docgenInfo,section,extractedProp);}else {let docgenInfo=extractedProp.docgenInfo;argType=extractFromVueComponentMeta(docgenInfo,section);}if(!argType||argTypes[argType.name])return;["events","expose","exposed"].includes(section)&&(argType.control={disable:!0}),argTypes[argType.name]=argType;});}),argTypes},extractFromVueDocgenApi=(docgenInfo,section,extractedProp)=>{let type,sbType;if(section==="events"&&(type=docgenInfo.type?.names.join(),sbType={name:"other",value:type??"",required:!1}),section==="slots"){let slotBindings=docgenInfo.bindings?.filter(binding=>!!binding.name).map(binding=>`${binding.name}: ${binding.type?.name??"unknown"}`).join("; ");type=slotBindings?`{ ${slotBindings} }`:void 0,sbType={name:"other",value:type??"",required:!1};}if(section==="props"){let propInfo=docgenInfo;if(type=propInfo.type?.name,sbType=extractedProp?convert(extractedProp.docgenInfo):{name:"other",value:type},propInfo.type&&"elements"in propInfo.type&&Array.isArray(propInfo.type.elements)&&propInfo.type.elements.length>0){let elements=propInfo.type.elements.map(i=>i.name);type==="Array"&&(type=`${elements.length===1?elements[0]:`(${elements.join(" | ")})`}[]`),type==="union"?type=elements.join(" | "):type==="intersection"&&(type=elements.join(" & "));}}let required="required"in docgenInfo?docgenInfo.required??!1:!1;return {name:docgenInfo.name,description:docgenInfo.description,type:sbType?{...sbType,required}:{name:"other",value:type??""},table:{type:type?{summary:type}:void 0,defaultValue:extractedProp?.propDef.defaultValue??void 0,jsDocTags:extractedProp?.propDef.jsDocTags,category:section}}},extractFromVueComponentMeta=(docgenInfo,section)=>{if("global"in docgenInfo&&docgenInfo.global)return;let tableType={summary:docgenInfo.type.replace(" | undefined","")};if(section==="props"){let propInfo=docgenInfo,defaultValue=propInfo.default?{summary:propInfo.default}:void 0;return {name:propInfo.name,description:formatDescriptionWithTags(propInfo.description,propInfo.tags),defaultValue,type:convertVueComponentMetaProp(propInfo),table:{type:tableType,defaultValue,category:section}}}else return {name:docgenInfo.name,description:"description"in docgenInfo?docgenInfo.description:"",type:{name:"other",value:docgenInfo.type},table:{type:tableType,category:section}}},convertVueComponentMetaProp=propInfo=>{let schema=propInfo.schema,required=propInfo.required,fallbackSbType={name:"other",value:propInfo.type,required},KNOWN_SCHEMAS=["string","number","function","boolean","symbol"];if(typeof schema=="string")return KNOWN_SCHEMAS.includes(schema)?{name:schema,required}:fallbackSbType;switch(schema.kind){case"enum":{let definedSchemas=schema.schema?.filter(item=>item!=="undefined")??[];return isBooleanSchema(definedSchemas)?{name:"boolean",required}:isLiteralUnionSchema(definedSchemas)||isEnumSchema(definedSchemas)?{name:"enum",value:definedSchemas.map(literal=>literal.replace(/"/g,"")),required}:definedSchemas.length===1?convertVueComponentMetaProp({schema:definedSchemas[0],type:propInfo.type,required}):(definedSchemas.length>2&&definedSchemas.includes("true")&&definedSchemas.includes("false")&&(definedSchemas=definedSchemas.filter(i=>i!=="true"&&i!=="false"),definedSchemas.push("boolean")),{name:"union",value:definedSchemas.map(i=>convertVueComponentMetaProp(typeof i=="object"?{schema:i,type:i.type,required:!1}:{schema:i,type:i,required:!1})),required})}case"array":{let definedSchemas=schema.schema?.filter(item=>item!=="undefined")??[];return definedSchemas.length===0?fallbackSbType:definedSchemas.length===1?{name:"array",value:convertVueComponentMetaProp({schema:definedSchemas[0],type:propInfo.type,required:!1}),required}:{name:"union",value:definedSchemas.map(i=>convertVueComponentMetaProp(typeof i=="object"?{schema:i,type:i.type,required:!1}:{schema:i,type:i,required:!1})),required}}case"object":return {name:"object",value:{},required};default:return fallbackSbType}},formatDescriptionWithTags=(description,tags)=>!tags?.length||!description?description??"":`${tags.map(tag=>`@${tag.name}: ${tag.text}`).join("<br>")}<br><br>${description}`,isLiteralUnionSchema=schemas=>schemas.every(schema=>typeof schema=="string"&&schema.startsWith('"')&&schema.endsWith('"')),isEnumSchema=schemas=>schemas.every(schema=>typeof schema=="string"&&schema.includes(".")),isBooleanSchema=schemas=>schemas.length===2&&schemas.includes("true")&&schemas.includes("false");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,getSlots(props,context))},setup=fn=>{globalThis.PLUGINS_SETUP_FUNCTIONS??=new Set,globalThis.PLUGINS_SETUP_FUNCTIONS.add(fn);},runSetupFunctions=async(app,storyContext)=>{globalThis&&globalThis.PLUGINS_SETUP_FUNCTIONS&&await Promise.all([...globalThis.PLUGINS_SETUP_FUNCTIONS].map(fn=>fn(app,storyContext)));},map=new Map;async 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,instance,info)=>{window.__STORYBOOK_PREVIEW__?.storyRenders.some(renderer=>renderer.id===id&&renderer.phase==="playing")?setTimeout(()=>{throw e},0):showException(e);},await runSetupFunctions(vueApp,storyContext),vueApp.mount(canvasElement),showMain(),()=>{teardown(vueApp,canvasElement);}}function getSlots(props,context){let{argTypes}=context,slots=Object.entries(props).filter(([key])=>argTypes[key]?.table?.category==="slots").map(([key,value])=>[key,typeof value=="function"?value:()=>value]);return 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);}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 mount=context=>async(Component,options)=>(Component&&(context.originalStoryFn=()=>()=>h(Component,options?.props,options?.slots)),await context.renderToCanvas(),context.canvas);var parameters={renderer:"vue3",docs:{story:{inline:!0},extractArgTypes,extractComponentDescription}},argTypesEnhancers=[enhanceArgTypes];
|
7
|
+
|
8
|
+
export { argTypesEnhancers, decorateStory, entry_preview_exports, mount, parameters, render, renderToCanvas, setup };
|
@@ -1,21 +1,10 @@
|
|
1
1
|
import { D as Decorator } from './public-types-e4ebb831.js';
|
2
|
-
import
|
3
|
-
import { ArgTypesEnhancer } from 'storybook/internal/types';
|
4
|
-
import { V as VueRenderer } from './types-1ede6954.js';
|
2
|
+
import 'storybook/internal/types';
|
5
3
|
import 'type-fest';
|
6
4
|
import 'vue';
|
7
5
|
import 'vue-component-type-helpers';
|
6
|
+
import './types-1ede6954.js';
|
8
7
|
|
9
|
-
declare const parameters: {
|
10
|
-
docs: {
|
11
|
-
story: {
|
12
|
-
inline: boolean;
|
13
|
-
};
|
14
|
-
extractArgTypes: ArgTypesExtractor;
|
15
|
-
extractComponentDescription: (component?: any) => string;
|
16
|
-
};
|
17
|
-
};
|
18
8
|
declare const decorators: Decorator[];
|
19
|
-
declare const argTypesEnhancers: ArgTypesEnhancer<VueRenderer>[];
|
20
9
|
|
21
|
-
export {
|
10
|
+
export { decorators };
|
@@ -1,4 +1,4 @@
|
|
1
|
-
"use strict";var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var entry_preview_docs_exports={};__export(entry_preview_docs_exports,{
|
1
|
+
"use strict";var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var entry_preview_docs_exports={};__export(entry_preview_docs_exports,{decorators:()=>decorators});module.exports=__toCommonJS(entry_preview_docs_exports);var import_docs_tools=require("storybook/internal/docs-tools"),import_preview_api=require("storybook/preview-api"),import_vue=require("vue"),TRACKING_SYMBOL=Symbol("DEEP_ACCESS_SYMBOL"),isProxy=obj=>!!(obj&&typeof obj=="object"&&TRACKING_SYMBOL in obj),sourceDecorator=(storyFn,ctx)=>{let story=storyFn();return(0,import_preview_api.useEffect)(()=>{let sourceCode=generateSourceCode(ctx);shouldSkipSourceCodeGeneration(ctx)||(0,import_preview_api.emitTransformCode)(sourceCode,ctx)}),story},generateSourceCode=ctx=>{let sourceCodeContext={imports:{},scriptVariables:{}},{displayName,slotNames,eventNames}=parseDocgenInfo(ctx.component),props=generatePropsSourceCode(ctx.args,slotNames,eventNames,sourceCodeContext),slotSourceCode=generateSlotSourceCode(ctx.args,slotNames,sourceCodeContext),componentName=displayName||ctx.title.split("/").at(-1),templateCode=slotSourceCode?`<${componentName} ${props}> ${slotSourceCode} </${componentName}>`:`<${componentName} ${props} />`,variablesCode=Object.entries(sourceCodeContext.scriptVariables).map(([name,value])=>`const ${name} = ${value};`).join(`
|
2
2
|
|
3
3
|
`),importsCode=Object.entries(sourceCodeContext.imports).map(([packageName,imports])=>`import { ${Array.from(imports.values()).sort().join(", ")} } from "${packageName}";`).join(`
|
4
4
|
`),template=`<template>
|
@@ -9,8 +9,8 @@ ${importsCode?`${importsCode}
|
|
9
9
|
${variablesCode}`:variablesCode}
|
10
10
|
</script>
|
11
11
|
|
12
|
-
${template}`},shouldSkipSourceCodeGeneration=context=>{let sourceParams=context?.parameters.docs?.source;return sourceParams?.type===
|
12
|
+
${template}`},shouldSkipSourceCodeGeneration=context=>{let sourceParams=context?.parameters.docs?.source;return sourceParams?.type===import_docs_tools.SourceType.DYNAMIC?!1:!context?.parameters.__isArgsStory||sourceParams?.code||sourceParams?.type===import_docs_tools.SourceType.CODE},parseDocgenInfo=component=>{if(!component||!("__docgenInfo"in component)||!component.__docgenInfo||typeof component.__docgenInfo!="object")return{displayName:component?.__name,eventNames:[],slotNames:[]};let docgenInfo=component.__docgenInfo,displayName="displayName"in docgenInfo&&typeof docgenInfo.displayName=="string"?docgenInfo.displayName:void 0,parseNames=key=>!(key in docgenInfo)||!Array.isArray(docgenInfo[key])?[]:docgenInfo[key].map(i=>i&&typeof i=="object"&&"name"in i?i.name:void 0).filter(i=>typeof i=="string");return{displayName:displayName||component.__name,slotNames:parseNames("slots").sort((a,b)=>a==="default"?-1:b==="default"?1:a.localeCompare(b)),eventNames:parseNames("events")}},generatePropsSourceCode=(args,slotNames,eventNames,ctx)=>{let properties=[];Object.entries(args).forEach(([propName,value])=>{if(!slotNames.includes(propName)&&value!=null)switch(isProxy(value)&&(value=value.toString()),typeof value){case"string":if(value==="")return;properties.push({name:propName,value:value.includes('"')?`'${value}'`:`"${value}"`,templateFn:(name,propValue)=>`${name}=${propValue}`});break;case"number":properties.push({name:propName,value:value.toString(),templateFn:(name,propValue)=>`:${name}="${propValue}"`});break;case"bigint":properties.push({name:propName,value:`BigInt(${value.toString()})`,templateFn:(name,propValue)=>`:${name}="${propValue}"`});break;case"boolean":properties.push({name:propName,value:value?"true":"false",templateFn:(name,propValue)=>propValue==="true"?name:`:${name}="false"`});break;case"symbol":properties.push({name:propName,value:`Symbol(${value.description?`'${value.description}'`:""})`,templateFn:(name,propValue)=>`:${name}="${propValue}"`});break;case"object":{properties.push({name:propName,value:formatObject(value??{}),templateFn:void 0});break}case"function":break}}),properties.sort((a,b)=>a.name.localeCompare(b.name));let props=[];return properties.forEach(prop=>{let isVModel=eventNames.includes(`update:${prop.name}`);if(!isVModel&&prop.templateFn){props.push(prop.templateFn(prop.name,prop.value));return}let variableName=prop.name;if(variableName in ctx.scriptVariables){let index=1;do variableName=`${prop.name}${index}`,index++;while(variableName in ctx.scriptVariables)}if(!isVModel){ctx.scriptVariables[variableName]=prop.value,props.push(`:${prop.name}="${variableName}"`);return}ctx.scriptVariables[variableName]=`ref(${prop.value})`,ctx.imports.vue||(ctx.imports.vue=new Set),ctx.imports.vue.add("ref"),prop.name==="modelValue"?props.push(`v-model="${variableName}"`):props.push(`v-model:${prop.name}="${variableName}"`)}),props.join(" ")},generateSlotSourceCode=(args,slotNames,ctx)=>{let slotSourceCodes=[];return slotNames.forEach(slotName=>{let arg=args[slotName];if(!arg)return;let slotContent=generateSlotChildrenSourceCode([arg],ctx);if(!slotContent)return;let slotBindings=typeof arg=="function"?getFunctionParamNames(arg):[];slotName==="default"&&!slotBindings.length?slotSourceCodes.push(slotContent):slotSourceCodes.push(`<template ${slotBindingsToString(slotName,slotBindings)}>${slotContent}</template>`)}),slotSourceCodes.join(`
|
13
13
|
|
14
14
|
`)},generateSlotChildrenSourceCode=(children,ctx)=>{let slotChildrenSourceCodes=[],generateSingleChildSourceCode=child=>{if((0,import_vue.isVNode)(child))return generateVNodeSourceCode(child,ctx);switch(typeof child){case"string":case"number":case"boolean":return child.toString();case"object":return child===null?"":Array.isArray(child)?child.map(generateSingleChildSourceCode).filter(code=>code!=="").join(`
|
15
|
-
`):JSON.stringify(child);case"function":{let paramNames=getFunctionParamNames(child).filter(param=>!["{","}"].includes(param)),
|
16
|
-
`)},generateVNodeSourceCode=(vnode,ctx)=>{let componentName=getVNodeName(vnode),childrenCode="";typeof vnode.children=="string"?childrenCode=vnode.children:Array.isArray(vnode.children)?childrenCode=generateSlotChildrenSourceCode(vnode.children,ctx):vnode.children&&(childrenCode=generateSlotSourceCode(vnode.children,Object.keys(vnode.children).filter(i=>i!=="$stable"),ctx));let props=vnode.props?generatePropsSourceCode(vnode.props,[],[],ctx):"";return childrenCode?`<${componentName}${props?` ${props}`:""}>${childrenCode}</${componentName}>`:`<${componentName}${props?` ${props}`:""} />`},getVNodeName=vnode=>{if(typeof vnode.type=="string")return vnode.type;if(typeof vnode.type=="object"){if("name"in vnode.type&&vnode.type.name)return vnode.type.name;if("__name"in vnode.type&&vnode.type.__name)return vnode.type.__name}return"component"},getFunctionParamNames=func=>{let STRIP_COMMENTS=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm,ARGUMENT_NAMES=/([^\s,]+)/g,fnStr=func.toString().replace(STRIP_COMMENTS,""),result=fnStr.slice(fnStr.indexOf("(")+1,fnStr.indexOf(")")).match(ARGUMENT_NAMES);return result?result.flatMap(param=>{if(["{","}"].includes(param))return param;let nonMinifiedName=param.split(":")[0].trim();return nonMinifiedName.startsWith("{")?["{",nonMinifiedName.substring(1)]:param.endsWith("}")&&!nonMinifiedName.endsWith("}")?[nonMinifiedName,"}"]:nonMinifiedName}):[]},slotBindingsToString=(slotName,params)=>params.length?params.length===1?`#${slotName}="${params[0]}"`:`#${slotName}="{ ${params.filter(i=>!["{","}"].includes(i)).join(", ")} }"`:`#${slotName}`,formatObject=obj=>Object.values(obj).every(value=>value==null||typeof value!="object")?JSON.stringify(obj):JSON.stringify(obj,null,2);var
|
15
|
+
`):JSON.stringify(child);case"function":{let paramNames=getFunctionParamNames(child).filter(param=>!["{","}"].includes(param)),parameters={},proxied={};paramNames.forEach(param=>{parameters[param]=`{{ ${param} }}`,proxied[param]=new Proxy({[TRACKING_SYMBOL]:!0},{get:(t,key)=>key===TRACKING_SYMBOL?t[TRACKING_SYMBOL]:[Symbol.toPrimitive,Symbol.toStringTag,"toString"].includes(key)?()=>`{{ ${param} }}`:key==="v-bind"?`${param}`:`{{ ${param}.${key.toString()} }}`,ownKeys:()=>["v-bind"],getOwnPropertyDescriptor:()=>({configurable:!0,enumerable:!0,value:param,writable:!0})})});let returnValue=child(proxied);return generateSlotChildrenSourceCode([returnValue],ctx).replaceAll(/ (\S+)="{{ (\S+) }}"/g,' :$1="$2"')}case"bigint":return`{{ BigInt(${child.toString()}) }}`;default:return""}};return children.forEach(child=>{let sourceCode=generateSingleChildSourceCode(child);sourceCode!==""&&slotChildrenSourceCodes.push(sourceCode)}),slotChildrenSourceCodes.join(`
|
16
|
+
`)},generateVNodeSourceCode=(vnode,ctx)=>{let componentName=getVNodeName(vnode),childrenCode="";typeof vnode.children=="string"?childrenCode=vnode.children:Array.isArray(vnode.children)?childrenCode=generateSlotChildrenSourceCode(vnode.children,ctx):vnode.children&&(childrenCode=generateSlotSourceCode(vnode.children,Object.keys(vnode.children).filter(i=>i!=="$stable"),ctx));let props=vnode.props?generatePropsSourceCode(vnode.props,[],[],ctx):"";return childrenCode?`<${componentName}${props?` ${props}`:""}>${childrenCode}</${componentName}>`:`<${componentName}${props?` ${props}`:""} />`},getVNodeName=vnode=>{if(typeof vnode.type=="string")return vnode.type;if(typeof vnode.type=="object"){if("name"in vnode.type&&vnode.type.name)return vnode.type.name;if("__name"in vnode.type&&vnode.type.__name)return vnode.type.__name}return"component"},getFunctionParamNames=func=>{let STRIP_COMMENTS=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm,ARGUMENT_NAMES=/([^\s,]+)/g,fnStr=func.toString().replace(STRIP_COMMENTS,""),result=fnStr.slice(fnStr.indexOf("(")+1,fnStr.indexOf(")")).match(ARGUMENT_NAMES);return result?result.flatMap(param=>{if(["{","}"].includes(param))return param;let nonMinifiedName=param.split(":")[0].trim();return nonMinifiedName.startsWith("{")?["{",nonMinifiedName.substring(1)]:param.endsWith("}")&&!nonMinifiedName.endsWith("}")?[nonMinifiedName,"}"]:nonMinifiedName}):[]},slotBindingsToString=(slotName,params)=>params.length?params.length===1?`#${slotName}="${params[0]}"`:`#${slotName}="{ ${params.filter(i=>!["{","}"].includes(i)).join(", ")} }"`:`#${slotName}`,formatObject=obj=>Object.values(obj).every(value=>value==null||typeof value!="object")?JSON.stringify(obj):JSON.stringify(obj,null,2);var decorators=[sourceDecorator];0&&(module.exports={decorators});
|
@@ -1,9 +1,9 @@
|
|
1
1
|
import './chunk-CEH6MNVV.mjs';
|
2
|
-
import {
|
2
|
+
import { SourceType } from 'storybook/internal/docs-tools';
|
3
3
|
import { useEffect, emitTransformCode } from 'storybook/preview-api';
|
4
4
|
import { isVNode } from 'vue';
|
5
5
|
|
6
|
-
var
|
6
|
+
var TRACKING_SYMBOL=Symbol("DEEP_ACCESS_SYMBOL"),isProxy=obj=>!!(obj&&typeof obj=="object"&&TRACKING_SYMBOL in obj),sourceDecorator=(storyFn,ctx)=>{let story=storyFn();return useEffect(()=>{let sourceCode=generateSourceCode(ctx);shouldSkipSourceCodeGeneration(ctx)||emitTransformCode(sourceCode,ctx);}),story},generateSourceCode=ctx=>{let sourceCodeContext={imports:{},scriptVariables:{}},{displayName,slotNames,eventNames}=parseDocgenInfo(ctx.component),props=generatePropsSourceCode(ctx.args,slotNames,eventNames,sourceCodeContext),slotSourceCode=generateSlotSourceCode(ctx.args,slotNames,sourceCodeContext),componentName=displayName||ctx.title.split("/").at(-1),templateCode=slotSourceCode?`<${componentName} ${props}> ${slotSourceCode} </${componentName}>`:`<${componentName} ${props} />`,variablesCode=Object.entries(sourceCodeContext.scriptVariables).map(([name,value])=>`const ${name} = ${value};`).join(`
|
7
7
|
|
8
8
|
`),importsCode=Object.entries(sourceCodeContext.imports).map(([packageName,imports])=>`import { ${Array.from(imports.values()).sort().join(", ")} } from "${packageName}";`).join(`
|
9
9
|
`),template=`<template>
|
@@ -18,6 +18,6 @@ ${template}`},shouldSkipSourceCodeGeneration=context=>{let sourceParams=context?
|
|
18
18
|
|
19
19
|
`)},generateSlotChildrenSourceCode=(children,ctx)=>{let slotChildrenSourceCodes=[],generateSingleChildSourceCode=child=>{if(isVNode(child))return generateVNodeSourceCode(child,ctx);switch(typeof child){case"string":case"number":case"boolean":return child.toString();case"object":return child===null?"":Array.isArray(child)?child.map(generateSingleChildSourceCode).filter(code=>code!=="").join(`
|
20
20
|
`):JSON.stringify(child);case"function":{let paramNames=getFunctionParamNames(child).filter(param=>!["{","}"].includes(param)),proxied={};paramNames.forEach(param=>{proxied[param]=new Proxy({[TRACKING_SYMBOL]:!0},{get:(t,key)=>key===TRACKING_SYMBOL?t[TRACKING_SYMBOL]:[Symbol.toPrimitive,Symbol.toStringTag,"toString"].includes(key)?()=>`{{ ${param} }}`:key==="v-bind"?`${param}`:`{{ ${param}.${key.toString()} }}`,ownKeys:()=>["v-bind"],getOwnPropertyDescriptor:()=>({configurable:!0,enumerable:!0,value:param,writable:!0})});});let returnValue=child(proxied);return generateSlotChildrenSourceCode([returnValue],ctx).replaceAll(/ (\S+)="{{ (\S+) }}"/g,' :$1="$2"')}case"bigint":return `{{ BigInt(${child.toString()}) }}`;default:return ""}};return children.forEach(child=>{let sourceCode=generateSingleChildSourceCode(child);sourceCode!==""&&slotChildrenSourceCodes.push(sourceCode);}),slotChildrenSourceCodes.join(`
|
21
|
-
`)},generateVNodeSourceCode=(vnode,ctx)=>{let componentName=getVNodeName(vnode),childrenCode="";typeof vnode.children=="string"?childrenCode=vnode.children:Array.isArray(vnode.children)?childrenCode=generateSlotChildrenSourceCode(vnode.children,ctx):vnode.children&&(childrenCode=generateSlotSourceCode(vnode.children,Object.keys(vnode.children).filter(i=>i!=="$stable"),ctx));let props=vnode.props?generatePropsSourceCode(vnode.props,[],[],ctx):"";return childrenCode?`<${componentName}${props?` ${props}`:""}>${childrenCode}</${componentName}>`:`<${componentName}${props?` ${props}`:""} />`},getVNodeName=vnode=>{if(typeof vnode.type=="string")return vnode.type;if(typeof vnode.type=="object"){if("name"in vnode.type&&vnode.type.name)return vnode.type.name;if("__name"in vnode.type&&vnode.type.__name)return vnode.type.__name}return "component"},getFunctionParamNames=func=>{let STRIP_COMMENTS=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm,ARGUMENT_NAMES=/([^\s,]+)/g,fnStr=func.toString().replace(STRIP_COMMENTS,""),result=fnStr.slice(fnStr.indexOf("(")+1,fnStr.indexOf(")")).match(ARGUMENT_NAMES);return result?result.flatMap(param=>{if(["{","}"].includes(param))return param;let nonMinifiedName=param.split(":")[0].trim();return nonMinifiedName.startsWith("{")?["{",nonMinifiedName.substring(1)]:param.endsWith("}")&&!nonMinifiedName.endsWith("}")?[nonMinifiedName,"}"]:nonMinifiedName}):[]},slotBindingsToString=(slotName,params)=>params.length?params.length===1?`#${slotName}="${params[0]}"`:`#${slotName}="{ ${params.filter(i=>!["{","}"].includes(i)).join(", ")} }"`:`#${slotName}`,formatObject=obj=>Object.values(obj).every(value=>value==null||typeof value!="object")?JSON.stringify(obj):JSON.stringify(obj,null,2);var
|
21
|
+
`)},generateVNodeSourceCode=(vnode,ctx)=>{let componentName=getVNodeName(vnode),childrenCode="";typeof vnode.children=="string"?childrenCode=vnode.children:Array.isArray(vnode.children)?childrenCode=generateSlotChildrenSourceCode(vnode.children,ctx):vnode.children&&(childrenCode=generateSlotSourceCode(vnode.children,Object.keys(vnode.children).filter(i=>i!=="$stable"),ctx));let props=vnode.props?generatePropsSourceCode(vnode.props,[],[],ctx):"";return childrenCode?`<${componentName}${props?` ${props}`:""}>${childrenCode}</${componentName}>`:`<${componentName}${props?` ${props}`:""} />`},getVNodeName=vnode=>{if(typeof vnode.type=="string")return vnode.type;if(typeof vnode.type=="object"){if("name"in vnode.type&&vnode.type.name)return vnode.type.name;if("__name"in vnode.type&&vnode.type.__name)return vnode.type.__name}return "component"},getFunctionParamNames=func=>{let STRIP_COMMENTS=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm,ARGUMENT_NAMES=/([^\s,]+)/g,fnStr=func.toString().replace(STRIP_COMMENTS,""),result=fnStr.slice(fnStr.indexOf("(")+1,fnStr.indexOf(")")).match(ARGUMENT_NAMES);return result?result.flatMap(param=>{if(["{","}"].includes(param))return param;let nonMinifiedName=param.split(":")[0].trim();return nonMinifiedName.startsWith("{")?["{",nonMinifiedName.substring(1)]:param.endsWith("}")&&!nonMinifiedName.endsWith("}")?[nonMinifiedName,"}"]:nonMinifiedName}):[]},slotBindingsToString=(slotName,params)=>params.length?params.length===1?`#${slotName}="${params[0]}"`:`#${slotName}="{ ${params.filter(i=>!["{","}"].includes(i)).join(", ")} }"`:`#${slotName}`,formatObject=obj=>Object.values(obj).every(value=>value==null||typeof value!="object")?JSON.stringify(obj):JSON.stringify(obj,null,2);var decorators=[sourceDecorator];
|
22
22
|
|
23
|
-
export {
|
23
|
+
export { decorators };
|
package/dist/entry-preview.d.ts
CHANGED
@@ -1,12 +1,24 @@
|
|
1
|
-
|
2
|
-
import {
|
1
|
+
import * as storybook_internal_docs_tools from 'storybook/internal/docs-tools';
|
2
|
+
import { extractComponentDescription } from 'storybook/internal/docs-tools';
|
3
|
+
import { LegacyStoryFn, DecoratorFunction, BaseAnnotations, ArgTypesEnhancer } from 'storybook/internal/types';
|
3
4
|
import { V as VueRenderer } from './types-1ede6954.js';
|
5
|
+
export { r as render, a as renderToCanvas } from './render-0377a2e9.js';
|
4
6
|
import 'vue';
|
5
7
|
|
6
8
|
declare function decorateStory(storyFn: LegacyStoryFn<VueRenderer>, decorators: DecoratorFunction<VueRenderer>[]): LegacyStoryFn<VueRenderer>;
|
7
9
|
|
8
10
|
declare const mount: BaseAnnotations<VueRenderer>['mount'];
|
9
11
|
|
10
|
-
declare const parameters: {
|
12
|
+
declare const parameters: {
|
13
|
+
renderer: string;
|
14
|
+
docs: {
|
15
|
+
story: {
|
16
|
+
inline: boolean;
|
17
|
+
};
|
18
|
+
extractArgTypes: storybook_internal_docs_tools.ArgTypesExtractor;
|
19
|
+
extractComponentDescription: typeof extractComponentDescription;
|
20
|
+
};
|
21
|
+
};
|
22
|
+
declare const argTypesEnhancers: ArgTypesEnhancer<VueRenderer>[];
|
11
23
|
|
12
|
-
export { decorateStory as applyDecorators, mount, parameters };
|
24
|
+
export { decorateStory as applyDecorators, argTypesEnhancers, mount, parameters };
|
package/dist/entry-preview.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
"use strict";var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var entry_preview_exports={};__export(entry_preview_exports,{applyDecorators:()=>decorateStory,mount:()=>mount,parameters:()=>parameters,render:()=>render,renderToCanvas:()=>renderToCanvas});module.exports=__toCommonJS(entry_preview_exports);var import_vue=require("vue"),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()=>(0,import_vue.h)(Component,props,getSlots(props,context))};var runSetupFunctions=async(app,storyContext)=>{globalThis&&globalThis.PLUGINS_SETUP_FUNCTIONS&&await Promise.all([...globalThis.PLUGINS_SETUP_FUNCTIONS].map(fn=>fn(app,storyContext)))},map=new Map;async 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=(0,import_vue.createApp)({setup(){storyContext.args=(0,import_vue.reactive)(storyContext.args);let rootElement=storyFn(),args=getArgs(rootElement,storyContext),appState={vueApp,reactiveArgs:(0,import_vue.reactive)(args)};return map.set(canvasElement,appState),()=>(0,import_vue.h)(rootElement)}});return vueApp.config.errorHandler=(e,instance,info)=>{window.__STORYBOOK_PREVIEW__?.storyRenders.some(renderer=>renderer.id===id&&renderer.phase==="playing")?setTimeout(()=>{throw e},0):showException(e)},await runSetupFunctions(vueApp,storyContext),vueApp.mount(canvasElement),showMain(),()=>{teardown(vueApp,canvasElement)}}function getSlots(props,context){let{argTypes}=context,slots=Object.entries(props).filter(([key])=>argTypes[key]?.table?.category==="slots").map(([key,value])=>[key,typeof value=="function"?value:()=>value]);return Object.fromEntries(slots)}function getArgs(element,storyContext){return element.props&&(0,import_vue.isVNode)(element)?element.props:storyContext.args}function updateArgs(reactiveArgs,nextArgs){if(Object.keys(nextArgs).length===0)return;let currentArgs=(0,import_vue.isReactive)(reactiveArgs)?reactiveArgs:(0,import_vue.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)}var import_preview_api=require("storybook/preview-api"),import_vue2=require("vue");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(0,import_vue2.h)(story)}}}function decorateStory(storyFn,decorators){return decorators.reduce((decorated,decorator)=>context=>{let story,decoratedStory=decorator(update=>{let sanitizedUpdate=(0,import_preview_api.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,()=>(0,import_vue2.h)(story))},context=>prepare(storyFn(context)))}var import_vue3=require("vue"),mount=context=>async(Component,options)=>(Component&&(context.originalStoryFn=()=>()=>(0,import_vue3.h)(Component,options?.props,options?.slots)),await context.renderToCanvas(),context.canvas);var parameters={renderer:"vue3"};0&&(module.exports={applyDecorators,mount,parameters,render,renderToCanvas});
|
1
|
+
"use strict";var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var entry_preview_exports={};__export(entry_preview_exports,{applyDecorators:()=>decorateStory,argTypesEnhancers:()=>argTypesEnhancers,mount:()=>mount,parameters:()=>parameters,render:()=>render,renderToCanvas:()=>renderToCanvas});module.exports=__toCommonJS(entry_preview_exports);var import_docs_tools2=require("storybook/internal/docs-tools");var import_docs_tools=require("storybook/internal/docs-tools"),ARG_TYPE_SECTIONS=["props","events","slots","exposed","expose"],extractArgTypes=component=>{if(!(0,import_docs_tools.hasDocgen)(component))return null;let usedDocgenPlugin="exposed"in component.__docgenInfo?"vue-component-meta":"vue-docgen-api",argTypes={};return ARG_TYPE_SECTIONS.forEach(section=>{(0,import_docs_tools.extractComponentProps)(component,section).forEach(extractedProp=>{let argType;if(usedDocgenPlugin==="vue-docgen-api"){let docgenInfo=extractedProp.docgenInfo;argType=extractFromVueDocgenApi(docgenInfo,section,extractedProp)}else{let docgenInfo=extractedProp.docgenInfo;argType=extractFromVueComponentMeta(docgenInfo,section)}if(!argType||argTypes[argType.name])return;["events","expose","exposed"].includes(section)&&(argType.control={disable:!0}),argTypes[argType.name]=argType})}),argTypes},extractFromVueDocgenApi=(docgenInfo,section,extractedProp)=>{let type,sbType;if(section==="events"&&(type=docgenInfo.type?.names.join(),sbType={name:"other",value:type??"",required:!1}),section==="slots"){let slotBindings=docgenInfo.bindings?.filter(binding=>!!binding.name).map(binding=>`${binding.name}: ${binding.type?.name??"unknown"}`).join("; ");type=slotBindings?`{ ${slotBindings} }`:void 0,sbType={name:"other",value:type??"",required:!1}}if(section==="props"){let propInfo=docgenInfo;if(type=propInfo.type?.name,sbType=extractedProp?(0,import_docs_tools.convert)(extractedProp.docgenInfo):{name:"other",value:type},propInfo.type&&"elements"in propInfo.type&&Array.isArray(propInfo.type.elements)&&propInfo.type.elements.length>0){let elements=propInfo.type.elements.map(i=>i.name);type==="Array"&&(type=`${elements.length===1?elements[0]:`(${elements.join(" | ")})`}[]`),type==="union"?type=elements.join(" | "):type==="intersection"&&(type=elements.join(" & "))}}let required="required"in docgenInfo?docgenInfo.required??!1:!1;return{name:docgenInfo.name,description:docgenInfo.description,type:sbType?{...sbType,required}:{name:"other",value:type??""},table:{type:type?{summary:type}:void 0,defaultValue:extractedProp?.propDef.defaultValue??void 0,jsDocTags:extractedProp?.propDef.jsDocTags,category:section}}},extractFromVueComponentMeta=(docgenInfo,section)=>{if("global"in docgenInfo&&docgenInfo.global)return;let tableType={summary:docgenInfo.type.replace(" | undefined","")};if(section==="props"){let propInfo=docgenInfo,defaultValue=propInfo.default?{summary:propInfo.default}:void 0;return{name:propInfo.name,description:formatDescriptionWithTags(propInfo.description,propInfo.tags),defaultValue,type:convertVueComponentMetaProp(propInfo),table:{type:tableType,defaultValue,category:section}}}else return{name:docgenInfo.name,description:"description"in docgenInfo?docgenInfo.description:"",type:{name:"other",value:docgenInfo.type},table:{type:tableType,category:section}}},convertVueComponentMetaProp=propInfo=>{let schema=propInfo.schema,required=propInfo.required,fallbackSbType={name:"other",value:propInfo.type,required},KNOWN_SCHEMAS=["string","number","function","boolean","symbol"];if(typeof schema=="string")return KNOWN_SCHEMAS.includes(schema)?{name:schema,required}:fallbackSbType;switch(schema.kind){case"enum":{let definedSchemas=schema.schema?.filter(item=>item!=="undefined")??[];return isBooleanSchema(definedSchemas)?{name:"boolean",required}:isLiteralUnionSchema(definedSchemas)||isEnumSchema(definedSchemas)?{name:"enum",value:definedSchemas.map(literal=>literal.replace(/"/g,"")),required}:definedSchemas.length===1?convertVueComponentMetaProp({schema:definedSchemas[0],type:propInfo.type,required}):(definedSchemas.length>2&&definedSchemas.includes("true")&&definedSchemas.includes("false")&&(definedSchemas=definedSchemas.filter(i=>i!=="true"&&i!=="false"),definedSchemas.push("boolean")),{name:"union",value:definedSchemas.map(i=>convertVueComponentMetaProp(typeof i=="object"?{schema:i,type:i.type,required:!1}:{schema:i,type:i,required:!1})),required})}case"array":{let definedSchemas=schema.schema?.filter(item=>item!=="undefined")??[];return definedSchemas.length===0?fallbackSbType:definedSchemas.length===1?{name:"array",value:convertVueComponentMetaProp({schema:definedSchemas[0],type:propInfo.type,required:!1}),required}:{name:"union",value:definedSchemas.map(i=>convertVueComponentMetaProp(typeof i=="object"?{schema:i,type:i.type,required:!1}:{schema:i,type:i,required:!1})),required}}case"object":return{name:"object",value:{},required};default:return fallbackSbType}},formatDescriptionWithTags=(description,tags)=>!tags?.length||!description?description??"":`${tags.map(tag=>`@${tag.name}: ${tag.text}`).join("<br>")}<br><br>${description}`,isLiteralUnionSchema=schemas=>schemas.every(schema=>typeof schema=="string"&&schema.startsWith('"')&&schema.endsWith('"')),isEnumSchema=schemas=>schemas.every(schema=>typeof schema=="string"&&schema.includes(".")),isBooleanSchema=schemas=>schemas.length===2&&schemas.includes("true")&&schemas.includes("false");var import_vue=require("vue"),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()=>(0,import_vue.h)(Component,props,getSlots(props,context))};var runSetupFunctions=async(app,storyContext)=>{globalThis&&globalThis.PLUGINS_SETUP_FUNCTIONS&&await Promise.all([...globalThis.PLUGINS_SETUP_FUNCTIONS].map(fn=>fn(app,storyContext)))},map=new Map;async 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=(0,import_vue.createApp)({setup(){storyContext.args=(0,import_vue.reactive)(storyContext.args);let rootElement=storyFn(),args=getArgs(rootElement,storyContext),appState={vueApp,reactiveArgs:(0,import_vue.reactive)(args)};return map.set(canvasElement,appState),()=>(0,import_vue.h)(rootElement)}});return vueApp.config.errorHandler=(e,instance,info)=>{window.__STORYBOOK_PREVIEW__?.storyRenders.some(renderer=>renderer.id===id&&renderer.phase==="playing")?setTimeout(()=>{throw e},0):showException(e)},await runSetupFunctions(vueApp,storyContext),vueApp.mount(canvasElement),showMain(),()=>{teardown(vueApp,canvasElement)}}function getSlots(props,context){let{argTypes}=context,slots=Object.entries(props).filter(([key])=>argTypes[key]?.table?.category==="slots").map(([key,value])=>[key,typeof value=="function"?value:()=>value]);return Object.fromEntries(slots)}function getArgs(element,storyContext){return element.props&&(0,import_vue.isVNode)(element)?element.props:storyContext.args}function updateArgs(reactiveArgs,nextArgs){if(Object.keys(nextArgs).length===0)return;let currentArgs=(0,import_vue.isReactive)(reactiveArgs)?reactiveArgs:(0,import_vue.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)}var import_preview_api=require("storybook/preview-api"),import_vue2=require("vue");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(0,import_vue2.h)(story)}}}function decorateStory(storyFn,decorators){return decorators.reduce((decorated,decorator)=>context=>{let story,decoratedStory=decorator(update=>{let sanitizedUpdate=(0,import_preview_api.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,()=>(0,import_vue2.h)(story))},context=>prepare(storyFn(context)))}var import_vue3=require("vue"),mount=context=>async(Component,options)=>(Component&&(context.originalStoryFn=()=>()=>(0,import_vue3.h)(Component,options?.props,options?.slots)),await context.renderToCanvas(),context.canvas);var parameters={renderer:"vue3",docs:{story:{inline:!0},extractArgTypes,extractComponentDescription:import_docs_tools2.extractComponentDescription}},argTypesEnhancers=[import_docs_tools2.enhanceArgTypes];0&&(module.exports={applyDecorators,argTypesEnhancers,mount,parameters,render,renderToCanvas});
|
package/dist/entry-preview.mjs
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
export { decorateStory as applyDecorators, mount, parameters, render, renderToCanvas } from './chunk-
|
1
|
+
export { decorateStory as applyDecorators, argTypesEnhancers, mount, parameters, render, renderToCanvas } from './chunk-DYBVISFM.mjs';
|
2
2
|
import './chunk-CEH6MNVV.mjs';
|
package/dist/index.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
"use strict";var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var index_exports={};__export(index_exports,{composeStories:()=>composeStories,composeStory:()=>composeStory,setProjectAnnotations:()=>setProjectAnnotations,setup:()=>setup,vueProjectAnnotations:()=>vueProjectAnnotations});module.exports=__toCommonJS(index_exports);var import_global=require("@storybook/global"),{window:globalWindow}=import_global.global;globalWindow.STORYBOOK_ENV="vue3";globalWindow.PLUGINS_SETUP_FUNCTIONS||=new Set;var import_vue=require("vue"),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()=>(0,import_vue.h)(Component,props,getSlots(props,context))},setup=fn=>{globalThis.PLUGINS_SETUP_FUNCTIONS??=new Set,globalThis.PLUGINS_SETUP_FUNCTIONS.add(fn)},runSetupFunctions=async(app,storyContext)=>{globalThis&&globalThis.PLUGINS_SETUP_FUNCTIONS&&await Promise.all([...globalThis.PLUGINS_SETUP_FUNCTIONS].map(fn=>fn(app,storyContext)))},map=new Map;async 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=(0,import_vue.createApp)({setup(){storyContext.args=(0,import_vue.reactive)(storyContext.args);let rootElement=storyFn(),args=getArgs(rootElement,storyContext),appState={vueApp,reactiveArgs:(0,import_vue.reactive)(args)};return map.set(canvasElement,appState),()=>(0,import_vue.h)(rootElement)}});return vueApp.config.errorHandler=(e,instance,info)=>{window.__STORYBOOK_PREVIEW__?.storyRenders.some(renderer=>renderer.id===id&&renderer.phase==="playing")?setTimeout(()=>{throw e},0):showException(e)},await runSetupFunctions(vueApp,storyContext),vueApp.mount(canvasElement),showMain(),()=>{teardown(vueApp,canvasElement)}}function getSlots(props,context){let{argTypes}=context,slots=Object.entries(props).filter(([key])=>argTypes[key]?.table?.category==="slots").map(([key,value])=>[key,typeof value=="function"?value:()=>value]);return Object.fromEntries(slots)}function getArgs(element,storyContext){return element.props&&(0,import_vue.isVNode)(element)?element.props:storyContext.args}function updateArgs(reactiveArgs,nextArgs){if(Object.keys(nextArgs).length===0)return;let currentArgs=(0,import_vue.isReactive)(reactiveArgs)?reactiveArgs:(0,import_vue.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)}var import_preview_api2=require("storybook/preview-api"),import_vue4=require("vue");var entry_preview_exports={};__export(entry_preview_exports,{applyDecorators:()=>decorateStory,mount:()=>mount,parameters:()=>parameters,render:()=>render,renderToCanvas:()=>renderToCanvas});var import_preview_api=require("storybook/preview-api"),import_vue2=require("vue");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(0,import_vue2.h)(story)}}}function decorateStory(storyFn,decorators){return decorators.reduce((decorated,decorator)=>context=>{let story,decoratedStory=decorator(update=>{let sanitizedUpdate=(0,import_preview_api.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,()=>(0,import_vue2.h)(story))},context=>prepare(storyFn(context)))}var import_vue3=require("vue"),mount=context=>async(Component,options)=>(Component&&(context.originalStoryFn=()=>()=>(0,import_vue3.h)(Component,options?.props,options?.slots)),await context.renderToCanvas(),context.canvas);var parameters={renderer:"vue3"};function setProjectAnnotations(projectAnnotations){return(0,import_preview_api2.setDefaultProjectAnnotations)(vueProjectAnnotations),(0,import_preview_api2.setProjectAnnotations)(projectAnnotations)}var vueProjectAnnotations={...entry_preview_exports,renderToCanvas:(renderContext,canvasElement)=>{if(renderContext.storyContext.testingLibraryRender==null)return renderToCanvas(renderContext,canvasElement);let{storyFn,storyContext:{testingLibraryRender:render2}}=renderContext,{unmount}=render2(storyFn(),{container:canvasElement});return unmount}};function composeStory(story,componentAnnotations,projectAnnotations,exportsName){let composedStory=(0,import_preview_api2.composeStory)(story,componentAnnotations,projectAnnotations,globalThis.globalProjectAnnotations??vueProjectAnnotations,exportsName),renderable=(...args)=>(0,import_vue4.h)(composedStory(...args));return Object.assign(renderable,composedStory),renderable}function composeStories(csfExports,projectAnnotations){return(0,import_preview_api2.composeStories)(csfExports,projectAnnotations,composeStory)}try{module?.hot?.decline&&module.hot.decline()}catch{}0&&(module.exports={composeStories,composeStory,setProjectAnnotations,setup,vueProjectAnnotations});
|
1
|
+
"use strict";var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var index_exports={};__export(index_exports,{composeStories:()=>composeStories,composeStory:()=>composeStory,setProjectAnnotations:()=>setProjectAnnotations,setup:()=>setup,vueProjectAnnotations:()=>vueProjectAnnotations});module.exports=__toCommonJS(index_exports);var import_global=require("@storybook/global"),{window:globalWindow}=import_global.global;globalWindow.STORYBOOK_ENV="vue3";globalWindow.PLUGINS_SETUP_FUNCTIONS||=new Set;var import_vue=require("vue"),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()=>(0,import_vue.h)(Component,props,getSlots(props,context))},setup=fn=>{globalThis.PLUGINS_SETUP_FUNCTIONS??=new Set,globalThis.PLUGINS_SETUP_FUNCTIONS.add(fn)},runSetupFunctions=async(app,storyContext)=>{globalThis&&globalThis.PLUGINS_SETUP_FUNCTIONS&&await Promise.all([...globalThis.PLUGINS_SETUP_FUNCTIONS].map(fn=>fn(app,storyContext)))},map=new Map;async 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=(0,import_vue.createApp)({setup(){storyContext.args=(0,import_vue.reactive)(storyContext.args);let rootElement=storyFn(),args=getArgs(rootElement,storyContext),appState={vueApp,reactiveArgs:(0,import_vue.reactive)(args)};return map.set(canvasElement,appState),()=>(0,import_vue.h)(rootElement)}});return vueApp.config.errorHandler=(e,instance,info)=>{window.__STORYBOOK_PREVIEW__?.storyRenders.some(renderer=>renderer.id===id&&renderer.phase==="playing")?setTimeout(()=>{throw e},0):showException(e)},await runSetupFunctions(vueApp,storyContext),vueApp.mount(canvasElement),showMain(),()=>{teardown(vueApp,canvasElement)}}function getSlots(props,context){let{argTypes}=context,slots=Object.entries(props).filter(([key])=>argTypes[key]?.table?.category==="slots").map(([key,value])=>[key,typeof value=="function"?value:()=>value]);return Object.fromEntries(slots)}function getArgs(element,storyContext){return element.props&&(0,import_vue.isVNode)(element)?element.props:storyContext.args}function updateArgs(reactiveArgs,nextArgs){if(Object.keys(nextArgs).length===0)return;let currentArgs=(0,import_vue.isReactive)(reactiveArgs)?reactiveArgs:(0,import_vue.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)}var import_preview_api2=require("storybook/preview-api"),import_vue4=require("vue");var entry_preview_exports={};__export(entry_preview_exports,{applyDecorators:()=>decorateStory,argTypesEnhancers:()=>argTypesEnhancers,mount:()=>mount,parameters:()=>parameters,render:()=>render,renderToCanvas:()=>renderToCanvas});var import_docs_tools2=require("storybook/internal/docs-tools");var import_docs_tools=require("storybook/internal/docs-tools"),ARG_TYPE_SECTIONS=["props","events","slots","exposed","expose"],extractArgTypes=component=>{if(!(0,import_docs_tools.hasDocgen)(component))return null;let usedDocgenPlugin="exposed"in component.__docgenInfo?"vue-component-meta":"vue-docgen-api",argTypes={};return ARG_TYPE_SECTIONS.forEach(section=>{(0,import_docs_tools.extractComponentProps)(component,section).forEach(extractedProp=>{let argType;if(usedDocgenPlugin==="vue-docgen-api"){let docgenInfo=extractedProp.docgenInfo;argType=extractFromVueDocgenApi(docgenInfo,section,extractedProp)}else{let docgenInfo=extractedProp.docgenInfo;argType=extractFromVueComponentMeta(docgenInfo,section)}if(!argType||argTypes[argType.name])return;["events","expose","exposed"].includes(section)&&(argType.control={disable:!0}),argTypes[argType.name]=argType})}),argTypes},extractFromVueDocgenApi=(docgenInfo,section,extractedProp)=>{let type,sbType;if(section==="events"&&(type=docgenInfo.type?.names.join(),sbType={name:"other",value:type??"",required:!1}),section==="slots"){let slotBindings=docgenInfo.bindings?.filter(binding=>!!binding.name).map(binding=>`${binding.name}: ${binding.type?.name??"unknown"}`).join("; ");type=slotBindings?`{ ${slotBindings} }`:void 0,sbType={name:"other",value:type??"",required:!1}}if(section==="props"){let propInfo=docgenInfo;if(type=propInfo.type?.name,sbType=extractedProp?(0,import_docs_tools.convert)(extractedProp.docgenInfo):{name:"other",value:type},propInfo.type&&"elements"in propInfo.type&&Array.isArray(propInfo.type.elements)&&propInfo.type.elements.length>0){let elements=propInfo.type.elements.map(i=>i.name);type==="Array"&&(type=`${elements.length===1?elements[0]:`(${elements.join(" | ")})`}[]`),type==="union"?type=elements.join(" | "):type==="intersection"&&(type=elements.join(" & "))}}let required="required"in docgenInfo?docgenInfo.required??!1:!1;return{name:docgenInfo.name,description:docgenInfo.description,type:sbType?{...sbType,required}:{name:"other",value:type??""},table:{type:type?{summary:type}:void 0,defaultValue:extractedProp?.propDef.defaultValue??void 0,jsDocTags:extractedProp?.propDef.jsDocTags,category:section}}},extractFromVueComponentMeta=(docgenInfo,section)=>{if("global"in docgenInfo&&docgenInfo.global)return;let tableType={summary:docgenInfo.type.replace(" | undefined","")};if(section==="props"){let propInfo=docgenInfo,defaultValue=propInfo.default?{summary:propInfo.default}:void 0;return{name:propInfo.name,description:formatDescriptionWithTags(propInfo.description,propInfo.tags),defaultValue,type:convertVueComponentMetaProp(propInfo),table:{type:tableType,defaultValue,category:section}}}else return{name:docgenInfo.name,description:"description"in docgenInfo?docgenInfo.description:"",type:{name:"other",value:docgenInfo.type},table:{type:tableType,category:section}}},convertVueComponentMetaProp=propInfo=>{let schema=propInfo.schema,required=propInfo.required,fallbackSbType={name:"other",value:propInfo.type,required},KNOWN_SCHEMAS=["string","number","function","boolean","symbol"];if(typeof schema=="string")return KNOWN_SCHEMAS.includes(schema)?{name:schema,required}:fallbackSbType;switch(schema.kind){case"enum":{let definedSchemas=schema.schema?.filter(item=>item!=="undefined")??[];return isBooleanSchema(definedSchemas)?{name:"boolean",required}:isLiteralUnionSchema(definedSchemas)||isEnumSchema(definedSchemas)?{name:"enum",value:definedSchemas.map(literal=>literal.replace(/"/g,"")),required}:definedSchemas.length===1?convertVueComponentMetaProp({schema:definedSchemas[0],type:propInfo.type,required}):(definedSchemas.length>2&&definedSchemas.includes("true")&&definedSchemas.includes("false")&&(definedSchemas=definedSchemas.filter(i=>i!=="true"&&i!=="false"),definedSchemas.push("boolean")),{name:"union",value:definedSchemas.map(i=>convertVueComponentMetaProp(typeof i=="object"?{schema:i,type:i.type,required:!1}:{schema:i,type:i,required:!1})),required})}case"array":{let definedSchemas=schema.schema?.filter(item=>item!=="undefined")??[];return definedSchemas.length===0?fallbackSbType:definedSchemas.length===1?{name:"array",value:convertVueComponentMetaProp({schema:definedSchemas[0],type:propInfo.type,required:!1}),required}:{name:"union",value:definedSchemas.map(i=>convertVueComponentMetaProp(typeof i=="object"?{schema:i,type:i.type,required:!1}:{schema:i,type:i,required:!1})),required}}case"object":return{name:"object",value:{},required};default:return fallbackSbType}},formatDescriptionWithTags=(description,tags)=>!tags?.length||!description?description??"":`${tags.map(tag=>`@${tag.name}: ${tag.text}`).join("<br>")}<br><br>${description}`,isLiteralUnionSchema=schemas=>schemas.every(schema=>typeof schema=="string"&&schema.startsWith('"')&&schema.endsWith('"')),isEnumSchema=schemas=>schemas.every(schema=>typeof schema=="string"&&schema.includes(".")),isBooleanSchema=schemas=>schemas.length===2&&schemas.includes("true")&&schemas.includes("false");var import_preview_api=require("storybook/preview-api"),import_vue2=require("vue");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(0,import_vue2.h)(story)}}}function decorateStory(storyFn,decorators){return decorators.reduce((decorated,decorator)=>context=>{let story,decoratedStory=decorator(update=>{let sanitizedUpdate=(0,import_preview_api.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,()=>(0,import_vue2.h)(story))},context=>prepare(storyFn(context)))}var import_vue3=require("vue"),mount=context=>async(Component,options)=>(Component&&(context.originalStoryFn=()=>()=>(0,import_vue3.h)(Component,options?.props,options?.slots)),await context.renderToCanvas(),context.canvas);var parameters={renderer:"vue3",docs:{story:{inline:!0},extractArgTypes,extractComponentDescription:import_docs_tools2.extractComponentDescription}},argTypesEnhancers=[import_docs_tools2.enhanceArgTypes];function setProjectAnnotations(projectAnnotations){return(0,import_preview_api2.setDefaultProjectAnnotations)(vueProjectAnnotations),(0,import_preview_api2.setProjectAnnotations)(projectAnnotations)}var vueProjectAnnotations={...entry_preview_exports,renderToCanvas:(renderContext,canvasElement)=>{if(renderContext.storyContext.testingLibraryRender==null)return renderToCanvas(renderContext,canvasElement);let{storyFn,storyContext:{testingLibraryRender:render2}}=renderContext,{unmount}=render2(storyFn(),{container:canvasElement});return unmount}};function composeStory(story,componentAnnotations,projectAnnotations,exportsName){let composedStory=(0,import_preview_api2.composeStory)(story,componentAnnotations,projectAnnotations,globalThis.globalProjectAnnotations??vueProjectAnnotations,exportsName),renderable=(...args)=>(0,import_vue4.h)(composedStory(...args));return Object.assign(renderable,composedStory),renderable}function composeStories(csfExports,projectAnnotations){return(0,import_preview_api2.composeStories)(csfExports,projectAnnotations,composeStory)}try{module?.hot?.decline&&module.hot.decline()}catch{}0&&(module.exports={composeStories,composeStory,setProjectAnnotations,setup,vueProjectAnnotations});
|
package/dist/index.mjs
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
import { entry_preview_exports, renderToCanvas } from './chunk-
|
2
|
-
export { setup } from './chunk-
|
1
|
+
import { entry_preview_exports, renderToCanvas } from './chunk-DYBVISFM.mjs';
|
2
|
+
export { setup } from './chunk-DYBVISFM.mjs';
|
3
3
|
import './chunk-CEH6MNVV.mjs';
|
4
4
|
import { global } from '@storybook/global';
|
5
5
|
import { setDefaultProjectAnnotations, setProjectAnnotations as setProjectAnnotations$1, composeStory as composeStory$1, composeStories as composeStories$1 } from 'storybook/preview-api';
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@storybook/vue3",
|
3
|
-
"version": "9.0.0-rc.
|
3
|
+
"version": "9.0.0-rc.3",
|
4
4
|
"description": "Storybook Vue 3 renderer",
|
5
5
|
"keywords": [
|
6
6
|
"storybook"
|
@@ -73,7 +73,7 @@
|
|
73
73
|
"vue-tsc": "latest"
|
74
74
|
},
|
75
75
|
"peerDependencies": {
|
76
|
-
"storybook": "^9.0.0-rc.
|
76
|
+
"storybook": "^9.0.0-rc.3",
|
77
77
|
"vue": "^3.0.0"
|
78
78
|
},
|
79
79
|
"engines": {
|
package/dist/chunk-3D4J5ZX4.mjs
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
import { __export } from './chunk-CEH6MNVV.mjs';
|
2
|
-
import { h, createApp, reactive, isVNode, isReactive } from 'vue';
|
3
|
-
import { sanitizeStoryContextUpdate } from 'storybook/preview-api';
|
4
|
-
|
5
|
-
var entry_preview_exports={};__export(entry_preview_exports,{applyDecorators:()=>decorateStory,mount:()=>mount,parameters:()=>parameters,render:()=>render,renderToCanvas:()=>renderToCanvas});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,getSlots(props,context))},setup=fn=>{globalThis.PLUGINS_SETUP_FUNCTIONS??=new Set,globalThis.PLUGINS_SETUP_FUNCTIONS.add(fn);},runSetupFunctions=async(app,storyContext)=>{globalThis&&globalThis.PLUGINS_SETUP_FUNCTIONS&&await Promise.all([...globalThis.PLUGINS_SETUP_FUNCTIONS].map(fn=>fn(app,storyContext)));},map=new Map;async 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,instance,info)=>{window.__STORYBOOK_PREVIEW__?.storyRenders.some(renderer=>renderer.id===id&&renderer.phase==="playing")?setTimeout(()=>{throw e},0):showException(e);},await runSetupFunctions(vueApp,storyContext),vueApp.mount(canvasElement),showMain(),()=>{teardown(vueApp,canvasElement);}}function getSlots(props,context){let{argTypes}=context,slots=Object.entries(props).filter(([key])=>argTypes[key]?.table?.category==="slots").map(([key,value])=>[key,typeof value=="function"?value:()=>value]);return 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);}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 mount=context=>async(Component,options)=>(Component&&(context.originalStoryFn=()=>()=>h(Component,options?.props,options?.slots)),await context.renderToCanvas(),context.canvas);var parameters={renderer:"vue3"};
|
6
|
-
|
7
|
-
export { decorateStory, entry_preview_exports, mount, parameters, render, renderToCanvas, setup };
|