@storybook/vue3 8.2.0-alpha.8 → 8.2.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.
- package/dist/chunk-ERN3BQXJ.mjs +7 -0
- package/dist/entry-preview-docs.d.ts +5 -5
- package/dist/entry-preview-docs.js +1 -1
- package/dist/entry-preview-docs.mjs +2 -2
- package/dist/entry-preview.d.ts +6 -4
- package/dist/entry-preview.js +1 -1
- package/dist/entry-preview.mjs +1 -1
- package/dist/index.d.ts +9 -8
- package/dist/index.js +1 -1
- package/dist/index.mjs +6 -5
- package/dist/playwright.d.ts +1 -1
- package/dist/playwright.js +1 -1
- package/dist/playwright.mjs +1 -1
- package/dist/preset.d.ts +1 -1
- package/dist/render-866998d8.d.ts +9 -0
- package/dist/{types-ad933ac1.d.ts → types-1ede6954.d.ts} +5 -1
- package/package.json +2 -4
- package/dist/chunk-QANYVTHF.mjs +0 -7
- package/dist/render-7fd027cc.d.ts +0 -246
@@ -0,0 +1,7 @@
|
|
1
|
+
import { __export } from './chunk-CEH6MNVV.mjs';
|
2
|
+
import { h, createApp, reactive, isVNode, isReactive } from 'vue';
|
3
|
+
import { sanitizeStoryContextUpdate } from 'storybook/internal/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 };
|
@@ -1,7 +1,7 @@
|
|
1
|
-
import * as
|
2
|
-
import {
|
3
|
-
import {
|
4
|
-
import { V as VueRenderer } from './types-
|
1
|
+
import * as core_dist_docs_tools from 'core/dist/docs-tools';
|
2
|
+
import { DecoratorFunction, ArgTypesEnhancer } from 'storybook/internal/types';
|
3
|
+
import { extractComponentDescription } from 'storybook/internal/docs-tools';
|
4
|
+
import { V as VueRenderer } from './types-1ede6954.js';
|
5
5
|
import 'vue';
|
6
6
|
|
7
7
|
declare const parameters: {
|
@@ -9,7 +9,7 @@ declare const parameters: {
|
|
9
9
|
story: {
|
10
10
|
inline: boolean;
|
11
11
|
};
|
12
|
-
extractArgTypes:
|
12
|
+
extractArgTypes: core_dist_docs_tools.ArgTypesExtractor;
|
13
13
|
extractComponentDescription: typeof extractComponentDescription;
|
14
14
|
};
|
15
15
|
};
|
@@ -1,4 +1,4 @@
|
|
1
|
-
"use strict";var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf,__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 __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var entry_preview_docs_exports={};__export(entry_preview_docs_exports,{argTypesEnhancers:()=>argTypesEnhancers,decorators:()=>decorators,parameters:()=>parameters});module.exports=__toCommonJS(entry_preview_docs_exports);var import_docs_tools3=require("@storybook/docs-tools");var import_docs_tools=require("@storybook/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",argTypes2={};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||argTypes2[argType.name])return;["events","expose","exposed"].includes(section)&&(argType.control={disable:!0}),argTypes2[argType.name]=argType})}),argTypes2},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:Object.entries(schema.schema??{}).reduce((obj,[propName,propSchema])=>(obj[propName]=convertVueComponentMetaProp(propSchema),obj),{}),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_docs_tools2=require("@storybook/docs-tools"),import_compiler_core=require("@vue/compiler-core"),import_vue=require("vue"),import_kebabCase=__toESM(require("lodash/kebabCase"));var omitEvent=args2=>args2?Object.fromEntries(Object.entries(args2).filter(([key,value])=>!key.startsWith("on"))):{},displayObject=obj=>obj&&typeof obj=="object"?`{${Object.keys(obj).map(key=>`${key}:${displayObject(obj[key])}`).join(",")}}`:typeof obj=="string"?`'${obj}'`:obj?.toString(),htmlEventAttributeToVueEventAttribute=key=>/^on[A-Za-z]/.test(key)?key.replace(/^on/,"v-on:").toLowerCase():key,directiveSource=(key,value)=>key.toLowerCase().startsWith("on")?`${htmlEventAttributeToVueEventAttribute(key)}='()=>({})'`:`${key}="${value||""}"`,attributeSource=(key,value,dynamic)=>["boolean","number","object"].includes(typeof value)||dynamic&&["style","class"].includes(key)?`:${key}="${displayObject(value)}"`:directiveSource(key,value),evalExp=(argExpValue,args2)=>{let evalVal=argExpValue;return evalVal&&/v-bind="(\w+)"/.test(evalVal)?evalVal.replace(/"(\w+)"/g,`"${displayObject(args2)}"`):(Object.keys(args2).forEach(akey=>{let regexMatch=new RegExp(`(\\w+)\\.${akey}`,"g"),regexTarget=new RegExp(`(\\w+)\\.${akey}`,"g");regexMatch.test(evalVal)&&(evalVal=evalVal.replace(regexTarget,displayObject(args2[akey])))}),evalVal)},replaceValueWithRef=(source2,args2,ref)=>{let value=ref?args2[ref]:"args",bindValue=()=>{let argsRef=Object.fromEntries(Object.entries(args2).map(([key])=>[key,key]));return displayObject(argsRef).replace(/'/g,"")},regexMatch=new RegExp(`="${value}"`,"g");return source2.replace(regexMatch,`="${ref??bindValue()}"`)};function generateExpression(slot){let body=slot.toString().split("=>")[1].trim().replace("return","").trim();return body.startsWith("{")&&body.endsWith("}")&&(body=body.substring(1,body.length-1).trim()),`{{${body}}}`}var skipSourceRender=context=>{let sourceParams=context?.parameters.docs?.source,isArgsStory=context?.parameters.__isArgsStory,isDocsViewMode=context?.viewMode==="docs";return sourceParams?.type===import_docs_tools2.SourceType.DYNAMIC?!1:!isDocsViewMode||!isArgsStory||sourceParams?.code||sourceParams?.type===import_docs_tools2.SourceType.CODE};function generateAttributesSource(tempArgs,args2,argTypes2,byRef2){return Object.keys(tempArgs).map(key=>{let source2=tempArgs[key].loc.source.replace(/\$props/g,"args"),argKey=tempArgs[key].arg?.loc.source;return byRef2&&argKey?replaceValueWithRef(source2,args2,argKey):evalExp(source2,omitEvent(args2))}).join(" ")}function mapAttributesAndDirectives(props){let tranformKey=key=>key.startsWith("on")?key:(0,import_kebabCase.default)(key);return Object.keys(props).map(key=>({name:"bind",type:["v-","@","v-on"].includes(key)?7:6,arg:{content:tranformKey(key),loc:{source:tranformKey(key)}},loc:{source:attributeSource(tranformKey(key),props[key])},exp:{isStatic:!1,loc:{source:props[key]}},modifiers:[""]}))}function mapSlots(slotsArgs,generateComponentSource2,slots){return Object.keys(slotsArgs).map(key=>{let slot=slotsArgs[key],slotContent="",scropedArgs=slots.find(s=>s.name===key&&s.scoped)?.bindings?.map(b=>b.name).join(",");typeof slot=="string"?slotContent=slot:typeof slot=="function"?slotContent=generateExpression(slot):(0,import_vue.isVNode)(slot)?slotContent=generateComponentSource2(slot):typeof slot=="object"&&!(0,import_vue.isVNode)(slot)&&(slotContent=JSON.stringify(slot));let bindingsString=scropedArgs?`="{${scropedArgs}}"`:"";return slotContent=slot?`<template #${key}${bindingsString}>${slotContent}</template>`:"",{type:2,content:slotContent,loc:{source:slotContent,start:{offset:0,line:1,column:0},end:{offset:0,line:1,column:0}}}})}function generateScriptSetup(args2,argTypes2,components){let scriptLines=Object.keys(args2).map(key=>`const ${key} = ${typeof args2[key]=="function"?"()=>{}":`ref(${JSON.stringify(args2[key])});`}`);return scriptLines.unshift('import { ref } from "vue";'),`<script lang='ts' setup>${scriptLines.join(`
|
1
|
+
"use strict";var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf,__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 __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var entry_preview_docs_exports={};__export(entry_preview_docs_exports,{argTypesEnhancers:()=>argTypesEnhancers,decorators:()=>decorators,parameters:()=>parameters});module.exports=__toCommonJS(entry_preview_docs_exports);var import_docs_tools3=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",argTypes2={};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||argTypes2[argType.name])return;["events","expose","exposed"].includes(section)&&(argType.control={disable:!0}),argTypes2[argType.name]=argType})}),argTypes2},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:Object.entries(schema.schema??{}).reduce((obj,[propName,propSchema])=>(obj[propName]=convertVueComponentMetaProp(propSchema),obj),{}),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/internal/preview-api"),import_docs_tools2=require("storybook/internal/docs-tools"),import_compiler_core=require("@vue/compiler-core"),import_vue=require("vue"),import_kebabCase=__toESM(require("lodash/kebabCase"));var omitEvent=args2=>args2?Object.fromEntries(Object.entries(args2).filter(([key,value])=>!key.startsWith("on"))):{},displayObject=obj=>obj&&typeof obj=="object"?`{${Object.keys(obj).map(key=>`${key}:${displayObject(obj[key])}`).join(",")}}`:typeof obj=="string"?`'${obj}'`:obj?.toString(),htmlEventAttributeToVueEventAttribute=key=>/^on[A-Za-z]/.test(key)?key.replace(/^on/,"v-on:").toLowerCase():key,directiveSource=(key,value)=>key.toLowerCase().startsWith("on")?`${htmlEventAttributeToVueEventAttribute(key)}='()=>({})'`:`${key}="${value||""}"`,attributeSource=(key,value,dynamic)=>["boolean","number","object"].includes(typeof value)||dynamic&&["style","class"].includes(key)?`:${key}="${displayObject(value)}"`:directiveSource(key,value),evalExp=(argExpValue,args2)=>{let evalVal=argExpValue;return evalVal&&/v-bind="(\w+)"/.test(evalVal)?evalVal.replace(/"(\w+)"/g,`"${displayObject(args2)}"`):(Object.keys(args2).forEach(akey=>{let regexMatch=new RegExp(`(\\w+)\\.${akey}`,"g"),regexTarget=new RegExp(`(\\w+)\\.${akey}`,"g");regexMatch.test(evalVal)&&(evalVal=evalVal.replace(regexTarget,displayObject(args2[akey])))}),evalVal)},replaceValueWithRef=(source2,args2,ref)=>{let value=ref?args2[ref]:"args",bindValue=()=>{let argsRef=Object.fromEntries(Object.entries(args2).map(([key])=>[key,key]));return displayObject(argsRef).replace(/'/g,"")},regexMatch=new RegExp(`="${value}"`,"g");return source2.replace(regexMatch,`="${ref??bindValue()}"`)};function generateExpression(slot){let body=slot.toString().split("=>")[1].trim().replace("return","").trim();return body.startsWith("{")&&body.endsWith("}")&&(body=body.substring(1,body.length-1).trim()),`{{${body}}}`}var skipSourceRender=context=>{let sourceParams=context?.parameters.docs?.source,isArgsStory=context?.parameters.__isArgsStory,isDocsViewMode=context?.viewMode==="docs";return sourceParams?.type===import_docs_tools2.SourceType.DYNAMIC?!1:!isDocsViewMode||!isArgsStory||sourceParams?.code||sourceParams?.type===import_docs_tools2.SourceType.CODE};function generateAttributesSource(tempArgs,args2,argTypes2,byRef2){return Object.keys(tempArgs).map(key=>{let source2=tempArgs[key].loc.source.replace(/\$props/g,"args"),argKey=tempArgs[key].arg?.loc.source;return byRef2&&argKey?replaceValueWithRef(source2,args2,argKey):evalExp(source2,omitEvent(args2))}).join(" ")}function mapAttributesAndDirectives(props){let tranformKey=key=>key.startsWith("on")?key:(0,import_kebabCase.default)(key);return Object.keys(props).map(key=>({name:"bind",type:["v-","@","v-on"].includes(key)?7:6,arg:{content:tranformKey(key),loc:{source:tranformKey(key)}},loc:{source:attributeSource(tranformKey(key),props[key])},exp:{isStatic:!1,loc:{source:props[key]}},modifiers:[""]}))}function mapSlots(slotsArgs,generateComponentSource2,slots){return Object.keys(slotsArgs).map(key=>{let slot=slotsArgs[key],slotContent="",scropedArgs=slots.find(s=>s.name===key&&s.scoped)?.bindings?.map(b=>b.name).join(",");typeof slot=="string"?slotContent=slot:typeof slot=="function"?slotContent=generateExpression(slot):(0,import_vue.isVNode)(slot)?slotContent=generateComponentSource2(slot):typeof slot=="object"&&!(0,import_vue.isVNode)(slot)&&(slotContent=JSON.stringify(slot));let bindingsString=scropedArgs?`="{${scropedArgs}}"`:"";return slotContent=slot?`<template #${key}${bindingsString}>${slotContent}</template>`:"",{type:2,content:slotContent,loc:{source:slotContent,start:{offset:0,line:1,column:0},end:{offset:0,line:1,column:0}}}})}function generateScriptSetup(args2,argTypes2,components){let scriptLines=Object.keys(args2).map(key=>`const ${key} = ${typeof args2[key]=="function"?"()=>{}":`ref(${JSON.stringify(args2[key])});`}`);return scriptLines.unshift('import { ref } from "vue";'),`<script lang='ts' setup>${scriptLines.join(`
|
2
2
|
`)}</script>`}function getTemplateComponents(renderFn,context){try{let originalStoryFn=renderFn,storyFn=originalStoryFn?originalStoryFn(context?.args,context):context?.component,story=typeof storyFn=="function"?storyFn():storyFn,{template}=story;return template?getComponents(template):[(0,import_vue.h)(story,context?.args)]}catch{return[]}}function getComponents(template){let components=(0,import_compiler_core.baseParse)(template,{isNativeTag:()=>!0,decodeEntities:(rawtext,asAttr)=>rawtext})?.children;return components||[]}function generateTemplateSource(componentOrNodes,{args,argTypes},byRef=!1){let isElementNode=node=>node&&node.type===1,isInterpolationNode=node=>node&&node.type===5,isTextNode=node=>node&&node.type===2,generateComponentSource=componentOrNode=>{if(isElementNode(componentOrNode)){let{tag:name,props:attributes,children}=componentOrNode,childSources=typeof children=="string"?children:children.map(child=>generateComponentSource(child)).join(""),props=generateAttributesSource(attributes,args,argTypes,byRef);return childSources===""?`<${name} ${props} />`:`<${name} ${props}>${childSources}</${name}>`}if(isTextNode(componentOrNode)){let{content:content2}=componentOrNode;return content2}if(isInterpolationNode(componentOrNode)){let{content}=componentOrNode,expValue=evalExp(content.loc.source,args);return expValue===content.loc.source?`{{${expValue}}}`:eval(expValue)}if((0,import_vue.isVNode)(componentOrNode)){let vnode=componentOrNode,{props,type,children}=vnode,slotsProps=typeof children=="string"?void 0:children,componentSlots=type?.__docgenInfo?.slots,attrsProps=slotsProps?Object.fromEntries(Object.entries(props??{}).filter(([key,value])=>!slotsProps[key]&&!["class","style"].includes(key)).map(([key,value])=>[key,value])):props,attributes=mapAttributesAndDirectives(attrsProps??{}),slotArgs=Object.fromEntries(Object.entries(props??{}).filter(([key,value])=>slotsProps?.[key])),childSources=children?typeof children=="string"?children:mapSlots(slotArgs,generateComponentSource,componentSlots??[]).map(child=>child.content).join(""):"",name=typeof type=="string"?type:type.name||type.__name||type.__docgenInfo?.displayName,propsSource=generateAttributesSource(attributes,args,argTypes,byRef);return childSources.trim()===""?`<${name} ${propsSource}/>`:`<${name} ${propsSource}>${childSources}</${name}>`}return null},componentsOrNodes=Array.isArray(componentOrNodes)?componentOrNodes:[componentOrNodes],source=componentsOrNodes.map(componentOrNode2=>generateComponentSource(componentOrNode2)).join(" ");return source||null}var sourceDecorator=(storyFn,context)=>{let skip=skipSourceRender(context),story=storyFn();return(0,import_vue.watch)(()=>context.args,()=>{skip||generateSource(context)},{immediate:!0,deep:!0}),story};function generateSource(context){let channel=import_preview_api.addons.getChannel(),{args:args2={},argTypes:argTypes2={},id}=context||{},storyComponents=getTemplateComponents(context?.originalStoryFn,context),withScript=context?.parameters?.docs?.source?.withScriptSetup||!1,generatedScript=withScript?generateScriptSetup(args2,argTypes2,storyComponents):"",generatedTemplate=generateTemplateSource(storyComponents,context,withScript);if(generatedTemplate){let source2=`${generatedScript}
|
3
3
|
<template>
|
4
4
|
${generatedTemplate}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import './chunk-CEH6MNVV.mjs';
|
2
|
-
import { extractComponentDescription, enhanceArgTypes, hasDocgen, extractComponentProps, convert, SNIPPET_RENDERED, SourceType } from '
|
3
|
-
import { addons } from '
|
2
|
+
import { extractComponentDescription, enhanceArgTypes, hasDocgen, extractComponentProps, convert, SNIPPET_RENDERED, SourceType } from 'storybook/internal/docs-tools';
|
3
|
+
import { addons } from 'storybook/internal/preview-api';
|
4
4
|
import { baseParse } from '@vue/compiler-core';
|
5
5
|
import { watch, h, isVNode } from 'vue';
|
6
6
|
import kebabCase from 'lodash/kebabCase';
|
package/dist/entry-preview.d.ts
CHANGED
@@ -1,10 +1,12 @@
|
|
1
|
-
export { r as render, a as renderToCanvas } from './render-
|
2
|
-
import { LegacyStoryFn, DecoratorFunction } from '
|
3
|
-
import { V as VueRenderer } from './types-
|
1
|
+
export { r as render, a as renderToCanvas } from './render-866998d8.js';
|
2
|
+
import { LegacyStoryFn, DecoratorFunction, BaseAnnotations } from 'storybook/internal/types';
|
3
|
+
import { V as VueRenderer } from './types-1ede6954.js';
|
4
4
|
import 'vue';
|
5
5
|
|
6
6
|
declare function decorateStory(storyFn: LegacyStoryFn<VueRenderer>, decorators: DecoratorFunction<VueRenderer>[]): LegacyStoryFn<VueRenderer>;
|
7
7
|
|
8
|
+
declare const mount: BaseAnnotations<VueRenderer>['mount'];
|
9
|
+
|
8
10
|
declare const parameters: {};
|
9
11
|
|
10
|
-
export { decorateStory as applyDecorators, parameters };
|
12
|
+
export { decorateStory as applyDecorators, 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,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_vue2=require("vue"),import_preview_api=require("
|
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_vue2=require("vue"),import_preview_api=require("storybook/internal/preview-api");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});
|
package/dist/entry-preview.mjs
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
export { decorateStory as applyDecorators, parameters, render, renderToCanvas } from './chunk-
|
1
|
+
export { decorateStory as applyDecorators, mount, parameters, render, renderToCanvas } from './chunk-ERN3BQXJ.mjs';
|
2
2
|
import './chunk-CEH6MNVV.mjs';
|
package/dist/index.d.ts
CHANGED
@@ -1,11 +1,11 @@
|
|
1
|
-
export { s as setup } from './render-
|
2
|
-
import
|
3
|
-
|
4
|
-
export { ArgTypes, Args, Parameters, StrictArgs } from '@storybook/types';
|
1
|
+
export { s as setup } from './render-866998d8.js';
|
2
|
+
import { Args, ComponentAnnotations, AnnotatedStoryFn, ArgsStoryFn, ArgsFromMeta, StoryAnnotations, StrictArgs, DecoratorFunction, LoaderFunction, StoryContext as StoryContext$1, ProjectAnnotations, NamedOrDefaultProjectAnnotations, StoryAnnotationsOrFn, Store_CSFExports, StoriesWithPartialProps } from 'storybook/internal/types';
|
3
|
+
export { ArgTypes, Args, Parameters, StrictArgs } from 'storybook/internal/types';
|
5
4
|
import { Simplify, SetOptional, Constructor, RemoveIndexSignature } from 'type-fest';
|
6
5
|
import { FunctionalComponent, VNodeChild } from 'vue';
|
7
6
|
import { ComponentProps, ComponentSlots } from 'vue-component-type-helpers';
|
8
|
-
import { V as VueRenderer } from './types-
|
7
|
+
import { V as VueRenderer } from './types-1ede6954.js';
|
8
|
+
import * as core_dist_types from 'core/dist/types';
|
9
9
|
|
10
10
|
/**
|
11
11
|
* Metadata to configure the stories for a component.
|
@@ -62,7 +62,8 @@ type MapToJSXAble<T> = {
|
|
62
62
|
*
|
63
63
|
* @param projectAnnotations - e.g. (import projectAnnotations from '../.storybook/preview')
|
64
64
|
*/
|
65
|
-
declare function setProjectAnnotations(projectAnnotations: NamedOrDefaultProjectAnnotations<VueRenderer> | NamedOrDefaultProjectAnnotations<VueRenderer>[]):
|
65
|
+
declare function setProjectAnnotations(projectAnnotations: NamedOrDefaultProjectAnnotations<VueRenderer> | NamedOrDefaultProjectAnnotations<VueRenderer>[]): ProjectAnnotations<VueRenderer>;
|
66
|
+
declare const vueProjectAnnotations: ProjectAnnotations<VueRenderer>;
|
66
67
|
/**
|
67
68
|
* Function that will receive a story along with meta (e.g. a default export from a .stories file)
|
68
69
|
* and optionally projectAnnotations e.g. (import * from '../.storybook/preview)
|
@@ -90,7 +91,7 @@ declare function setProjectAnnotations(projectAnnotations: NamedOrDefaultProject
|
|
90
91
|
* @param [projectAnnotations] - e.g. (import * as projectAnnotations from '../.storybook/preview') this can be applied automatically if you use `setProjectAnnotations` in your setup files.
|
91
92
|
* @param [exportsName] - in case your story does not contain a name and you want it to have a name.
|
92
93
|
*/
|
93
|
-
declare function composeStory<TArgs extends Args = Args>(story: StoryAnnotationsOrFn<VueRenderer, TArgs>, componentAnnotations: Meta<TArgs | any>, projectAnnotations?: ProjectAnnotations<VueRenderer>, exportsName?: string): JSXAble<
|
94
|
+
declare function composeStory<TArgs extends Args = Args>(story: StoryAnnotationsOrFn<VueRenderer, TArgs>, componentAnnotations: Meta<TArgs | any>, projectAnnotations?: ProjectAnnotations<VueRenderer>, exportsName?: string): JSXAble<core_dist_types.ComposedStoryFn<VueRenderer, Partial<TArgs>>>;
|
94
95
|
/**
|
95
96
|
* Function that will receive a stories import (e.g. `import * as stories from './Button.stories'`)
|
96
97
|
* and optionally projectAnnotations (e.g. `import * from '../.storybook/preview`)
|
@@ -118,4 +119,4 @@ declare function composeStory<TArgs extends Args = Args>(story: StoryAnnotations
|
|
118
119
|
*/
|
119
120
|
declare function composeStories<TModule extends Store_CSFExports<VueRenderer, any>>(csfExports: TModule, projectAnnotations?: ProjectAnnotations<VueRenderer>): MapToJSXAble<Omit<StoriesWithPartialProps<VueRenderer, TModule>, keyof Store_CSFExports>>;
|
120
121
|
|
121
|
-
export { ComponentPropsAndSlots, Decorator, Loader, Meta, Preview, StoryContext, StoryFn, StoryObj, VueRenderer, composeStories, composeStory, setProjectAnnotations };
|
122
|
+
export { ComponentPropsAndSlots, Decorator, Loader, Meta, Preview, StoryContext, StoryFn, StoryObj, VueRenderer, composeStories, composeStory, setProjectAnnotations, vueProjectAnnotations };
|
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 src_exports={};__export(src_exports,{composeStories:()=>composeStories,composeStory:()=>composeStory,setProjectAnnotations:()=>setProjectAnnotations,setup:()=>setup});module.exports=__toCommonJS(src_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("
|
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 src_exports={};__export(src_exports,{composeStories:()=>composeStories,composeStory:()=>composeStory,setProjectAnnotations:()=>setProjectAnnotations,setup:()=>setup,vueProjectAnnotations:()=>vueProjectAnnotations});module.exports=__toCommonJS(src_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/internal/preview-api"),import_preview_errors=require("storybook/internal/preview-errors"),import_vue4=require("vue");var entry_preview_exports={};__export(entry_preview_exports,{applyDecorators:()=>decorateStory,mount:()=>mount,parameters:()=>parameters,render:()=>render,renderToCanvas:()=>renderToCanvas});var import_vue2=require("vue"),import_preview_api=require("storybook/internal/preview-api");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.setProjectAnnotations)(projectAnnotations)}var vueProjectAnnotations={...entry_preview_exports,renderToCanvas:({storyFn,storyContext:{testingLibraryRender:render2,canvasElement}})=>{if(render2==null)throw new import_preview_errors.TestingLibraryMustBeConfiguredError;let{unmount}=render2(storyFn(),{baseElement:canvasElement});return unmount}};function composeStory(story,componentAnnotations,projectAnnotations,exportsName){let composedStory=(0,import_preview_api2.composeStory)(story,componentAnnotations,projectAnnotations,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,10 +1,11 @@
|
|
1
|
-
import { entry_preview_exports } from './chunk-
|
2
|
-
export { setup } from './chunk-
|
1
|
+
import { entry_preview_exports } from './chunk-ERN3BQXJ.mjs';
|
2
|
+
export { setup } from './chunk-ERN3BQXJ.mjs';
|
3
3
|
import './chunk-CEH6MNVV.mjs';
|
4
4
|
import { global } from '@storybook/global';
|
5
|
-
import { setProjectAnnotations as setProjectAnnotations$1, composeStory as composeStory$1, composeStories as composeStories$1 } from '
|
5
|
+
import { setProjectAnnotations as setProjectAnnotations$1, composeStory as composeStory$1, composeStories as composeStories$1 } from 'storybook/internal/preview-api';
|
6
|
+
import { TestingLibraryMustBeConfiguredError } from 'storybook/internal/preview-errors';
|
6
7
|
import { h } from 'vue';
|
7
8
|
|
8
|
-
var{window:globalWindow}=global;globalWindow.STORYBOOK_ENV="vue3";globalWindow.PLUGINS_SETUP_FUNCTIONS||=new Set;function setProjectAnnotations(projectAnnotations){setProjectAnnotations$1(projectAnnotations);}function composeStory(story,componentAnnotations,projectAnnotations,exportsName){let composedStory=composeStory$1(story,componentAnnotations,projectAnnotations,
|
9
|
+
var{window:globalWindow}=global;globalWindow.STORYBOOK_ENV="vue3";globalWindow.PLUGINS_SETUP_FUNCTIONS||=new Set;function setProjectAnnotations(projectAnnotations){return setProjectAnnotations$1(projectAnnotations)}var vueProjectAnnotations={...entry_preview_exports,renderToCanvas:({storyFn,storyContext:{testingLibraryRender:render,canvasElement}})=>{if(render==null)throw new TestingLibraryMustBeConfiguredError;let{unmount}=render(storyFn(),{baseElement:canvasElement});return unmount}};function composeStory(story,componentAnnotations,projectAnnotations,exportsName){let composedStory=composeStory$1(story,componentAnnotations,projectAnnotations,vueProjectAnnotations,exportsName),renderable=(...args)=>h(composedStory(...args));return Object.assign(renderable,composedStory),renderable}function composeStories(csfExports,projectAnnotations){return composeStories$1(csfExports,projectAnnotations,composeStory)}try{module?.hot?.decline&&module.hot.decline();}catch{}
|
9
10
|
|
10
|
-
export { composeStories, composeStory, setProjectAnnotations };
|
11
|
+
export { composeStories, composeStory, setProjectAnnotations, vueProjectAnnotations };
|
package/dist/playwright.d.ts
CHANGED
@@ -1 +1 @@
|
|
1
|
-
export { createPlaywrightTest as createTest } from '
|
1
|
+
export { createPlaywrightTest as createTest } from 'storybook/internal/preview-api';
|
package/dist/playwright.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 playwright_exports={};__export(playwright_exports,{createTest:()=>import_preview_api.createPlaywrightTest});module.exports=__toCommonJS(playwright_exports);var import_preview_api=require("
|
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 playwright_exports={};__export(playwright_exports,{createTest:()=>import_preview_api.createPlaywrightTest});module.exports=__toCommonJS(playwright_exports);var import_preview_api=require("storybook/internal/preview-api");0&&(module.exports={createTest});
|
package/dist/playwright.mjs
CHANGED
@@ -1,2 +1,2 @@
|
|
1
1
|
import './chunk-CEH6MNVV.mjs';
|
2
|
-
export { createPlaywrightTest as createTest } from '
|
2
|
+
export { createPlaywrightTest as createTest } from 'storybook/internal/preview-api';
|
package/dist/preset.d.ts
CHANGED
@@ -0,0 +1,9 @@
|
|
1
|
+
import { App } from 'vue';
|
2
|
+
import { ArgsStoryFn, StoryContext, RenderContext } from 'storybook/internal/types';
|
3
|
+
import { V as VueRenderer } from './types-1ede6954.js';
|
4
|
+
|
5
|
+
declare const render: ArgsStoryFn<VueRenderer>;
|
6
|
+
declare const setup: (fn: (app: App, storyContext?: StoryContext<VueRenderer>) => unknown) => void;
|
7
|
+
declare function renderToCanvas({ storyFn, forceRemount, showMain, showException, storyContext, id }: RenderContext<VueRenderer>, canvasElement: VueRenderer['canvasElement']): Promise<() => void>;
|
8
|
+
|
9
|
+
export { renderToCanvas as a, render as r, setup as s };
|
@@ -1,10 +1,14 @@
|
|
1
|
-
import { WebRenderer } from '
|
1
|
+
import { WebRenderer, Canvas } from 'storybook/internal/types';
|
2
2
|
import { ConcreteComponent } from 'vue';
|
3
3
|
|
4
4
|
type StoryFnVueReturnType = ConcreteComponent<any>;
|
5
5
|
interface VueRenderer extends WebRenderer {
|
6
6
|
component: Omit<ConcreteComponent<this['T']>, 'props'>;
|
7
7
|
storyResult: StoryFnVueReturnType;
|
8
|
+
mount: (Component?: StoryFnVueReturnType, options?: {
|
9
|
+
props?: Record<string, any>;
|
10
|
+
slots?: Record<string, any>;
|
11
|
+
}) => Promise<Canvas>;
|
8
12
|
}
|
9
13
|
|
10
14
|
export { VueRenderer as V };
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@storybook/vue3",
|
3
|
-
"version": "8.2.0-
|
3
|
+
"version": "8.2.0-beta.0",
|
4
4
|
"description": "Storybook Vue 3 renderer",
|
5
5
|
"keywords": [
|
6
6
|
"storybook"
|
@@ -63,10 +63,7 @@
|
|
63
63
|
"prep": "node --loader ../../../scripts/node_modules/esbuild-register/loader.js -r ../../../scripts/node_modules/esbuild-register/register.js ../../../scripts/prepare/bundle.ts"
|
64
64
|
},
|
65
65
|
"dependencies": {
|
66
|
-
"@storybook/docs-tools": "8.2.0-alpha.8",
|
67
66
|
"@storybook/global": "^5.0.0",
|
68
|
-
"@storybook/preview-api": "8.2.0-alpha.8",
|
69
|
-
"@storybook/types": "8.2.0-alpha.8",
|
70
67
|
"@vue/compiler-core": "^3.0.0",
|
71
68
|
"lodash": "^4.17.21",
|
72
69
|
"ts-dedent": "^2.0.0",
|
@@ -83,6 +80,7 @@
|
|
83
80
|
"vue-tsc": "latest"
|
84
81
|
},
|
85
82
|
"peerDependencies": {
|
83
|
+
"storybook": "^8.2.0-beta.0",
|
86
84
|
"vue": "^3.0.0"
|
87
85
|
},
|
88
86
|
"engines": {
|
package/dist/chunk-QANYVTHF.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,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 parameters={renderer:"vue3"};
|
6
|
-
|
7
|
-
export { decorateStory, entry_preview_exports, parameters, render, renderToCanvas, setup };
|
@@ -1,246 +0,0 @@
|
|
1
|
-
import { App } from 'vue';
|
2
|
-
import { ArgsStoryFn as ArgsStoryFn$1, RenderContext } from '@storybook/types';
|
3
|
-
import { V as VueRenderer } from './types-ad933ac1.js';
|
4
|
-
|
5
|
-
interface SBBaseType {
|
6
|
-
required?: boolean;
|
7
|
-
raw?: string;
|
8
|
-
}
|
9
|
-
type SBScalarType = SBBaseType & {
|
10
|
-
name: 'boolean' | 'string' | 'number' | 'function' | 'symbol';
|
11
|
-
};
|
12
|
-
type SBArrayType = SBBaseType & {
|
13
|
-
name: 'array';
|
14
|
-
value: SBType;
|
15
|
-
};
|
16
|
-
type SBObjectType = SBBaseType & {
|
17
|
-
name: 'object';
|
18
|
-
value: Record<string, SBType>;
|
19
|
-
};
|
20
|
-
type SBEnumType = SBBaseType & {
|
21
|
-
name: 'enum';
|
22
|
-
value: (string | number)[];
|
23
|
-
};
|
24
|
-
type SBIntersectionType = SBBaseType & {
|
25
|
-
name: 'intersection';
|
26
|
-
value: SBType[];
|
27
|
-
};
|
28
|
-
type SBUnionType = SBBaseType & {
|
29
|
-
name: 'union';
|
30
|
-
value: SBType[];
|
31
|
-
};
|
32
|
-
type SBOtherType = SBBaseType & {
|
33
|
-
name: 'other';
|
34
|
-
value: string;
|
35
|
-
};
|
36
|
-
type SBType = SBScalarType | SBEnumType | SBArrayType | SBObjectType | SBIntersectionType | SBUnionType | SBOtherType;
|
37
|
-
|
38
|
-
type StoryId = string;
|
39
|
-
type ComponentId = string;
|
40
|
-
type ComponentTitle = string;
|
41
|
-
type StoryName = string;
|
42
|
-
type Tag = string;
|
43
|
-
interface StoryIdentifier {
|
44
|
-
componentId: ComponentId;
|
45
|
-
title: ComponentTitle;
|
46
|
-
/** @deprecated */
|
47
|
-
kind: ComponentTitle;
|
48
|
-
id: StoryId;
|
49
|
-
name: StoryName;
|
50
|
-
/** @deprecated */
|
51
|
-
story: StoryName;
|
52
|
-
tags: Tag[];
|
53
|
-
}
|
54
|
-
interface Parameters {
|
55
|
-
[name: string]: any;
|
56
|
-
}
|
57
|
-
type ControlType = 'object' | 'boolean' | 'check' | 'inline-check' | 'radio' | 'inline-radio' | 'select' | 'multi-select' | 'number' | 'range' | 'file' | 'color' | 'date' | 'text';
|
58
|
-
type ConditionalTest = {
|
59
|
-
truthy?: boolean;
|
60
|
-
} | {
|
61
|
-
exists: boolean;
|
62
|
-
} | {
|
63
|
-
eq: any;
|
64
|
-
} | {
|
65
|
-
neq: any;
|
66
|
-
};
|
67
|
-
type ConditionalValue = {
|
68
|
-
arg: string;
|
69
|
-
} | {
|
70
|
-
global: string;
|
71
|
-
};
|
72
|
-
type Conditional = ConditionalValue & ConditionalTest;
|
73
|
-
interface ControlBase {
|
74
|
-
[key: string]: any;
|
75
|
-
/**
|
76
|
-
* @see https://storybook.js.org/docs/api/arg-types#controltype
|
77
|
-
*/
|
78
|
-
type?: ControlType;
|
79
|
-
disable?: boolean;
|
80
|
-
}
|
81
|
-
type Control = ControlType | false | (ControlBase & (ControlBase | {
|
82
|
-
type: 'color';
|
83
|
-
/**
|
84
|
-
* @see https://storybook.js.org/docs/api/arg-types#controlpresetcolors
|
85
|
-
*/
|
86
|
-
presetColors?: string[];
|
87
|
-
} | {
|
88
|
-
type: 'file';
|
89
|
-
/**
|
90
|
-
* @see https://storybook.js.org/docs/api/arg-types#controlaccept
|
91
|
-
*/
|
92
|
-
accept?: string;
|
93
|
-
} | {
|
94
|
-
type: 'inline-check' | 'radio' | 'inline-radio' | 'select' | 'multi-select';
|
95
|
-
/**
|
96
|
-
* @see https://storybook.js.org/docs/api/arg-types#controllabels
|
97
|
-
*/
|
98
|
-
labels?: {
|
99
|
-
[options: string]: string;
|
100
|
-
};
|
101
|
-
} | {
|
102
|
-
type: 'number' | 'range';
|
103
|
-
/**
|
104
|
-
* @see https://storybook.js.org/docs/api/arg-types#controlmax
|
105
|
-
*/
|
106
|
-
max?: number;
|
107
|
-
/**
|
108
|
-
* @see https://storybook.js.org/docs/api/arg-types#controlmin
|
109
|
-
*/
|
110
|
-
min?: number;
|
111
|
-
/**
|
112
|
-
* @see https://storybook.js.org/docs/api/arg-types#controlstep
|
113
|
-
*/
|
114
|
-
step?: number;
|
115
|
-
}));
|
116
|
-
interface InputType {
|
117
|
-
/**
|
118
|
-
* @see https://storybook.js.org/docs/api/arg-types#control
|
119
|
-
*/
|
120
|
-
control?: Control;
|
121
|
-
/**
|
122
|
-
* @see https://storybook.js.org/docs/api/arg-types#description
|
123
|
-
*/
|
124
|
-
description?: string;
|
125
|
-
/**
|
126
|
-
* @see https://storybook.js.org/docs/api/arg-types#if
|
127
|
-
*/
|
128
|
-
if?: Conditional;
|
129
|
-
/**
|
130
|
-
* @see https://storybook.js.org/docs/api/arg-types#mapping
|
131
|
-
*/
|
132
|
-
mapping?: {
|
133
|
-
[key: string]: any;
|
134
|
-
};
|
135
|
-
/**
|
136
|
-
* @see https://storybook.js.org/docs/api/arg-types#name
|
137
|
-
*/
|
138
|
-
name?: string;
|
139
|
-
/**
|
140
|
-
* @see https://storybook.js.org/docs/api/arg-types#options
|
141
|
-
*/
|
142
|
-
options?: readonly any[];
|
143
|
-
/**
|
144
|
-
* @see https://storybook.js.org/docs/api/arg-types#table
|
145
|
-
*/
|
146
|
-
table?: {
|
147
|
-
[key: string]: unknown;
|
148
|
-
/**
|
149
|
-
* @see https://storybook.js.org/docs/api/arg-types#tablecategory
|
150
|
-
*/
|
151
|
-
category?: string;
|
152
|
-
/**
|
153
|
-
* @see https://storybook.js.org/docs/api/arg-types#tabledefaultvalue
|
154
|
-
*/
|
155
|
-
defaultValue?: {
|
156
|
-
summary?: string;
|
157
|
-
detail?: string;
|
158
|
-
};
|
159
|
-
/**
|
160
|
-
* @see https://storybook.js.org/docs/api/arg-types#tabledisable
|
161
|
-
*/
|
162
|
-
disable?: boolean;
|
163
|
-
/**
|
164
|
-
* @see https://storybook.js.org/docs/api/arg-types#tablesubcategory
|
165
|
-
*/
|
166
|
-
subcategory?: string;
|
167
|
-
/**
|
168
|
-
* @see https://storybook.js.org/docs/api/arg-types#tabletype
|
169
|
-
*/
|
170
|
-
type?: {
|
171
|
-
summary?: string;
|
172
|
-
detail?: string;
|
173
|
-
};
|
174
|
-
};
|
175
|
-
/**
|
176
|
-
* @see https://storybook.js.org/docs/api/arg-types#type
|
177
|
-
*/
|
178
|
-
type?: SBType | SBScalarType['name'];
|
179
|
-
/**
|
180
|
-
* @see https://storybook.js.org/docs/api/arg-types#defaultvalue
|
181
|
-
*
|
182
|
-
* @deprecated Use `table.defaultValue.summary` instead.
|
183
|
-
*/
|
184
|
-
defaultValue?: any;
|
185
|
-
[key: string]: any;
|
186
|
-
}
|
187
|
-
interface StrictInputType extends InputType {
|
188
|
-
name: string;
|
189
|
-
type?: SBType;
|
190
|
-
}
|
191
|
-
interface Args {
|
192
|
-
[name: string]: any;
|
193
|
-
}
|
194
|
-
type StrictArgTypes<TArgs = Args> = {
|
195
|
-
[name in keyof TArgs]: StrictInputType;
|
196
|
-
};
|
197
|
-
interface Globals {
|
198
|
-
[name: string]: any;
|
199
|
-
}
|
200
|
-
type Renderer = {
|
201
|
-
/** What is the type of the `component` annotation in this renderer? */
|
202
|
-
component: unknown;
|
203
|
-
/** What does the story function return in this renderer? */
|
204
|
-
storyResult: unknown;
|
205
|
-
/** What type of element does this renderer render to? */
|
206
|
-
canvasElement: unknown;
|
207
|
-
T?: unknown;
|
208
|
-
};
|
209
|
-
interface StoryContextForEnhancers<TRenderer extends Renderer = Renderer, TArgs = Args> extends StoryIdentifier {
|
210
|
-
component?: (TRenderer & {
|
211
|
-
T: any;
|
212
|
-
})['component'];
|
213
|
-
subcomponents?: Record<string, (TRenderer & {
|
214
|
-
T: any;
|
215
|
-
})['component']>;
|
216
|
-
parameters: Parameters;
|
217
|
-
initialArgs: TArgs;
|
218
|
-
argTypes: StrictArgTypes<TArgs>;
|
219
|
-
}
|
220
|
-
interface StoryContextUpdate<TArgs = Args> {
|
221
|
-
args?: TArgs;
|
222
|
-
globals?: Globals;
|
223
|
-
[key: string]: any;
|
224
|
-
}
|
225
|
-
type ViewMode = 'story' | 'docs';
|
226
|
-
interface StoryContextForLoaders<TRenderer extends Renderer = Renderer, TArgs = Args> extends StoryContextForEnhancers<TRenderer, TArgs>, Required<StoryContextUpdate<TArgs>> {
|
227
|
-
hooks: unknown;
|
228
|
-
viewMode: ViewMode;
|
229
|
-
originalStoryFn: StoryFn<TRenderer>;
|
230
|
-
}
|
231
|
-
interface StoryContext<TRenderer extends Renderer = Renderer, TArgs = Args> extends StoryContextForLoaders<TRenderer, TArgs> {
|
232
|
-
loaded: Record<string, any>;
|
233
|
-
abortSignal: AbortSignal;
|
234
|
-
canvasElement: TRenderer['canvasElement'];
|
235
|
-
}
|
236
|
-
type LegacyStoryFn<TRenderer extends Renderer = Renderer, TArgs = Args> = (context: StoryContext<TRenderer, TArgs>) => TRenderer['storyResult'];
|
237
|
-
type ArgsStoryFn<TRenderer extends Renderer = Renderer, TArgs = Args> = (args: TArgs, context: StoryContext<TRenderer, TArgs>) => (TRenderer & {
|
238
|
-
T: TArgs;
|
239
|
-
})['storyResult'];
|
240
|
-
type StoryFn<TRenderer extends Renderer = Renderer, TArgs = Args> = LegacyStoryFn<TRenderer, TArgs> | ArgsStoryFn<TRenderer, TArgs>;
|
241
|
-
|
242
|
-
declare const render: ArgsStoryFn$1<VueRenderer>;
|
243
|
-
declare const setup: (fn: (app: App, storyContext?: StoryContext<VueRenderer>) => unknown) => void;
|
244
|
-
declare function renderToCanvas({ storyFn, forceRemount, showMain, showException, storyContext, id }: RenderContext<VueRenderer>, canvasElement: VueRenderer['canvasElement']): Promise<() => void>;
|
245
|
-
|
246
|
-
export { renderToCanvas as a, render as r, setup as s };
|