@storybook/server 7.0.0-alpha.5 → 7.0.0-alpha.50
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-7RUX3CMH.mjs +4 -0
- package/dist/config.d.ts +11 -0
- package/dist/config.js +4 -0
- package/dist/config.mjs +1 -0
- package/dist/index.d.ts +17 -0
- package/dist/index.js +4 -0
- package/dist/index.mjs +1 -0
- package/dist/public-types-33854640.d.ts +42 -0
- package/jest.config.js +7 -0
- package/package.json +40 -12
- package/preview.js +1 -1
- package/template/cli/button.stories.json +32 -0
- package/template/cli/header.stories.json +15 -0
- package/template/cli/page.stories.json +15 -0
- package/LICENSE +0 -21
- package/dist/cjs/index.js +0 -60
- package/dist/cjs/preview/config.js +0 -25
- package/dist/cjs/preview/globals.js +0 -10
- package/dist/cjs/preview/index.js +0 -47
- package/dist/cjs/preview/render.js +0 -113
- package/dist/cjs/preview/types.js +0 -5
- package/dist/esm/index.js +0 -3
- package/dist/esm/preview/config.js +0 -4
- package/dist/esm/preview/globals.js +0 -5
- package/dist/esm/preview/index.js +0 -24
- package/dist/esm/preview/render.js +0 -97
- package/dist/esm/preview/types.js +0 -1
- package/dist/types/index.d.ts +0 -1
- package/dist/types/preview/config.d.ts +0 -4
- package/dist/types/preview/globals.d.ts +0 -1
- package/dist/types/preview/index.d.ts +0 -20
- package/dist/types/preview/render.d.ts +0 -5
- package/dist/types/preview/types.d.ts +0 -20
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import b from"global";import{dedent as L}from"ts-dedent";import{simulatePageLoad as w,simulateDOMContentLoaded as A}from"@storybook/preview-web";var{fetch:C,Node:H}=b,R=async(r,o,e,t)=>{let n=new URL(`${r}/${o}`);return n.search=new URLSearchParams({...t.globals,...e}).toString(),(await C(n)).text()},x=(r,o)=>{let e={...r};return Object.keys(o).forEach(t=>{let n=o[t],{control:s}=n,a=s&&s.type.toLowerCase(),p=e[t];switch(a){case"date":e[t]=new Date(p).toISOString();break;case"object":e[t]=JSON.stringify(p);break;default:}}),e},D=r=>{};async function U({id:r,title:o,name:e,showMain:t,showError:n,forceRemount:s,storyFn:a,storyContext:p,storyContext:{parameters:y,args:d,argTypes:f}},i){a();let l=x(d,f),{server:{url:g,id:m,fetchStoryHtml:h=R,params:S}}=y,u=m||r,T={...S,...l},c=await h(g,u,T,p);if(t(),typeof c=="string")i.innerHTML=c,w(i);else if(c instanceof H){if(i.firstChild===c&&s===!1)return;i.innerHTML="",i.appendChild(c),A()}else n({title:`Expecting an HTML snippet or DOM node from the story: "${e}" of "${o}".`,description:L`
|
|
2
|
+
Did you forget to return the HTML snippet from the story?
|
|
3
|
+
Use "() => <your snippet or node>" or when defining the story.
|
|
4
|
+
`})}export{D as a,U as b};
|
package/dist/config.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Store_RenderContext } from '@storybook/types';
|
|
2
|
+
import { a as StoryFn, S as ServerRenderer } from './public-types-33854640.js';
|
|
3
|
+
|
|
4
|
+
declare const render: StoryFn<ServerRenderer>;
|
|
5
|
+
declare function renderToCanvas({ id, title, name, showMain, showError, forceRemount, storyFn, storyContext, storyContext: { parameters, args, argTypes }, }: Store_RenderContext<ServerRenderer>, canvasElement: ServerRenderer['canvasElement']): Promise<void>;
|
|
6
|
+
|
|
7
|
+
declare const parameters: {
|
|
8
|
+
framework: "server";
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
export { parameters, render, renderToCanvas };
|
package/dist/config.js
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
var R=Object.create;var p=Object.defineProperty;var M=Object.getOwnPropertyDescriptor;var v=Object.getOwnPropertyNames;var F=Object.getPrototypeOf,O=Object.prototype.hasOwnProperty;var D=(e,r)=>{for(var t in r)p(e,t,{get:r[t],enumerable:!0})},f=(e,r,t,s)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of v(r))!O.call(e,o)&&o!==t&&p(e,o,{get:()=>r[o],enumerable:!(s=M(r,o))||s.enumerable});return e};var U=(e,r,t)=>(t=e!=null?R(F(e)):{},f(r||!e||!e.__esModule?p(t,"default",{value:e,enumerable:!0}):t,e)),$=e=>f(p({},"__esModule",{value:!0}),e);var _={};D(_,{parameters:()=>N,render:()=>g,renderToCanvas:()=>h});module.exports=$(_);var m=U(require("global")),l=require("ts-dedent"),y=require("@storybook/preview-web"),{fetch:I,Node:P}=m.default,j=async(e,r,t,s)=>{let o=new URL(`${e}/${r}`);return o.search=new URLSearchParams({...s.globals,...t}).toString(),(await I(o)).text()},k=(e,r)=>{let t={...e};return Object.keys(r).forEach(s=>{let o=r[s],{control:n}=o,d=n&&n.type.toLowerCase(),c=t[s];switch(d){case"date":t[s]=new Date(c).toISOString();break;case"object":t[s]=JSON.stringify(c);break;default:}}),t},g=e=>{};async function h({id:e,title:r,name:t,showMain:s,showError:o,forceRemount:n,storyFn:d,storyContext:c,storyContext:{parameters:S,args:u,argTypes:T}},a){d();let b=k(u,T),{server:{url:w,id:x,fetchStoryHtml:C=j,params:L}}=S,A=x||e,H={...L,...b},i=await C(w,A,H,c);if(s(),typeof i=="string")a.innerHTML=i,(0,y.simulatePageLoad)(a);else if(i instanceof P){if(a.firstChild===i&&n===!1)return;a.innerHTML="",a.appendChild(i),(0,y.simulateDOMContentLoaded)()}else o({title:`Expecting an HTML snippet or DOM node from the story: "${t}" of "${r}".`,description:l.dedent`
|
|
2
|
+
Did you forget to return the HTML snippet from the story?
|
|
3
|
+
Use "() => <your snippet or node>" or when defining the story.
|
|
4
|
+
`})}var N={framework:"server"};0&&(module.exports={parameters,render,renderToCanvas});
|
package/dist/config.mjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as r,b as e}from"./chunk-7RUX3CMH.mjs";var o={framework:"server"};export{o as parameters,r as render,e as renderToCanvas};
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import * as _storybook_types from '@storybook/types';
|
|
2
|
+
import { Addon_ClientStoryApi, Addon_Loadable } from '@storybook/types';
|
|
3
|
+
export { ArgTypes, Args, Parameters, StrictArgs } from '@storybook/types';
|
|
4
|
+
import { S as ServerRenderer } from './public-types-33854640.js';
|
|
5
|
+
export { D as Decorator, L as Loader, M as Meta, S as ServerRenderer, c as Story, d as StoryContext, a as StoryFn, b as StoryObj } from './public-types-33854640.js';
|
|
6
|
+
|
|
7
|
+
interface ClientApi extends Addon_ClientStoryApi<ServerRenderer['storyResult']> {
|
|
8
|
+
configure(loader: Addon_Loadable, module: NodeModule): void;
|
|
9
|
+
forceReRender(): void;
|
|
10
|
+
raw: () => any;
|
|
11
|
+
}
|
|
12
|
+
declare const storiesOf: ClientApi['storiesOf'];
|
|
13
|
+
declare const configure: ClientApi['configure'];
|
|
14
|
+
declare const raw: ((...args: any[]) => never) | (() => _storybook_types.Store_BoundStory<ServerRenderer>[]);
|
|
15
|
+
declare const forceReRender: () => void;
|
|
16
|
+
|
|
17
|
+
export { configure, forceReRender, raw, storiesOf };
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
var D=Object.create;var a=Object.defineProperty;var N=Object.getOwnPropertyDescriptor;var P=Object.getOwnPropertyNames;var U=Object.getPrototypeOf,$=Object.prototype.hasOwnProperty;var k=(e,r)=>{for(var t in r)a(e,t,{get:r[t],enumerable:!0})},y=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of P(r))!$.call(e,o)&&o!==t&&a(e,o,{get:()=>r[o],enumerable:!(n=N(r,o))||n.enumerable});return e};var m=(e,r,t)=>(t=e!=null?D(U(e)):{},y(r||!e||!e.__esModule?a(t,"default",{value:e,enumerable:!0}):t,e)),E=e=>y(a({},"__esModule",{value:!0}),e);var z={};k(z,{configure:()=>J,forceReRender:()=>q,raw:()=>Y,storiesOf:()=>B});module.exports=E(z);var g=m(require("global")),{window:I}=g.default;I.STORYBOOK_ENV="SERVER";var h=require("@storybook/core-client");var u=m(require("global")),S=require("ts-dedent"),c=require("@storybook/preview-web"),{fetch:V,Node:j}=u.default,K=async(e,r,t,n)=>{let o=new URL(`${e}/${r}`);return o.search=new URLSearchParams({...n.globals,...t}).toString(),(await V(o)).text()},W=(e,r)=>{let t={...e};return Object.keys(r).forEach(n=>{let o=r[n],{control:s}=o,l=s&&s.type.toLowerCase(),d=t[n];switch(l){case"date":t[n]=new Date(d).toISOString();break;case"object":t[n]=JSON.stringify(d);break;default:}}),t},R=e=>{};async function A({id:e,title:r,name:t,showMain:n,showError:o,forceRemount:s,storyFn:l,storyContext:d,storyContext:{parameters:w,args:x,argTypes:O}},i){l();let T=W(x,O),{server:{url:L,id:v,fetchStoryHtml:H=K,params:M}}=w,_=v||e,F={...M,...T},p=await H(L,_,F,d);if(n(),typeof p=="string")i.innerHTML=p,(0,c.simulatePageLoad)(i);else if(p instanceof j){if(i.firstChild===p&&s===!1)return;i.innerHTML="",i.appendChild(p),(0,c.simulateDOMContentLoaded)()}else o({title:`Expecting an HTML snippet or DOM node from the story: "${t}" of "${r}".`,description:S.dedent`
|
|
2
|
+
Did you forget to return the HTML snippet from the story?
|
|
3
|
+
Use "() => <your snippet or node>" or when defining the story.
|
|
4
|
+
`})}var C="server",f=(0,h.start)(A,{render:R}),B=(e,r)=>f.clientApi.storiesOf(e,r).addParameters({framework:C}),J=(...e)=>f.configure(C,...e),{raw:Y}=f.clientApi,{forceReRender:q}=f;var b;(b=module==null?void 0:module.hot)==null||b.decline();0&&(module.exports={configure,forceReRender,raw,storiesOf});
|
package/dist/index.mjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as o,b as t}from"./chunk-7RUX3CMH.mjs";import d from"global";var{window:p}=d;p.STORYBOOK_ENV="SERVER";import{start as s}from"@storybook/core-client";var n="server",e=s(t,{render:o}),c=(r,i)=>e.clientApi.storiesOf(r,i).addParameters({framework:n}),m=(...r)=>e.configure(n,...r),{raw:R}=e.clientApi,{forceReRender:A}=e;module?.hot?.decline();export{m as configure,A as forceReRender,R as raw,c as storiesOf};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { WebRenderer, Args, ComponentAnnotations, AnnotatedStoryFn, StoryAnnotations, StrictArgs, DecoratorFunction, LoaderFunction, StoryContext as StoryContext$1 } from '@storybook/types';
|
|
2
|
+
|
|
3
|
+
declare type StoryFnServerReturnType = any;
|
|
4
|
+
interface ServerRenderer extends WebRenderer {
|
|
5
|
+
component: string;
|
|
6
|
+
storyResult: StoryFnServerReturnType;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Metadata to configure the stories for a component.
|
|
11
|
+
*
|
|
12
|
+
* @see [Default export](https://storybook.js.org/docs/formats/component-story-format/#default-export)
|
|
13
|
+
*/
|
|
14
|
+
declare type Meta<TArgs = Args> = ComponentAnnotations<ServerRenderer, TArgs>;
|
|
15
|
+
/**
|
|
16
|
+
* Story function that represents a CSFv2 component example.
|
|
17
|
+
*
|
|
18
|
+
* @see [Named Story exports](https://storybook.js.org/docs/formats/component-story-format/#named-story-exports)
|
|
19
|
+
*/
|
|
20
|
+
declare type StoryFn<TArgs = Args> = AnnotatedStoryFn<ServerRenderer, TArgs>;
|
|
21
|
+
/**
|
|
22
|
+
* Story function that represents a CSFv3 component example.
|
|
23
|
+
*
|
|
24
|
+
* @see [Named Story exports](https://storybook.js.org/docs/formats/component-story-format/#named-story-exports)
|
|
25
|
+
*/
|
|
26
|
+
declare type StoryObj<TArgs = Args> = StoryAnnotations<ServerRenderer, TArgs>;
|
|
27
|
+
/**
|
|
28
|
+
* @deprecated Use `StoryFn` instead.
|
|
29
|
+
* Use `StoryObj` if you want to migrate to CSF3, which uses objects instead of functions to represent stories.
|
|
30
|
+
* You can read more about the CSF3 format here: https://storybook.js.org/blog/component-story-format-3-0/
|
|
31
|
+
*
|
|
32
|
+
* Story function that represents a CSFv2 component example.
|
|
33
|
+
*
|
|
34
|
+
* @see [Named Story exports](https://storybook.js.org/docs/formats/component-story-format/#named-story-exports)
|
|
35
|
+
*/
|
|
36
|
+
declare type Story<TArgs = Args> = StoryFn<TArgs>;
|
|
37
|
+
|
|
38
|
+
declare type Decorator<TArgs = StrictArgs> = DecoratorFunction<ServerRenderer, TArgs>;
|
|
39
|
+
declare type Loader<TArgs = StrictArgs> = LoaderFunction<ServerRenderer, TArgs>;
|
|
40
|
+
declare type StoryContext<TArgs = StrictArgs> = StoryContext$1<ServerRenderer, TArgs>;
|
|
41
|
+
|
|
42
|
+
export { Decorator as D, Loader as L, Meta as M, ServerRenderer as S, StoryFn as a, StoryObj as b, Story as c, StoryContext as d };
|
package/jest.config.js
ADDED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@storybook/server",
|
|
3
|
-
"version": "7.0.0-alpha.
|
|
3
|
+
"version": "7.0.0-alpha.50",
|
|
4
4
|
"description": "Storybook Server renderer",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"storybook"
|
|
@@ -19,35 +19,63 @@
|
|
|
19
19
|
"url": "https://opencollective.com/storybook"
|
|
20
20
|
},
|
|
21
21
|
"license": "MIT",
|
|
22
|
-
"
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
"exports": {
|
|
23
|
+
".": {
|
|
24
|
+
"require": "./dist/index.js",
|
|
25
|
+
"import": "./dist/index.mjs",
|
|
26
|
+
"types": "./dist/index.d.ts"
|
|
27
|
+
},
|
|
28
|
+
"./preview": {
|
|
29
|
+
"require": "./dist/config.js",
|
|
30
|
+
"import": "./dist/config.mjs",
|
|
31
|
+
"types": "./dist/config.d.ts"
|
|
32
|
+
},
|
|
33
|
+
"./package.json": {
|
|
34
|
+
"require": "./package.json",
|
|
35
|
+
"import": "./package.json",
|
|
36
|
+
"types": "./package.json"
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
"main": "dist/index.js",
|
|
40
|
+
"module": "dist/index.mjs",
|
|
41
|
+
"types": "dist/index.d.ts",
|
|
25
42
|
"files": [
|
|
26
43
|
"dist/**/*",
|
|
44
|
+
"template/**/*",
|
|
27
45
|
"README.md",
|
|
28
46
|
"*.js",
|
|
29
47
|
"*.d.ts"
|
|
30
48
|
],
|
|
31
49
|
"scripts": {
|
|
32
|
-
"
|
|
50
|
+
"check": "../../../scripts/node_modules/.bin/tsc --noEmit",
|
|
51
|
+
"prep": "../../../scripts/prepare/bundle.ts"
|
|
33
52
|
},
|
|
34
53
|
"dependencies": {
|
|
35
|
-
"@storybook/addons": "7.0.0-alpha.
|
|
36
|
-
"@storybook/core-client": "7.0.0-alpha.
|
|
37
|
-
"@storybook/
|
|
38
|
-
"@storybook/
|
|
39
|
-
"@storybook/
|
|
40
|
-
"core-js": "^3.8.2",
|
|
54
|
+
"@storybook/addons": "7.0.0-alpha.50",
|
|
55
|
+
"@storybook/core-client": "7.0.0-alpha.50",
|
|
56
|
+
"@storybook/preview-web": "7.0.0-alpha.50",
|
|
57
|
+
"@storybook/store": "7.0.0-alpha.50",
|
|
58
|
+
"@storybook/types": "7.0.0-alpha.50",
|
|
41
59
|
"global": "^4.4.0",
|
|
42
60
|
"react": "16.14.0",
|
|
43
61
|
"react-dom": "16.14.0",
|
|
44
62
|
"ts-dedent": "^2.0.0"
|
|
45
63
|
},
|
|
64
|
+
"devDependencies": {
|
|
65
|
+
"typescript": "~4.6.3"
|
|
66
|
+
},
|
|
46
67
|
"engines": {
|
|
47
68
|
"node": ">=10.13.0"
|
|
48
69
|
},
|
|
49
70
|
"publishConfig": {
|
|
50
71
|
"access": "public"
|
|
51
72
|
},
|
|
52
|
-
"
|
|
73
|
+
"bundler": {
|
|
74
|
+
"entries": [
|
|
75
|
+
"./src/index.ts",
|
|
76
|
+
"./src/config.ts"
|
|
77
|
+
],
|
|
78
|
+
"platform": "browser"
|
|
79
|
+
},
|
|
80
|
+
"gitHead": "77184d039091f4782dc4540df6d271a24fb3e242"
|
|
53
81
|
}
|
package/preview.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from './dist/
|
|
1
|
+
export * from './dist/config';
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
{
|
|
2
|
+
"title": "Example/Button",
|
|
3
|
+
"parameters": {
|
|
4
|
+
"server": { "id": "button" }
|
|
5
|
+
},
|
|
6
|
+
"args": { "label": "Button" },
|
|
7
|
+
"argTypes": {
|
|
8
|
+
"label": { "control": "text" },
|
|
9
|
+
"primary": { "control": "boolean" },
|
|
10
|
+
"backgroundColor": { "control": "color" },
|
|
11
|
+
"size": {
|
|
12
|
+
"control": { "type": "select", "options": ["small", "medium", "large"] }
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"stories": [
|
|
16
|
+
{
|
|
17
|
+
"name": "Primary",
|
|
18
|
+
"args": { "primary": true }
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"name": "Secondary"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"name": "Large",
|
|
25
|
+
"args": { "size": "large" }
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"name": "Small",
|
|
29
|
+
"args": { "size": "small" }
|
|
30
|
+
}
|
|
31
|
+
]
|
|
32
|
+
}
|
package/LICENSE
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
The MIT License (MIT)
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2017 Kadira Inc. <hello@kadira.io>
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in
|
|
13
|
-
all copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
21
|
-
THE SOFTWARE.
|
package/dist/cjs/index.js
DELETED
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
Object.defineProperty(exports, "addDecorator", {
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: function () {
|
|
9
|
-
return _preview.addDecorator;
|
|
10
|
-
}
|
|
11
|
-
});
|
|
12
|
-
Object.defineProperty(exports, "addParameters", {
|
|
13
|
-
enumerable: true,
|
|
14
|
-
get: function () {
|
|
15
|
-
return _preview.addParameters;
|
|
16
|
-
}
|
|
17
|
-
});
|
|
18
|
-
Object.defineProperty(exports, "configure", {
|
|
19
|
-
enumerable: true,
|
|
20
|
-
get: function () {
|
|
21
|
-
return _preview.configure;
|
|
22
|
-
}
|
|
23
|
-
});
|
|
24
|
-
Object.defineProperty(exports, "forceReRender", {
|
|
25
|
-
enumerable: true,
|
|
26
|
-
get: function () {
|
|
27
|
-
return _preview.forceReRender;
|
|
28
|
-
}
|
|
29
|
-
});
|
|
30
|
-
Object.defineProperty(exports, "getStorybook", {
|
|
31
|
-
enumerable: true,
|
|
32
|
-
get: function () {
|
|
33
|
-
return _preview.getStorybook;
|
|
34
|
-
}
|
|
35
|
-
});
|
|
36
|
-
Object.defineProperty(exports, "raw", {
|
|
37
|
-
enumerable: true,
|
|
38
|
-
get: function () {
|
|
39
|
-
return _preview.raw;
|
|
40
|
-
}
|
|
41
|
-
});
|
|
42
|
-
Object.defineProperty(exports, "setAddon", {
|
|
43
|
-
enumerable: true,
|
|
44
|
-
get: function () {
|
|
45
|
-
return _preview.setAddon;
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
|
-
Object.defineProperty(exports, "storiesOf", {
|
|
49
|
-
enumerable: true,
|
|
50
|
-
get: function () {
|
|
51
|
-
return _preview.storiesOf;
|
|
52
|
-
}
|
|
53
|
-
});
|
|
54
|
-
|
|
55
|
-
var _preview = require("./preview");
|
|
56
|
-
|
|
57
|
-
var _module, _module$hot;
|
|
58
|
-
|
|
59
|
-
// optimization: stop HMR propagation in webpack
|
|
60
|
-
(_module = module) === null || _module === void 0 ? void 0 : (_module$hot = _module.hot) === null || _module$hot === void 0 ? void 0 : _module$hot.decline();
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.parameters = void 0;
|
|
7
|
-
Object.defineProperty(exports, "render", {
|
|
8
|
-
enumerable: true,
|
|
9
|
-
get: function () {
|
|
10
|
-
return _render.render;
|
|
11
|
-
}
|
|
12
|
-
});
|
|
13
|
-
Object.defineProperty(exports, "renderToDOM", {
|
|
14
|
-
enumerable: true,
|
|
15
|
-
get: function () {
|
|
16
|
-
return _render.renderToDOM;
|
|
17
|
-
}
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
var _render = require("./render");
|
|
21
|
-
|
|
22
|
-
const parameters = {
|
|
23
|
-
framework: 'server'
|
|
24
|
-
};
|
|
25
|
-
exports.parameters = parameters;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _global = _interopRequireDefault(require("global"));
|
|
4
|
-
|
|
5
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
6
|
-
|
|
7
|
-
const {
|
|
8
|
-
window: globalWindow
|
|
9
|
-
} = _global.default;
|
|
10
|
-
globalWindow.STORYBOOK_ENV = 'SERVER';
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.storiesOf = exports.setAddon = exports.raw = exports.getStorybook = exports.forceReRender = exports.configure = exports.clearDecorators = exports.addParameters = exports.addDecorator = void 0;
|
|
7
|
-
|
|
8
|
-
var _coreClient = require("@storybook/core-client");
|
|
9
|
-
|
|
10
|
-
require("./globals");
|
|
11
|
-
|
|
12
|
-
var _render = require("./render");
|
|
13
|
-
|
|
14
|
-
const framework = 'server';
|
|
15
|
-
const api = (0, _coreClient.start)(_render.renderToDOM, {
|
|
16
|
-
render: _render.render
|
|
17
|
-
});
|
|
18
|
-
|
|
19
|
-
const storiesOf = (kind, m) => {
|
|
20
|
-
return api.clientApi.storiesOf(kind, m).addParameters({
|
|
21
|
-
framework
|
|
22
|
-
});
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
exports.storiesOf = storiesOf;
|
|
26
|
-
|
|
27
|
-
const configure = (...args) => api.configure(framework, ...args);
|
|
28
|
-
|
|
29
|
-
exports.configure = configure;
|
|
30
|
-
const {
|
|
31
|
-
addDecorator,
|
|
32
|
-
addParameters,
|
|
33
|
-
clearDecorators,
|
|
34
|
-
setAddon,
|
|
35
|
-
getStorybook,
|
|
36
|
-
raw
|
|
37
|
-
} = api.clientApi;
|
|
38
|
-
exports.raw = raw;
|
|
39
|
-
exports.getStorybook = getStorybook;
|
|
40
|
-
exports.setAddon = setAddon;
|
|
41
|
-
exports.clearDecorators = clearDecorators;
|
|
42
|
-
exports.addParameters = addParameters;
|
|
43
|
-
exports.addDecorator = addDecorator;
|
|
44
|
-
const {
|
|
45
|
-
forceReRender
|
|
46
|
-
} = api;
|
|
47
|
-
exports.forceReRender = forceReRender;
|
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.render = void 0;
|
|
7
|
-
exports.renderToDOM = renderToDOM;
|
|
8
|
-
|
|
9
|
-
var _global = _interopRequireDefault(require("global"));
|
|
10
|
-
|
|
11
|
-
var _tsDedent = _interopRequireDefault(require("ts-dedent"));
|
|
12
|
-
|
|
13
|
-
var _previewWeb = require("@storybook/preview-web");
|
|
14
|
-
|
|
15
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
16
|
-
|
|
17
|
-
/* eslint-disable no-param-reassign */
|
|
18
|
-
const {
|
|
19
|
-
fetch,
|
|
20
|
-
Node
|
|
21
|
-
} = _global.default;
|
|
22
|
-
|
|
23
|
-
const defaultFetchStoryHtml = async (url, path, params, storyContext) => {
|
|
24
|
-
const fetchUrl = new URL(`${url}/${path}`);
|
|
25
|
-
fetchUrl.search = new URLSearchParams(Object.assign({}, storyContext.globals, params)).toString();
|
|
26
|
-
const response = await fetch(fetchUrl);
|
|
27
|
-
return response.text();
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
const buildStoryArgs = (args, argTypes) => {
|
|
31
|
-
const storyArgs = Object.assign({}, args);
|
|
32
|
-
Object.keys(argTypes).forEach(key => {
|
|
33
|
-
const argType = argTypes[key];
|
|
34
|
-
const {
|
|
35
|
-
control
|
|
36
|
-
} = argType;
|
|
37
|
-
const controlType = control && control.type.toLowerCase();
|
|
38
|
-
const argValue = storyArgs[key];
|
|
39
|
-
|
|
40
|
-
switch (controlType) {
|
|
41
|
-
case 'date':
|
|
42
|
-
// For cross framework & language support we pick a consistent representation of Dates as strings
|
|
43
|
-
storyArgs[key] = new Date(argValue).toISOString();
|
|
44
|
-
break;
|
|
45
|
-
|
|
46
|
-
case 'object':
|
|
47
|
-
// send objects as JSON strings
|
|
48
|
-
storyArgs[key] = JSON.stringify(argValue);
|
|
49
|
-
break;
|
|
50
|
-
|
|
51
|
-
default:
|
|
52
|
-
}
|
|
53
|
-
});
|
|
54
|
-
return storyArgs;
|
|
55
|
-
};
|
|
56
|
-
|
|
57
|
-
const render = args => {};
|
|
58
|
-
|
|
59
|
-
exports.render = render;
|
|
60
|
-
|
|
61
|
-
async function renderToDOM({
|
|
62
|
-
id,
|
|
63
|
-
title,
|
|
64
|
-
name,
|
|
65
|
-
showMain,
|
|
66
|
-
showError,
|
|
67
|
-
forceRemount,
|
|
68
|
-
storyFn,
|
|
69
|
-
storyContext,
|
|
70
|
-
storyContext: {
|
|
71
|
-
parameters,
|
|
72
|
-
args,
|
|
73
|
-
argTypes
|
|
74
|
-
}
|
|
75
|
-
}, domElement) {
|
|
76
|
-
// Some addons wrap the storyFn so we need to call it even though Server doesn't need the answer
|
|
77
|
-
storyFn();
|
|
78
|
-
const storyArgs = buildStoryArgs(args, argTypes);
|
|
79
|
-
const {
|
|
80
|
-
server: {
|
|
81
|
-
url,
|
|
82
|
-
id: storyId,
|
|
83
|
-
fetchStoryHtml = defaultFetchStoryHtml,
|
|
84
|
-
params
|
|
85
|
-
}
|
|
86
|
-
} = parameters;
|
|
87
|
-
const fetchId = storyId || id;
|
|
88
|
-
const storyParams = Object.assign({}, params, storyArgs);
|
|
89
|
-
const element = await fetchStoryHtml(url, fetchId, storyParams, storyContext);
|
|
90
|
-
showMain();
|
|
91
|
-
|
|
92
|
-
if (typeof element === 'string') {
|
|
93
|
-
domElement.innerHTML = element;
|
|
94
|
-
(0, _previewWeb.simulatePageLoad)(domElement);
|
|
95
|
-
} else if (element instanceof Node) {
|
|
96
|
-
// Don't re-mount the element if it didn't change and neither did the story
|
|
97
|
-
if (domElement.firstChild === element && forceRemount === false) {
|
|
98
|
-
return;
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
domElement.innerHTML = '';
|
|
102
|
-
domElement.appendChild(element);
|
|
103
|
-
(0, _previewWeb.simulateDOMContentLoaded)();
|
|
104
|
-
} else {
|
|
105
|
-
showError({
|
|
106
|
-
title: `Expecting an HTML snippet or DOM node from the story: "${name}" of "${title}".`,
|
|
107
|
-
description: (0, _tsDedent.default)`
|
|
108
|
-
Did you forget to return the HTML snippet from the story?
|
|
109
|
-
Use "() => <your snippet or node>" or when defining the story.
|
|
110
|
-
`
|
|
111
|
-
});
|
|
112
|
-
}
|
|
113
|
-
}
|
package/dist/esm/index.js
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { start } from '@storybook/core-client';
|
|
2
|
-
import './globals';
|
|
3
|
-
import { renderToDOM, render } from './render';
|
|
4
|
-
const framework = 'server';
|
|
5
|
-
const api = start(renderToDOM, {
|
|
6
|
-
render
|
|
7
|
-
});
|
|
8
|
-
export const storiesOf = (kind, m) => {
|
|
9
|
-
return api.clientApi.storiesOf(kind, m).addParameters({
|
|
10
|
-
framework
|
|
11
|
-
});
|
|
12
|
-
};
|
|
13
|
-
export const configure = (...args) => api.configure(framework, ...args);
|
|
14
|
-
export const {
|
|
15
|
-
addDecorator,
|
|
16
|
-
addParameters,
|
|
17
|
-
clearDecorators,
|
|
18
|
-
setAddon,
|
|
19
|
-
getStorybook,
|
|
20
|
-
raw
|
|
21
|
-
} = api.clientApi;
|
|
22
|
-
export const {
|
|
23
|
-
forceReRender
|
|
24
|
-
} = api;
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
/* eslint-disable no-param-reassign */
|
|
2
|
-
import global from 'global';
|
|
3
|
-
import dedent from 'ts-dedent';
|
|
4
|
-
import { simulatePageLoad, simulateDOMContentLoaded } from '@storybook/preview-web';
|
|
5
|
-
const {
|
|
6
|
-
fetch,
|
|
7
|
-
Node
|
|
8
|
-
} = global;
|
|
9
|
-
|
|
10
|
-
const defaultFetchStoryHtml = async (url, path, params, storyContext) => {
|
|
11
|
-
const fetchUrl = new URL(`${url}/${path}`);
|
|
12
|
-
fetchUrl.search = new URLSearchParams(Object.assign({}, storyContext.globals, params)).toString();
|
|
13
|
-
const response = await fetch(fetchUrl);
|
|
14
|
-
return response.text();
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
const buildStoryArgs = (args, argTypes) => {
|
|
18
|
-
const storyArgs = Object.assign({}, args);
|
|
19
|
-
Object.keys(argTypes).forEach(key => {
|
|
20
|
-
const argType = argTypes[key];
|
|
21
|
-
const {
|
|
22
|
-
control
|
|
23
|
-
} = argType;
|
|
24
|
-
const controlType = control && control.type.toLowerCase();
|
|
25
|
-
const argValue = storyArgs[key];
|
|
26
|
-
|
|
27
|
-
switch (controlType) {
|
|
28
|
-
case 'date':
|
|
29
|
-
// For cross framework & language support we pick a consistent representation of Dates as strings
|
|
30
|
-
storyArgs[key] = new Date(argValue).toISOString();
|
|
31
|
-
break;
|
|
32
|
-
|
|
33
|
-
case 'object':
|
|
34
|
-
// send objects as JSON strings
|
|
35
|
-
storyArgs[key] = JSON.stringify(argValue);
|
|
36
|
-
break;
|
|
37
|
-
|
|
38
|
-
default:
|
|
39
|
-
}
|
|
40
|
-
});
|
|
41
|
-
return storyArgs;
|
|
42
|
-
};
|
|
43
|
-
|
|
44
|
-
export const render = args => {};
|
|
45
|
-
export async function renderToDOM({
|
|
46
|
-
id,
|
|
47
|
-
title,
|
|
48
|
-
name,
|
|
49
|
-
showMain,
|
|
50
|
-
showError,
|
|
51
|
-
forceRemount,
|
|
52
|
-
storyFn,
|
|
53
|
-
storyContext,
|
|
54
|
-
storyContext: {
|
|
55
|
-
parameters,
|
|
56
|
-
args,
|
|
57
|
-
argTypes
|
|
58
|
-
}
|
|
59
|
-
}, domElement) {
|
|
60
|
-
// Some addons wrap the storyFn so we need to call it even though Server doesn't need the answer
|
|
61
|
-
storyFn();
|
|
62
|
-
const storyArgs = buildStoryArgs(args, argTypes);
|
|
63
|
-
const {
|
|
64
|
-
server: {
|
|
65
|
-
url,
|
|
66
|
-
id: storyId,
|
|
67
|
-
fetchStoryHtml = defaultFetchStoryHtml,
|
|
68
|
-
params
|
|
69
|
-
}
|
|
70
|
-
} = parameters;
|
|
71
|
-
const fetchId = storyId || id;
|
|
72
|
-
const storyParams = Object.assign({}, params, storyArgs);
|
|
73
|
-
const element = await fetchStoryHtml(url, fetchId, storyParams, storyContext);
|
|
74
|
-
showMain();
|
|
75
|
-
|
|
76
|
-
if (typeof element === 'string') {
|
|
77
|
-
domElement.innerHTML = element;
|
|
78
|
-
simulatePageLoad(domElement);
|
|
79
|
-
} else if (element instanceof Node) {
|
|
80
|
-
// Don't re-mount the element if it didn't change and neither did the story
|
|
81
|
-
if (domElement.firstChild === element && forceRemount === false) {
|
|
82
|
-
return;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
domElement.innerHTML = '';
|
|
86
|
-
domElement.appendChild(element);
|
|
87
|
-
simulateDOMContentLoaded();
|
|
88
|
-
} else {
|
|
89
|
-
showError({
|
|
90
|
-
title: `Expecting an HTML snippet or DOM node from the story: "${name}" of "${title}".`,
|
|
91
|
-
description: dedent`
|
|
92
|
-
Did you forget to return the HTML snippet from the story?
|
|
93
|
-
Use "() => <your snippet or node>" or when defining the story.
|
|
94
|
-
`
|
|
95
|
-
});
|
|
96
|
-
}
|
|
97
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/dist/types/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { storiesOf, setAddon, addDecorator, addParameters, configure, getStorybook, forceReRender, raw, } from './preview';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/// <reference types="webpack-env" />
|
|
2
|
-
import type { ClientStoryApi, Loadable } from '@storybook/addons';
|
|
3
|
-
import './globals';
|
|
4
|
-
import type { IStorybookSection, ServerFramework } from './types';
|
|
5
|
-
interface ClientApi extends ClientStoryApi<ServerFramework['storyResult']> {
|
|
6
|
-
setAddon(addon: any): void;
|
|
7
|
-
configure(loader: Loadable, module: NodeModule): void;
|
|
8
|
-
getStorybook(): IStorybookSection[];
|
|
9
|
-
clearDecorators(): void;
|
|
10
|
-
forceReRender(): void;
|
|
11
|
-
raw: () => any;
|
|
12
|
-
}
|
|
13
|
-
export declare const storiesOf: ClientApi['storiesOf'];
|
|
14
|
-
export declare const configure: ClientApi['configure'];
|
|
15
|
-
export declare const addDecorator: (() => never) | ((decorator: import("@storybook/csf").DecoratorFunction<ServerFramework, import("@storybook/addons").Args>) => void), addParameters: (({ globals, globalTypes, ...parameters }: import("@storybook/csf").Parameters & {
|
|
16
|
-
globals?: import("@storybook/csf").Globals;
|
|
17
|
-
globalTypes?: import("@storybook/csf").GlobalTypes;
|
|
18
|
-
}) => void) | (() => never), clearDecorators: (() => void) | (() => never), setAddon: ((addon: any) => void) | (() => never), getStorybook: (() => never) | (() => import("lib/client-api/dist/types/ClientApi").GetStorybookKind<ServerFramework>[]), raw: (() => never) | (() => import("lib/store/dist/types").BoundStory<ServerFramework>[]);
|
|
19
|
-
export declare const forceReRender: (() => never) | (() => void);
|
|
20
|
-
export {};
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import type { RenderContext } from '@storybook/store';
|
|
2
|
-
import type { StoryFn } from '@storybook/csf';
|
|
3
|
-
import type { ServerFramework } from './types';
|
|
4
|
-
export declare const render: StoryFn<ServerFramework>;
|
|
5
|
-
export declare function renderToDOM({ id, title, name, showMain, showError, forceRemount, storyFn, storyContext, storyContext: { parameters, args, argTypes }, }: RenderContext<ServerFramework>, domElement: Element): Promise<void>;
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import type { StoryContext } from '@storybook/csf';
|
|
2
|
-
export type { RenderContext } from '@storybook/core-client';
|
|
3
|
-
export declare type StoryFnServerReturnType = any;
|
|
4
|
-
export declare type ServerFramework = {
|
|
5
|
-
component: string;
|
|
6
|
-
storyResult: StoryFnServerReturnType;
|
|
7
|
-
};
|
|
8
|
-
export declare type FetchStoryHtmlType = (url: string, id: string, params: any, context: StoryContext<ServerFramework>) => Promise<string | Node>;
|
|
9
|
-
export interface IStorybookStory {
|
|
10
|
-
name: string;
|
|
11
|
-
render: (context: any) => any;
|
|
12
|
-
}
|
|
13
|
-
export interface IStorybookSection {
|
|
14
|
-
kind: string;
|
|
15
|
-
stories: IStorybookStory[];
|
|
16
|
-
}
|
|
17
|
-
export interface ShowErrorArgs {
|
|
18
|
-
title: string;
|
|
19
|
-
description: string;
|
|
20
|
-
}
|