@storybook/react 7.0.6 → 7.0.8

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.
@@ -1 +1,7 @@
1
- import{global}from"@storybook/global";import React,{Component as ReactComponent,StrictMode,Fragment}from"react";import{renderElement,unmountElement}from"@storybook/react-dom-shim";var{FRAMEWORK_OPTIONS}=global,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})},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};
1
+ import { global } from '@storybook/global';
2
+ import React, { StrictMode, Fragment, Component } from 'react';
3
+ import { unmountElement, renderElement } from '@storybook/react-dom-shim';
4
+
5
+ var {FRAMEWORK_OPTIONS}=global,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})},ErrorBoundary=class extends Component{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)}
6
+
7
+ export { render, renderToCanvas };
package/dist/config.d.ts CHANGED
@@ -1,26 +1,15 @@
1
- import * as lib_docs_tools_dist from 'lib/docs-tools/dist';
2
- import * as lib_types_dist from 'lib/types/dist';
3
- import { R as ReactRenderer, S as StoryFnReactReturnType } from './types-0a347bb9.js';
4
- import { ArgsStoryFn, RenderContext, LegacyStoryFn, DecoratorFunction } from '@storybook/types';
1
+ import { Addon_DecoratorFunction, ArgTypesEnhancer, ArgsStoryFn, RenderContext, LegacyStoryFn, DecoratorFunction } from '@storybook/types';
2
+ import { S as StoryFnReactReturnType, R as ReactRenderer } from './types-0a347bb9.js';
5
3
  import 'react';
6
4
 
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
- 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>)[];
5
+ declare const decorators: Addon_DecoratorFunction<StoryFnReactReturnType>[];
6
+ declare const argTypesEnhancers: ArgTypesEnhancer[];
9
7
 
10
8
  declare const render: ArgsStoryFn<ReactRenderer>;
11
9
  declare function renderToCanvas({ storyContext, unboundStoryFn, showMain, showException, forceRemount, }: RenderContext<ReactRenderer>, canvasElement: ReactRenderer['canvasElement']): Promise<() => void>;
12
10
 
13
11
  declare const applyDecorators: (storyFn: LegacyStoryFn<ReactRenderer>, decorators: DecoratorFunction<ReactRenderer>[]) => LegacyStoryFn<ReactRenderer>;
14
12
 
15
- declare const parameters: {
16
- docs: {
17
- story: {
18
- inline: boolean;
19
- };
20
- extractArgTypes: lib_docs_tools_dist.ArgTypesExtractor;
21
- extractComponentDescription: typeof lib_docs_tools_dist.extractComponentDescription;
22
- };
23
- renderer: string;
24
- };
13
+ declare const parameters: {};
25
14
 
26
15
  export { applyDecorators, argTypesEnhancers, decorators, parameters, render, renderToCanvas };
