@storybook/react 7.0.0-alpha.53 → 7.0.0-alpha.55

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.
@@ -0,0 +1 @@
1
+ import global from"global";import React,{Component as ReactComponent,StrictMode,Fragment,useLayoutEffect,useRef}from"react";import ReactDOM,{version as reactDomVersion}from"react-dom";var{FRAMEWORK_OPTIONS}=global,nodes=new Map,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 React.createElement(Component,{...args})},WithCallback=({callback,children})=>{let once=useRef();return useLayoutEffect(()=>{once.current!==callback&&(once.current=callback,callback())},[callback]),children},renderElement=async(node,el)=>{let root=await getReactRoot(el);return new Promise(resolve=>{root?root.render(React.createElement(WithCallback,{callback:()=>resolve(null)},node)):ReactDOM.render(node,el,()=>resolve(null))})},canUseNewReactRootApi=reactDomVersion&&(reactDomVersion.startsWith("18")||reactDomVersion.startsWith("0.0.0")),shouldUseNewRootApi=FRAMEWORK_OPTIONS?.legacyRootApi!==!0,isUsingNewReactRootApi=shouldUseNewRootApi&&canUseNewReactRootApi,unmountElement=el=>{let root=nodes.get(el);root&&isUsingNewReactRootApi?(root.unmount(),nodes.delete(el)):ReactDOM.unmountComponentAtNode(el)},getReactRoot=async el=>{if(!isUsingNewReactRootApi)return null;let root=nodes.get(el);return root||(root=(await import("react-dom/client")).default.createRoot(el),nodes.set(el,root)),root},ErrorBoundary=class extends ReactComponent{constructor(){super(...arguments);this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidMount(){let{hasError}=this.state,{showMain}=this.props;hasError||showMain()}componentDidCatch(err){let{showException}=this.props;showException(err)}render(){let{hasError}=this.state,{children}=this.props;return hasError?null:children}},Wrapper=FRAMEWORK_OPTIONS?.strictMode?StrictMode:Fragment;async function renderToCanvas({storyContext,unboundStoryFn,showMain,showException,forceRemount},canvasElement){let content=React.createElement(ErrorBoundary,{showMain,showException},React.createElement(unboundStoryFn,{...storyContext})),element=Wrapper?React.createElement(Wrapper,null,content):content;return forceRemount&&unmountElement(canvasElement),await renderElement(element,canvasElement),()=>unmountElement(canvasElement)}export{render,renderToCanvas};
package/dist/config.d.ts CHANGED
@@ -1,14 +1,14 @@
1
1
  import * as lib_docs_tools_dist from 'lib/docs-tools/dist';
2
- import { R as ReactRenderer, S as StoryFnReactReturnType } from './types-7d102855.js';
2
+ import { R as ReactRenderer, S as StoryFnReactReturnType } from './types-0a347bb9.js';
3
3
  import * as lib_types_dist from 'lib/types/dist';
4
- import { ArgsStoryFn, Store_RenderContext } from '@storybook/types';
4
+ import { ArgsStoryFn, RenderContext } from '@storybook/types';
5
5
  import 'react';
6
6
 
7
7
  declare const decorators: ((storyFn: lib_types_dist.PartialStoryFn<ReactRenderer, lib_types_dist.Args>, context: lib_types_dist.StoryContext<ReactRenderer, lib_types_dist.Args>) => StoryFnReactReturnType)[];
8
8
  declare const argTypesEnhancers: (<TRenderer extends lib_types_dist.Renderer>(context: lib_types_dist.StoryContextForEnhancers<TRenderer, lib_types_dist.Args>) => lib_types_dist.StrictArgTypes<lib_types_dist.Args>)[];
9
9
 
10
10
  declare const render: ArgsStoryFn<ReactRenderer>;
11
- declare function renderToCanvas({ storyContext, unboundStoryFn, showMain, showException, forceRemount, }: Store_RenderContext<ReactRenderer>, canvasElement: ReactRenderer['canvasElement']): Promise<() => void>;
11
+ declare function renderToCanvas({ storyContext, unboundStoryFn, showMain, showException, forceRemount, }: RenderContext<ReactRenderer>, canvasElement: ReactRenderer['canvasElement']): Promise<() => void>;
12
12
 
13
13
  declare const parameters: {
14
14
  docs: {
package/dist/config.js CHANGED
@@ -1,3 +1,3 @@
1
1
  "use strict";var nt=Object.create;var v=Object.defineProperty;var ot=Object.getOwnPropertyDescriptor;var st=Object.getOwnPropertyNames;var it=Object.getPrototypeOf,pt=Object.prototype.hasOwnProperty;var at=(e,t)=>{for(var r in t)v(e,r,{get:t[r],enumerable:!0})},le=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of st(t))!pt.call(e,o)&&o!==r&&v(e,o,{get:()=>t[o],enumerable:!(n=ot(t,o))||n.enumerable});return e};var l=(e,t,r)=>(r=e!=null?nt(it(e)):{},le(t||!e||!e.__esModule?v(r,"default",{value:e,enumerable:!0}):r,e)),ct=e=>le(v({},"__esModule",{value:!0}),e);var rr={};at(rr,{argTypesEnhancers:()=>Ge,decorators:()=>Ke,parameters:()=>tr,render:()=>et,renderToCanvas:()=>rt});module.exports=ct(rr);var z=require("@storybook/docs-tools");var pe=l(require("prop-types")),P=require("@storybook/docs-tools");var C=require("@storybook/docs-tools");function fe(e,t){let r=e!=null,n=t!=null;if(!r&&!n)return"";let o=[];if(r){let s=e.map(p=>{let a=p.getPrettyName(),i=p.getTypeName();return i!=null?`${a}: ${i}`:a});o.push(`(${s.join(", ")})`)}else o.push("()");return n&&o.push(`=> ${t.getTypeName()}`),o.join(" ")}function me(e,t){let r=e!=null,n=t!=null;if(!r&&!n)return"";let o=[];return r?o.push("( ... )"):o.push("()"),n&&o.push(`=> ${t.getTypeName()}`),o.join(" ")}function ye(e){return e.replace(/,/g,`,\r
2
- `)}var w="custom",I="object",j="array",Te="class",y="func",T="element";var de=l(require("html-tags"));function x(e){return de.default.includes(e.toLowerCase())}var ge=require("escodegen"),Ee=require("ts-dedent"),Ie={format:{indent:{style:" "},semicolons:!1}},ut={...Ie,format:{newline:""}},lt={...Ie};function d(e,t=!1){return(0,ge.generate)(e,t?ut:lt)}function J(e,t=!1){return t?ft(e):d(e)}function ft(e){let t=d(e,!0);return t.endsWith(" }")||(t=`${t.slice(0,-1)} }`),t}function Z(e,t=!1){return t?yt(e):mt(e)}function mt(e){let t=d(e);return t.endsWith(" }]")&&(t=(0,Ee.dedent)(t)),t}function yt(e){let t=d(e,!0);return t.startsWith("[ ")&&(t=t.replace("[ ","[")),t}var _=e=>e.$$typeof===Symbol.for("react.memo"),he=e=>e.$$typeof===Symbol.for("react.forward_ref");var Ce=require("acorn"),Pe=l(require("acorn-jsx")),R=l(require("acorn-walk"));var ee={...R.base,JSXElement:()=>{}},Tt=Ce.Parser.extend((0,Pe.default)());function M(e){return e!=null?e.name:null}function Re(e){return e.filter(t=>t.type==="ObjectExpression"||t.type==="ArrayExpression")}function Ne(e){let t=[];return R.ancestor(e,{ObjectExpression(r,n){t.push(Re(n).length)},ArrayExpression(r,n){t.push(Re(n).length)}},ee),Math.max(...t)}function dt(e){return{inferredType:{type:"Identifier",identifier:M(e)},ast:e}}function gt(e){return{inferredType:{type:"Literal"},ast:e}}function Et(e){let t;R.simple(e.body,{JSXElement(s){t=s}},ee);let n={type:t!=null?"Element":"Function",params:e.params,hasParams:e.params.length!==0},o=M(e.id);return o!=null&&(n.identifier=o),{inferredType:n,ast:e}}function It(e){let t;return R.simple(e.body,{JSXElement(n){t=n}},ee),{inferredType:{type:t!=null?"Element":"Class",identifier:M(e.id)},ast:e}}function ht(e){let t={type:"Element"},r=M(e.openingElement.name);return r!=null&&(t.identifier=r),{inferredType:t,ast:e}}function Rt(e){let t=e.callee.type==="MemberExpression"?e.callee.property:e.callee;return M(t)==="shape"?Oe(e.arguments[0]):null}function Oe(e){return{inferredType:{type:"Object",depth:Ne(e)},ast:e}}function Ct(e){return{inferredType:{type:"Array",depth:Ne(e)},ast:e}}function Pt(e){switch(e.type){case"Identifier":return dt(e);case"Literal":return gt(e);case"FunctionExpression":case"ArrowFunctionExpression":return Et(e);case"ClassExpression":return It(e);case"JSXElement":return ht(e);case"CallExpression":return Rt(e);case"ObjectExpression":return Oe(e);case"ArrayExpression":return Ct(e);default:return null}}function xe(e){let t=Tt.parse(`(${e})`),r={inferredType:{type:"Unknown"},ast:t};if(t.body[0]!=null){let n=t.body[0];switch(n.type){case"ExpressionStatement":{let o=Pt(n.expression);o!=null&&(r=o);break}default:break}}return r}function f(e){try{return{...xe(e)}}catch{}return{inferredType:{type:"Unknown"}}}var Nt=150;function c({name:e,short:t,compact:r,full:n,inferredType:o}){return{name:e,short:t,compact:r,full:n??t,inferredType:o}}function Fe(e){return e.replace(/PropTypes./g,"").replace(/.isRequired/g,"")}function Ae(e){return e.split(/\r?\n/)}function B(e,t=!1){return Fe(J(e,t))}function Se(e,t=!1){return Fe(d(e,t))}function Ot(e){switch(e){case"Object":return I;case"Array":return j;case"Class":return Te;case"Function":return y;case"Element":return T;default:return w}}function je(e,t){let{inferredType:r,ast:n}=f(e),{type:o}=r,s,p,a;switch(o){case"Identifier":case"Literal":s=e,p=e;break;case"Object":{let{depth:i}=r;s=I,p=i===1?B(n,!0):null,a=B(n);break}case"Element":{let{identifier:i}=r;s=i!=null&&!x(i)?i:T,p=Ae(e).length===1?e:null,a=e;break}case"Array":{let{depth:i}=r;s=j,p=i<=2?Se(n,!0):null,a=Se(n);break}default:s=Ot(o),p=Ae(e).length===1?e:null,a=e;break}return c({name:t,short:s,compact:p,full:a,inferredType:o})}function xt({raw:e}){return e!=null?je(e,"custom"):c({name:"custom",short:w,compact:w})}function At(e){let{jsDocTags:t}=e;return t!=null&&(t.params!=null||t.returns!=null)?c({name:"func",short:me(t.params,t.returns),compact:null,full:fe(t.params,t.returns)}):c({name:"func",short:y,compact:y})}function St(e,t){let r=Object.keys(e.value).map(p=>`${p}: ${A(e.value[p],t).full}`).join(", "),{inferredType:n,ast:o}=f(`{ ${r} }`),{depth:s}=n;return c({name:"shape",short:I,compact:s===1&&o?B(o,!0):null,full:o?B(o):null})}function te(e){return`objectOf(${e})`}function bt(e,t){let{short:r,compact:n,full:o}=A(e.value,t);return c({name:"objectOf",short:te(r),compact:n!=null?te(n):null,full:o&&te(o)})}function Dt(e,t){if(Array.isArray(e.value)){let r=e.value.reduce((n,o)=>{let{short:s,compact:p,full:a}=A(o,t);return n.short.push(s),n.compact.push(p),n.full.push(a),n},{short:[],compact:[],full:[]});return c({name:"union",short:r.short.join(" | "),compact:r.compact.every(n=>n!=null)?r.compact.join(" | "):null,full:r.full.join(" | ")})}return c({name:"union",short:e.value,compact:null})}function Ft({value:e,computed:t}){return t?je(e,"enumvalue"):c({name:"enumvalue",short:e,compact:e})}function jt(e){if(Array.isArray(e.value)){let t=e.value.reduce((r,n)=>{let{short:o,compact:s,full:p}=Ft(n);return r.short.push(o),r.compact.push(s),r.full.push(p),r},{short:[],compact:[],full:[]});return c({name:"enum",short:t.short.join(" | "),compact:t.compact.every(r=>r!=null)?t.compact.join(" | "):null,full:t.full.join(" | ")})}return c({name:"enum",short:e.value,compact:e.value})}function re(e){return`${e}[]`}function be(e){return`[${e}]`}function De(e,t,r){return c({name:"arrayOf",short:re(e),compact:t!=null?be(t):null,full:r&&be(r)})}function Jt(e,t){let{name:r,short:n,compact:o,full:s,inferredType:p}=A(e.value,t);if(r==="custom"){if(p==="Object")return De(n,o,s)}else if(r==="shape")return De(n,o,s);return c({name:"arrayOf",short:re(n),compact:re(n)})}function A(e,t){try{switch(e.name){case"custom":return xt(e);case"func":return At(t);case"shape":return St(e,t);case"instanceOf":return c({name:"instanceOf",short:e.value,compact:e.value});case"objectOf":return bt(e,t);case"union":return Dt(e,t);case"enum":return jt(e);case"arrayOf":return Jt(e,t);default:return c({name:e.name,short:e.name,compact:e.name})}}catch(r){console.error(r)}return c({name:"unknown",short:"unknown",compact:"unknown"})}function Je(e){let{type:t}=e.docgenInfo;if(t==null)return null;try{switch(t.name){case"custom":case"shape":case"instanceOf":case"objectOf":case"union":case"enum":case"arrayOf":{let{short:r,compact:n,full:o}=A(t,e);return n!=null&&!(0,C.isTooLongForTypeSummary)(n)?(0,C.createSummaryValue)(n):o?(0,C.createSummaryValue)(r,o):(0,C.createSummaryValue)(r)}case"func":{let{short:r,full:n}=A(t,e),o=r,s;return n&&n.length<Nt?o=n:n&&(s=ye(n)),(0,C.createSummaryValue)(o,s)}default:return null}}catch(r){console.error(r)}return null}var g=require("@storybook/docs-tools");var L=require("@storybook/docs-tools");function Y({inferredType:e,ast:t}){let{depth:r}=e;if(r===1){let n=J(t,!0);if(!(0,L.isTooLongForDefaultValueSummary)(n))return(0,L.createSummaryValue)(n)}return(0,L.createSummaryValue)(I,J(t))}var U=require("@storybook/docs-tools");function W({inferredType:e,ast:t}){let{depth:r}=e;if(r<=2){let n=Z(t,!0);if(!(0,U.isTooLongForDefaultValueSummary)(n))return(0,U.createSummaryValue)(n)}return(0,U.createSummaryValue)(j,Z(t))}function V(e,t){return t?`${e}( ... )`:`${e}()`}function S(e){return`<${e} />`}function ne(e){let{type:t,identifier:r}=e;switch(t){case"Function":return V(r,e.hasParams);case"Element":return S(r);default:return r}}function Mt({inferredType:e,ast:t}){let{identifier:r}=e;if(r!=null)return(0,g.createSummaryValue)(ne(e),d(t));let n=d(t,!0);return(0,g.isTooLongForDefaultValueSummary)(n)?(0,g.createSummaryValue)(y,d(t)):(0,g.createSummaryValue)(n)}function Lt(e,t){let{inferredType:r}=t,{identifier:n}=r;if(n!=null&&!x(n)){let o=ne(r);return(0,g.createSummaryValue)(o,e)}return(0,g.isTooLongForDefaultValueSummary)(e)?(0,g.createSummaryValue)(T,e):(0,g.createSummaryValue)(e)}function X(e){try{let t=f(e);switch(t.inferredType.type){case"Object":return Y(t);case"Function":return Mt(t);case"Element":return Lt(e,t);case"Array":return W(t);default:return null}}catch(t){console.error(t)}return null}var Me=l(require("lodash/isPlainObject")),oe=l(require("lodash/isFunction")),Le=l(require("lodash/isString")),se=l(require("react-element-to-jsx-string")),m=require("@storybook/docs-tools");function Ue(e){return e.$$typeof!=null}function ie(e,t){let{name:r}=e;return r!==""&&r!=="anonymous"&&r!==t?r:null}var Ut=e=>(0,m.createSummaryValue)(JSON.stringify(e));function Vt(e){let{type:t}=e,{displayName:r}=t,n=(0,se.default)(e,{});if(r!=null){let o=S(r);return(0,m.createSummaryValue)(o,n)}if((0,Le.default)(t)&&x(t)){let s=(0,se.default)(e,{tabStop:0}).replace(/\r?\n|\r/g,"");if(!(0,m.isTooLongForDefaultValueSummary)(s))return(0,m.createSummaryValue)(s)}return(0,m.createSummaryValue)(T,n)}var kt=e=>{if(Ue(e)&&e.type!=null)return Vt(e);if((0,Me.default)(e)){let t=f(JSON.stringify(e));return Y(t)}if(Array.isArray(e)){let t=f(JSON.stringify(e));return W(t)}return(0,m.createSummaryValue)(I)},vt=(e,t)=>{let r=!1,n;if((0,oe.default)(e.render))r=!0;else if(e.prototype!=null&&(0,oe.default)(e.prototype.render))r=!0;else{let s;try{n=f(e.toString());let{hasParams:p,params:a}=n.inferredType;p?a.length===1&&a[0].type==="ObjectPattern"&&(s=e({})):s=e(),s!=null&&Ue(s)&&(r=!0)}catch{}}let o=ie(e,t.name);if(o!=null){if(r)return(0,m.createSummaryValue)(S(o));n!=null&&(n=f(e.toString()));let{hasParams:s}=n.inferredType;return(0,m.createSummaryValue)(V(o,s))}return(0,m.createSummaryValue)(r?T:y)},wt=e=>(0,m.createSummaryValue)(e.toString()),Ve={string:Ut,object:kt,function:vt,default:wt};function ke(e={}){return{...Ve,...e}}function H(e,t,r=Ve){try{switch(typeof e){case"string":return r.string(e,t);case"object":return r.object(e,t);case"function":return r.function(e,t);default:return r.default(e,t)}}catch(n){console.error(n)}return null}function ve(e,t){let{propTypes:r}=t;return r!=null?Object.keys(r).map(n=>e.find(o=>o.name===n)).filter(Boolean):e}var q=require("@storybook/docs-tools");var _t=(e,{name:t,type:r})=>{let n=r.summary==="element"||r.summary==="elementType",o=ie(e,t);if(o!=null){if(n)return(0,q.createSummaryValue)(S(o));let{hasParams:s}=f(e.toString()).inferredType;return(0,q.createSummaryValue)(V(o,s))}return(0,q.createSummaryValue)(n?T:y)},we=ke({function:_t});function $t(e,t){let{propDef:r}=e,n=Je(e);n!=null&&(r.type=n);let{defaultValue:o}=e.docgenInfo;if(o!=null&&o.value!=null){let s=X(o.value);s!=null&&(r.defaultValue=s)}else if(t!=null){let s=H(t,r,we);s!=null&&(r.defaultValue=s)}return r}function _e(e,t){let r=t.defaultProps!=null?t.defaultProps:{},n=e.map(o=>$t(o,r[o.propDef.name]));return ve(n,t)}function Bt(e,t){let{propDef:r}=e,{defaultValue:n}=e.docgenInfo;if(n!=null&&n.value!=null){let o=X(n.value);o!=null&&(r.defaultValue=o)}else if(t!=null){let o=H(t,r);o!=null&&(r.defaultValue=o)}return r}function $e(e){return e.map(t=>Bt(t))}var Be=new Map;Object.keys(pe.default).forEach(e=>{let t=pe.default[e];Be.set(t,e),Be.set(t.isRequired,e)});function Yt(e,t){let r=e;!(0,P.hasDocgen)(e)&&!e.propTypes&&_(e)&&(r=e.type);let n=(0,P.extractComponentProps)(r,t);if(n.length===0)return[];switch(n[0].typeSystem){case P.TypeSystem.JAVASCRIPT:return _e(n,e);case P.TypeSystem.TYPESCRIPT:return $e(n);default:return n.map(o=>o.propDef)}}var Ye=e=>({rows:Yt(e,"props")});var We=e=>{if(e){let{rows:t}=Ye(e);if(t)return t.reduce((r,n)=>{let{name:o,description:s,type:p,sbType:a,defaultValue:i,jsDocTags:h,required:F}=n;return r[o]={name:o,description:s,type:{required:F,...a},table:{type:p,jsDocTags:h,defaultValue:i}},r},{})}return null};var b=l(require("react")),K=l(require("react-element-to-jsx-string")),G=require("@storybook/addons"),N=require("@storybook/docs-tools"),k=require("@storybook/client-logger");var Wt=(e,t,r)=>typeof t.transformSource!="function"?e:t.transformSource(e,r),Xt=(e,t)=>{if(typeof e>"u")return k.logger.warn("Too many skip or undefined component"),null;let r=e,n=r.type;for(let i=0;i<t.skip;i+=1){if(typeof r>"u")return k.logger.warn("Cannot skip undefined element"),null;if(b.default.Children.count(r)>1)return k.logger.warn("Trying to skip an array of elements"),null;typeof r.props.children>"u"?(k.logger.warn("Not enough children to skip elements."),typeof r.type=="function"&&r.type.name===""&&(r=b.default.createElement(n,{...r.props}))):typeof r.props.children=="function"?r=r.props.children():r=r.props.children}let p={...typeof t.displayName=="string"?{showFunctions:!0,displayName:()=>t.displayName}:{displayName:i=>i.type.displayName||(i.type===Symbol.for("react.profiler")?"Profiler":null)||(0,N.getDocgenSection)(i.type,"displayName")||(i.type.name!=="_default"?i.type.name:null)||(typeof i.type=="function"?"No Display Name":null)||(he(i.type)?i.type.render.name:null)||(_(i.type)?i.type.type.name:null)||i.type},...{filterProps:(i,h)=>i!==void 0},...t};return b.default.Children.map(e,i=>{let h=typeof i=="number"?i.toString():i,E=(typeof K.default=="function"?K.default:K.default.default)(h,p);if(E.indexOf("&quot;")>-1){let ce=E.match(/\S+=\\"([^"]*)\\"/g);ce&&ce.forEach(ue=>{E=E.replace(ue,ue.replace(/&quot;/g,"'"))})}return E}).join(`
2
+ `)}var w="custom",I="object",j="array",Te="class",y="func",T="element";var de=l(require("html-tags"));function x(e){return de.default.includes(e.toLowerCase())}var ge=require("escodegen"),Ee=require("ts-dedent"),Ie={format:{indent:{style:" "},semicolons:!1}},ut={...Ie,format:{newline:""}},lt={...Ie};function d(e,t=!1){return(0,ge.generate)(e,t?ut:lt)}function J(e,t=!1){return t?ft(e):d(e)}function ft(e){let t=d(e,!0);return t.endsWith(" }")||(t=`${t.slice(0,-1)} }`),t}function Z(e,t=!1){return t?yt(e):mt(e)}function mt(e){let t=d(e);return t.endsWith(" }]")&&(t=(0,Ee.dedent)(t)),t}function yt(e){let t=d(e,!0);return t.startsWith("[ ")&&(t=t.replace("[ ","[")),t}var _=e=>e.$$typeof===Symbol.for("react.memo"),he=e=>e.$$typeof===Symbol.for("react.forward_ref");var Ce=require("acorn"),Pe=l(require("acorn-jsx")),R=l(require("acorn-walk"));var ee={...R.base,JSXElement:()=>{}},Tt=Ce.Parser.extend((0,Pe.default)());function M(e){return e!=null?e.name:null}function Re(e){return e.filter(t=>t.type==="ObjectExpression"||t.type==="ArrayExpression")}function Ne(e){let t=[];return R.ancestor(e,{ObjectExpression(r,n){t.push(Re(n).length)},ArrayExpression(r,n){t.push(Re(n).length)}},ee),Math.max(...t)}function dt(e){return{inferredType:{type:"Identifier",identifier:M(e)},ast:e}}function gt(e){return{inferredType:{type:"Literal"},ast:e}}function Et(e){let t;R.simple(e.body,{JSXElement(s){t=s}},ee);let n={type:t!=null?"Element":"Function",params:e.params,hasParams:e.params.length!==0},o=M(e.id);return o!=null&&(n.identifier=o),{inferredType:n,ast:e}}function It(e){let t;return R.simple(e.body,{JSXElement(n){t=n}},ee),{inferredType:{type:t!=null?"Element":"Class",identifier:M(e.id)},ast:e}}function ht(e){let t={type:"Element"},r=M(e.openingElement.name);return r!=null&&(t.identifier=r),{inferredType:t,ast:e}}function Rt(e){let t=e.callee.type==="MemberExpression"?e.callee.property:e.callee;return M(t)==="shape"?Oe(e.arguments[0]):null}function Oe(e){return{inferredType:{type:"Object",depth:Ne(e)},ast:e}}function Ct(e){return{inferredType:{type:"Array",depth:Ne(e)},ast:e}}function Pt(e){switch(e.type){case"Identifier":return dt(e);case"Literal":return gt(e);case"FunctionExpression":case"ArrowFunctionExpression":return Et(e);case"ClassExpression":return It(e);case"JSXElement":return ht(e);case"CallExpression":return Rt(e);case"ObjectExpression":return Oe(e);case"ArrayExpression":return Ct(e);default:return null}}function xe(e){let t=Tt.parse(`(${e})`),r={inferredType:{type:"Unknown"},ast:t};if(t.body[0]!=null){let n=t.body[0];switch(n.type){case"ExpressionStatement":{let o=Pt(n.expression);o!=null&&(r=o);break}default:break}}return r}function f(e){try{return{...xe(e)}}catch{}return{inferredType:{type:"Unknown"}}}var Nt=150;function c({name:e,short:t,compact:r,full:n,inferredType:o}){return{name:e,short:t,compact:r,full:n??t,inferredType:o}}function Fe(e){return e.replace(/PropTypes./g,"").replace(/.isRequired/g,"")}function Ae(e){return e.split(/\r?\n/)}function B(e,t=!1){return Fe(J(e,t))}function Se(e,t=!1){return Fe(d(e,t))}function Ot(e){switch(e){case"Object":return I;case"Array":return j;case"Class":return Te;case"Function":return y;case"Element":return T;default:return w}}function je(e,t){let{inferredType:r,ast:n}=f(e),{type:o}=r,s,p,a;switch(o){case"Identifier":case"Literal":s=e,p=e;break;case"Object":{let{depth:i}=r;s=I,p=i===1?B(n,!0):null,a=B(n);break}case"Element":{let{identifier:i}=r;s=i!=null&&!x(i)?i:T,p=Ae(e).length===1?e:null,a=e;break}case"Array":{let{depth:i}=r;s=j,p=i<=2?Se(n,!0):null,a=Se(n);break}default:s=Ot(o),p=Ae(e).length===1?e:null,a=e;break}return c({name:t,short:s,compact:p,full:a,inferredType:o})}function xt({raw:e}){return e!=null?je(e,"custom"):c({name:"custom",short:w,compact:w})}function At(e){let{jsDocTags:t}=e;return t!=null&&(t.params!=null||t.returns!=null)?c({name:"func",short:me(t.params,t.returns),compact:null,full:fe(t.params,t.returns)}):c({name:"func",short:y,compact:y})}function St(e,t){let r=Object.keys(e.value).map(p=>`${p}: ${A(e.value[p],t).full}`).join(", "),{inferredType:n,ast:o}=f(`{ ${r} }`),{depth:s}=n;return c({name:"shape",short:I,compact:s===1&&o?B(o,!0):null,full:o?B(o):null})}function te(e){return`objectOf(${e})`}function bt(e,t){let{short:r,compact:n,full:o}=A(e.value,t);return c({name:"objectOf",short:te(r),compact:n!=null?te(n):null,full:o&&te(o)})}function Dt(e,t){if(Array.isArray(e.value)){let r=e.value.reduce((n,o)=>{let{short:s,compact:p,full:a}=A(o,t);return n.short.push(s),n.compact.push(p),n.full.push(a),n},{short:[],compact:[],full:[]});return c({name:"union",short:r.short.join(" | "),compact:r.compact.every(n=>n!=null)?r.compact.join(" | "):null,full:r.full.join(" | ")})}return c({name:"union",short:e.value,compact:null})}function Ft({value:e,computed:t}){return t?je(e,"enumvalue"):c({name:"enumvalue",short:e,compact:e})}function jt(e){if(Array.isArray(e.value)){let t=e.value.reduce((r,n)=>{let{short:o,compact:s,full:p}=Ft(n);return r.short.push(o),r.compact.push(s),r.full.push(p),r},{short:[],compact:[],full:[]});return c({name:"enum",short:t.short.join(" | "),compact:t.compact.every(r=>r!=null)?t.compact.join(" | "):null,full:t.full.join(" | ")})}return c({name:"enum",short:e.value,compact:e.value})}function re(e){return`${e}[]`}function be(e){return`[${e}]`}function De(e,t,r){return c({name:"arrayOf",short:re(e),compact:t!=null?be(t):null,full:r&&be(r)})}function Jt(e,t){let{name:r,short:n,compact:o,full:s,inferredType:p}=A(e.value,t);if(r==="custom"){if(p==="Object")return De(n,o,s)}else if(r==="shape")return De(n,o,s);return c({name:"arrayOf",short:re(n),compact:re(n)})}function A(e,t){try{switch(e.name){case"custom":return xt(e);case"func":return At(t);case"shape":return St(e,t);case"instanceOf":return c({name:"instanceOf",short:e.value,compact:e.value});case"objectOf":return bt(e,t);case"union":return Dt(e,t);case"enum":return jt(e);case"arrayOf":return Jt(e,t);default:return c({name:e.name,short:e.name,compact:e.name})}}catch(r){console.error(r)}return c({name:"unknown",short:"unknown",compact:"unknown"})}function Je(e){let{type:t}=e.docgenInfo;if(t==null)return null;try{switch(t.name){case"custom":case"shape":case"instanceOf":case"objectOf":case"union":case"enum":case"arrayOf":{let{short:r,compact:n,full:o}=A(t,e);return n!=null&&!(0,C.isTooLongForTypeSummary)(n)?(0,C.createSummaryValue)(n):o?(0,C.createSummaryValue)(r,o):(0,C.createSummaryValue)(r)}case"func":{let{short:r,full:n}=A(t,e),o=r,s;return n&&n.length<Nt?o=n:n&&(s=ye(n)),(0,C.createSummaryValue)(o,s)}default:return null}}catch(r){console.error(r)}return null}var g=require("@storybook/docs-tools");var L=require("@storybook/docs-tools");function Y({inferredType:e,ast:t}){let{depth:r}=e;if(r===1){let n=J(t,!0);if(!(0,L.isTooLongForDefaultValueSummary)(n))return(0,L.createSummaryValue)(n)}return(0,L.createSummaryValue)(I,J(t))}var U=require("@storybook/docs-tools");function W({inferredType:e,ast:t}){let{depth:r}=e;if(r<=2){let n=Z(t,!0);if(!(0,U.isTooLongForDefaultValueSummary)(n))return(0,U.createSummaryValue)(n)}return(0,U.createSummaryValue)(j,Z(t))}function V(e,t){return t?`${e}( ... )`:`${e}()`}function S(e){return`<${e} />`}function ne(e){let{type:t,identifier:r}=e;switch(t){case"Function":return V(r,e.hasParams);case"Element":return S(r);default:return r}}function Mt({inferredType:e,ast:t}){let{identifier:r}=e;if(r!=null)return(0,g.createSummaryValue)(ne(e),d(t));let n=d(t,!0);return(0,g.isTooLongForDefaultValueSummary)(n)?(0,g.createSummaryValue)(y,d(t)):(0,g.createSummaryValue)(n)}function Lt(e,t){let{inferredType:r}=t,{identifier:n}=r;if(n!=null&&!x(n)){let o=ne(r);return(0,g.createSummaryValue)(o,e)}return(0,g.isTooLongForDefaultValueSummary)(e)?(0,g.createSummaryValue)(T,e):(0,g.createSummaryValue)(e)}function X(e){try{let t=f(e);switch(t.inferredType.type){case"Object":return Y(t);case"Function":return Mt(t);case"Element":return Lt(e,t);case"Array":return W(t);default:return null}}catch(t){console.error(t)}return null}var Me=l(require("lodash/isPlainObject")),oe=l(require("lodash/isFunction")),Le=l(require("lodash/isString")),se=l(require("react-element-to-jsx-string")),m=require("@storybook/docs-tools");function Ue(e){return e.$$typeof!=null}function ie(e,t){let{name:r}=e;return r!==""&&r!=="anonymous"&&r!==t?r:null}var Ut=e=>(0,m.createSummaryValue)(JSON.stringify(e));function Vt(e){let{type:t}=e,{displayName:r}=t,n=(0,se.default)(e,{});if(r!=null){let o=S(r);return(0,m.createSummaryValue)(o,n)}if((0,Le.default)(t)&&x(t)){let s=(0,se.default)(e,{tabStop:0}).replace(/\r?\n|\r/g,"");if(!(0,m.isTooLongForDefaultValueSummary)(s))return(0,m.createSummaryValue)(s)}return(0,m.createSummaryValue)(T,n)}var kt=e=>{if(Ue(e)&&e.type!=null)return Vt(e);if((0,Me.default)(e)){let t=f(JSON.stringify(e));return Y(t)}if(Array.isArray(e)){let t=f(JSON.stringify(e));return W(t)}return(0,m.createSummaryValue)(I)},vt=(e,t)=>{let r=!1,n;if((0,oe.default)(e.render))r=!0;else if(e.prototype!=null&&(0,oe.default)(e.prototype.render))r=!0;else{let s;try{n=f(e.toString());let{hasParams:p,params:a}=n.inferredType;p?a.length===1&&a[0].type==="ObjectPattern"&&(s=e({})):s=e(),s!=null&&Ue(s)&&(r=!0)}catch{}}let o=ie(e,t.name);if(o!=null){if(r)return(0,m.createSummaryValue)(S(o));n!=null&&(n=f(e.toString()));let{hasParams:s}=n.inferredType;return(0,m.createSummaryValue)(V(o,s))}return(0,m.createSummaryValue)(r?T:y)},wt=e=>(0,m.createSummaryValue)(e.toString()),Ve={string:Ut,object:kt,function:vt,default:wt};function ke(e={}){return{...Ve,...e}}function H(e,t,r=Ve){try{switch(typeof e){case"string":return r.string(e,t);case"object":return r.object(e,t);case"function":return r.function(e,t);default:return r.default(e,t)}}catch(n){console.error(n)}return null}function ve(e,t){let{propTypes:r}=t;return r!=null?Object.keys(r).map(n=>e.find(o=>o.name===n)).filter(Boolean):e}var q=require("@storybook/docs-tools");var _t=(e,{name:t,type:r})=>{let n=r.summary==="element"||r.summary==="elementType",o=ie(e,t);if(o!=null){if(n)return(0,q.createSummaryValue)(S(o));let{hasParams:s}=f(e.toString()).inferredType;return(0,q.createSummaryValue)(V(o,s))}return(0,q.createSummaryValue)(n?T:y)},we=ke({function:_t});function $t(e,t){let{propDef:r}=e,n=Je(e);n!=null&&(r.type=n);let{defaultValue:o}=e.docgenInfo;if(o!=null&&o.value!=null){let s=X(o.value);s!=null&&(r.defaultValue=s)}else if(t!=null){let s=H(t,r,we);s!=null&&(r.defaultValue=s)}return r}function _e(e,t){let r=t.defaultProps!=null?t.defaultProps:{},n=e.map(o=>$t(o,r[o.propDef.name]));return ve(n,t)}function Bt(e,t){let{propDef:r}=e,{defaultValue:n}=e.docgenInfo;if(n!=null&&n.value!=null){let o=X(n.value);o!=null&&(r.defaultValue=o)}else if(t!=null){let o=H(t,r);o!=null&&(r.defaultValue=o)}return r}function $e(e){return e.map(t=>Bt(t))}var Be=new Map;Object.keys(pe.default).forEach(e=>{let t=pe.default[e];Be.set(t,e),Be.set(t.isRequired,e)});function Yt(e,t){let r=e;!(0,P.hasDocgen)(e)&&!e.propTypes&&_(e)&&(r=e.type);let n=(0,P.extractComponentProps)(r,t);if(n.length===0)return[];switch(n[0].typeSystem){case P.TypeSystem.JAVASCRIPT:return _e(n,e);case P.TypeSystem.TYPESCRIPT:return $e(n);default:return n.map(o=>o.propDef)}}var Ye=e=>({rows:Yt(e,"props")});var We=e=>{if(e){let{rows:t}=Ye(e);if(t)return t.reduce((r,n)=>{let{name:o,description:s,type:p,sbType:a,defaultValue:i,jsDocTags:h,required:F}=n;return r[o]={name:o,description:s,type:{required:F,...a},table:{type:p,jsDocTags:h,defaultValue:i}},r},{})}return null};var b=l(require("react")),K=l(require("react-element-to-jsx-string")),G=require("@storybook/preview-api"),N=require("@storybook/docs-tools"),k=require("@storybook/client-logger");var Wt=(e,t,r)=>typeof t.transformSource!="function"?e:t.transformSource(e,r),Xt=(e,t)=>{if(typeof e>"u")return k.logger.warn("Too many skip or undefined component"),null;let r=e,n=r.type;for(let i=0;i<t.skip;i+=1){if(typeof r>"u")return k.logger.warn("Cannot skip undefined element"),null;if(b.default.Children.count(r)>1)return k.logger.warn("Trying to skip an array of elements"),null;typeof r.props.children>"u"?(k.logger.warn("Not enough children to skip elements."),typeof r.type=="function"&&r.type.name===""&&(r=b.default.createElement(n,{...r.props}))):typeof r.props.children=="function"?r=r.props.children():r=r.props.children}let p={...typeof t.displayName=="string"?{showFunctions:!0,displayName:()=>t.displayName}:{displayName:i=>i.type.displayName||(i.type===Symbol.for("react.profiler")?"Profiler":null)||(0,N.getDocgenSection)(i.type,"displayName")||(i.type.name!=="_default"?i.type.name:null)||(typeof i.type=="function"?"No Display Name":null)||(he(i.type)?i.type.render.name:null)||(_(i.type)?i.type.type.name:null)||i.type},...{filterProps:(i,h)=>i!==void 0},...t};return b.default.Children.map(e,i=>{let h=typeof i=="number"?i.toString():i,E=(typeof K.default=="function"?K.default:K.default.default)(h,p);if(E.indexOf("&quot;")>-1){let ce=E.match(/\S+=\\"([^"]*)\\"/g);ce&&ce.forEach(ue=>{E=E.replace(ue,ue.replace(/&quot;/g,"'"))})}return E}).join(`
3
3
  `).replace(/function\s+noRefCheck\(\)\s+\{\}/g,"() => {}")},Ht={skip:0,showFunctions:!1,enableBeautify:!0,showDefaultProps:!1},qt=e=>{var n;let t=(n=e==null?void 0:e.parameters.docs)==null?void 0:n.source,r=e==null?void 0:e.parameters.__isArgsStory;return(t==null?void 0:t.type)===N.SourceType.DYNAMIC?!1:!r||(t==null?void 0:t.code)||(t==null?void 0:t.type)===N.SourceType.CODE},Kt=e=>{var t,r;return((t=e.type)==null?void 0:t.displayName)==="MDXCreateElement"&&!!((r=e.props)!=null&&r.mdxType)},Xe=e=>{if(!Kt(e))return e;let{mdxType:t,originalType:r,children:n,...o}=e.props,s=[];return n&&(s=(Array.isArray(n)?n:[n]).map(Xe)),(0,b.createElement)(r,o,...s)},He=(e,t)=>{var F,E;let r=G.addons.getChannel(),n=qt(t),o="";(0,G.useEffect)(()=>{n||r.emit(N.SNIPPET_RENDERED,(t||{}).id,o)});let s=e();if(n)return s;let p={...Ht,...(t==null?void 0:t.parameters.jsx)||{}},a=(E=(F=t==null?void 0:t.parameters.docs)==null?void 0:F.source)!=null&&E.excludeDecorators?t.originalStoryFn(t.args,t):s,i=Xe(a),h=Xt(i,p);return h&&(o=Wt(h,p,t)),s};var qe={docs:{inlineStories:!0,extractArgTypes:We,extractComponentDescription:z.extractComponentDescription}},Ke=[He],Ge=[z.enhanceArgTypes];var Ze=l(require("global")),u=l(require("react")),O=l(require("react-dom")),{FRAMEWORK_OPTIONS:D}=Ze.default,Q=new Map,et=(e,t)=>{let{id:r,component:n}=t;if(!n)throw new Error(`Unable to render story ${r} as the component annotation is missing from the default export`);return u.default.createElement(n,{...e})},Gt=({callback:e,children:t})=>{let r=(0,u.useRef)();return(0,u.useLayoutEffect)(()=>{r.current!==e&&(r.current=e,e())},[e]),t},zt=async(e,t)=>{let r=await er(t);return new Promise(n=>{r?r.render(u.default.createElement(Gt,{callback:()=>n(null)},e)):O.default.render(e,t,()=>n(null))})},Qt=O.version&&(O.version.startsWith("18")||O.version.startsWith("0.0.0")),Zt=(D==null?void 0:D.legacyRootApi)!==!0,tt=Zt&&Qt,ze=e=>{let t=Q.get(e);t&&tt?(t.unmount(),Q.delete(e)):O.default.unmountComponentAtNode(e)},er=async e=>{if(!tt)return null;let t=Q.get(e);return t||(t=(await import("react-dom/client")).default.createRoot(e),Q.set(e,t)),t},ae=class extends u.Component{constructor(){super(...arguments);this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidMount(){let{hasError:r}=this.state,{showMain:n}=this.props;r||n()}componentDidCatch(r){let{showException:n}=this.props;n(r)}render(){let{hasError:r}=this.state,{children:n}=this.props;return r?null:n}},Qe=D!=null&&D.strictMode?u.StrictMode:u.Fragment;async function rt({storyContext:e,unboundStoryFn:t,showMain:r,showException:n,forceRemount:o},s){let a=u.default.createElement(ae,{showMain:r,showException:n},u.default.createElement(t,{...e})),i=Qe?u.default.createElement(Qe,null,a):a;return o&&ze(s),await zt(i,s),()=>ze(s)}var tr={framework:"react",...qe};0&&(module.exports={argTypesEnhancers,decorators,parameters,render,renderToCanvas});
package/dist/config.mjs CHANGED
@@ -1,3 +1,3 @@
1
- import{a as Je,b as Le}from"./chunk-3ETZESFO.mjs";import{extractComponentDescription as vt,enhanceArgTypes as _t}from"@storybook/docs-tools";import Ce from"prop-types";import{hasDocgen as ht,extractComponentProps as At,TypeSystem as Re}from"@storybook/docs-tools";import{createSummaryValue as D,isTooLongForTypeSummary as et}from"@storybook/docs-tools";function K(e,t){let r=e!=null,n=t!=null;if(!r&&!n)return"";let o=[];if(r){let s=e.map(p=>{let a=p.getPrettyName(),i=p.getTypeName();return i!=null?`${a}: ${i}`:a});o.push(`(${s.join(", ")})`)}else o.push("()");return n&&o.push(`=> ${t.getTypeName()}`),o.join(" ")}function G(e,t){let r=e!=null,n=t!=null;if(!r&&!n)return"";let o=[];return r?o.push("( ... )"):o.push("()"),n&&o.push(`=> ${t.getTypeName()}`),o.join(" ")}function z(e){return e.replace(/,/g,`,\r
2
- `)}var A="custom",T="object",x="array",Q="class",l="func",f="element";import Ve from"html-tags";function I(e){return Ve.includes(e.toLowerCase())}import{generate as Me}from"escodegen";import{dedent as Ue}from"ts-dedent";var Z={format:{indent:{style:" "},semicolons:!1}},ke={...Z,format:{newline:""}},ve={...Z};function m(e,t=!1){return Me(e,t?ke:ve)}function C(e,t=!1){return t?_e(e):m(e)}function _e(e){let t=m(e,!0);return t.endsWith(" }")||(t=`${t.slice(0,-1)} }`),t}function U(e,t=!1){return t?$e(e):we(e)}function we(e){let t=m(e);return t.endsWith(" }]")&&(t=Ue(t)),t}function $e(e){let t=m(e,!0);return t.startsWith("[ ")&&(t=t.replace("[ ","[")),t}var S=e=>e.$$typeof===Symbol.for("react.memo"),ee=e=>e.$$typeof===Symbol.for("react.forward_ref");import{Parser as Be}from"acorn";import Ye from"acorn-jsx";import*as g from"acorn-walk";var k={...g.base,JSXElement:()=>{}},Xe=Be.extend(Ye());function R(e){return e!=null?e.name:null}function te(e){return e.filter(t=>t.type==="ObjectExpression"||t.type==="ArrayExpression")}function re(e){let t=[];return g.ancestor(e,{ObjectExpression(r,n){t.push(te(n).length)},ArrayExpression(r,n){t.push(te(n).length)}},k),Math.max(...t)}function We(e){return{inferredType:{type:"Identifier",identifier:R(e)},ast:e}}function He(e){return{inferredType:{type:"Literal"},ast:e}}function qe(e){let t;g.simple(e.body,{JSXElement(s){t=s}},k);let n={type:t!=null?"Element":"Function",params:e.params,hasParams:e.params.length!==0},o=R(e.id);return o!=null&&(n.identifier=o),{inferredType:n,ast:e}}function Ke(e){let t;return g.simple(e.body,{JSXElement(n){t=n}},k),{inferredType:{type:t!=null?"Element":"Class",identifier:R(e.id)},ast:e}}function Ge(e){let t={type:"Element"},r=R(e.openingElement.name);return r!=null&&(t.identifier=r),{inferredType:t,ast:e}}function ze(e){let t=e.callee.type==="MemberExpression"?e.callee.property:e.callee;return R(t)==="shape"?ne(e.arguments[0]):null}function ne(e){return{inferredType:{type:"Object",depth:re(e)},ast:e}}function Qe(e){return{inferredType:{type:"Array",depth:re(e)},ast:e}}function Ze(e){switch(e.type){case"Identifier":return We(e);case"Literal":return He(e);case"FunctionExpression":case"ArrowFunctionExpression":return qe(e);case"ClassExpression":return Ke(e);case"JSXElement":return Ge(e);case"CallExpression":return ze(e);case"ObjectExpression":return ne(e);case"ArrayExpression":return Qe(e);default:return null}}function oe(e){let t=Xe.parse(`(${e})`),r={inferredType:{type:"Unknown"},ast:t};if(t.body[0]!=null){let n=t.body[0];switch(n.type){case"ExpressionStatement":{let o=Ze(n.expression);o!=null&&(r=o);break}default:break}}return r}function u(e){try{return{...oe(e)}}catch{}return{inferredType:{type:"Unknown"}}}var tt=150;function c({name:e,short:t,compact:r,full:n,inferredType:o}){return{name:e,short:t,compact:r,full:n??t,inferredType:o}}function ce(e){return e.replace(/PropTypes./g,"").replace(/.isRequired/g,"")}function se(e){return e.split(/\r?\n/)}function F(e,t=!1){return ce(C(e,t))}function ie(e,t=!1){return ce(m(e,t))}function rt(e){switch(e){case"Object":return T;case"Array":return x;case"Class":return Q;case"Function":return l;case"Element":return f;default:return A}}function ue(e,t){let{inferredType:r,ast:n}=u(e),{type:o}=r,s,p,a;switch(o){case"Identifier":case"Literal":s=e,p=e;break;case"Object":{let{depth:i}=r;s=T,p=i===1?F(n,!0):null,a=F(n);break}case"Element":{let{identifier:i}=r;s=i!=null&&!I(i)?i:f,p=se(e).length===1?e:null,a=e;break}case"Array":{let{depth:i}=r;s=x,p=i<=2?ie(n,!0):null,a=ie(n);break}default:s=rt(o),p=se(e).length===1?e:null,a=e;break}return c({name:t,short:s,compact:p,full:a,inferredType:o})}function nt({raw:e}){return e!=null?ue(e,"custom"):c({name:"custom",short:A,compact:A})}function ot(e){let{jsDocTags:t}=e;return t!=null&&(t.params!=null||t.returns!=null)?c({name:"func",short:G(t.params,t.returns),compact:null,full:K(t.params,t.returns)}):c({name:"func",short:l,compact:l})}function st(e,t){let r=Object.keys(e.value).map(p=>`${p}: ${E(e.value[p],t).full}`).join(", "),{inferredType:n,ast:o}=u(`{ ${r} }`),{depth:s}=n;return c({name:"shape",short:T,compact:s===1&&o?F(o,!0):null,full:o?F(o):null})}function v(e){return`objectOf(${e})`}function it(e,t){let{short:r,compact:n,full:o}=E(e.value,t);return c({name:"objectOf",short:v(r),compact:n!=null?v(n):null,full:o&&v(o)})}function pt(e,t){if(Array.isArray(e.value)){let r=e.value.reduce((n,o)=>{let{short:s,compact:p,full:a}=E(o,t);return n.short.push(s),n.compact.push(p),n.full.push(a),n},{short:[],compact:[],full:[]});return c({name:"union",short:r.short.join(" | "),compact:r.compact.every(n=>n!=null)?r.compact.join(" | "):null,full:r.full.join(" | ")})}return c({name:"union",short:e.value,compact:null})}function at({value:e,computed:t}){return t?ue(e,"enumvalue"):c({name:"enumvalue",short:e,compact:e})}function ct(e){if(Array.isArray(e.value)){let t=e.value.reduce((r,n)=>{let{short:o,compact:s,full:p}=at(n);return r.short.push(o),r.compact.push(s),r.full.push(p),r},{short:[],compact:[],full:[]});return c({name:"enum",short:t.short.join(" | "),compact:t.compact.every(r=>r!=null)?t.compact.join(" | "):null,full:t.full.join(" | ")})}return c({name:"enum",short:e.value,compact:e.value})}function _(e){return`${e}[]`}function pe(e){return`[${e}]`}function ae(e,t,r){return c({name:"arrayOf",short:_(e),compact:t!=null?pe(t):null,full:r&&pe(r)})}function ut(e,t){let{name:r,short:n,compact:o,full:s,inferredType:p}=E(e.value,t);if(r==="custom"){if(p==="Object")return ae(n,o,s)}else if(r==="shape")return ae(n,o,s);return c({name:"arrayOf",short:_(n),compact:_(n)})}function E(e,t){try{switch(e.name){case"custom":return nt(e);case"func":return ot(t);case"shape":return st(e,t);case"instanceOf":return c({name:"instanceOf",short:e.value,compact:e.value});case"objectOf":return it(e,t);case"union":return pt(e,t);case"enum":return ct(e);case"arrayOf":return ut(e,t);default:return c({name:e.name,short:e.name,compact:e.name})}}catch(r){console.error(r)}return c({name:"unknown",short:"unknown",compact:"unknown"})}function le(e){let{type:t}=e.docgenInfo;if(t==null)return null;try{switch(t.name){case"custom":case"shape":case"instanceOf":case"objectOf":case"union":case"enum":case"arrayOf":{let{short:r,compact:n,full:o}=E(t,e);return n!=null&&!et(n)?D(n):o?D(r,o):D(r)}case"func":{let{short:r,full:n}=E(t,e),o=r,s;return n&&n.length<tt?o=n:n&&(s=z(n)),D(o,s)}default:return null}}catch(r){console.error(r)}return null}import{createSummaryValue as O,isTooLongForDefaultValueSummary as ye}from"@storybook/docs-tools";import{createSummaryValue as fe,isTooLongForDefaultValueSummary as lt}from"@storybook/docs-tools";function j({inferredType:e,ast:t}){let{depth:r}=e;if(r===1){let n=C(t,!0);if(!lt(n))return fe(n)}return fe(T,C(t))}import{createSummaryValue as me,isTooLongForDefaultValueSummary as ft}from"@storybook/docs-tools";function J({inferredType:e,ast:t}){let{depth:r}=e;if(r<=2){let n=U(t,!0);if(!ft(n))return me(n)}return me(x,U(t))}function h(e,t){return t?`${e}( ... )`:`${e}()`}function P(e){return`<${e} />`}function w(e){let{type:t,identifier:r}=e;switch(t){case"Function":return h(r,e.hasParams);case"Element":return P(r);default:return r}}function mt({inferredType:e,ast:t}){let{identifier:r}=e;if(r!=null)return O(w(e),m(t));let n=m(t,!0);return ye(n)?O(l,m(t)):O(n)}function yt(e,t){let{inferredType:r}=t,{identifier:n}=r;if(n!=null&&!I(n)){let o=w(r);return O(o,e)}return ye(e)?O(f,e):O(e)}function L(e){try{let t=u(e);switch(t.inferredType.type){case"Object":return j(t);case"Function":return mt(t);case"Element":return yt(e,t);case"Array":return J(t);default:return null}}catch(t){console.error(t)}return null}import Tt from"lodash/isPlainObject";import Te from"lodash/isFunction";import dt from"lodash/isString";import de from"react-element-to-jsx-string";import{createSummaryValue as y,isTooLongForDefaultValueSummary as gt}from"@storybook/docs-tools";function ge(e){return e.$$typeof!=null}function $(e,t){let{name:r}=e;return r!==""&&r!=="anonymous"&&r!==t?r:null}var It=e=>y(JSON.stringify(e));function Et(e){let{type:t}=e,{displayName:r}=t,n=de(e,{});if(r!=null){let o=P(r);return y(o,n)}if(dt(t)&&I(t)){let s=de(e,{tabStop:0}).replace(/\r?\n|\r/g,"");if(!gt(s))return y(s)}return y(f,n)}var Pt=e=>{if(ge(e)&&e.type!=null)return Et(e);if(Tt(e)){let t=u(JSON.stringify(e));return j(t)}if(Array.isArray(e)){let t=u(JSON.stringify(e));return J(t)}return y(T)},Ot=(e,t)=>{let r=!1,n;if(Te(e.render))r=!0;else if(e.prototype!=null&&Te(e.prototype.render))r=!0;else{let s;try{n=u(e.toString());let{hasParams:p,params:a}=n.inferredType;p?a.length===1&&a[0].type==="ObjectPattern"&&(s=e({})):s=e(),s!=null&&ge(s)&&(r=!0)}catch{}}let o=$(e,t.name);if(o!=null){if(r)return y(P(o));n!=null&&(n=u(e.toString()));let{hasParams:s}=n.inferredType;return y(h(o,s))}return y(r?f:l)},Nt=e=>y(e.toString()),Ie={string:It,object:Pt,function:Ot,default:Nt};function Ee(e={}){return{...Ie,...e}}function V(e,t,r=Ie){try{switch(typeof e){case"string":return r.string(e,t);case"object":return r.object(e,t);case"function":return r.function(e,t);default:return r.default(e,t)}}catch(n){console.error(n)}return null}function Pe(e,t){let{propTypes:r}=t;return r!=null?Object.keys(r).map(n=>e.find(o=>o.name===n)).filter(Boolean):e}import{createSummaryValue as B}from"@storybook/docs-tools";var xt=(e,{name:t,type:r})=>{let n=r.summary==="element"||r.summary==="elementType",o=$(e,t);if(o!=null){if(n)return B(P(o));let{hasParams:s}=u(e.toString()).inferredType;return B(h(o,s))}return B(n?f:l)},Oe=Ee({function:xt});function Ct(e,t){let{propDef:r}=e,n=le(e);n!=null&&(r.type=n);let{defaultValue:o}=e.docgenInfo;if(o!=null&&o.value!=null){let s=L(o.value);s!=null&&(r.defaultValue=s)}else if(t!=null){let s=V(t,r,Oe);s!=null&&(r.defaultValue=s)}return r}function Ne(e,t){let r=t.defaultProps!=null?t.defaultProps:{},n=e.map(o=>Ct(o,r[o.propDef.name]));return Pe(n,t)}function Rt(e,t){let{propDef:r}=e,{defaultValue:n}=e.docgenInfo;if(n!=null&&n.value!=null){let o=L(n.value);o!=null&&(r.defaultValue=o)}else if(t!=null){let o=V(t,r);o!=null&&(r.defaultValue=o)}return r}function xe(e){return e.map(t=>Rt(t))}var he=new Map;Object.keys(Ce).forEach(e=>{let t=Ce[e];he.set(t,e),he.set(t.isRequired,e)});function St(e,t){let r=e;!ht(e)&&!e.propTypes&&S(e)&&(r=e.type);let n=At(r,t);if(n.length===0)return[];switch(n[0].typeSystem){case Re.JAVASCRIPT:return Ne(n,e);case Re.TYPESCRIPT:return xe(n);default:return n.map(o=>o.propDef)}}var Ae=e=>({rows:St(e,"props")});var Se=e=>{if(e){let{rows:t}=Ae(e);if(t)return t.reduce((r,n)=>{let{name:o,description:s,type:p,sbType:a,defaultValue:i,jsDocTags:d,required:W}=n;return r[o]={name:o,description:s,type:{required:W,...a},table:{type:p,jsDocTags:d,defaultValue:i}},r},{})}return null};import Y,{createElement as bt}from"react";import X from"react-element-to-jsx-string";import{addons as Dt,useEffect as Ft}from"@storybook/addons";import{SourceType as be,SNIPPET_RENDERED as jt,getDocgenSection as Jt}from"@storybook/docs-tools";import{logger as M}from"@storybook/client-logger";var Lt=(e,t,r)=>typeof t.transformSource!="function"?e:t.transformSource(e,r),Vt=(e,t)=>{if(typeof e>"u")return M.warn("Too many skip or undefined component"),null;let r=e,n=r.type;for(let i=0;i<t.skip;i+=1){if(typeof r>"u")return M.warn("Cannot skip undefined element"),null;if(Y.Children.count(r)>1)return M.warn("Trying to skip an array of elements"),null;typeof r.props.children>"u"?(M.warn("Not enough children to skip elements."),typeof r.type=="function"&&r.type.name===""&&(r=Y.createElement(n,{...r.props}))):typeof r.props.children=="function"?r=r.props.children():r=r.props.children}let p={...typeof t.displayName=="string"?{showFunctions:!0,displayName:()=>t.displayName}:{displayName:i=>i.type.displayName||(i.type===Symbol.for("react.profiler")?"Profiler":null)||Jt(i.type,"displayName")||(i.type.name!=="_default"?i.type.name:null)||(typeof i.type=="function"?"No Display Name":null)||(ee(i.type)?i.type.render.name:null)||(S(i.type)?i.type.type.name:null)||i.type},...{filterProps:(i,d)=>i!==void 0},...t};return Y.Children.map(e,i=>{let d=typeof i=="number"?i.toString():i,N=(typeof X=="function"?X:X.default)(d,p);if(N.indexOf("&quot;")>-1){let H=N.match(/\S+=\\"([^"]*)\\"/g);H&&H.forEach(q=>{N=N.replace(q,q.replace(/&quot;/g,"'"))})}return N}).join(`
3
- `).replace(/function\s+noRefCheck\(\)\s+\{\}/g,"() => {}")},Mt={skip:0,showFunctions:!1,enableBeautify:!0,showDefaultProps:!1},Ut=e=>{let t=e?.parameters.docs?.source,r=e?.parameters.__isArgsStory;return t?.type===be.DYNAMIC?!1:!r||t?.code||t?.type===be.CODE},kt=e=>e.type?.displayName==="MDXCreateElement"&&!!e.props?.mdxType,De=e=>{if(!kt(e))return e;let{mdxType:t,originalType:r,children:n,...o}=e.props,s=[];return n&&(s=(Array.isArray(n)?n:[n]).map(De)),bt(r,o,...s)},Fe=(e,t)=>{let r=Dt.getChannel(),n=Ut(t),o="";Ft(()=>{n||r.emit(jt,(t||{}).id,o)});let s=e();if(n)return s;let p={...Mt,...t?.parameters.jsx||{}},a=t?.parameters.docs?.source?.excludeDecorators?t.originalStoryFn(t.args,t):s,i=De(a),d=Vt(i,p);return d&&(o=Lt(d,p,t)),s};var je={docs:{inlineStories:!0,extractArgTypes:Se,extractComponentDescription:vt}},wt=[Fe],$t=[_t];var Jn={framework:"react",...je};export{$t as argTypesEnhancers,wt as decorators,Jn as parameters,Je as render,Le as renderToCanvas};
1
+ import{render,renderToCanvas}from"./chunk-LSK4KSW4.mjs";import{extractComponentDescription,enhanceArgTypes}from"@storybook/docs-tools";import PropTypes from"prop-types";import{hasDocgen,extractComponentProps,TypeSystem}from"@storybook/docs-tools";import{createSummaryValue,isTooLongForTypeSummary}from"@storybook/docs-tools";function generateFuncSignature(params,returns){let hasParams=params!=null,hasReturns=returns!=null;if(!hasParams&&!hasReturns)return"";let funcParts=[];if(hasParams){let funcParams=params.map(x=>{let prettyName=x.getPrettyName(),typeName=x.getTypeName();return typeName!=null?`${prettyName}: ${typeName}`:prettyName});funcParts.push(`(${funcParams.join(", ")})`)}else funcParts.push("()");return hasReturns&&funcParts.push(`=> ${returns.getTypeName()}`),funcParts.join(" ")}function generateShortFuncSignature(params,returns){let hasParams=params!=null,hasReturns=returns!=null;if(!hasParams&&!hasReturns)return"";let funcParts=[];return hasParams?funcParts.push("( ... )"):funcParts.push("()"),hasReturns&&funcParts.push(`=> ${returns.getTypeName()}`),funcParts.join(" ")}function toMultilineSignature(signature){return signature.replace(/,/g,`,\r
2
+ `)}var CUSTOM_CAPTION="custom",OBJECT_CAPTION="object",ARRAY_CAPTION="array",CLASS_CAPTION="class",FUNCTION_CAPTION="func",ELEMENT_CAPTION="element";import htmlTags from"html-tags";function isHtmlTag(tagName){return htmlTags.includes(tagName.toLowerCase())}import{generate}from"escodegen";import{dedent}from"ts-dedent";var BASIC_OPTIONS={format:{indent:{style:" "},semicolons:!1}},COMPACT_OPTIONS={...BASIC_OPTIONS,format:{newline:""}},PRETTY_OPTIONS={...BASIC_OPTIONS};function generateCode(ast,compact=!1){return generate(ast,compact?COMPACT_OPTIONS:PRETTY_OPTIONS)}function generateObjectCode(ast,compact=!1){return compact?generateCompactObjectCode(ast):generateCode(ast)}function generateCompactObjectCode(ast){let result=generateCode(ast,!0);return result.endsWith(" }")||(result=`${result.slice(0,-1)} }`),result}function generateArrayCode(ast,compact=!1){return compact?generateCompactArrayCode(ast):generateMultilineArrayCode(ast)}function generateMultilineArrayCode(ast){let result=generateCode(ast);return result.endsWith(" }]")&&(result=dedent(result)),result}function generateCompactArrayCode(ast){let result=generateCode(ast,!0);return result.startsWith("[ ")&&(result=result.replace("[ ","[")),result}var isMemo=component=>component.$$typeof===Symbol.for("react.memo"),isForwardRef=component=>component.$$typeof===Symbol.for("react.forward_ref");import{Parser}from"acorn";import jsx from"acorn-jsx";import*as acornWalk from"acorn-walk";var ACORN_WALK_VISITORS={...acornWalk.base,JSXElement:()=>{}},acornParser=Parser.extend(jsx());function extractIdentifierName(identifierNode){return identifierNode!=null?identifierNode.name:null}function filterAncestors(ancestors){return ancestors.filter(x=>x.type==="ObjectExpression"||x.type==="ArrayExpression")}function calculateNodeDepth(node){let depths=[];return acornWalk.ancestor(node,{ObjectExpression(_,ancestors){depths.push(filterAncestors(ancestors).length)},ArrayExpression(_,ancestors){depths.push(filterAncestors(ancestors).length)}},ACORN_WALK_VISITORS),Math.max(...depths)}function parseIdentifier(identifierNode){return{inferredType:{type:"Identifier",identifier:extractIdentifierName(identifierNode)},ast:identifierNode}}function parseLiteral(literalNode){return{inferredType:{type:"Literal"},ast:literalNode}}function parseFunction(funcNode){let innerJsxElementNode;acornWalk.simple(funcNode.body,{JSXElement(node){innerJsxElementNode=node}},ACORN_WALK_VISITORS);let inferredType={type:innerJsxElementNode!=null?"Element":"Function",params:funcNode.params,hasParams:funcNode.params.length!==0},identifierName=extractIdentifierName(funcNode.id);return identifierName!=null&&(inferredType.identifier=identifierName),{inferredType,ast:funcNode}}function parseClass(classNode){let innerJsxElementNode;return acornWalk.simple(classNode.body,{JSXElement(node){innerJsxElementNode=node}},ACORN_WALK_VISITORS),{inferredType:{type:innerJsxElementNode!=null?"Element":"Class",identifier:extractIdentifierName(classNode.id)},ast:classNode}}function parseJsxElement(jsxElementNode){let inferredType={type:"Element"},identifierName=extractIdentifierName(jsxElementNode.openingElement.name);return identifierName!=null&&(inferredType.identifier=identifierName),{inferredType,ast:jsxElementNode}}function parseCall(callNode){let identifierNode=callNode.callee.type==="MemberExpression"?callNode.callee.property:callNode.callee;return extractIdentifierName(identifierNode)==="shape"?parseObject(callNode.arguments[0]):null}function parseObject(objectNode){return{inferredType:{type:"Object",depth:calculateNodeDepth(objectNode)},ast:objectNode}}function parseArray(arrayNode){return{inferredType:{type:"Array",depth:calculateNodeDepth(arrayNode)},ast:arrayNode}}function parseExpression(expression){switch(expression.type){case"Identifier":return parseIdentifier(expression);case"Literal":return parseLiteral(expression);case"FunctionExpression":case"ArrowFunctionExpression":return parseFunction(expression);case"ClassExpression":return parseClass(expression);case"JSXElement":return parseJsxElement(expression);case"CallExpression":return parseCall(expression);case"ObjectExpression":return parseObject(expression);case"ArrayExpression":return parseArray(expression);default:return null}}function parse(value){let ast=acornParser.parse(`(${value})`),parsingResult={inferredType:{type:"Unknown"},ast};if(ast.body[0]!=null){let rootNode=ast.body[0];switch(rootNode.type){case"ExpressionStatement":{let expressionResult=parseExpression(rootNode.expression);expressionResult!=null&&(parsingResult=expressionResult);break}default:break}}return parsingResult}function inspectValue(value){try{return{...parse(value)}}catch{}return{inferredType:{type:"Unknown"}}}var MAX_FUNC_LENGTH=150;function createTypeDef({name,short,compact,full,inferredType}){return{name,short,compact,full:full??short,inferredType}}function cleanPropTypes(value){return value.replace(/PropTypes./g,"").replace(/.isRequired/g,"")}function splitIntoLines(value){return value.split(/\r?\n/)}function prettyObject(ast,compact=!1){return cleanPropTypes(generateObjectCode(ast,compact))}function prettyArray(ast,compact=!1){return cleanPropTypes(generateCode(ast,compact))}function getCaptionForInspectionType(type){switch(type){case"Object":return OBJECT_CAPTION;case"Array":return ARRAY_CAPTION;case"Class":return CLASS_CAPTION;case"Function":return FUNCTION_CAPTION;case"Element":return ELEMENT_CAPTION;default:return CUSTOM_CAPTION}}function generateTypeFromString(value,originalTypeName){let{inferredType,ast}=inspectValue(value),{type}=inferredType,short,compact,full;switch(type){case"Identifier":case"Literal":short=value,compact=value;break;case"Object":{let{depth}=inferredType;short=OBJECT_CAPTION,compact=depth===1?prettyObject(ast,!0):null,full=prettyObject(ast);break}case"Element":{let{identifier}=inferredType;short=identifier!=null&&!isHtmlTag(identifier)?identifier:ELEMENT_CAPTION,compact=splitIntoLines(value).length===1?value:null,full=value;break}case"Array":{let{depth}=inferredType;short=ARRAY_CAPTION,compact=depth<=2?prettyArray(ast,!0):null,full=prettyArray(ast);break}default:short=getCaptionForInspectionType(type),compact=splitIntoLines(value).length===1?value:null,full=value;break}return createTypeDef({name:originalTypeName,short,compact,full,inferredType:type})}function generateCustom({raw}){return raw!=null?generateTypeFromString(raw,"custom"):createTypeDef({name:"custom",short:CUSTOM_CAPTION,compact:CUSTOM_CAPTION})}function generateFunc(extractedProp){let{jsDocTags}=extractedProp;return jsDocTags!=null&&(jsDocTags.params!=null||jsDocTags.returns!=null)?createTypeDef({name:"func",short:generateShortFuncSignature(jsDocTags.params,jsDocTags.returns),compact:null,full:generateFuncSignature(jsDocTags.params,jsDocTags.returns)}):createTypeDef({name:"func",short:FUNCTION_CAPTION,compact:FUNCTION_CAPTION})}function generateShape(type,extractedProp){let fields=Object.keys(type.value).map(key=>`${key}: ${generateType(type.value[key],extractedProp).full}`).join(", "),{inferredType,ast}=inspectValue(`{ ${fields} }`),{depth}=inferredType;return createTypeDef({name:"shape",short:OBJECT_CAPTION,compact:depth===1&&ast?prettyObject(ast,!0):null,full:ast?prettyObject(ast):null})}function objectOf(of){return`objectOf(${of})`}function generateObjectOf(type,extractedProp){let{short,compact,full}=generateType(type.value,extractedProp);return createTypeDef({name:"objectOf",short:objectOf(short),compact:compact!=null?objectOf(compact):null,full:full&&objectOf(full)})}function generateUnion(type,extractedProp){if(Array.isArray(type.value)){let values=type.value.reduce((acc,v)=>{let{short,compact,full}=generateType(v,extractedProp);return acc.short.push(short),acc.compact.push(compact),acc.full.push(full),acc},{short:[],compact:[],full:[]});return createTypeDef({name:"union",short:values.short.join(" | "),compact:values.compact.every(x=>x!=null)?values.compact.join(" | "):null,full:values.full.join(" | ")})}return createTypeDef({name:"union",short:type.value,compact:null})}function generateEnumValue({value,computed}){return computed?generateTypeFromString(value,"enumvalue"):createTypeDef({name:"enumvalue",short:value,compact:value})}function generateEnum(type){if(Array.isArray(type.value)){let values=type.value.reduce((acc,v)=>{let{short,compact,full}=generateEnumValue(v);return acc.short.push(short),acc.compact.push(compact),acc.full.push(full),acc},{short:[],compact:[],full:[]});return createTypeDef({name:"enum",short:values.short.join(" | "),compact:values.compact.every(x=>x!=null)?values.compact.join(" | "):null,full:values.full.join(" | ")})}return createTypeDef({name:"enum",short:type.value,compact:type.value})}function braceAfter(of){return`${of}[]`}function braceAround(of){return`[${of}]`}function createArrayOfObjectTypeDef(short,compact,full){return createTypeDef({name:"arrayOf",short:braceAfter(short),compact:compact!=null?braceAround(compact):null,full:full&&braceAround(full)})}function generateArray(type,extractedProp){let{name,short,compact,full,inferredType}=generateType(type.value,extractedProp);if(name==="custom"){if(inferredType==="Object")return createArrayOfObjectTypeDef(short,compact,full)}else if(name==="shape")return createArrayOfObjectTypeDef(short,compact,full);return createTypeDef({name:"arrayOf",short:braceAfter(short),compact:braceAfter(short)})}function generateType(type,extractedProp){try{switch(type.name){case"custom":return generateCustom(type);case"func":return generateFunc(extractedProp);case"shape":return generateShape(type,extractedProp);case"instanceOf":return createTypeDef({name:"instanceOf",short:type.value,compact:type.value});case"objectOf":return generateObjectOf(type,extractedProp);case"union":return generateUnion(type,extractedProp);case"enum":return generateEnum(type);case"arrayOf":return generateArray(type,extractedProp);default:return createTypeDef({name:type.name,short:type.name,compact:type.name})}}catch(e){console.error(e)}return createTypeDef({name:"unknown",short:"unknown",compact:"unknown"})}function createType(extractedProp){let{type}=extractedProp.docgenInfo;if(type==null)return null;try{switch(type.name){case"custom":case"shape":case"instanceOf":case"objectOf":case"union":case"enum":case"arrayOf":{let{short,compact,full}=generateType(type,extractedProp);return compact!=null&&!isTooLongForTypeSummary(compact)?createSummaryValue(compact):full?createSummaryValue(short,full):createSummaryValue(short)}case"func":{let{short,full}=generateType(type,extractedProp),summary=short,detail;return full&&full.length<MAX_FUNC_LENGTH?summary=full:full&&(detail=toMultilineSignature(full)),createSummaryValue(summary,detail)}default:return null}}catch(e){console.error(e)}return null}import{createSummaryValue as createSummaryValue4,isTooLongForDefaultValueSummary as isTooLongForDefaultValueSummary3}from"@storybook/docs-tools";import{createSummaryValue as createSummaryValue2,isTooLongForDefaultValueSummary}from"@storybook/docs-tools";function generateObject({inferredType,ast}){let{depth}=inferredType;if(depth===1){let compactObject=generateObjectCode(ast,!0);if(!isTooLongForDefaultValueSummary(compactObject))return createSummaryValue2(compactObject)}return createSummaryValue2(OBJECT_CAPTION,generateObjectCode(ast))}import{createSummaryValue as createSummaryValue3,isTooLongForDefaultValueSummary as isTooLongForDefaultValueSummary2}from"@storybook/docs-tools";function generateArray2({inferredType,ast}){let{depth}=inferredType;if(depth<=2){let compactArray=generateArrayCode(ast,!0);if(!isTooLongForDefaultValueSummary2(compactArray))return createSummaryValue3(compactArray)}return createSummaryValue3(ARRAY_CAPTION,generateArrayCode(ast))}function getPrettyFuncIdentifier(identifier,hasArguments){return hasArguments?`${identifier}( ... )`:`${identifier}()`}function getPrettyElementIdentifier(identifier){return`<${identifier} />`}function getPrettyIdentifier(inferredType){let{type,identifier}=inferredType;switch(type){case"Function":return getPrettyFuncIdentifier(identifier,inferredType.hasParams);case"Element":return getPrettyElementIdentifier(identifier);default:return identifier}}function generateFunc2({inferredType,ast}){let{identifier}=inferredType;if(identifier!=null)return createSummaryValue4(getPrettyIdentifier(inferredType),generateCode(ast));let prettyCaption=generateCode(ast,!0);return isTooLongForDefaultValueSummary3(prettyCaption)?createSummaryValue4(FUNCTION_CAPTION,generateCode(ast)):createSummaryValue4(prettyCaption)}function generateElement(defaultValue,inspectionResult){let{inferredType}=inspectionResult,{identifier}=inferredType;if(identifier!=null&&!isHtmlTag(identifier)){let prettyIdentifier=getPrettyIdentifier(inferredType);return createSummaryValue4(prettyIdentifier,defaultValue)}return isTooLongForDefaultValueSummary3(defaultValue)?createSummaryValue4(ELEMENT_CAPTION,defaultValue):createSummaryValue4(defaultValue)}function createDefaultValue(defaultValue){try{let inspectionResult=inspectValue(defaultValue);switch(inspectionResult.inferredType.type){case"Object":return generateObject(inspectionResult);case"Function":return generateFunc2(inspectionResult);case"Element":return generateElement(defaultValue,inspectionResult);case"Array":return generateArray2(inspectionResult);default:return null}}catch(e){console.error(e)}return null}import isPlainObject from"lodash/isPlainObject";import isFunction from"lodash/isFunction";import isString from"lodash/isString";import reactElementToJSXString from"react-element-to-jsx-string";import{createSummaryValue as createSummaryValue5,isTooLongForDefaultValueSummary as isTooLongForDefaultValueSummary4}from"@storybook/docs-tools";function isReactElement(element){return element.$$typeof!=null}function extractFunctionName(func,propName){let{name}=func;return name!==""&&name!=="anonymous"&&name!==propName?name:null}var stringResolver=rawDefaultProp=>createSummaryValue5(JSON.stringify(rawDefaultProp));function generateReactObject(rawDefaultProp){let{type}=rawDefaultProp,{displayName}=type,jsx2=reactElementToJSXString(rawDefaultProp,{});if(displayName!=null){let prettyIdentifier=getPrettyElementIdentifier(displayName);return createSummaryValue5(prettyIdentifier,jsx2)}if(isString(type)&&isHtmlTag(type)){let jsxSummary=reactElementToJSXString(rawDefaultProp,{tabStop:0}).replace(/\r?\n|\r/g,"");if(!isTooLongForDefaultValueSummary4(jsxSummary))return createSummaryValue5(jsxSummary)}return createSummaryValue5(ELEMENT_CAPTION,jsx2)}var objectResolver=rawDefaultProp=>{if(isReactElement(rawDefaultProp)&&rawDefaultProp.type!=null)return generateReactObject(rawDefaultProp);if(isPlainObject(rawDefaultProp)){let inspectionResult=inspectValue(JSON.stringify(rawDefaultProp));return generateObject(inspectionResult)}if(Array.isArray(rawDefaultProp)){let inspectionResult=inspectValue(JSON.stringify(rawDefaultProp));return generateArray2(inspectionResult)}return createSummaryValue5(OBJECT_CAPTION)},functionResolver=(rawDefaultProp,propDef)=>{let isElement=!1,inspectionResult;if(isFunction(rawDefaultProp.render))isElement=!0;else if(rawDefaultProp.prototype!=null&&isFunction(rawDefaultProp.prototype.render))isElement=!0;else{let innerElement;try{inspectionResult=inspectValue(rawDefaultProp.toString());let{hasParams,params}=inspectionResult.inferredType;hasParams?params.length===1&&params[0].type==="ObjectPattern"&&(innerElement=rawDefaultProp({})):innerElement=rawDefaultProp(),innerElement!=null&&isReactElement(innerElement)&&(isElement=!0)}catch{}}let funcName=extractFunctionName(rawDefaultProp,propDef.name);if(funcName!=null){if(isElement)return createSummaryValue5(getPrettyElementIdentifier(funcName));inspectionResult!=null&&(inspectionResult=inspectValue(rawDefaultProp.toString()));let{hasParams}=inspectionResult.inferredType;return createSummaryValue5(getPrettyFuncIdentifier(funcName,hasParams))}return createSummaryValue5(isElement?ELEMENT_CAPTION:FUNCTION_CAPTION)},defaultResolver=rawDefaultProp=>createSummaryValue5(rawDefaultProp.toString()),DEFAULT_TYPE_RESOLVERS={string:stringResolver,object:objectResolver,function:functionResolver,default:defaultResolver};function createTypeResolvers(customResolvers={}){return{...DEFAULT_TYPE_RESOLVERS,...customResolvers}}function createDefaultValueFromRawDefaultProp(rawDefaultProp,propDef,typeResolvers=DEFAULT_TYPE_RESOLVERS){try{switch(typeof rawDefaultProp){case"string":return typeResolvers.string(rawDefaultProp,propDef);case"object":return typeResolvers.object(rawDefaultProp,propDef);case"function":return typeResolvers.function(rawDefaultProp,propDef);default:return typeResolvers.default(rawDefaultProp,propDef)}}catch(e){console.error(e)}return null}function keepOriginalDefinitionOrder(extractedProps,component){let{propTypes}=component;return propTypes!=null?Object.keys(propTypes).map(x=>extractedProps.find(y=>y.name===x)).filter(Boolean):extractedProps}import{createSummaryValue as createSummaryValue6}from"@storybook/docs-tools";var funcResolver=(rawDefaultProp,{name,type})=>{let isElement=type.summary==="element"||type.summary==="elementType",funcName=extractFunctionName(rawDefaultProp,name);if(funcName!=null){if(isElement)return createSummaryValue6(getPrettyElementIdentifier(funcName));let{hasParams}=inspectValue(rawDefaultProp.toString()).inferredType;return createSummaryValue6(getPrettyFuncIdentifier(funcName,hasParams))}return createSummaryValue6(isElement?ELEMENT_CAPTION:FUNCTION_CAPTION)},rawDefaultPropTypeResolvers=createTypeResolvers({function:funcResolver});function enhancePropTypesProp(extractedProp,rawDefaultProp){let{propDef}=extractedProp,newtype=createType(extractedProp);newtype!=null&&(propDef.type=newtype);let{defaultValue}=extractedProp.docgenInfo;if(defaultValue!=null&&defaultValue.value!=null){let newDefaultValue=createDefaultValue(defaultValue.value);newDefaultValue!=null&&(propDef.defaultValue=newDefaultValue)}else if(rawDefaultProp!=null){let newDefaultValue=createDefaultValueFromRawDefaultProp(rawDefaultProp,propDef,rawDefaultPropTypeResolvers);newDefaultValue!=null&&(propDef.defaultValue=newDefaultValue)}return propDef}function enhancePropTypesProps(extractedProps,component){let rawDefaultProps=component.defaultProps!=null?component.defaultProps:{},enhancedProps=extractedProps.map(x=>enhancePropTypesProp(x,rawDefaultProps[x.propDef.name]));return keepOriginalDefinitionOrder(enhancedProps,component)}function enhanceTypeScriptProp(extractedProp,rawDefaultProp){let{propDef}=extractedProp,{defaultValue}=extractedProp.docgenInfo;if(defaultValue!=null&&defaultValue.value!=null){let newDefaultValue=createDefaultValue(defaultValue.value);newDefaultValue!=null&&(propDef.defaultValue=newDefaultValue)}else if(rawDefaultProp!=null){let newDefaultValue=createDefaultValueFromRawDefaultProp(rawDefaultProp,propDef);newDefaultValue!=null&&(propDef.defaultValue=newDefaultValue)}return propDef}function enhanceTypeScriptProps(extractedProps){return extractedProps.map(prop=>enhanceTypeScriptProp(prop))}var propTypesMap=new Map;Object.keys(PropTypes).forEach(typeName=>{let type=PropTypes[typeName];propTypesMap.set(type,typeName),propTypesMap.set(type.isRequired,typeName)});function getPropDefs(component,section){let processedComponent=component;!hasDocgen(component)&&!component.propTypes&&isMemo(component)&&(processedComponent=component.type);let extractedProps=extractComponentProps(processedComponent,section);if(extractedProps.length===0)return[];switch(extractedProps[0].typeSystem){case TypeSystem.JAVASCRIPT:return enhancePropTypesProps(extractedProps,component);case TypeSystem.TYPESCRIPT:return enhanceTypeScriptProps(extractedProps);default:return extractedProps.map(x=>x.propDef)}}var extractProps=component=>({rows:getPropDefs(component,"props")});var extractArgTypes=component=>{if(component){let{rows}=extractProps(component);if(rows)return rows.reduce((acc,row)=>{let{name,description,type,sbType,defaultValue:defaultSummary,jsDocTags,required}=row;return acc[name]={name,description,type:{required,...sbType},table:{type,jsDocTags,defaultValue:defaultSummary}},acc},{})}return null};import React,{createElement}from"react";import reactElementToJSXString2 from"react-element-to-jsx-string";import{addons,useEffect}from"@storybook/preview-api";import{SourceType,SNIPPET_RENDERED,getDocgenSection}from"@storybook/docs-tools";import{logger}from"@storybook/client-logger";var applyTransformSource=(domString,options,context)=>typeof options.transformSource!="function"?domString:options.transformSource(domString,context),renderJsx=(code,options)=>{if(typeof code>"u")return logger.warn("Too many skip or undefined component"),null;let renderedJSX=code,Type=renderedJSX.type;for(let i=0;i<options.skip;i+=1){if(typeof renderedJSX>"u")return logger.warn("Cannot skip undefined element"),null;if(React.Children.count(renderedJSX)>1)return logger.warn("Trying to skip an array of elements"),null;typeof renderedJSX.props.children>"u"?(logger.warn("Not enough children to skip elements."),typeof renderedJSX.type=="function"&&renderedJSX.type.name===""&&(renderedJSX=React.createElement(Type,{...renderedJSX.props}))):typeof renderedJSX.props.children=="function"?renderedJSX=renderedJSX.props.children():renderedJSX=renderedJSX.props.children}let opts={...typeof options.displayName=="string"?{showFunctions:!0,displayName:()=>options.displayName}:{displayName:el=>el.type.displayName||(el.type===Symbol.for("react.profiler")?"Profiler":null)||getDocgenSection(el.type,"displayName")||(el.type.name!=="_default"?el.type.name:null)||(typeof el.type=="function"?"No Display Name":null)||(isForwardRef(el.type)?el.type.render.name:null)||(isMemo(el.type)?el.type.type.name:null)||el.type},...{filterProps:(value,key)=>value!==void 0},...options};return React.Children.map(code,c=>{let child=typeof c=="number"?c.toString():c,string=(typeof reactElementToJSXString2=="function"?reactElementToJSXString2:reactElementToJSXString2.default)(child,opts);if(string.indexOf("&quot;")>-1){let matches=string.match(/\S+=\\"([^"]*)\\"/g);matches&&matches.forEach(match=>{string=string.replace(match,match.replace(/&quot;/g,"'"))})}return string}).join(`
3
+ `).replace(/function\s+noRefCheck\(\)\s+\{\}/g,"() => {}")},defaultOpts={skip:0,showFunctions:!1,enableBeautify:!0,showDefaultProps:!1},skipJsxRender=context=>{let sourceParams=context?.parameters.docs?.source,isArgsStory=context?.parameters.__isArgsStory;return sourceParams?.type===SourceType.DYNAMIC?!1:!isArgsStory||sourceParams?.code||sourceParams?.type===SourceType.CODE},isMdx=node=>node.type?.displayName==="MDXCreateElement"&&!!node.props?.mdxType,mdxToJsx=node=>{if(!isMdx(node))return node;let{mdxType,originalType,children,...rest}=node.props,jsxChildren=[];return children&&(jsxChildren=(Array.isArray(children)?children:[children]).map(mdxToJsx)),createElement(originalType,rest,...jsxChildren)},jsxDecorator=(storyFn,context)=>{let channel=addons.getChannel(),skip=skipJsxRender(context),jsx2="";useEffect(()=>{skip||channel.emit(SNIPPET_RENDERED,(context||{}).id,jsx2)});let story=storyFn();if(skip)return story;let options={...defaultOpts,...context?.parameters.jsx||{}},storyJsx=context?.parameters.docs?.source?.excludeDecorators?context.originalStoryFn(context.args,context):story,sourceJsx=mdxToJsx(storyJsx),rendered=renderJsx(sourceJsx,options);return rendered&&(jsx2=applyTransformSource(rendered,options,context)),story};var parameters={docs:{inlineStories:!0,extractArgTypes,extractComponentDescription}},decorators=[jsxDecorator],argTypesEnhancers=[enhanceArgTypes];var parameters2={framework:"react",...parameters};export{argTypesEnhancers,decorators,parameters2 as parameters,render,renderToCanvas};
package/dist/index.d.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  import * as _storybook_types from '@storybook/types';
2
- import { Addon_ClientStoryApi, Addon_Loadable, Args, ComponentAnnotations, AnnotatedStoryFn, ArgsStoryFn, ArgsFromMeta, StoryAnnotations, DecoratorFunction, StrictArgs, LoaderFunction, StoryContext as StoryContext$1, ProjectAnnotations, Store_ComposedStory, Store_CSFExports, Store_StoriesWithPartialProps } from '@storybook/types';
2
+ import { Addon_ClientStoryApi, Addon_Loadable, Args, ComponentAnnotations, AnnotatedStoryFn, ArgsStoryFn, ArgsFromMeta, StoryAnnotations, DecoratorFunction, StrictArgs, LoaderFunction, StoryContext as StoryContext$1, ProjectAnnotations, ComposedStory, Store_CSFExports, StoriesWithPartialProps } from '@storybook/types';
3
3
  export { ArgTypes, Args, Parameters, StrictArgs } from '@storybook/types';
4
- import { R as ReactRenderer, S as StoryFnReactReturnType } from './types-7d102855.js';
5
- export { R as ReactRenderer } from './types-7d102855.js';
4
+ import { R as ReactRenderer, S as StoryFnReactReturnType } from './types-0a347bb9.js';
5
+ export { R as ReactRenderer } from './types-0a347bb9.js';
6
6
  import { ComponentType, ComponentProps, JSXElementConstructor } from 'react';
7
7
  import { Simplify, SetOptional } from 'type-fest';
8
8
 
@@ -156,11 +156,11 @@ declare function setGlobalConfig(projectAnnotations: ProjectAnnotations<ReactRen
156
156
  * @param [projectAnnotations] - e.g. (import * as projectAnnotations from '../.storybook/preview') this can be applied automatically if you use `setProjectAnnotations` in your setup files.
157
157
  * @param [exportsName] - in case your story does not contain a name and you want it to have a name.
158
158
  */
159
- declare function composeStory<TArgs extends Args = Args>(story: Store_ComposedStory<ReactRenderer, TArgs>, componentAnnotations: Meta<TArgs | any>, projectAnnotations?: ProjectAnnotations<ReactRenderer>, exportsName?: string): {
159
+ declare function composeStory<TArgs extends Args = Args>(story: ComposedStory<ReactRenderer, TArgs>, componentAnnotations: Meta<TArgs | any>, projectAnnotations?: ProjectAnnotations<ReactRenderer>, exportsName?: string): {
160
160
  (extraArgs: Partial<TArgs>): StoryFnReactReturnType;
161
161
  storyName: string;
162
162
  args: Args;
163
- play: _storybook_types.Store_ComposedStoryPlayFn;
163
+ play: _storybook_types.ComposedStoryPlayFn;
164
164
  parameters: _storybook_types.Parameters;
165
165
  };
166
166
  /**
@@ -188,6 +188,6 @@ declare function composeStory<TArgs extends Args = Args>(story: Store_ComposedSt
188
188
  * @param csfExports - e.g. (import * as stories from './Button.stories')
189
189
  * @param [projectAnnotations] - e.g. (import * as projectAnnotations from '../.storybook/preview') this can be applied automatically if you use `setProjectAnnotations` in your setup files.
190
190
  */
191
- declare function composeStories<TModule extends Store_CSFExports<ReactRenderer>>(csfExports: TModule, projectAnnotations?: ProjectAnnotations<ReactRenderer>): Omit<Store_StoriesWithPartialProps<ReactRenderer, TModule>, keyof Store_CSFExports<_storybook_types.Renderer>>;
191
+ declare function composeStories<TModule extends Store_CSFExports<ReactRenderer>>(csfExports: TModule, projectAnnotations?: ProjectAnnotations<ReactRenderer>): Omit<StoriesWithPartialProps<ReactRenderer, TModule>, keyof Store_CSFExports<_storybook_types.Renderer>>;
192
192
 
193
193
  export { ComponentMeta, ComponentStory, ComponentStoryFn, ComponentStoryObj, Decorator, DecoratorFn, Loader, Meta, Story, StoryContext, StoryFn, StoryObj, composeStories, composeStory, configure, forceReRender, raw, setGlobalConfig, setProjectAnnotations, storiesOf };
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";var T=Object.create;var d=Object.defineProperty;var k=Object.getOwnPropertyDescriptor;var D=Object.getOwnPropertyNames;var W=Object.getPrototypeOf,U=Object.prototype.hasOwnProperty;var L=(e,t)=>{for(var o in t)d(e,o,{get:t[o],enumerable:!0})},A=(e,t,o,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of D(t))!U.call(e,s)&&s!==o&&d(e,s,{get:()=>t[s],enumerable:!(r=k(t,s))||r.enumerable});return e};var p=(e,t,o)=>(o=e!=null?T(W(e)):{},A(t||!e||!e.__esModule?d(o,"default",{value:e,enumerable:!0}):o,e)),N=e=>A(d({},"__esModule",{value:!0}),e);var Z={};L(Z,{composeStories:()=>X,composeStory:()=>_,configure:()=>q,forceReRender:()=>z,raw:()=>H,setGlobalConfig:()=>J,setProjectAnnotations:()=>M,storiesOf:()=>$});module.exports=N(Z);var S=p(require("global")),{window:C}=S.default;C&&(C.STORYBOOK_ENV="react");var P=require("@storybook/core-client");var x=p(require("global")),n=p(require("react")),i=p(require("react-dom")),{FRAMEWORK_OPTIONS:a}=x.default,m=new Map,R=(e,t)=>{let{id:o,component:r}=t;if(!r)throw new Error(`Unable to render story ${o} as the component annotation is missing from the default export`);return n.default.createElement(r,{...e})},G=({callback:e,children:t})=>{let o=(0,n.useRef)();return(0,n.useLayoutEffect)(()=>{o.current!==e&&(o.current=e,e())},[e]),t},V=async(e,t)=>{let o=await Y(t);return new Promise(r=>{o?o.render(n.default.createElement(G,{callback:()=>r(null)},e)):i.default.render(e,t,()=>r(null))})},B=i.version&&(i.version.startsWith("18")||i.version.startsWith("0.0.0")),O=(a==null?void 0:a.legacyRootApi)!==!0,w=O&&B,g=e=>{let t=m.get(e);t&&w?(t.unmount(),m.delete(e)):i.default.unmountComponentAtNode(e)},Y=async e=>{if(!w)return null;let t=m.get(e);return t||(t=(await import("react-dom/client")).default.createRoot(e),m.set(e,t)),t},u=class extends n.Component{constructor(){super(...arguments);this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidMount(){let{hasError:o}=this.state,{showMain:r}=this.props;o||r()}componentDidCatch(o){let{showException:r}=this.props;r(o)}render(){let{hasError:o}=this.state,{children:r}=this.props;return o?null:r}},h=a!=null&&a.strictMode?n.StrictMode:n.Fragment;async function E({storyContext:e,unboundStoryFn:t,showMain:o,showException:r,forceRemount:s},f){let y=n.default.createElement(u,{showMain:o,showException:r},n.default.createElement(t,{...e})),F=h?n.default.createElement(h,null,y):y;return s&&g(f),await V(F,f),()=>g(f)}var b="react",l=(0,P.start)(E,{render:R}),$=(e,t)=>l.clientApi.storiesOf(e,t).addParameters({framework:b}),q=(...e)=>l.configure(b,...e),z=l.forceReRender,H=l.clientApi.raw;var c=require("@storybook/store"),j=require("@storybook/client-logger");function M(e){(0,c.setProjectAnnotations)(e)}function J(e){(0,j.deprecate)("setGlobalConfig is deprecated. Use setProjectAnnotations instead."),M(e)}var Q={render:R};function _(e,t,o,r){return(0,c.composeStory)(e,t,o,Q,r)}function X(e,t){return(0,c.composeStories)(e,t,_)}var v;(v=module==null?void 0:module.hot)==null||v.decline();0&&(module.exports={composeStories,composeStory,configure,forceReRender,raw,setGlobalConfig,setProjectAnnotations,storiesOf});
1
+ "use strict";var k=Object.create;var d=Object.defineProperty;var D=Object.getOwnPropertyDescriptor;var W=Object.getOwnPropertyNames;var U=Object.getPrototypeOf,_=Object.prototype.hasOwnProperty;var L=(e,t)=>{for(var o in t)d(e,o,{get:t[o],enumerable:!0})},A=(e,t,o,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of W(t))!_.call(e,s)&&s!==o&&d(e,s,{get:()=>t[s],enumerable:!(r=D(t,s))||r.enumerable});return e};var p=(e,t,o)=>(o=e!=null?k(U(e)):{},A(t||!e||!e.__esModule?d(o,"default",{value:e,enumerable:!0}):o,e)),N=e=>A(d({},"__esModule",{value:!0}),e);var Z={};L(Z,{composeStories:()=>X,composeStory:()=>v,configure:()=>q,forceReRender:()=>z,raw:()=>H,setGlobalConfig:()=>J,setProjectAnnotations:()=>M,storiesOf:()=>$});module.exports=N(Z);var g=p(require("global")),{window:C}=g.default;C&&(C.STORYBOOK_ENV="react");var P=require("@storybook/preview-api");var S=p(require("global")),n=p(require("react")),i=p(require("react-dom")),{FRAMEWORK_OPTIONS:a}=S.default,m=new Map,R=(e,t)=>{let{id:o,component:r}=t;if(!r)throw new Error(`Unable to render story ${o} as the component annotation is missing from the default export`);return n.default.createElement(r,{...e})},G=({callback:e,children:t})=>{let o=(0,n.useRef)();return(0,n.useLayoutEffect)(()=>{o.current!==e&&(o.current=e,e())},[e]),t},V=async(e,t)=>{let o=await Y(t);return new Promise(r=>{o?o.render(n.default.createElement(G,{callback:()=>r(null)},e)):i.default.render(e,t,()=>r(null))})},B=i.version&&(i.version.startsWith("18")||i.version.startsWith("0.0.0")),O=(a==null?void 0:a.legacyRootApi)!==!0,w=O&&B,h=e=>{let t=m.get(e);t&&w?(t.unmount(),m.delete(e)):i.default.unmountComponentAtNode(e)},Y=async e=>{if(!w)return null;let t=m.get(e);return t||(t=(await import("react-dom/client")).default.createRoot(e),m.set(e,t)),t},u=class extends n.Component{constructor(){super(...arguments);this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidMount(){let{hasError:o}=this.state,{showMain:r}=this.props;o||r()}componentDidCatch(o){let{showException:r}=this.props;r(o)}render(){let{hasError:o}=this.state,{children:r}=this.props;return o?null:r}},x=a!=null&&a.strictMode?n.StrictMode:n.Fragment;async function E({storyContext:e,unboundStoryFn:t,showMain:o,showException:r,forceRemount:s},f){let y=n.default.createElement(u,{showMain:o,showException:r},n.default.createElement(t,{...e})),T=x?n.default.createElement(x,null,y):y;return s&&h(f),await V(T,f),()=>h(f)}var b="react",l=(0,P.start)(E,{render:R}),$=(e,t)=>l.clientApi.storiesOf(e,t).addParameters({framework:b}),q=(...e)=>l.configure(b,...e),z=l.forceReRender,H=l.clientApi.raw;var c=require("@storybook/preview-api"),j=require("@storybook/client-logger");function M(e){(0,c.setProjectAnnotations)(e)}function J(e){(0,j.deprecate)("setGlobalConfig is deprecated. Use setProjectAnnotations instead."),M(e)}var Q={render:R};function v(e,t,o,r){return(0,c.composeStory)(e,t,o,Q,r)}function X(e,t){return(0,c.composeStories)(e,t,v)}var F;(F=module==null?void 0:module.hot)==null||F.decline();0&&(module.exports={composeStories,composeStory,configure,forceReRender,raw,setGlobalConfig,setProjectAnnotations,storiesOf});
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- import{a as t,b as s}from"./chunk-3ETZESFO.mjs";import p from"global";var{window:i}=p;i&&(i.STORYBOOK_ENV="react");import{start as d}from"@storybook/core-client";var a="react",r=d(s,{render:t}),P=(e,o)=>r.clientApi.storiesOf(e,o).addParameters({framework:a}),x=(...e)=>r.configure(a,...e),j=r.forceReRender,_=r.clientApi.raw;import{composeStory as R,composeStories as m,setProjectAnnotations as f}from"@storybook/store";import{deprecate as l}from"@storybook/client-logger";function A(e){f(e)}function M(e){l("setGlobalConfig is deprecated. Use setProjectAnnotations instead."),A(e)}var S={render:t};function y(e,o,n,c){return R(e,o,n,S,c)}function k(e,o){return m(e,o,y)}module?.hot?.decline();export{k as composeStories,y as composeStory,x as configure,j as forceReRender,_ as raw,M as setGlobalConfig,A as setProjectAnnotations,P as storiesOf};
1
+ import{render,renderToCanvas}from"./chunk-LSK4KSW4.mjs";import global from"global";var{window:globalWindow}=global;globalWindow&&(globalWindow.STORYBOOK_ENV="react");import{start}from"@storybook/preview-api";var FRAMEWORK="react",api=start(renderToCanvas,{render}),storiesOf=(kind,m)=>api.clientApi.storiesOf(kind,m).addParameters({framework:FRAMEWORK}),configure=(...args)=>api.configure(FRAMEWORK,...args),forceReRender=api.forceReRender,raw=api.clientApi.raw;import{composeStory as originalComposeStory,composeStories as originalComposeStories,setProjectAnnotations as originalSetProjectAnnotations}from"@storybook/preview-api";import{deprecate}from"@storybook/client-logger";function setProjectAnnotations(projectAnnotations){originalSetProjectAnnotations(projectAnnotations)}function setGlobalConfig(projectAnnotations){deprecate("setGlobalConfig is deprecated. Use setProjectAnnotations instead."),setProjectAnnotations(projectAnnotations)}var defaultProjectAnnotations={render};function composeStory(story,componentAnnotations,projectAnnotations,exportsName){return originalComposeStory(story,componentAnnotations,projectAnnotations,defaultProjectAnnotations,exportsName)}function composeStories(csfExports,projectAnnotations){return originalComposeStories(csfExports,projectAnnotations,composeStory)}module?.hot?.decline();export{composeStories,composeStory,configure,forceReRender,raw,setGlobalConfig,setProjectAnnotations,storiesOf};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@storybook/react",
3
- "version": "7.0.0-alpha.53",
3
+ "version": "7.0.0-alpha.55",
4
4
  "description": "Storybook React renderer",
5
5
  "keywords": [
6
6
  "storybook"
@@ -52,12 +52,11 @@
52
52
  "prep": "../../../scripts/prepare/bundle.ts"
53
53
  },
54
54
  "dependencies": {
55
- "@storybook/addons": "7.0.0-alpha.53",
56
- "@storybook/client-logger": "7.0.0-alpha.53",
57
- "@storybook/core-client": "7.0.0-alpha.53",
58
- "@storybook/docs-tools": "7.0.0-alpha.53",
59
- "@storybook/store": "7.0.0-alpha.53",
60
- "@storybook/types": "7.0.0-alpha.53",
55
+ "@storybook/client-logger": "7.0.0-alpha.55",
56
+ "@storybook/core-client": "7.0.0-alpha.55",
57
+ "@storybook/docs-tools": "7.0.0-alpha.55",
58
+ "@storybook/preview-api": "7.0.0-alpha.55",
59
+ "@storybook/types": "7.0.0-alpha.55",
61
60
  "@types/estree": "^0.0.51",
62
61
  "@types/node": "^16.0.0",
63
62
  "acorn": "^7.4.1",
@@ -77,7 +76,7 @@
77
76
  "@babel/core": "^7.20.2",
78
77
  "@types/util-deprecate": "^1.0.0",
79
78
  "expect-type": "^0.14.2",
80
- "jest-specific-snapshot": "^6.0.0",
79
+ "jest-specific-snapshot": "^7.0.0",
81
80
  "require-from-string": "^2.0.2",
82
81
  "typescript": "^4.9.3"
83
82
  },
@@ -103,5 +102,5 @@
103
102
  ],
104
103
  "platform": "browser"
105
104
  },
106
- "gitHead": "fd1cf81615a5ddac3369e7bb567a1a43081fdc23"
105
+ "gitHead": "55cd2ab63d1f897de59e2471d2f916f7d2c13546"
107
106
  }
@@ -3,17 +3,17 @@ import type { Meta, StoryObj } from '@storybook/react';
3
3
  import { Button } from './Button';
4
4
 
5
5
  // More on how to set up stories at: https://storybook.js.org/docs/7.0/react/writing-stories/introduction
6
- const meta: Meta<typeof Button> = {
6
+ const meta = {
7
7
  title: 'Example/Button',
8
8
  component: Button,
9
9
  tags: ['docsPage'],
10
10
  argTypes: {
11
11
  backgroundColor: { control: 'color' },
12
12
  },
13
- };
13
+ } satisfies Meta<typeof Button>;
14
14
 
15
15
  export default meta;
16
- type Story = StoryObj<typeof Button>;
16
+ type Story = StoryObj<typeof meta>;
17
17
 
18
18
  // More on writing stories with args: https://storybook.js.org/docs/7.0/react/writing-stories/args
19
19
  export const Primary: Story = {
@@ -1,7 +1,7 @@
1
1
  import type { Meta, StoryObj } from '@storybook/react';
2
2
  import { Header } from './Header';
3
3
 
4
- const meta: Meta<typeof Header> = {
4
+ const meta = {
5
5
  title: 'Example/Header',
6
6
  component: Header,
7
7
  // This component will have an automatically generated docsPage entry: https://storybook.js.org/docs/7.0/react/writing-docs/docs-page
@@ -10,10 +10,10 @@ const meta: Meta<typeof Header> = {
10
10
  // More on how to position stories at: https://storybook.js.org/docs/7.0/react/configure/story-layout
11
11
  layout: 'fullscreen',
12
12
  },
13
- };
13
+ } satisfies Meta<typeof Header>;
14
14
 
15
15
  export default meta;
16
- type Story = StoryObj<typeof Header>;
16
+ type Story = StoryObj<typeof meta>;
17
17
 
18
18
  export const LoggedIn: Story = {
19
19
  args: {
@@ -3,17 +3,17 @@ import { within, userEvent } from '@storybook/testing-library';
3
3
 
4
4
  import { Page } from './Page';
5
5
 
6
- const meta: Meta<typeof Page> = {
6
+ const meta = {
7
7
  title: 'Example/Page',
8
8
  component: Page,
9
9
  parameters: {
10
10
  // More on how to position stories at: https://storybook.js.org/docs/7.0/react/configure/story-layout
11
11
  layout: 'fullscreen',
12
12
  },
13
- };
13
+ } satisfies Meta<typeof Page>;
14
14
 
15
15
  export default meta;
16
- type Story = StoryObj<typeof Page>;
16
+ type Story = StoryObj<typeof meta>;
17
17
 
18
18
  export const LoggedOut: Story = {};
19
19
 
@@ -0,0 +1,45 @@
1
+ import type { Meta, StoryObj } from '@storybook/react';
2
+
3
+ import { Button } from './Button';
4
+
5
+ // More on how to set up stories at: https://storybook.js.org/docs/react/writing-stories/introduction#default-export
6
+ const meta: Meta<typeof Button> = {
7
+ title: 'Example/Button',
8
+ component: Button,
9
+ // More on argTypes: https://storybook.js.org/docs/react/api/argtypes
10
+ argTypes: {
11
+ backgroundColor: { control: 'color' },
12
+ },
13
+ };
14
+
15
+ export default meta;
16
+ type Story = StoryObj<typeof Button>;
17
+
18
+ // More on component templates: https://storybook.js.org/docs/react/writing-stories/introduction#using-args
19
+ export const Primary: Story = {
20
+ // More on args: https://storybook.js.org/docs/react/writing-stories/args
21
+ args: {
22
+ primary: true,
23
+ label: 'Button',
24
+ },
25
+ };
26
+
27
+ export const Secondary: Story = {
28
+ args: {
29
+ label: 'Button',
30
+ },
31
+ };
32
+
33
+ export const Large: Story = {
34
+ args: {
35
+ size: 'large',
36
+ label: 'Button',
37
+ },
38
+ };
39
+
40
+ export const Small: Story = {
41
+ args: {
42
+ size: 'small',
43
+ label: 'Button',
44
+ },
45
+ };
@@ -0,0 +1,48 @@
1
+ import React from 'react';
2
+ import './button.css';
3
+
4
+ interface ButtonProps {
5
+ /**
6
+ * Is this the principal call to action on the page?
7
+ */
8
+ primary?: boolean;
9
+ /**
10
+ * What background color to use
11
+ */
12
+ backgroundColor?: string;
13
+ /**
14
+ * How large should the button be?
15
+ */
16
+ size?: 'small' | 'medium' | 'large';
17
+ /**
18
+ * Button contents
19
+ */
20
+ label: string;
21
+ /**
22
+ * Optional click handler
23
+ */
24
+ onClick?: () => void;
25
+ }
26
+
27
+ /**
28
+ * Primary UI component for user interaction
29
+ */
30
+ export const Button = ({
31
+ primary = false,
32
+ size = 'medium',
33
+ backgroundColor,
34
+ label,
35
+ ...props
36
+ }: ButtonProps) => {
37
+ const mode = primary ? 'storybook-button--primary' : 'storybook-button--secondary';
38
+ return (
39
+ <button
40
+ type="button"
41
+ className={['storybook-button', `storybook-button--${size}`, mode].join(' ')}
42
+ style={{ backgroundColor }}
43
+ {...props}
44
+ >
45
+ {label}
46
+ </button>
47
+ );
48
+ };
@@ -0,0 +1,24 @@
1
+ import type { Meta, StoryObj } from '@storybook/react';
2
+ import { Header } from './Header';
3
+
4
+ const meta: Meta<typeof Header> = {
5
+ title: 'Example/Header',
6
+ component: Header,
7
+ parameters: {
8
+ // More on Story layout: https://storybook.js.org/docs/react/configure/story-layout
9
+ layout: 'fullscreen',
10
+ },
11
+ };
12
+
13
+ export default meta;
14
+ type Story = StoryObj<typeof Header>;
15
+
16
+ export const LoggedIn: Story = {
17
+ args: {
18
+ user: {
19
+ name: 'Jane Doe',
20
+ },
21
+ },
22
+ };
23
+
24
+ export const LoggedOut: Story = {};
@@ -0,0 +1,56 @@
1
+ import React from 'react';
2
+
3
+ import { Button } from './Button';
4
+ import './header.css';
5
+
6
+ type User = {
7
+ name: string;
8
+ };
9
+
10
+ interface HeaderProps {
11
+ user?: User;
12
+ onLogin: () => void;
13
+ onLogout: () => void;
14
+ onCreateAccount: () => void;
15
+ }
16
+
17
+ export const Header = ({ user, onLogin, onLogout, onCreateAccount }: HeaderProps) => (
18
+ <header>
19
+ <div className="wrapper">
20
+ <div>
21
+ <svg width="32" height="32" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">
22
+ <g fill="none" fillRule="evenodd">
23
+ <path
24
+ d="M10 0h12a10 10 0 0110 10v12a10 10 0 01-10 10H10A10 10 0 010 22V10A10 10 0 0110 0z"
25
+ fill="#FFF"
26
+ />
27
+ <path
28
+ d="M5.3 10.6l10.4 6v11.1l-10.4-6v-11zm11.4-6.2l9.7 5.5-9.7 5.6V4.4z"
29
+ fill="#555AB9"
30
+ />
31
+ <path
32
+ d="M27.2 10.6v11.2l-10.5 6V16.5l10.5-6zM15.7 4.4v11L6 10l9.7-5.5z"
33
+ fill="#91BAF8"
34
+ />
35
+ </g>
36
+ </svg>
37
+ <h1>Acme</h1>
38
+ </div>
39
+ <div>
40
+ {user ? (
41
+ <>
42
+ <span className="welcome">
43
+ Welcome, <b>{user.name}</b>!
44
+ </span>
45
+ <Button size="small" onClick={onLogout} label="Log out" />
46
+ </>
47
+ ) : (
48
+ <>
49
+ <Button size="small" onClick={onLogin} label="Log in" />
50
+ <Button primary size="small" onClick={onCreateAccount} label="Sign up" />
51
+ </>
52
+ )}
53
+ </div>
54
+ </div>
55
+ </header>
56
+ );
@@ -0,0 +1,29 @@
1
+ import type { Meta, StoryObj } from '@storybook/react';
2
+ import { within, userEvent } from '@storybook/testing-library';
3
+
4
+ import { Page } from './Page';
5
+
6
+ const meta: Meta<typeof Page> = {
7
+ title: 'Example/Page',
8
+ component: Page,
9
+ parameters: {
10
+ // More on Story layout: https://storybook.js.org/docs/react/configure/story-layout
11
+ layout: 'fullscreen',
12
+ },
13
+ };
14
+
15
+ export default meta;
16
+ type Story = StoryObj<typeof Page>;
17
+
18
+ export const LoggedOut: Story = {};
19
+
20
+ // More on interaction testing: https://storybook.js.org/docs/react/writing-tests/interaction-testing
21
+ export const LoggedIn: Story = {
22
+ play: async ({ canvasElement }) => {
23
+ const canvas = within(canvasElement);
24
+ const loginButton = await canvas.getByRole('button', {
25
+ name: /Log in/i,
26
+ });
27
+ await userEvent.click(loginButton);
28
+ },
29
+ };
@@ -0,0 +1,73 @@
1
+ import React from 'react';
2
+
3
+ import { Header } from './Header';
4
+ import './page.css';
5
+
6
+ type User = {
7
+ name: string;
8
+ };
9
+
10
+ export const Page: React.VFC = () => {
11
+ const [user, setUser] = React.useState<User>();
12
+
13
+ return (
14
+ <article>
15
+ <Header
16
+ user={user}
17
+ onLogin={() => setUser({ name: 'Jane Doe' })}
18
+ onLogout={() => setUser(undefined)}
19
+ onCreateAccount={() => setUser({ name: 'Jane Doe' })}
20
+ />
21
+
22
+ <section>
23
+ <h2>Pages in Storybook</h2>
24
+ <p>
25
+ We recommend building UIs with a{' '}
26
+ <a href="https://componentdriven.org" target="_blank" rel="noopener noreferrer">
27
+ <strong>component-driven</strong>
28
+ </a>{' '}
29
+ process starting with atomic components and ending with pages.
30
+ </p>
31
+ <p>
32
+ Render pages with mock data. This makes it easy to build and review page states without
33
+ needing to navigate to them in your app. Here are some handy patterns for managing page
34
+ data in Storybook:
35
+ </p>
36
+ <ul>
37
+ <li>
38
+ Use a higher-level connected component. Storybook helps you compose such data from the
39
+ "args" of child component stories
40
+ </li>
41
+ <li>
42
+ Assemble data in the page component from your services. You can mock these services out
43
+ using Storybook.
44
+ </li>
45
+ </ul>
46
+ <p>
47
+ Get a guided tutorial on component-driven development at{' '}
48
+ <a href="renderers/react/template/cli/ts/Page" target="_blank" rel="noopener noreferrer">
49
+ Storybook tutorials
50
+ </a>
51
+ . Read more in the{' '}
52
+ <a href="https://storybook.js.org/docs" target="_blank" rel="noopener noreferrer">
53
+ docs
54
+ </a>
55
+ .
56
+ </p>
57
+ <div className="tip-wrapper">
58
+ <span className="tip">Tip</span> Adjust the width of the canvas with the{' '}
59
+ <svg width="10" height="10" viewBox="0 0 12 12" xmlns="http://www.w3.org/2000/svg">
60
+ <g fill="none" fillRule="evenodd">
61
+ <path
62
+ d="M1.5 5.2h4.8c.3 0 .5.2.5.4v5.1c-.1.2-.3.3-.4.3H1.4a.5.5 0 01-.5-.4V5.7c0-.3.2-.5.5-.5zm0-2.1h6.9c.3 0 .5.2.5.4v7a.5.5 0 01-1 0V4H1.5a.5.5 0 010-1zm0-2.1h9c.3 0 .5.2.5.4v9.1a.5.5 0 01-1 0V2H1.5a.5.5 0 010-1zm4.3 5.2H2V10h3.8V6.2z"
63
+ id="a"
64
+ fill="#999"
65
+ />
66
+ </g>
67
+ </svg>
68
+ Viewports addon in the toolbar
69
+ </div>
70
+ </section>
71
+ </article>
72
+ );
73
+ };
@@ -1,7 +1,9 @@
1
1
  // Jest Snapshot v1, https://goo.gl/fbAQLP
2
2
 
3
3
  exports[`react component properties 8428-js-static-prop-types 1`] = `
4
- "function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
4
+ "function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, \\"string\\"); return typeof key === \\"symbol\\" ? key : String(key); }
6
+ function _toPrimitive(input, hint) { if (typeof input !== \\"object\\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \\"default\\"); if (typeof res !== \\"object\\") return res; throw new TypeError(\\"@@toPrimitive must return a primitive value.\\"); } return (hint === \\"string\\" ? String : Number)(input); }
5
7
  /* eslint-disable react/no-unused-prop-types */
6
8
  /* eslint-disable react/require-default-props */
7
9
  import React from 'react';
@@ -2,7 +2,7 @@ import React, { useState } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import mapValues from 'lodash/mapValues';
4
4
  import { PureArgsTable as ArgsTable } from '@storybook/blocks';
5
- import { inferControls } from '@storybook/store';
5
+ import { inferControls } from '@storybook/preview-api';
6
6
  import { ThemeProvider, themes, convert } from '@storybook/theming';
7
7
 
8
8
  import { component as JsClassComponentComponent } from './docgen-components/js-class-component/input.jsx';
@@ -2,7 +2,7 @@ import React, { useState } from 'react';
2
2
  import mapValues from 'lodash/mapValues';
3
3
  import { PureArgsTable as ArgsTable } from '@storybook/blocks';
4
4
  import type { Args, Parameters, StoryContext } from '@storybook/types';
5
- import { inferControls } from '@storybook/store';
5
+ import { inferControls } from '@storybook/preview-api';
6
6
  import { ThemeProvider, themes, convert } from '@storybook/theming';
7
7
 
8
8
  import { component as TsFunctionComponentComponent } from './docgen-components/ts-function-component/input';
@@ -1 +0,0 @@
1
- import E from"global";import n,{Component as y,StrictMode as C,Fragment as w,useLayoutEffect as g,useRef as x}from"react";import l,{version as i}from"react-dom";var{FRAMEWORK_OPTIONS:u}=E,s=new Map,O=(t,e)=>{let{id:o,component:r}=e;if(!r)throw new Error(`Unable to render story ${o} as the component annotation is missing from the default export`);return n.createElement(r,{...t})},S=({callback:t,children:e})=>{let o=x();return g(()=>{o.current!==t&&(o.current=t,t())},[t]),e},M=async(t,e)=>{let o=await D(e);return new Promise(r=>{o?o.render(n.createElement(S,{callback:()=>r(null)},t)):l.render(t,e,()=>r(null))})},A=i&&(i.startsWith("18")||i.startsWith("0.0.0")),F=u?.legacyRootApi!==!0,R=F&&A,p=t=>{let e=s.get(t);e&&R?(e.unmount(),s.delete(t)):l.unmountComponentAtNode(t)},D=async t=>{if(!R)return null;let e=s.get(t);return e||(e=(await import("react-dom/client")).default.createRoot(t),s.set(t,e)),e},a=class extends y{constructor(){super(...arguments);this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidMount(){let{hasError:o}=this.state,{showMain:r}=this.props;o||r()}componentDidCatch(o){let{showException:r}=this.props;r(o)}render(){let{hasError:o}=this.state,{children:r}=this.props;return o?null:r}},d=u?.strictMode?C:w;async function U({storyContext:t,unboundStoryFn:e,showMain:o,showException:r,forceRemount:h},c){let m=n.createElement(a,{showMain:o,showException:r},n.createElement(e,{...t})),f=d?n.createElement(d,null,m):m;return h&&p(c),await M(f,c),()=>p(c)}export{O as a,U as b};