@storybook/svelte 8.3.0-alpha.1 → 8.3.0-alpha.11
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-2VFJ3RAK.mjs +12 -0
- package/dist/components/PreviewRender.svelte +6 -8
- package/dist/components/SlotDecorator.svelte +22 -6
- package/dist/createSvelte5Props.svelte.js +4 -4
- package/dist/entry-preview-docs.d.ts +1 -1
- package/dist/entry-preview-docs.js +1 -1
- package/dist/entry-preview.js +1 -1
- package/dist/entry-preview.mjs +1 -1
- package/dist/index.d.ts +30 -23
- package/dist/index.js +1 -1
- package/dist/index.mjs +3 -4
- package/dist/preset.js +1 -1
- package/package.json +9 -12
- package/template/cli/js/Page.stories.js +1 -1
- package/template/cli/ts-3-8/Button.stories.ts +1 -0
- package/template/cli/ts-3-8/Header.stories.ts +1 -0
- package/template/cli/ts-3-8/Page.stories.ts +1 -1
- package/template/cli/ts-4-9/Button.stories.ts +1 -0
- package/template/cli/ts-4-9/Header.stories.ts +1 -0
- package/template/cli/ts-4-9/Page.stories.ts +1 -1
- package/template/components/index.js +1 -1
- package/template/stories/args.stories.js +5 -2
- package/template/stories/slot-decorators.stories.js +2 -2
- package/dist/chunk-Y3ABEGE3.mjs +0 -12
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { __export } from './chunk-CEH6MNVV.mjs';
|
|
2
|
+
import { RESET_STORY_ARGS } from 'storybook/internal/core-events';
|
|
3
|
+
import { addons, sanitizeStoryContextUpdate } from 'storybook/internal/preview-api';
|
|
4
|
+
import PreviewRender from '@storybook/svelte/internal/PreviewRender.svelte';
|
|
5
|
+
import { createSvelte5Props } from '@storybook/svelte/internal/createSvelte5Props';
|
|
6
|
+
import * as svelte from 'svelte';
|
|
7
|
+
import { VERSION } from 'svelte/compiler';
|
|
8
|
+
import SlotDecorator from '@storybook/svelte/internal/SlotDecorator.svelte';
|
|
9
|
+
|
|
10
|
+
var entry_preview_exports={};__export(entry_preview_exports,{applyDecorators:()=>decorateStory,mount:()=>mount2,parameters:()=>parameters,render:()=>render,renderToCanvas:()=>renderToCanvas});var IS_SVELTE_V4=Number(VERSION[0])<=4;function renderToCanvas(renderContext,canvasElement){return IS_SVELTE_V4?renderToCanvasV4(renderContext,canvasElement):renderToCanvasV5(renderContext,canvasElement)}var storyIdsToRemountFromResetArgsEvent=new Set;addons.getChannel().on(RESET_STORY_ARGS,({storyId})=>{storyIdsToRemountFromResetArgsEvent.add(storyId);});var componentsByDomElementV4=new Map;function renderToCanvasV4({storyFn,title,name,showMain,showError,storyContext,forceRemount},canvasElement){function unmount2(canvasElementToUnmount){componentsByDomElementV4.has(canvasElementToUnmount)&&(componentsByDomElementV4.get(canvasElementToUnmount).$destroy(),componentsByDomElementV4.delete(canvasElementToUnmount),canvasElementToUnmount.innerHTML="");}let existingComponent=componentsByDomElementV4.get(canvasElement),remount=forceRemount;if(storyIdsToRemountFromResetArgsEvent.has(storyContext.id)&&(remount=!0,storyIdsToRemountFromResetArgsEvent.delete(storyContext.id)),remount&&unmount2(canvasElement),!existingComponent||remount){let mountedComponent=new PreviewRender({target:canvasElement,props:{storyFn,storyContext,name,title,showError}});componentsByDomElementV4.set(canvasElement,mountedComponent);}else existingComponent.$set({storyFn,storyContext,name,title,showError});return showMain(),()=>{unmount2(canvasElement);}}var componentsByDomElementV5=new Map;function renderToCanvasV5({storyFn,title,name,showMain,showError,storyContext,forceRemount},canvasElement){function unmount2(canvasElementToUnmount){let{mountedComponent}=componentsByDomElementV5.get(canvasElementToUnmount)??{};mountedComponent&&(svelte.unmount(mountedComponent),componentsByDomElementV5.delete(canvasElementToUnmount));}let existingComponent=componentsByDomElementV5.get(canvasElement),remount=forceRemount;if(storyIdsToRemountFromResetArgsEvent.has(storyContext.id)&&(remount=!0,storyIdsToRemountFromResetArgsEvent.delete(storyContext.id)),remount&&unmount2(canvasElement),!existingComponent||remount){let props=createSvelte5Props({storyFn,storyContext,name,title,showError}),mountedComponent=svelte.mount(PreviewRender,{target:canvasElement,props});componentsByDomElementV5.set(canvasElement,{mountedComponent,props});}else Object.assign(existingComponent.props,{storyFn,storyContext,name,title,showError});return showMain(),()=>{unmount2(canvasElement);}}var render=(args,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 {Component,props:args}};function unWrap(obj){return obj&&typeof obj=="object"&&"default"in obj?obj.default:obj}function prepareStory(context,rawStory,rawInnerStory){let story=unWrap(rawStory),innerStory=rawInnerStory&&unWrap(rawInnerStory),preparedStory;return !story||Object.keys(story).length===0?preparedStory={Component:context.component}:story.Component?preparedStory=story:preparedStory={Component:story},innerStory?{Component:SlotDecorator,props:{...innerStory,decorator:preparedStory}}:{...preparedStory,argTypes:context.argTypes}}function decorateStory(storyFn,decorators){return decorators.reduce((decorated,decorator)=>context=>{let story,decoratedStory=decorator(update=>(story=decorated({...context,...sanitizeStoryContextUpdate(update)}),story),context);return story||(story=decorated(context)),decoratedStory===story?story:prepareStory(context,decoratedStory,story)},context=>prepareStory(context,storyFn(context)))}var mount2=context=>async(Component,options)=>(Component&&(context.originalStoryFn=()=>({Component,props:options&&"props"in options?options?.props:options})),await context.renderToCanvas(),context.canvas);var parameters={renderer:"svelte"};
|
|
11
|
+
|
|
12
|
+
export { IS_SVELTE_V4, decorateStory, entry_preview_exports, mount2 as mount, parameters, render, renderToCanvas };
|
|
@@ -15,6 +15,8 @@
|
|
|
15
15
|
props = {},
|
|
16
16
|
/** @type {{[string]: () => {}}} Attach svelte event handlers */
|
|
17
17
|
on,
|
|
18
|
+
/** @type {any} whether this level of the decorator chain is the last, ie. the actual story */
|
|
19
|
+
argTypes,
|
|
18
20
|
} = storyFn();
|
|
19
21
|
|
|
20
22
|
let firstTime = true;
|
|
@@ -29,20 +31,16 @@
|
|
|
29
31
|
Component,
|
|
30
32
|
props,
|
|
31
33
|
on,
|
|
34
|
+
argTypes,
|
|
32
35
|
};
|
|
33
36
|
}
|
|
34
37
|
return storyFn();
|
|
35
38
|
}
|
|
36
39
|
|
|
37
40
|
// reactive, re-render on storyFn change
|
|
38
|
-
$: ({ Component, props = {}, on } = getStoryFnValue(storyFn));
|
|
39
|
-
|
|
40
|
-
const eventsFromArgTypes = Object.fromEntries(
|
|
41
|
-
Object.entries(storyContext.argTypes)
|
|
42
|
-
.filter(([k, v]) => v.action && props[k] != null)
|
|
43
|
-
.map(([k, v]) => [v.action, props[k]])
|
|
44
|
-
);
|
|
41
|
+
$: ({ Component, props = {}, on, argTypes } = getStoryFnValue(storyFn));
|
|
45
42
|
|
|
43
|
+
// set the argTypes context, read by the last SlotDecorator that renders the original story
|
|
46
44
|
if (!Component) {
|
|
47
45
|
showError({
|
|
48
46
|
title: `Expecting a Svelte component from the story: "${name}" of "${title}".`,
|
|
@@ -55,4 +53,4 @@
|
|
|
55
53
|
}
|
|
56
54
|
</script>
|
|
57
55
|
|
|
58
|
-
<SlotDecorator {Component} {props}
|
|
56
|
+
<SlotDecorator {Component} {props} {on} {argTypes} />
|
|
@@ -6,20 +6,36 @@
|
|
|
6
6
|
export let Component;
|
|
7
7
|
export let props = {};
|
|
8
8
|
export let on = undefined;
|
|
9
|
+
export let argTypes = undefined;
|
|
9
10
|
|
|
10
11
|
let instance;
|
|
11
12
|
let decoratorInstance;
|
|
12
13
|
|
|
13
14
|
const svelteVersion = VERSION[0];
|
|
15
|
+
|
|
16
|
+
/*
|
|
17
|
+
Svelte Docgen will create argTypes for events with the name 'event_eventName'
|
|
18
|
+
The Actions addon will convert these to args because they are type: 'action'
|
|
19
|
+
We need to filter these args out so they are not passed to the component
|
|
20
|
+
*/
|
|
21
|
+
let propsWithoutDocgenEvents;
|
|
22
|
+
$: propsWithoutDocgenEvents = Object.fromEntries(
|
|
23
|
+
Object.entries(props).filter(([key]) => !key.startsWith('event_'))
|
|
24
|
+
);
|
|
14
25
|
|
|
15
|
-
if (
|
|
26
|
+
if (argTypes && svelteVersion < 5) {
|
|
27
|
+
const eventsFromArgTypes = Object.fromEntries(
|
|
28
|
+
Object.entries(argTypes)
|
|
29
|
+
.filter(([key, value]) => value.action && props[key] != null)
|
|
30
|
+
.map(([key, value]) => [value.action, props[key]])
|
|
31
|
+
);
|
|
16
32
|
// Attach Svelte event listeners in Svelte v4
|
|
17
33
|
// In Svelte v5 this is not possible anymore as instances are no longer classes with $on() properties, so it will be a no-op
|
|
18
34
|
onMount(() => {
|
|
19
|
-
Object.entries(on).forEach(([eventName, eventCallback]) => {
|
|
20
|
-
// instance can be undefined if a decorator doesn't have <slot/>
|
|
35
|
+
Object.entries({ ...eventsFromArgTypes, ...on }).forEach(([eventName, eventCallback]) => {
|
|
36
|
+
// instance can be undefined if a decorator doesn't have a <slot/>
|
|
21
37
|
const inst = instance ?? decoratorInstance;
|
|
22
|
-
inst?.$on?.(eventName, eventCallback)
|
|
38
|
+
inst?.$on?.(eventName, eventCallback);
|
|
23
39
|
});
|
|
24
40
|
});
|
|
25
41
|
}
|
|
@@ -27,8 +43,8 @@
|
|
|
27
43
|
|
|
28
44
|
{#if decorator}
|
|
29
45
|
<svelte:component this={decorator.Component} {...decorator.props} bind:this={decoratorInstance}>
|
|
30
|
-
<svelte:component this={Component} {...
|
|
46
|
+
<svelte:component this={Component} {...propsWithoutDocgenEvents} bind:this={instance} />
|
|
31
47
|
</svelte:component>
|
|
32
48
|
{:else}
|
|
33
|
-
<svelte:component this={Component} {...
|
|
49
|
+
<svelte:component this={Component} {...propsWithoutDocgenEvents} bind:this={instance} />
|
|
34
50
|
{/if}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Turns an object into reactive props in Svelte 5.
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
2
|
+
* Turns an object into reactive props in Svelte 5. Needs to be in a separate .svelte.js file to
|
|
3
|
+
* ensure Svelte compiles it. As proposed in
|
|
4
|
+
* https://github.com/sveltejs/svelte/issues/9827#issuecomment-1845589616
|
|
5
|
+
*
|
|
6
6
|
* @template TProps
|
|
7
7
|
* @param {TProps} data - The data to create Svelte 5 props from.
|
|
8
8
|
* @returns {TProps} - The created Svelte 5 props.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { DecoratorFunction, ArgTypesEnhancer } from 'storybook/internal/types';
|
|
2
1
|
import { ArgTypesExtractor } from 'storybook/internal/docs-tools';
|
|
2
|
+
import { DecoratorFunction, ArgTypesEnhancer } from 'storybook/internal/types';
|
|
3
3
|
import { S as SvelteRenderer } from './types-3695f681.js';
|
|
4
4
|
import 'svelte';
|
|
5
5
|
|
|
@@ -1,6 +1,6 @@
|
|
|
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_docs_exports={};__export(entry_preview_docs_exports,{argTypesEnhancers:()=>argTypesEnhancers,decorators:()=>decorators,parameters:()=>parameters});module.exports=__toCommonJS(entry_preview_docs_exports);var import_docs_tools2=require("storybook/internal/docs-tools");var import_client_logger=require("storybook/internal/client-logger");function hasKeyword(keyword,keywords){return keywords?keywords.find(k=>k.name===keyword)!=null:!1}var extractArgTypes=component=>{try{let docgen=component.__docgen;if(docgen)return createArgTypes(docgen)}catch(err){import_client_logger.logger.log(`Error extracting argTypes: ${err}`)}return{}},createArgTypes=docgen=>{let results={};return docgen.data&&docgen.data.forEach(item=>{results[item.name]={control:parseTypeToControl(item.type),name:item.name,description:item.description||void 0,type:{required:hasKeyword("required",item.keywords||[]),name:item.type?.text},table:{type:{summary:item.type?.text},defaultValue:{summary:item.defaultValue},category:"properties"}}}),docgen.events&&docgen.events.forEach(item=>{results[`event_${item.name}`]={name:item.name,action:item.name,control:!1,...item.description?{description:item.description}:{},table:{category:"events"}}}),docgen.slots&&docgen.slots.forEach(item=>{results[`slot_${item.name}`]={name:item.name,control:!1,description:[item.description,item.params?.map(p=>`\`${p.name}\``).join(" ")].filter(p=>p).join(`
|
|
2
2
|
|
|
3
|
-
`),table:{category:"slots"}}}),results},parseTypeToControl=type=>{if(!type)return null;if(type.kind==="type")switch(type.type){case"string":return{type:"text"};case"enum":return{type:"radio"};case"any":return{type:"object"};default:return{type:type.type}}else if(type.kind==="union"&&Array.isArray(type.type)&&!type.type.find(t=>t.type!=="string"))return{type:"radio",options:type.type.filter(t=>t.kind==="const").map(t=>t.value)};return null};function extractComponentDescription(component){if(!component)return"";let{__docgen={}}=component;return __docgen.description}var
|
|
3
|
+
`),table:{category:"slots"}}}),results},parseTypeToControl=type=>{if(!type)return null;if(type.kind==="type")switch(type.type){case"string":return{type:"text"};case"enum":return{type:"radio"};case"any":return{type:"object"};default:return{type:type.type}}else if(type.kind==="union"&&Array.isArray(type.type)&&!type.type.find(t=>t.type!=="string"))return{type:"radio",options:type.type.filter(t=>t.kind==="const").map(t=>t.value)};return null};function extractComponentDescription(component){if(!component)return"";let{__docgen={}}=component;return __docgen.description}var import_client_logger2=require("storybook/internal/client-logger"),import_docs_tools=require("storybook/internal/docs-tools"),import_preview_api=require("storybook/internal/preview-api"),skipSourceRender=context=>{let sourceParams=context?.parameters.docs?.source,isArgsStory=context?.parameters.__isArgsStory;return sourceParams?.type===import_docs_tools.SourceType.DYNAMIC?!1:!isArgsStory||sourceParams?.code||sourceParams?.type===import_docs_tools.SourceType.CODE};function toSvelteProperty(key,value,argTypes){if(value==null)return null;let argType=argTypes[key];return argType&&argType.defaultValue===value||argType&&argType.action?null:value===!0?key:typeof value=="string"?`${key}=${JSON.stringify(value)}`:typeof value=="function"?`${key}={<handler>}`:`${key}={${JSON.stringify(value)}}`}function getComponentName(component){if(component==null)return null;let{__docgen={}}=component,{name}=__docgen;return name?(name.endsWith(".svelte")&&(name=name.substring(0,name.length-7)),name):component.name}function generateSvelteSource(component,args,argTypes,slotProperty){let name=getComponentName(component);if(!name)return null;let propsArray=Object.entries(args).filter(([k])=>k!==slotProperty).map(([k,v])=>toSvelteProperty(k,v,argTypes)).filter(p=>p),props=propsArray.join(" "),multiline=props.length>50,slotValue=slotProperty?args[slotProperty]:null,srcStart=multiline?`<${name}
|
|
4
4
|
${propsArray.join(`
|
|
5
5
|
`)}`:`<${name} ${props}`;return slotValue?`${srcStart}>
|
|
6
6
|
${slotValue}
|
package/dist/entry-preview.js
CHANGED
|
@@ -1 +1 @@
|
|
|
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_exports={};__export(entry_preview_exports,{applyDecorators:()=>decorateStory,mount:()=>mount2,parameters:()=>parameters,render:()=>render,renderToCanvas:()=>renderToCanvas});module.exports=__toCommonJS(entry_preview_exports);var import_core_events=require("storybook/internal/core-events"),import_PreviewRender=__toESM(require("@storybook/svelte/internal/PreviewRender.svelte")),import_createSvelte5Props=require("@storybook/svelte/internal/createSvelte5Props"),
|
|
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_exports={};__export(entry_preview_exports,{applyDecorators:()=>decorateStory,mount:()=>mount2,parameters:()=>parameters,render:()=>render,renderToCanvas:()=>renderToCanvas});module.exports=__toCommonJS(entry_preview_exports);var import_core_events=require("storybook/internal/core-events"),import_preview_api=require("storybook/internal/preview-api"),import_PreviewRender=__toESM(require("@storybook/svelte/internal/PreviewRender.svelte")),import_createSvelte5Props=require("@storybook/svelte/internal/createSvelte5Props"),svelte=__toESM(require("svelte"));var import_compiler=require("svelte/compiler"),IS_SVELTE_V4=Number(import_compiler.VERSION[0])<=4;function renderToCanvas(renderContext,canvasElement){return IS_SVELTE_V4?renderToCanvasV4(renderContext,canvasElement):renderToCanvasV5(renderContext,canvasElement)}var storyIdsToRemountFromResetArgsEvent=new Set;import_preview_api.addons.getChannel().on(import_core_events.RESET_STORY_ARGS,({storyId})=>{storyIdsToRemountFromResetArgsEvent.add(storyId)});var componentsByDomElementV4=new Map;function renderToCanvasV4({storyFn,title,name,showMain,showError,storyContext,forceRemount},canvasElement){function unmount2(canvasElementToUnmount){componentsByDomElementV4.has(canvasElementToUnmount)&&(componentsByDomElementV4.get(canvasElementToUnmount).$destroy(),componentsByDomElementV4.delete(canvasElementToUnmount),canvasElementToUnmount.innerHTML="")}let existingComponent=componentsByDomElementV4.get(canvasElement),remount=forceRemount;if(storyIdsToRemountFromResetArgsEvent.has(storyContext.id)&&(remount=!0,storyIdsToRemountFromResetArgsEvent.delete(storyContext.id)),remount&&unmount2(canvasElement),!existingComponent||remount){let mountedComponent=new import_PreviewRender.default({target:canvasElement,props:{storyFn,storyContext,name,title,showError}});componentsByDomElementV4.set(canvasElement,mountedComponent)}else existingComponent.$set({storyFn,storyContext,name,title,showError});return showMain(),()=>{unmount2(canvasElement)}}var componentsByDomElementV5=new Map;function renderToCanvasV5({storyFn,title,name,showMain,showError,storyContext,forceRemount},canvasElement){function unmount2(canvasElementToUnmount){let{mountedComponent}=componentsByDomElementV5.get(canvasElementToUnmount)??{};mountedComponent&&(svelte.unmount(mountedComponent),componentsByDomElementV5.delete(canvasElementToUnmount))}let existingComponent=componentsByDomElementV5.get(canvasElement),remount=forceRemount;if(storyIdsToRemountFromResetArgsEvent.has(storyContext.id)&&(remount=!0,storyIdsToRemountFromResetArgsEvent.delete(storyContext.id)),remount&&unmount2(canvasElement),!existingComponent||remount){let props=(0,import_createSvelte5Props.createSvelte5Props)({storyFn,storyContext,name,title,showError}),mountedComponent=svelte.mount(import_PreviewRender.default,{target:canvasElement,props});componentsByDomElementV5.set(canvasElement,{mountedComponent,props})}else Object.assign(existingComponent.props,{storyFn,storyContext,name,title,showError});return showMain(),()=>{unmount2(canvasElement)}}var render=(args,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{Component,props:args}};var import_preview_api2=require("storybook/internal/preview-api"),import_SlotDecorator=__toESM(require("@storybook/svelte/internal/SlotDecorator.svelte"));function unWrap(obj){return obj&&typeof obj=="object"&&"default"in obj?obj.default:obj}function prepareStory(context,rawStory,rawInnerStory){let story=unWrap(rawStory),innerStory=rawInnerStory&&unWrap(rawInnerStory),preparedStory;return!story||Object.keys(story).length===0?preparedStory={Component:context.component}:story.Component?preparedStory=story:preparedStory={Component:story},innerStory?{Component:import_SlotDecorator.default,props:{...innerStory,decorator:preparedStory}}:{...preparedStory,argTypes:context.argTypes}}function decorateStory(storyFn,decorators){return decorators.reduce((decorated,decorator)=>context=>{let story,decoratedStory=decorator(update=>(story=decorated({...context,...(0,import_preview_api2.sanitizeStoryContextUpdate)(update)}),story),context);return story||(story=decorated(context)),decoratedStory===story?story:prepareStory(context,decoratedStory,story)},context=>prepareStory(context,storyFn(context)))}var mount2=context=>async(Component,options)=>(Component&&(context.originalStoryFn=()=>({Component,props:options&&"props"in options?options?.props:options})),await context.renderToCanvas(),context.canvas);var parameters={renderer:"svelte"};0&&(module.exports={applyDecorators,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, mount, parameters, render, renderToCanvas } from './chunk-2VFJ3RAK.mjs';
|
|
2
2
|
import './chunk-CEH6MNVV.mjs';
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Args, ComponentAnnotations, AnnotatedStoryFn, ArgsStoryFn, ArgsFromMeta, StoryAnnotations, StrictArgs, DecoratorFunction, LoaderFunction, StoryContext as StoryContext$1, ProjectAnnotations, NamedOrDefaultProjectAnnotations, StoryAnnotationsOrFn, Store_CSFExports, StoriesWithPartialProps, ComposedStoryFn } from 'storybook/internal/types';
|
|
1
|
+
import { Args, ComponentAnnotations, AnnotatedStoryFn, ArgsStoryFn, ArgsFromMeta, StoryAnnotations, StrictArgs, DecoratorFunction, LoaderFunction, StoryContext as StoryContext$1, ProjectAnnotations, NamedOrDefaultProjectAnnotations, NormalizedProjectAnnotations, StoryAnnotationsOrFn, Store_CSFExports, StoriesWithPartialProps, ComposedStoryFn } from 'storybook/internal/types';
|
|
2
2
|
export { ArgTypes, Args, Parameters, StrictArgs } from 'storybook/internal/types';
|
|
3
3
|
import { SvelteComponent, ComponentType, ComponentProps } from 'svelte';
|
|
4
4
|
import { Simplify, SetOptional } from 'type-fest';
|
|
@@ -40,33 +40,37 @@ type ComposedStory<TArgs extends Args = any> = ComposedStoryFn<SvelteRenderer, T
|
|
|
40
40
|
type MapToComposed<TModule> = {
|
|
41
41
|
[K in keyof TModule]: TModule[K] extends StoryAnnotationsOrFn<SvelteRenderer, infer TArgs extends Args> ? ComposedStory<TArgs> : never;
|
|
42
42
|
};
|
|
43
|
-
/**
|
|
43
|
+
/**
|
|
44
|
+
* Function that sets the globalConfig of your storybook. The global config is the preview module of
|
|
45
|
+
* your .storybook folder.
|
|
44
46
|
*
|
|
45
|
-
* It should be run a single time, so that your global config (e.g. decorators) is applied to your
|
|
47
|
+
* It should be run a single time, so that your global config (e.g. decorators) is applied to your
|
|
48
|
+
* stories when using `composeStories` or `composeStory`.
|
|
46
49
|
*
|
|
47
50
|
* Example:
|
|
48
|
-
|
|
49
|
-
*
|
|
51
|
+
*
|
|
52
|
+
* ```jsx
|
|
53
|
+
* // setup-file.js
|
|
50
54
|
* import { setProjectAnnotations } from '@storybook/svelte';
|
|
51
55
|
* import projectAnnotations from './.storybook/preview';
|
|
52
56
|
*
|
|
53
57
|
* setProjectAnnotations(projectAnnotations);
|
|
54
|
-
|
|
58
|
+
* ```
|
|
55
59
|
*
|
|
56
|
-
* @param projectAnnotations -
|
|
60
|
+
* @param projectAnnotations - E.g. (import projectAnnotations from '../.storybook/preview')
|
|
57
61
|
*/
|
|
58
|
-
declare function setProjectAnnotations(projectAnnotations: NamedOrDefaultProjectAnnotations<
|
|
62
|
+
declare function setProjectAnnotations(projectAnnotations: NamedOrDefaultProjectAnnotations<any> | NamedOrDefaultProjectAnnotations<any>[]): NormalizedProjectAnnotations<SvelteRenderer>;
|
|
59
63
|
declare const INTERNAL_DEFAULT_PROJECT_ANNOTATIONS: ProjectAnnotations<SvelteRenderer>;
|
|
60
64
|
/**
|
|
61
65
|
* Function that will receive a story along with meta (e.g. a default export from a .stories file)
|
|
62
|
-
* and optionally projectAnnotations e.g. (import * from '../.storybook/preview)
|
|
63
|
-
*
|
|
64
|
-
*
|
|
66
|
+
* and optionally projectAnnotations e.g. (import * from '../.storybook/preview) and will return a
|
|
67
|
+
* composed component that has all args/parameters/decorators/etc combined and applied to it.
|
|
65
68
|
*
|
|
66
69
|
* It's very useful for reusing a story in scenarios outside of Storybook like unit testing.
|
|
67
70
|
*
|
|
68
71
|
* Example:
|
|
69
|
-
|
|
72
|
+
*
|
|
73
|
+
* ```jsx
|
|
70
74
|
* import { render } from '@testing-library/svelte';
|
|
71
75
|
* import { composeStory } from '@storybook/svelte';
|
|
72
76
|
* import Meta, { Primary as PrimaryStory } from './Button.stories';
|
|
@@ -77,24 +81,26 @@ declare const INTERNAL_DEFAULT_PROJECT_ANNOTATIONS: ProjectAnnotations<SvelteRen
|
|
|
77
81
|
* const { getByText } = render(Primary, { label: 'Hello world' });
|
|
78
82
|
* expect(getByText(/Hello world/i)).not.toBeNull();
|
|
79
83
|
* });
|
|
80
|
-
|
|
84
|
+
* ```
|
|
81
85
|
*
|
|
82
86
|
* @param story
|
|
83
|
-
* @param componentAnnotations -
|
|
84
|
-
* @param [projectAnnotations] -
|
|
85
|
-
*
|
|
87
|
+
* @param componentAnnotations - E.g. (import Meta from './Button.stories')
|
|
88
|
+
* @param [projectAnnotations] - E.g. (import * as projectAnnotations from '../.storybook/preview')
|
|
89
|
+
* this can be applied automatically if you use `setProjectAnnotations` in your setup files.
|
|
90
|
+
* @param [exportsName] - In case your story does not contain a name and you want it to have a name.
|
|
86
91
|
*/
|
|
87
92
|
declare function composeStory<TArgs extends Args = Args>(story: StoryAnnotationsOrFn<SvelteRenderer, TArgs>, componentAnnotations: Meta<TArgs | any>, projectAnnotations?: ProjectAnnotations<SvelteRenderer>, exportsName?: string): ComposedStory<TArgs>;
|
|
88
93
|
/**
|
|
89
94
|
* Function that will receive a stories import (e.g. `import * as stories from './Button.stories'`)
|
|
90
|
-
* and optionally projectAnnotations (e.g. `import * from '../.storybook/preview`)
|
|
91
|
-
*
|
|
92
|
-
*
|
|
95
|
+
* and optionally projectAnnotations (e.g. `import * from '../.storybook/preview`) and will return
|
|
96
|
+
* an object containing all the stories passed, but now as a composed component that has all
|
|
97
|
+
* args/parameters/decorators/etc combined and applied to it.
|
|
93
98
|
*
|
|
94
99
|
* It's very useful for reusing stories in scenarios outside of Storybook like unit testing.
|
|
95
100
|
*
|
|
96
101
|
* Example:
|
|
97
|
-
|
|
102
|
+
*
|
|
103
|
+
* ```jsx
|
|
98
104
|
* import { render } from '@testing-library/svelte';
|
|
99
105
|
* import { composeStories } from '@storybook/svelte';
|
|
100
106
|
* import * as stories from './Button.stories';
|
|
@@ -105,10 +111,11 @@ declare function composeStory<TArgs extends Args = Args>(story: StoryAnnotations
|
|
|
105
111
|
* const { getByText } = render(Primary, { label: 'Hello world' });
|
|
106
112
|
* expect(getByText(/Hello world/i)).not.toBeNull();
|
|
107
113
|
* });
|
|
108
|
-
|
|
114
|
+
* ```
|
|
109
115
|
*
|
|
110
|
-
* @param csfExports -
|
|
111
|
-
* @param [projectAnnotations] -
|
|
116
|
+
* @param csfExports - E.g. (import * as stories from './Button.stories')
|
|
117
|
+
* @param [projectAnnotations] - E.g. (import * as projectAnnotations from '../.storybook/preview')
|
|
118
|
+
* this can be applied automatically if you use `setProjectAnnotations` in your setup files.
|
|
112
119
|
*/
|
|
113
120
|
declare function composeStories<TModule extends Store_CSFExports<SvelteRenderer, any>>(csfExports: TModule, projectAnnotations?: ProjectAnnotations<SvelteRenderer>): Omit<MapToComposed<StoriesWithPartialProps<SvelteRenderer<PreviewRender<any, any, any>>, TModule>>, keyof Store_CSFExports>;
|
|
114
121
|
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
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 src_exports={};__export(src_exports,{INTERNAL_DEFAULT_PROJECT_ANNOTATIONS:()=>INTERNAL_DEFAULT_PROJECT_ANNOTATIONS,composeStories:()=>composeStories,composeStory:()=>composeStory,setProjectAnnotations:()=>setProjectAnnotations});module.exports=__toCommonJS(src_exports);globalThis.STORYBOOK_ENV="svelte";var import_preview_api3=require("storybook/internal/preview-api");var entry_preview_exports={};__export(entry_preview_exports,{applyDecorators:()=>decorateStory,mount:()=>mount2,parameters:()=>parameters,render:()=>render,renderToCanvas:()=>renderToCanvas});var import_core_events=require("storybook/internal/core-events"),import_PreviewRender=__toESM(require("@storybook/svelte/internal/PreviewRender.svelte")),import_createSvelte5Props=require("@storybook/svelte/internal/createSvelte5Props"),
|
|
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 src_exports={};__export(src_exports,{INTERNAL_DEFAULT_PROJECT_ANNOTATIONS:()=>INTERNAL_DEFAULT_PROJECT_ANNOTATIONS,composeStories:()=>composeStories,composeStory:()=>composeStory,setProjectAnnotations:()=>setProjectAnnotations});module.exports=__toCommonJS(src_exports);globalThis.STORYBOOK_ENV="svelte";var import_preview_api3=require("storybook/internal/preview-api"),import_PreviewRender2=__toESM(require("@storybook/svelte/internal/PreviewRender.svelte")),import_createSvelte5Props2=require("@storybook/svelte/internal/createSvelte5Props");var entry_preview_exports={};__export(entry_preview_exports,{applyDecorators:()=>decorateStory,mount:()=>mount2,parameters:()=>parameters,render:()=>render,renderToCanvas:()=>renderToCanvas});var import_core_events=require("storybook/internal/core-events"),import_preview_api=require("storybook/internal/preview-api"),import_PreviewRender=__toESM(require("@storybook/svelte/internal/PreviewRender.svelte")),import_createSvelte5Props=require("@storybook/svelte/internal/createSvelte5Props"),svelte=__toESM(require("svelte"));var import_compiler=require("svelte/compiler"),IS_SVELTE_V4=Number(import_compiler.VERSION[0])<=4;function renderToCanvas(renderContext,canvasElement){return IS_SVELTE_V4?renderToCanvasV4(renderContext,canvasElement):renderToCanvasV5(renderContext,canvasElement)}var storyIdsToRemountFromResetArgsEvent=new Set;import_preview_api.addons.getChannel().on(import_core_events.RESET_STORY_ARGS,({storyId})=>{storyIdsToRemountFromResetArgsEvent.add(storyId)});var componentsByDomElementV4=new Map;function renderToCanvasV4({storyFn,title,name,showMain,showError,storyContext,forceRemount},canvasElement){function unmount2(canvasElementToUnmount){componentsByDomElementV4.has(canvasElementToUnmount)&&(componentsByDomElementV4.get(canvasElementToUnmount).$destroy(),componentsByDomElementV4.delete(canvasElementToUnmount),canvasElementToUnmount.innerHTML="")}let existingComponent=componentsByDomElementV4.get(canvasElement),remount=forceRemount;if(storyIdsToRemountFromResetArgsEvent.has(storyContext.id)&&(remount=!0,storyIdsToRemountFromResetArgsEvent.delete(storyContext.id)),remount&&unmount2(canvasElement),!existingComponent||remount){let mountedComponent=new import_PreviewRender.default({target:canvasElement,props:{storyFn,storyContext,name,title,showError}});componentsByDomElementV4.set(canvasElement,mountedComponent)}else existingComponent.$set({storyFn,storyContext,name,title,showError});return showMain(),()=>{unmount2(canvasElement)}}var componentsByDomElementV5=new Map;function renderToCanvasV5({storyFn,title,name,showMain,showError,storyContext,forceRemount},canvasElement){function unmount2(canvasElementToUnmount){let{mountedComponent}=componentsByDomElementV5.get(canvasElementToUnmount)??{};mountedComponent&&(svelte.unmount(mountedComponent),componentsByDomElementV5.delete(canvasElementToUnmount))}let existingComponent=componentsByDomElementV5.get(canvasElement),remount=forceRemount;if(storyIdsToRemountFromResetArgsEvent.has(storyContext.id)&&(remount=!0,storyIdsToRemountFromResetArgsEvent.delete(storyContext.id)),remount&&unmount2(canvasElement),!existingComponent||remount){let props=(0,import_createSvelte5Props.createSvelte5Props)({storyFn,storyContext,name,title,showError}),mountedComponent=svelte.mount(import_PreviewRender.default,{target:canvasElement,props});componentsByDomElementV5.set(canvasElement,{mountedComponent,props})}else Object.assign(existingComponent.props,{storyFn,storyContext,name,title,showError});return showMain(),()=>{unmount2(canvasElement)}}var render=(args,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{Component,props:args}};var import_preview_api2=require("storybook/internal/preview-api"),import_SlotDecorator=__toESM(require("@storybook/svelte/internal/SlotDecorator.svelte"));function unWrap(obj){return obj&&typeof obj=="object"&&"default"in obj?obj.default:obj}function prepareStory(context,rawStory,rawInnerStory){let story=unWrap(rawStory),innerStory=rawInnerStory&&unWrap(rawInnerStory),preparedStory;return!story||Object.keys(story).length===0?preparedStory={Component:context.component}:story.Component?preparedStory=story:preparedStory={Component:story},innerStory?{Component:import_SlotDecorator.default,props:{...innerStory,decorator:preparedStory}}:{...preparedStory,argTypes:context.argTypes}}function decorateStory(storyFn,decorators){return decorators.reduce((decorated,decorator)=>context=>{let story,decoratedStory=decorator(update=>(story=decorated({...context,...(0,import_preview_api2.sanitizeStoryContextUpdate)(update)}),story),context);return story||(story=decorated(context)),decoratedStory===story?story:prepareStory(context,decoratedStory,story)},context=>prepareStory(context,storyFn(context)))}var mount2=context=>async(Component,options)=>(Component&&(context.originalStoryFn=()=>({Component,props:options&&"props"in options?options?.props:options})),await context.renderToCanvas(),context.canvas);var parameters={renderer:"svelte"};function setProjectAnnotations(projectAnnotations){return(0,import_preview_api3.setDefaultProjectAnnotations)(INTERNAL_DEFAULT_PROJECT_ANNOTATIONS),(0,import_preview_api3.setProjectAnnotations)(projectAnnotations)}var INTERNAL_DEFAULT_PROJECT_ANNOTATIONS={...entry_preview_exports,renderToCanvas:(renderContext,canvasElement)=>{if(renderContext.storyContext.testingLibraryRender==null)return renderToCanvas(renderContext,canvasElement);let{storyFn,storyContext:{testingLibraryRender:render2}}=renderContext,{Component,props}=storyFn(),{unmount:unmount2}=render2(Component,{props,target:canvasElement});return unmount2}};function composeStory(story,componentAnnotations,projectAnnotations,exportsName){let composedStory=(0,import_preview_api3.composeStory)(story,componentAnnotations,projectAnnotations,INTERNAL_DEFAULT_PROJECT_ANNOTATIONS,exportsName),props={storyFn:composedStory,storyContext:{...composedStory},name:composedStory.storyName,title:composedStory.id,showError:()=>{}};IS_SVELTE_V4||(props=(0,import_createSvelte5Props2.createSvelte5Props)(props));let renderable={Component:import_PreviewRender2.default,props};return Object.assign(renderable,composedStory),renderable}function composeStories(csfExports,projectAnnotations){return(0,import_preview_api3.composeStories)(csfExports,projectAnnotations,composeStory)}typeof module<"u"&&module?.hot?.decline();0&&(module.exports={INTERNAL_DEFAULT_PROJECT_ANNOTATIONS,composeStories,composeStory,setProjectAnnotations});
|
package/dist/index.mjs
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import { entry_preview_exports, IS_SVELTE_V4 } from './chunk-
|
|
1
|
+
import { entry_preview_exports, renderToCanvas, IS_SVELTE_V4 } from './chunk-2VFJ3RAK.mjs';
|
|
2
2
|
import './chunk-CEH6MNVV.mjs';
|
|
3
|
-
import { setProjectAnnotations as setProjectAnnotations$1, composeStory as composeStory$1, composeStories as composeStories$1 } from 'storybook/internal/preview-api';
|
|
3
|
+
import { setDefaultProjectAnnotations, setProjectAnnotations as setProjectAnnotations$1, composeStory as composeStory$1, composeStories as composeStories$1 } from 'storybook/internal/preview-api';
|
|
4
4
|
import PreviewRender from '@storybook/svelte/internal/PreviewRender.svelte';
|
|
5
5
|
import { createSvelte5Props } from '@storybook/svelte/internal/createSvelte5Props';
|
|
6
|
-
import { TestingLibraryMustBeConfiguredError } from 'storybook/internal/preview-errors';
|
|
7
6
|
|
|
8
|
-
globalThis.STORYBOOK_ENV="svelte";function setProjectAnnotations(projectAnnotations){return setProjectAnnotations$1(projectAnnotations)}var INTERNAL_DEFAULT_PROJECT_ANNOTATIONS={...entry_preview_exports,renderToCanvas:(
|
|
7
|
+
globalThis.STORYBOOK_ENV="svelte";function setProjectAnnotations(projectAnnotations){return setDefaultProjectAnnotations(INTERNAL_DEFAULT_PROJECT_ANNOTATIONS),setProjectAnnotations$1(projectAnnotations)}var INTERNAL_DEFAULT_PROJECT_ANNOTATIONS={...entry_preview_exports,renderToCanvas:(renderContext,canvasElement)=>{if(renderContext.storyContext.testingLibraryRender==null)return renderToCanvas(renderContext,canvasElement);let{storyFn,storyContext:{testingLibraryRender:render}}=renderContext,{Component,props}=storyFn(),{unmount}=render(Component,{props,target:canvasElement});return unmount}};function composeStory(story,componentAnnotations,projectAnnotations,exportsName){let composedStory=composeStory$1(story,componentAnnotations,projectAnnotations,INTERNAL_DEFAULT_PROJECT_ANNOTATIONS,exportsName),props={storyFn:composedStory,storyContext:{...composedStory},name:composedStory.storyName,title:composedStory.id,showError:()=>{}};IS_SVELTE_V4||(props=createSvelte5Props(props));let renderable={Component:PreviewRender,props};return Object.assign(renderable,composedStory),renderable}function composeStories(csfExports,projectAnnotations){return composeStories$1(csfExports,projectAnnotations,composeStory)}typeof module<"u"&&module?.hot?.decline();
|
|
9
8
|
|
|
10
9
|
export { INTERNAL_DEFAULT_PROJECT_ANNOTATIONS, composeStories, composeStory, setProjectAnnotations };
|
package/dist/preset.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 preset_exports={};__export(preset_exports,{previewAnnotations:()=>previewAnnotations});module.exports=__toCommonJS(preset_exports);var
|
|
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 preset_exports={};__export(preset_exports,{previewAnnotations:()=>previewAnnotations});module.exports=__toCommonJS(preset_exports);var import_node_path=require("path"),previewAnnotations=async(input=[],options)=>{let docsEnabled=Object.keys(await options.presets.apply("docs",{},options)).length>0;return[].concat(input).concat([(0,import_node_path.join)(__dirname,"entry-preview.mjs")]).concat(docsEnabled?[(0,import_node_path.join)(__dirname,"entry-preview-docs.mjs")]:[])};0&&(module.exports={previewAnnotations});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@storybook/svelte",
|
|
3
|
-
"version": "8.3.0-alpha.
|
|
3
|
+
"version": "8.3.0-alpha.11",
|
|
4
4
|
"description": "Storybook Svelte renderer",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"storybook"
|
|
@@ -23,14 +23,12 @@
|
|
|
23
23
|
".": {
|
|
24
24
|
"types": "./dist/index.d.ts",
|
|
25
25
|
"import": "./dist/index.mjs",
|
|
26
|
-
"require": "./dist/index.js"
|
|
27
|
-
"node": "./dist/index.js"
|
|
26
|
+
"require": "./dist/index.js"
|
|
28
27
|
},
|
|
29
28
|
"./experimental-playwright": {
|
|
30
29
|
"types": "./dist/playwright.d.ts",
|
|
31
30
|
"import": "./dist/playwright.mjs",
|
|
32
|
-
"require": "./dist/playwright.js"
|
|
33
|
-
"node": "./dist/playwright.js"
|
|
31
|
+
"require": "./dist/playwright.js"
|
|
34
32
|
},
|
|
35
33
|
"./preset": "./preset.js",
|
|
36
34
|
"./dist/entry-preview.mjs": "./dist/entry-preview.mjs",
|
|
@@ -54,21 +52,20 @@
|
|
|
54
52
|
],
|
|
55
53
|
"scripts": {
|
|
56
54
|
"check": "svelte-check",
|
|
57
|
-
"prep": "
|
|
55
|
+
"prep": "jiti ../../../scripts/prepare/bundle.ts"
|
|
58
56
|
},
|
|
59
57
|
"dependencies": {
|
|
60
|
-
"@storybook/components": "^8.3.0-alpha.
|
|
58
|
+
"@storybook/components": "^8.3.0-alpha.11",
|
|
61
59
|
"@storybook/global": "^5.0.0",
|
|
62
|
-
"@storybook/manager-api": "^8.3.0-alpha.
|
|
63
|
-
"@storybook/preview-api": "^8.3.0-alpha.
|
|
64
|
-
"@storybook/theming": "^8.3.0-alpha.
|
|
60
|
+
"@storybook/manager-api": "^8.3.0-alpha.11",
|
|
61
|
+
"@storybook/preview-api": "^8.3.0-alpha.11",
|
|
62
|
+
"@storybook/theming": "^8.3.0-alpha.11",
|
|
65
63
|
"sveltedoc-parser": "^4.2.1",
|
|
66
64
|
"ts-dedent": "^2.0.0",
|
|
67
65
|
"type-fest": "~2.19"
|
|
68
66
|
},
|
|
69
67
|
"devDependencies": {
|
|
70
68
|
"@sveltejs/vite-plugin-svelte": "^3.0.2",
|
|
71
|
-
"@testing-library/jest-dom": "^6.4.1",
|
|
72
69
|
"@testing-library/svelte": "patch:@testing-library/svelte@npm%3A4.1.0#~/.yarn/patches/@testing-library-svelte-npm-4.1.0-34b7037bc0.patch",
|
|
73
70
|
"expect-type": "^0.15.0",
|
|
74
71
|
"fs-extra": "^11.1.0",
|
|
@@ -77,7 +74,7 @@
|
|
|
77
74
|
"typescript": "^5.3.2"
|
|
78
75
|
},
|
|
79
76
|
"peerDependencies": {
|
|
80
|
-
"storybook": "^8.3.0-alpha.
|
|
77
|
+
"storybook": "^8.3.0-alpha.11",
|
|
81
78
|
"svelte": "^4.0.0 || ^5.0.0-next.65"
|
|
82
79
|
},
|
|
83
80
|
"engines": {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { global as globalThis } from '@storybook/global';
|
|
2
2
|
|
|
3
3
|
import Button from './Button.svelte';
|
|
4
|
-
import Pre from './Pre.svelte';
|
|
5
4
|
import Form from './Form.svelte';
|
|
6
5
|
import Html from './Html.svelte';
|
|
6
|
+
import Pre from './Pre.svelte';
|
|
7
7
|
|
|
8
8
|
globalThis.Components = { Button, Pre, Form, Html };
|
|
9
9
|
globalThis.storybookRenderer = 'svelte';
|
|
@@ -1,14 +1,17 @@
|
|
|
1
|
-
import { within, userEvent, waitFor, expect } from '@storybook/test';
|
|
2
1
|
import {
|
|
3
|
-
UPDATE_STORY_ARGS,
|
|
4
2
|
RESET_STORY_ARGS,
|
|
5
3
|
STORY_RENDERED,
|
|
4
|
+
UPDATE_STORY_ARGS,
|
|
6
5
|
} from 'storybook/internal/core-events';
|
|
7
6
|
import { addons } from 'storybook/internal/preview-api';
|
|
7
|
+
|
|
8
|
+
import { expect, userEvent, waitFor, within } from '@storybook/test';
|
|
9
|
+
|
|
8
10
|
import ButtonView from './views/ButtonJavaScript.svelte';
|
|
9
11
|
|
|
10
12
|
export default {
|
|
11
13
|
component: ButtonView,
|
|
14
|
+
tags: ['!vitest'],
|
|
12
15
|
};
|
|
13
16
|
|
|
14
17
|
export const RemountOnResetStoryArgs = {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import ButtonView from './views/ButtonJavaScript.svelte';
|
|
2
|
-
import BorderDecoratorRed from './views/BorderDecoratorRed.svelte';
|
|
3
1
|
import BorderDecoratorBlue from './views/BorderDecoratorBlue.svelte';
|
|
4
2
|
import BorderDecoratorProps from './views/BorderDecoratorProps.svelte';
|
|
3
|
+
import BorderDecoratorRed from './views/BorderDecoratorRed.svelte';
|
|
4
|
+
import ButtonView from './views/ButtonJavaScript.svelte';
|
|
5
5
|
|
|
6
6
|
export default {
|
|
7
7
|
component: ButtonView,
|
package/dist/chunk-Y3ABEGE3.mjs
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { __export } from './chunk-CEH6MNVV.mjs';
|
|
2
|
-
import { RESET_STORY_ARGS } from 'storybook/internal/core-events';
|
|
3
|
-
import PreviewRender from '@storybook/svelte/internal/PreviewRender.svelte';
|
|
4
|
-
import { createSvelte5Props } from '@storybook/svelte/internal/createSvelte5Props';
|
|
5
|
-
import { addons, sanitizeStoryContextUpdate } from 'storybook/internal/preview-api';
|
|
6
|
-
import * as svelte from 'svelte';
|
|
7
|
-
import { VERSION } from 'svelte/compiler';
|
|
8
|
-
import SlotDecorator from '@storybook/svelte/internal/SlotDecorator.svelte';
|
|
9
|
-
|
|
10
|
-
var entry_preview_exports={};__export(entry_preview_exports,{applyDecorators:()=>decorateStory,mount:()=>mount2,parameters:()=>parameters,render:()=>render,renderToCanvas:()=>renderToCanvas});var IS_SVELTE_V4=Number(VERSION[0])<=4;function renderToCanvas(renderContext,canvasElement){return IS_SVELTE_V4?renderToCanvasV4(renderContext,canvasElement):renderToCanvasV5(renderContext,canvasElement)}var storyIdsToRemountFromResetArgsEvent=new Set;addons.getChannel().on(RESET_STORY_ARGS,({storyId})=>{storyIdsToRemountFromResetArgsEvent.add(storyId);});var componentsByDomElementV4=new Map;function renderToCanvasV4({storyFn,title,name,showMain,showError,storyContext,forceRemount},canvasElement){function unmount2(canvasElementToUnmount){componentsByDomElementV4.has(canvasElementToUnmount)&&(componentsByDomElementV4.get(canvasElementToUnmount).$destroy(),componentsByDomElementV4.delete(canvasElementToUnmount),canvasElementToUnmount.innerHTML="");}let existingComponent=componentsByDomElementV4.get(canvasElement),remount=forceRemount;if(storyIdsToRemountFromResetArgsEvent.has(storyContext.id)&&(remount=!0,storyIdsToRemountFromResetArgsEvent.delete(storyContext.id)),remount&&unmount2(canvasElement),!existingComponent||remount){let mountedComponent=new PreviewRender({target:canvasElement,props:{svelteVersion:4,storyFn,storyContext,name,title,showError}});componentsByDomElementV4.set(canvasElement,mountedComponent);}else existingComponent.$set({storyFn,storyContext,name,title,showError});return showMain(),()=>{unmount2(canvasElement);}}var componentsByDomElementV5=new Map;function renderToCanvasV5({storyFn,title,name,showMain,showError,storyContext,forceRemount},canvasElement){function unmount2(canvasElementToUnmount){let{mountedComponent}=componentsByDomElementV5.get(canvasElementToUnmount)??{};mountedComponent&&(svelte.unmount(mountedComponent),componentsByDomElementV5.delete(canvasElementToUnmount));}let existingComponent=componentsByDomElementV5.get(canvasElement),remount=forceRemount;if(storyIdsToRemountFromResetArgsEvent.has(storyContext.id)&&(remount=!0,storyIdsToRemountFromResetArgsEvent.delete(storyContext.id)),remount&&unmount2(canvasElement),!existingComponent||remount){let props=createSvelte5Props({storyFn,storyContext,name,title,showError,svelteVersion:5}),mountedComponent=svelte.mount(PreviewRender,{target:canvasElement,props});componentsByDomElementV5.set(canvasElement,{mountedComponent,props});}else Object.assign(existingComponent.props,{storyFn,storyContext,name,title,showError});return showMain(),()=>{unmount2(canvasElement);}}var render=(args,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 {Component,props:args}};function unWrap(obj){return obj&&typeof obj=="object"&&"default"in obj?obj.default:obj}function prepareStory(context,rawStory,rawInnerStory){let story=unWrap(rawStory),innerStory=rawInnerStory&&unWrap(rawInnerStory),preparedStory;return !story||Object.keys(story).length===0?preparedStory={Component:context.component}:story.Component?preparedStory=story:preparedStory={Component:story},innerStory?{Component:SlotDecorator,props:{...innerStory,decorator:preparedStory}}:preparedStory}function decorateStory(storyFn,decorators){return decorators.reduce((decorated,decorator)=>context=>{let story,decoratedStory=decorator(update=>(story=decorated({...context,...sanitizeStoryContextUpdate(update)}),story),context);return story||(story=decorated(context)),decoratedStory===story?story:prepareStory(context,decoratedStory,story)},context=>prepareStory(context,storyFn(context)))}var mount2=context=>async(Component,options)=>(Component&&(context.originalStoryFn=()=>({Component,props:options&&"props"in options?options?.props:options})),await context.renderToCanvas(),context.canvas);var parameters={renderer:"svelte"};
|
|
11
|
-
|
|
12
|
-
export { IS_SVELTE_V4, decorateStory, entry_preview_exports, mount2 as mount, parameters, render, renderToCanvas };
|