package/dist/config.mjs CHANGED
@@ -1,3 +1,22 @@
1
- import{render,renderToCanvas}from"./chunk-JWY6Y6NU.mjs";import"./chunk-R4NKYYJA.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.js";import isFunction from"lodash/isFunction.js";import isString from"lodash/isString.js";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,{isValidElement,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";function simplifyNodeForStringify(node){if(isValidElement(node)){let props=Object.keys(node.props).reduce((acc,cur)=>(acc[cur]=simplifyNodeForStringify(node.props[cur]),acc),{});return{...node,props,_owner:null}}return Array.isArray(node)?node.map(simplifyNodeForStringify):node}var 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)(simplifyNodeForStringify(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(()=>{if(!skip){let{id,args}=context;channel.emit(SNIPPET_RENDERED,{id,source:jsx2,args})}});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=rendered),story};var parameters={docs:{story:{inline:!0},extractArgTypes,extractComponentDescription}},decorators=[jsxDecorator],argTypesEnhancers=[enhanceArgTypes];import{defaultDecorateStory}from"@storybook/preview-api";var applyDecorators=(storyFn,decorators2)=>{let jsxIndex=decorators2.findIndex(d=>d.originalFn===jsxDecorator),reorderedDecorators=jsxIndex===-1?decorators2:[...decorators2.splice(jsxIndex,1),...decorators2];return defaultDecorateStory(storyFn,reorderedDecorators)};var parameters2={renderer:"react",...parameters};export{applyDecorators,argTypesEnhancers,decorators,parameters2 as parameters,render,renderToCanvas};
1
+ export { render, renderToCanvas } from './chunk-JWY6Y6NU.mjs';
2
+ import { enhanceArgTypes, createSummaryValue, SNIPPET_RENDERED, extractComponentDescription, getDocgenSection, SourceType, isTooLongForDefaultValueSummary, hasDocgen, extractComponentProps, TypeSystem, isTooLongForTypeSummary } from '@storybook/docs-tools';
3
+ import PropTypes from 'prop-types';
4
+ import htmlTags from 'html-tags';
5
+ import { generate } from 'escodegen';
6
+ import { dedent } from 'ts-dedent';
7
+ import { Parser } from 'acorn';
8
+ import jsx from 'acorn-jsx';
9
+ import * as acornWalk from 'acorn-walk';
10
+ import isPlainObject from 'lodash/isPlainObject.js';
11
+ import isFunction from 'lodash/isFunction.js';
12
+ import isString from 'lodash/isString.js';
13
+ import reactElementToJSXString2 from 'react-element-to-jsx-string';
14
+ import React, { createElement, isValidElement } from 'react';
15
+ import { defaultDecorateStory, addons, useEffect } from '@storybook/preview-api';
16
+ import { logger } from '@storybook/client-logger';
17
+
18
+ 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
19
+ `)}var CUSTOM_CAPTION="custom",OBJECT_CAPTION="object",ARRAY_CAPTION="array",CLASS_CAPTION="class",FUNCTION_CAPTION="func",ELEMENT_CAPTION="element";function isHtmlTag(tagName){return htmlTags.includes(tagName.toLowerCase())}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");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}}}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}function generateObject({inferredType,ast}){let{depth}=inferredType;if(depth===1){let compactObject=generateObjectCode(ast,!0);if(!isTooLongForDefaultValueSummary(compactObject))return createSummaryValue(compactObject)}return createSummaryValue(OBJECT_CAPTION,generateObjectCode(ast))}function generateArray2({inferredType,ast}){let{depth}=inferredType;if(depth<=2){let compactArray=generateArrayCode(ast,!0);if(!isTooLongForDefaultValueSummary(compactArray))return createSummaryValue(compactArray)}return createSummaryValue(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 createSummaryValue(getPrettyIdentifier(inferredType),generateCode(ast));let prettyCaption=generateCode(ast,!0);return isTooLongForDefaultValueSummary(prettyCaption)?createSummaryValue(FUNCTION_CAPTION,generateCode(ast)):createSummaryValue(prettyCaption)}function generateElement(defaultValue,inspectionResult){let{inferredType}=inspectionResult,{identifier}=inferredType;if(identifier!=null&&!isHtmlTag(identifier)){let prettyIdentifier=getPrettyIdentifier(inferredType);return createSummaryValue(prettyIdentifier,defaultValue)}return isTooLongForDefaultValueSummary(defaultValue)?createSummaryValue(ELEMENT_CAPTION,defaultValue):createSummaryValue(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}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=>createSummaryValue(JSON.stringify(rawDefaultProp));function generateReactObject(rawDefaultProp){let{type}=rawDefaultProp,{displayName}=type,jsx2=reactElementToJSXString2(rawDefaultProp,{});if(displayName!=null){let prettyIdentifier=getPrettyElementIdentifier(displayName);return createSummaryValue(prettyIdentifier,jsx2)}if(isString(type)&&isHtmlTag(type)){let jsxSummary=reactElementToJSXString2(rawDefaultProp,{tabStop:0}).replace(/\r?\n|\r/g,"");if(!isTooLongForDefaultValueSummary(jsxSummary))return createSummaryValue(jsxSummary)}return createSummaryValue(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 createSummaryValue(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 createSummaryValue(getPrettyElementIdentifier(funcName));inspectionResult!=null&&(inspectionResult=inspectValue(rawDefaultProp.toString()));let{hasParams}=inspectionResult.inferredType;return createSummaryValue(getPrettyFuncIdentifier(funcName,hasParams))}return createSummaryValue(isElement?ELEMENT_CAPTION:FUNCTION_CAPTION)},defaultResolver=rawDefaultProp=>createSummaryValue(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}var funcResolver=(rawDefaultProp,{name,type})=>{let isElement=type.summary==="element"||type.summary==="elementType",funcName=extractFunctionName(rawDefaultProp,name);if(funcName!=null){if(isElement)return createSummaryValue(getPrettyElementIdentifier(funcName));let{hasParams}=inspectValue(rawDefaultProp.toString()).inferredType;return createSummaryValue(getPrettyFuncIdentifier(funcName,hasParams))}return createSummaryValue(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};function simplifyNodeForStringify(node){if(isValidElement(node)){let props=Object.keys(node.props).reduce((acc,cur)=>(acc[cur]=simplifyNodeForStringify(node.props[cur]),acc),{});return {...node,props,_owner:null}}return Array.isArray(node)?node.map(simplifyNodeForStringify):node}var 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)(simplifyNodeForStringify(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(`
20
+ `).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(()=>{if(!skip){let{id,args}=context;channel.emit(SNIPPET_RENDERED,{id,source:jsx2,args});}});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=rendered),story};var parameters={docs:{story:{inline:!0},extractArgTypes,extractComponentDescription}},decorators=[jsxDecorator],argTypesEnhancers=[enhanceArgTypes];var applyDecorators=(storyFn,decorators2)=>{let jsxIndex=decorators2.findIndex(d=>d.originalFn===jsxDecorator),reorderedDecorators=jsxIndex===-1?decorators2:[...decorators2.splice(jsxIndex,1),...decorators2];return defaultDecorateStory(storyFn,reorderedDecorators)};var parameters2={renderer:"react",...parameters};
21
+
22
+ export { applyDecorators, argTypesEnhancers, decorators, parameters2 as parameters };
package/dist/index.mjs CHANGED
@@ -1 +1,8 @@
1
- import{render,renderToCanvas}from"./chunk-JWY6Y6NU.mjs";import"./chunk-R4NKYYJA.mjs";import{global}from"@storybook/global";var{window:globalWindow}=global;globalWindow&&(globalWindow.STORYBOOK_ENV="react");import{start}from"@storybook/preview-api";var RENDERER="react",api=start(renderToCanvas,{render}),storiesOf=(kind,m)=>api.clientApi.storiesOf(kind,m).addParameters({renderer:RENDERER}),configure=(...args)=>api.configure(RENDERER,...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)}typeof module<"u"&&module?.hot?.decline();export{composeStories,composeStory,configure,forceReRender,raw,setGlobalConfig,setProjectAnnotations,storiesOf};
1
+ import { renderToCanvas, render } from './chunk-JWY6Y6NU.mjs';
2
+ import { global } from '@storybook/global';
3
+ import { start, setProjectAnnotations as setProjectAnnotations$1, composeStory as composeStory$1, composeStories as composeStories$1 } from '@storybook/preview-api';
4
+ import { deprecate } from '@storybook/client-logger';
5
+
6
+ var{window:globalWindow}=global;globalWindow&&(globalWindow.STORYBOOK_ENV="react");var RENDERER="react",api=start(renderToCanvas,{render}),storiesOf=(kind,m)=>api.clientApi.storiesOf(kind,m).addParameters({renderer:RENDERER}),configure=(...args)=>api.configure(RENDERER,...args),forceReRender=api.forceReRender,raw=api.clientApi.raw;function setProjectAnnotations(projectAnnotations){setProjectAnnotations$1(projectAnnotations);}function setGlobalConfig(projectAnnotations){deprecate("setGlobalConfig is deprecated. Use setProjectAnnotations instead."),setProjectAnnotations(projectAnnotations);}var defaultProjectAnnotations={render};function composeStory(story,componentAnnotations,projectAnnotations,exportsName){return composeStory$1(story,componentAnnotations,projectAnnotations,defaultProjectAnnotations,exportsName)}function composeStories(csfExports,projectAnnotations){return composeStories$1(csfExports,projectAnnotations,composeStory)}typeof module<"u"&&module?.hot?.decline();
7
+
8
+ export { composeStories, composeStory, configure, forceReRender, raw, setGlobalConfig, setProjectAnnotations, storiesOf };
package/package.json CHANGED
@@ -1,18 +1,18 @@
1
1
  {
2
2
  "name": "@storybook/react",
3
- "version": "7.0.6",
3
+ "version": "7.0.8",
4
4
  "description": "Storybook React renderer",
5
5
  "keywords": [
6
6
  "storybook"
7
7
  ],
8
- "homepage": "https://github.com/storybookjs/storybook/tree/main/renderers/react",
8
+ "homepage": "https://github.com/storybookjs/storybook/tree/next/code/renderers/react",
9
9
  "bugs": {
10
10
  "url": "https://github.com/storybookjs/storybook/issues"
11
11
  },
12
12
  "repository": {
13
13
  "type": "git",
14
14
  "url": "https://github.com/storybookjs/storybook.git",
15
- "directory": "renderers/react"
15
+ "directory": "code/renderers/react"
16
16
  },
17
17
  "funding": {
18
18
  "type": "opencollective",
@@ -21,20 +21,19 @@
21
21
  "license": "MIT",
22
22
  "exports": {
23
23
  ".": {
24
+ "types": "./dist/index.d.ts",
24
25
  "node": "./dist/index.js",
25
26
  "require": "./dist/index.js",
26
- "import": "./dist/index.mjs",
27
- "types": "./dist/index.d.ts"
27
+ "import": "./dist/index.mjs"
28
28
  },
29
29
  "./preview": {
30
+ "types": "./dist/config.d.ts",
30
31
  "require": "./dist/config.js",
31
- "import": "./dist/config.mjs",
32
- "types": "./dist/config.d.ts"
32
+ "import": "./dist/config.mjs"
33
33
  },
34
34
  "./dist/preset": {
35
- "require": "./dist/preset.js",
36
- "import": "./dist/preset.mjs",
37
- "types": "./dist/preset.d.ts"
35
+ "types": "./dist/preset.d.ts",
36
+ "require": "./dist/preset.js"
38
37
  },
39
38
  "./package.json": "./package.json"
40
39
  },
@@ -53,13 +52,13 @@
53
52
  "prep": "../../../scripts/prepare/bundle.ts"
54
53
  },
55
54
  "dependencies": {
56
- "@storybook/client-logger": "7.0.6",
57
- "@storybook/core-client": "7.0.6",
58
- "@storybook/docs-tools": "7.0.6",
55
+ "@storybook/client-logger": "7.0.8",
56
+ "@storybook/core-client": "7.0.8",
57
+ "@storybook/docs-tools": "7.0.8",
59
58
  "@storybook/global": "^5.0.0",
60
- "@storybook/preview-api": "7.0.6",
61
- "@storybook/react-dom-shim": "7.0.6",
62
- "@storybook/types": "7.0.6",
59
+ "@storybook/preview-api": "7.0.8",
60
+ "@storybook/react-dom-shim": "7.0.8",
61
+ "@storybook/types": "7.0.8",
63
62
  "@types/escodegen": "^0.0.6",
64
63
  "@types/estree": "^0.0.51",
65
64
  "@types/node": "^16.0.0",
@@ -106,5 +105,5 @@
106
105
  ],
107
106
  "platform": "browser"
108
107
  },
109
- "gitHead": "8608b729992c004e30119ff3fdcadfed3f7504e9"
108
+ "gitHead": "9991b68c7d0cd1543c974f358cae9e0d02b29e7e"
110
109
  }
@@ -1 +0,0 @@
1
- var __require=(x=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(x,{get:(a,b)=>(typeof require<"u"?require:a)[b]}):x)(function(x){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+x+'" is not supported')});export{__require};
package/dist/preset.mjs DELETED
@@ -1 +0,0 @@
1
- import{__require}from"./chunk-R4NKYYJA.mjs";var addons=[__require.resolve("@storybook/react-dom-shim/dist/preset")];export{addons};