@storybook/react 8.0.0-alpha.1 → 8.0.0-alpha.10

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,5 @@
1
+ import React from 'react';
2
+
3
+ var render=(args,context)=>{let{id,component:Component}=context;if(!Component)throw new Error(`Unable to render story ${id} as the component annotation is missing from the default export`);return React.createElement(Component,{...args})};
4
+
5
+ export { render };
@@ -1,3 +1,3 @@
1
1
  "use strict";var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var entry_preview_docs_exports={};__export(entry_preview_docs_exports,{applyDecorators:()=>applyDecorators,argTypesEnhancers:()=>argTypesEnhancers,decorators:()=>decorators,parameters:()=>parameters});module.exports=__toCommonJS(entry_preview_docs_exports);var import_docs_tools9=require("@storybook/docs-tools");var import_prop_types=__toESM(require("prop-types")),import_docs_tools7=require("@storybook/docs-tools");var import_docs_tools=require("@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";var import_html_tags=__toESM(require("html-tags"));function isHtmlTag(tagName){return import_html_tags.default.includes(tagName.toLowerCase())}var import_escodegen=require("escodegen"),import_ts_dedent=require("ts-dedent"),BASIC_OPTIONS={format:{indent:{style:" "},semicolons:!1}},COMPACT_OPTIONS={...BASIC_OPTIONS,format:{newline:""}},PRETTY_OPTIONS={...BASIC_OPTIONS};function generateCode(ast,compact=!1){return(0,import_escodegen.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=(0,import_ts_dedent.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 import_acorn=require("acorn"),import_acorn_jsx=__toESM(require("acorn-jsx")),acornWalk=__toESM(require("acorn-walk"));var ACORN_WALK_VISITORS={...acornWalk.base,JSXElement:()=>{}},acornParser=import_acorn.Parser.extend((0,import_acorn_jsx.default)());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&&!(0,import_docs_tools.isTooLongForTypeSummary)(compact)?(0,import_docs_tools.createSummaryValue)(compact):full?(0,import_docs_tools.createSummaryValue)(short,full):(0,import_docs_tools.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)),(0,import_docs_tools.createSummaryValue)(summary,detail)}default:return null}}catch(e){console.error(e)}return null}var import_docs_tools4=require("@storybook/docs-tools");var import_docs_tools2=require("@storybook/docs-tools");function generateObject({inferredType,ast}){let{depth}=inferredType;if(depth===1){let compactObject=generateObjectCode(ast,!0);if(!(0,import_docs_tools2.isTooLongForDefaultValueSummary)(compactObject))return(0,import_docs_tools2.createSummaryValue)(compactObject)}return(0,import_docs_tools2.createSummaryValue)(OBJECT_CAPTION,generateObjectCode(ast))}var import_docs_tools3=require("@storybook/docs-tools");function generateArray2({inferredType,ast}){let{depth}=inferredType;if(depth<=2){let compactArray=generateArrayCode(ast,!0);if(!(0,import_docs_tools3.isTooLongForDefaultValueSummary)(compactArray))return(0,import_docs_tools3.createSummaryValue)(compactArray)}return(0,import_docs_tools3.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(0,import_docs_tools4.createSummaryValue)(getPrettyIdentifier(inferredType),generateCode(ast));let prettyCaption=generateCode(ast,!0);return(0,import_docs_tools4.isTooLongForDefaultValueSummary)(prettyCaption)?(0,import_docs_tools4.createSummaryValue)(FUNCTION_CAPTION,generateCode(ast)):(0,import_docs_tools4.createSummaryValue)(prettyCaption)}function generateElement(defaultValue,inspectionResult){let{inferredType}=inspectionResult,{identifier}=inferredType;if(identifier!=null&&!isHtmlTag(identifier)){let prettyIdentifier=getPrettyIdentifier(inferredType);return(0,import_docs_tools4.createSummaryValue)(prettyIdentifier,defaultValue)}return(0,import_docs_tools4.isTooLongForDefaultValueSummary)(defaultValue)?(0,import_docs_tools4.createSummaryValue)(ELEMENT_CAPTION,defaultValue):(0,import_docs_tools4.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}var import_isPlainObject=__toESM(require("lodash/isPlainObject.js")),import_isFunction=__toESM(require("lodash/isFunction.js")),import_isString=__toESM(require("lodash/isString.js")),import_react_element_to_jsx_string=__toESM(require("react-element-to-jsx-string")),import_docs_tools5=require("@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=>(0,import_docs_tools5.createSummaryValue)(JSON.stringify(rawDefaultProp));function generateReactObject(rawDefaultProp){let{type}=rawDefaultProp,{displayName}=type,jsx2=(0,import_react_element_to_jsx_string.default)(rawDefaultProp,{});if(displayName!=null){let prettyIdentifier=getPrettyElementIdentifier(displayName);return(0,import_docs_tools5.createSummaryValue)(prettyIdentifier,jsx2)}if((0,import_isString.default)(type)&&isHtmlTag(type)){let jsxSummary=(0,import_react_element_to_jsx_string.default)(rawDefaultProp,{tabStop:0}).replace(/\r?\n|\r/g,"");if(!(0,import_docs_tools5.isTooLongForDefaultValueSummary)(jsxSummary))return(0,import_docs_tools5.createSummaryValue)(jsxSummary)}return(0,import_docs_tools5.createSummaryValue)(ELEMENT_CAPTION,jsx2)}var objectResolver=rawDefaultProp=>{if(isReactElement(rawDefaultProp)&&rawDefaultProp.type!=null)return generateReactObject(rawDefaultProp);if((0,import_isPlainObject.default)(rawDefaultProp)){let inspectionResult=inspectValue(JSON.stringify(rawDefaultProp));return generateObject(inspectionResult)}if(Array.isArray(rawDefaultProp)){let inspectionResult=inspectValue(JSON.stringify(rawDefaultProp));return generateArray2(inspectionResult)}return(0,import_docs_tools5.createSummaryValue)(OBJECT_CAPTION)},functionResolver=(rawDefaultProp,propDef)=>{let isElement=!1,inspectionResult;if((0,import_isFunction.default)(rawDefaultProp.render))isElement=!0;else if(rawDefaultProp.prototype!=null&&(0,import_isFunction.default)(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(0,import_docs_tools5.createSummaryValue)(getPrettyElementIdentifier(funcName));inspectionResult!=null&&(inspectionResult=inspectValue(rawDefaultProp.toString()));let{hasParams}=inspectionResult.inferredType;return(0,import_docs_tools5.createSummaryValue)(getPrettyFuncIdentifier(funcName,hasParams))}return(0,import_docs_tools5.createSummaryValue)(isElement?ELEMENT_CAPTION:FUNCTION_CAPTION)},defaultResolver=rawDefaultProp=>(0,import_docs_tools5.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 import_docs_tools6=require("@storybook/docs-tools");var funcResolver=(rawDefaultProp,{name,type})=>{let isElement=(type==null?void 0:type.summary)==="element"||(type==null?void 0:type.summary)==="elementType",funcName=extractFunctionName(rawDefaultProp,name);if(funcName!=null){if(isElement)return(0,import_docs_tools6.createSummaryValue)(getPrettyElementIdentifier(funcName));let{hasParams}=inspectValue(rawDefaultProp.toString()).inferredType;return(0,import_docs_tools6.createSummaryValue)(getPrettyFuncIdentifier(funcName,hasParams))}return(0,import_docs_tools6.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(import_prop_types.default).forEach(typeName=>{let type=import_prop_types.default[typeName];propTypesMap.set(type,typeName),propTypesMap.set(type.isRequired,typeName)});function getPropDefs(component,section){let processedComponent=component;!(0,import_docs_tools7.hasDocgen)(component)&&!component.propTypes&&isMemo(component)&&(processedComponent=component.type);let extractedProps=(0,import_docs_tools7.extractComponentProps)(processedComponent,section);if(extractedProps.length===0)return[];switch(extractedProps[0].typeSystem){case import_docs_tools7.TypeSystem.JAVASCRIPT:return enhancePropTypesProps(extractedProps,component);case import_docs_tools7.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};var import_react=__toESM(require("react")),import_react_element_to_jsx_string2=__toESM(require("react-element-to-jsx-string")),import_preview_api=require("@storybook/preview-api"),import_docs_tools8=require("@storybook/docs-tools"),import_client_logger=require("@storybook/client-logger");function simplifyNodeForStringify(node){if((0,import_react.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 import_client_logger.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 import_client_logger.logger.warn("Cannot skip undefined element"),null;if(import_react.default.Children.count(renderedJSX)>1)return import_client_logger.logger.warn("Trying to skip an array of elements"),null;typeof renderedJSX.props.children>"u"?(import_client_logger.logger.warn("Not enough children to skip elements."),typeof renderedJSX.type=="function"&&renderedJSX.type.name===""&&(renderedJSX=import_react.default.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)||(0,import_docs_tools8.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 import_react.default.Children.map(code,c=>{let child=typeof c=="number"?c.toString():c,string=(typeof import_react_element_to_jsx_string2.default=="function"?import_react_element_to_jsx_string2.default:import_react_element_to_jsx_string2.default.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=>{var _a;let sourceParams=(_a=context==null?void 0:context.parameters.docs)==null?void 0:_a.source,isArgsStory=context==null?void 0:context.parameters.__isArgsStory;return(sourceParams==null?void 0:sourceParams.type)===import_docs_tools8.SourceType.DYNAMIC?!1:!isArgsStory||(sourceParams==null?void 0:sourceParams.code)||(sourceParams==null?void 0:sourceParams.type)===import_docs_tools8.SourceType.CODE},isMdx=node=>{var _a,_b;return((_a=node.type)==null?void 0:_a.displayName)==="MDXCreateElement"&&!!((_b=node.props)!=null&&_b.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)),(0,import_react.createElement)(originalType,rest,...jsxChildren)},jsxDecorator=(storyFn,context)=>{var _a,_b;let channel=import_preview_api.addons.getChannel(),skip=skipJsxRender(context),jsx2="";(0,import_preview_api.useEffect)(()=>{if(!skip){let{id,unmappedArgs}=context;channel.emit(import_docs_tools8.SNIPPET_RENDERED,{id,source:jsx2,args:unmappedArgs})}});let story=storyFn();if(skip)return story;let options={...defaultOpts,...(context==null?void 0:context.parameters.jsx)||{}},storyJsx=(_b=(_a=context==null?void 0:context.parameters.docs)==null?void 0:_a.source)!=null&&_b.excludeDecorators?context.originalStoryFn(context.args,context):story,sourceJsx=mdxToJsx(storyJsx),rendered=renderJsx(sourceJsx,options);return rendered&&(jsx2=rendered),story};var import_preview_api2=require("@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(0,import_preview_api2.defaultDecorateStory)(storyFn,reorderedDecorators)};var parameters={docs:{story:{inline:!0},extractArgTypes,extractComponentDescription:import_docs_tools9.extractComponentDescription}},decorators=[jsxDecorator],argTypesEnhancers=[import_docs_tools9.enhanceArgTypes];0&&(module.exports={applyDecorators,argTypesEnhancers,decorators,parameters});
2
+ `)}var CUSTOM_CAPTION="custom",OBJECT_CAPTION="object",ARRAY_CAPTION="array",CLASS_CAPTION="class",FUNCTION_CAPTION="func",ELEMENT_CAPTION="element";var import_html_tags=__toESM(require("html-tags"));function isHtmlTag(tagName){return import_html_tags.default.includes(tagName.toLowerCase())}var import_escodegen=require("escodegen"),import_ts_dedent=require("ts-dedent"),BASIC_OPTIONS={format:{indent:{style:" "},semicolons:!1}},COMPACT_OPTIONS={...BASIC_OPTIONS,format:{newline:""}},PRETTY_OPTIONS={...BASIC_OPTIONS};function generateCode(ast,compact=!1){return(0,import_escodegen.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=(0,import_ts_dedent.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");var import_acorn=require("acorn"),import_acorn_jsx=__toESM(require("acorn-jsx")),acornWalk=__toESM(require("acorn-walk"));var ACORN_WALK_VISITORS={...acornWalk.base,JSXElement:()=>{}},acornParser=import_acorn.Parser.extend((0,import_acorn_jsx.default)());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&&!(0,import_docs_tools.isTooLongForTypeSummary)(compact)?(0,import_docs_tools.createSummaryValue)(compact):full?(0,import_docs_tools.createSummaryValue)(short,full):(0,import_docs_tools.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)),(0,import_docs_tools.createSummaryValue)(summary,detail)}default:return null}}catch(e){console.error(e)}return null}var import_docs_tools4=require("@storybook/docs-tools");var import_docs_tools2=require("@storybook/docs-tools");function generateObject({inferredType,ast}){let{depth}=inferredType;if(depth===1){let compactObject=generateObjectCode(ast,!0);if(!(0,import_docs_tools2.isTooLongForDefaultValueSummary)(compactObject))return(0,import_docs_tools2.createSummaryValue)(compactObject)}return(0,import_docs_tools2.createSummaryValue)(OBJECT_CAPTION,generateObjectCode(ast))}var import_docs_tools3=require("@storybook/docs-tools");function generateArray2({inferredType,ast}){let{depth}=inferredType;if(depth<=2){let compactArray=generateArrayCode(ast,!0);if(!(0,import_docs_tools3.isTooLongForDefaultValueSummary)(compactArray))return(0,import_docs_tools3.createSummaryValue)(compactArray)}return(0,import_docs_tools3.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(0,import_docs_tools4.createSummaryValue)(getPrettyIdentifier(inferredType),generateCode(ast));let prettyCaption=generateCode(ast,!0);return(0,import_docs_tools4.isTooLongForDefaultValueSummary)(prettyCaption)?(0,import_docs_tools4.createSummaryValue)(FUNCTION_CAPTION,generateCode(ast)):(0,import_docs_tools4.createSummaryValue)(prettyCaption)}function generateElement(defaultValue,inspectionResult){let{inferredType}=inspectionResult,{identifier}=inferredType;if(identifier!=null&&!isHtmlTag(identifier)){let prettyIdentifier=getPrettyIdentifier(inferredType);return(0,import_docs_tools4.createSummaryValue)(prettyIdentifier,defaultValue)}return(0,import_docs_tools4.isTooLongForDefaultValueSummary)(defaultValue)?(0,import_docs_tools4.createSummaryValue)(ELEMENT_CAPTION,defaultValue):(0,import_docs_tools4.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}var import_isPlainObject=__toESM(require("lodash/isPlainObject.js")),import_isFunction=__toESM(require("lodash/isFunction.js")),import_isString=__toESM(require("lodash/isString.js")),import_react_element_to_jsx_string=__toESM(require("react-element-to-jsx-string")),import_docs_tools5=require("@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=>(0,import_docs_tools5.createSummaryValue)(JSON.stringify(rawDefaultProp));function generateReactObject(rawDefaultProp){let{type}=rawDefaultProp,{displayName}=type,jsx2=(0,import_react_element_to_jsx_string.default)(rawDefaultProp,{});if(displayName!=null){let prettyIdentifier=getPrettyElementIdentifier(displayName);return(0,import_docs_tools5.createSummaryValue)(prettyIdentifier,jsx2)}if((0,import_isString.default)(type)&&isHtmlTag(type)){let jsxSummary=(0,import_react_element_to_jsx_string.default)(rawDefaultProp,{tabStop:0}).replace(/\r?\n|\r/g,"");if(!(0,import_docs_tools5.isTooLongForDefaultValueSummary)(jsxSummary))return(0,import_docs_tools5.createSummaryValue)(jsxSummary)}return(0,import_docs_tools5.createSummaryValue)(ELEMENT_CAPTION,jsx2)}var objectResolver=rawDefaultProp=>{if(isReactElement(rawDefaultProp)&&rawDefaultProp.type!=null)return generateReactObject(rawDefaultProp);if((0,import_isPlainObject.default)(rawDefaultProp)){let inspectionResult=inspectValue(JSON.stringify(rawDefaultProp));return generateObject(inspectionResult)}if(Array.isArray(rawDefaultProp)){let inspectionResult=inspectValue(JSON.stringify(rawDefaultProp));return generateArray2(inspectionResult)}return(0,import_docs_tools5.createSummaryValue)(OBJECT_CAPTION)},functionResolver=(rawDefaultProp,propDef)=>{let isElement=!1,inspectionResult;if((0,import_isFunction.default)(rawDefaultProp.render))isElement=!0;else if(rawDefaultProp.prototype!=null&&(0,import_isFunction.default)(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(0,import_docs_tools5.createSummaryValue)(getPrettyElementIdentifier(funcName));inspectionResult!=null&&(inspectionResult=inspectValue(rawDefaultProp.toString()));let{hasParams}=inspectionResult.inferredType;return(0,import_docs_tools5.createSummaryValue)(getPrettyFuncIdentifier(funcName,hasParams))}return(0,import_docs_tools5.createSummaryValue)(isElement?ELEMENT_CAPTION:FUNCTION_CAPTION)},defaultResolver=rawDefaultProp=>(0,import_docs_tools5.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 import_docs_tools6=require("@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(0,import_docs_tools6.createSummaryValue)(getPrettyElementIdentifier(funcName));let{hasParams}=inspectValue(rawDefaultProp.toString()).inferredType;return(0,import_docs_tools6.createSummaryValue)(getPrettyFuncIdentifier(funcName,hasParams))}return(0,import_docs_tools6.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(import_prop_types.default).forEach(typeName=>{let type=import_prop_types.default[typeName];propTypesMap.set(type,typeName),propTypesMap.set(type.isRequired,typeName)});function getPropDefs(component,section){let processedComponent=component;!(0,import_docs_tools7.hasDocgen)(component)&&!component.propTypes&&isMemo(component)&&(processedComponent=component.type);let extractedProps=(0,import_docs_tools7.extractComponentProps)(processedComponent,section);if(extractedProps.length===0)return[];switch(extractedProps[0].typeSystem){case import_docs_tools7.TypeSystem.JAVASCRIPT:return enhancePropTypesProps(extractedProps,component);case import_docs_tools7.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};var import_react=__toESM(require("react")),import_react_element_to_jsx_string2=__toESM(require("react-element-to-jsx-string")),import_preview_api=require("@storybook/preview-api"),import_docs_tools8=require("@storybook/docs-tools"),import_client_logger=require("@storybook/client-logger");function simplifyNodeForStringify(node){if((0,import_react.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 import_client_logger.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 import_client_logger.logger.warn("Cannot skip undefined element"),null;if(import_react.default.Children.count(renderedJSX)>1)return import_client_logger.logger.warn("Trying to skip an array of elements"),null;typeof renderedJSX.props.children>"u"?(import_client_logger.logger.warn("Not enough children to skip elements."),typeof renderedJSX.type=="function"&&renderedJSX.type.name===""&&(renderedJSX=import_react.default.createElement(Type,{...renderedJSX.props}))):typeof renderedJSX.props.children=="function"?renderedJSX=renderedJSX.props.children():renderedJSX=renderedJSX.props.children}let displayNameDefaults;typeof options?.displayName=="string"?displayNameDefaults={showFunctions:!0,displayName:()=>options.displayName}:renderedJSX?.type&&(0,import_docs_tools8.getDocgenSection)(renderedJSX.type,"displayName")&&(displayNameDefaults={displayName:el=>(0,import_docs_tools8.getDocgenSection)(el.type,"displayName")});let opts={...displayNameDefaults,...{filterProps:(value,key)=>value!==void 0},...options};return import_react.default.Children.map(code,c=>{let child=typeof c=="number"?c.toString():c,string=(typeof import_react_element_to_jsx_string2.default=="function"?import_react_element_to_jsx_string2.default:import_react_element_to_jsx_string2.default.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===import_docs_tools8.SourceType.DYNAMIC?!1:!isArgsStory||sourceParams?.code||sourceParams?.type===import_docs_tools8.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)),(0,import_react.createElement)(originalType,rest,...jsxChildren)},jsxDecorator=(storyFn,context)=>{let channel=import_preview_api.addons.getChannel(),skip=skipJsxRender(context),jsx2="";(0,import_preview_api.useEffect)(()=>{if(!skip){let{id,unmappedArgs}=context;channel.emit(import_docs_tools8.SNIPPET_RENDERED,{id,source:jsx2,args:unmappedArgs})}});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 import_preview_api2=require("@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(0,import_preview_api2.defaultDecorateStory)(storyFn,reorderedDecorators)};var parameters={docs:{story:{inline:!0},extractArgTypes,extractComponentDescription:import_docs_tools9.extractComponentDescription}},decorators=[jsxDecorator],argTypesEnhancers=[import_docs_tools9.enhanceArgTypes];0&&(module.exports={applyDecorators,argTypesEnhancers,decorators,parameters});
@@ -15,7 +15,7 @@ import { defaultDecorateStory, addons, useEffect } from '@storybook/preview-api'
15
15
  import { logger } from '@storybook/client-logger';
16
16
 
17
17
  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
18
- `)}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(`
18
+ `)}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");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 displayNameDefaults;typeof options?.displayName=="string"?displayNameDefaults={showFunctions:!0,displayName:()=>options.displayName}:renderedJSX?.type&&getDocgenSection(renderedJSX.type,"displayName")&&(displayNameDefaults={displayName:el=>getDocgenSection(el.type,"displayName")});let opts={...displayNameDefaults,...{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(`
19
19
  `).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,unmappedArgs}=context;channel.emit(SNIPPET_RENDERED,{id,source:jsx2,args:unmappedArgs});}});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 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 parameters={docs:{story:{inline:!0},extractArgTypes,extractComponentDescription}},decorators=[jsxDecorator],argTypesEnhancers=[enhanceArgTypes];
20
20
 
21
21
  export { applyDecorators, argTypesEnhancers, decorators, parameters };
@@ -3,6 +3,7 @@ import { R as ReactRenderer } from './types-bf5e6555.js';
3
3
  import 'react';
4
4
 
5
5
  declare const render: ArgsStoryFn<ReactRenderer>;
6
+
6
7
  declare function renderToCanvas({ storyContext, unboundStoryFn, showMain, showException, forceRemount, }: RenderContext<ReactRenderer>, canvasElement: ReactRenderer['canvasElement']): Promise<() => void>;
7
8
 
8
9
  declare const parameters: {};
@@ -1 +1 @@
1
- "use strict";var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var entry_preview_exports={};__export(entry_preview_exports,{parameters:()=>parameters,render:()=>render,renderToCanvas:()=>renderToCanvas});module.exports=__toCommonJS(entry_preview_exports);var import_global=require("@storybook/global"),import_react=__toESM(require("react")),import_react_dom_shim=require("@storybook/react-dom-shim"),{FRAMEWORK_OPTIONS}=import_global.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 import_react.default.createElement(Component,{...args})},ErrorBoundary=class extends import_react.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!=null&&FRAMEWORK_OPTIONS.strictMode?import_react.StrictMode:import_react.Fragment;async function renderToCanvas({storyContext,unboundStoryFn,showMain,showException,forceRemount},canvasElement){let content=import_react.default.createElement(ErrorBoundary,{showMain,showException},import_react.default.createElement(unboundStoryFn,{...storyContext})),element=Wrapper?import_react.default.createElement(Wrapper,null,content):content;return forceRemount&&(0,import_react_dom_shim.unmountElement)(canvasElement),await(0,import_react_dom_shim.renderElement)(element,canvasElement),()=>(0,import_react_dom_shim.unmountElement)(canvasElement)}var parameters={renderer:"react"};0&&(module.exports={parameters,render,renderToCanvas});
1
+ "use strict";var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var entry_preview_exports={};__export(entry_preview_exports,{parameters:()=>parameters,render:()=>render,renderToCanvas:()=>renderToCanvas});module.exports=__toCommonJS(entry_preview_exports);var import_react=__toESM(require("react")),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 import_react.default.createElement(Component,{...args})};var import_global=require("@storybook/global"),import_react2=__toESM(require("react")),import_react_dom_shim=require("@storybook/react-dom-shim"),{FRAMEWORK_OPTIONS}=import_global.global,ErrorBoundary=class extends import_react2.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?import_react2.StrictMode:import_react2.Fragment;async function renderToCanvas({storyContext,unboundStoryFn,showMain,showException,forceRemount},canvasElement){let content=import_react2.default.createElement(ErrorBoundary,{showMain,showException},import_react2.default.createElement(unboundStoryFn,{...storyContext})),element=Wrapper?import_react2.default.createElement(Wrapper,null,content):content;return forceRemount&&(0,import_react_dom_shim.unmountElement)(canvasElement),await(0,import_react_dom_shim.renderElement)(element,canvasElement),()=>(0,import_react_dom_shim.unmountElement)(canvasElement)}var parameters={renderer:"react"};0&&(module.exports={parameters,render,renderToCanvas});
@@ -1,5 +1,8 @@
1
- export { render, renderToCanvas } from './chunk-JWY6Y6NU.mjs';
1
+ export { render } from './chunk-ZRQXZGQH.mjs';
2
+ import { global } from '@storybook/global';
3
+ import React, { StrictMode, Fragment, Component } from 'react';
4
+ import { unmountElement, renderElement } from '@storybook/react-dom-shim';
2
5
 
3
- var parameters={renderer:"react"};
6
+ var{FRAMEWORK_OPTIONS}=global,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)}var parameters={renderer:"react"};
4
7
 
5
- export { parameters };
8
+ export { parameters, renderToCanvas };
package/dist/index.d.ts CHANGED
@@ -1,11 +1,10 @@
1
1
  import * as _storybook_types from '@storybook/types';
2
- import { Args, ComponentAnnotations, AnnotatedStoryFn, ArgsStoryFn, ArgsFromMeta, StoryAnnotations, DecoratorFunction, StrictArgs, LoaderFunction, StoryContext as StoryContext$1, ProjectAnnotations, StoryAnnotationsOrFn, Store_CSFExports, StoriesWithPartialProps } from '@storybook/types';
2
+ import { Args, ComponentAnnotations, AnnotatedStoryFn, ArgsStoryFn, ArgsFromMeta, StoryAnnotations, StrictArgs, DecoratorFunction, LoaderFunction, StoryContext as StoryContext$1, ProjectAnnotations, StoryAnnotationsOrFn, Store_CSFExports, StoriesWithPartialProps } from '@storybook/types';
3
3
  export { ArgTypes, Args, Parameters, StrictArgs } from '@storybook/types';
4
- import { ComponentType, ComponentProps, JSXElementConstructor } from 'react';
4
+ import { ComponentType, ComponentProps } from 'react';
5
5
  import { Simplify, SetOptional } from 'type-fest';
6
6
  import { R as ReactRenderer } from './types-bf5e6555.js';
7
7
 
8
- type JSXElement = keyof JSX.IntrinsicElements | JSXElementConstructor<any>;
9
8
  /**
10
9
  * Metadata to configure the stories for a component.
11
10
  *
@@ -19,7 +18,7 @@ type Meta<TCmpOrArgs = Args> = [TCmpOrArgs] extends [ComponentType<any>] ? Compo
19
18
  */
20
19
  type StoryFn<TCmpOrArgs = Args> = [TCmpOrArgs] extends [ComponentType<any>] ? AnnotatedStoryFn<ReactRenderer, ComponentProps<TCmpOrArgs>> : AnnotatedStoryFn<ReactRenderer, TCmpOrArgs>;
21
20
  /**
22
- * Story function that represents a CSFv3 component example.
21
+ * Story object that represents a CSFv3 component example.
23
22
  *
24
23
  * @see [Named Story exports](https://storybook.js.org/docs/formats/component-story-format/#named-story-exports)
25
24
  */
@@ -29,77 +28,12 @@ type StoryObj<TMetaOrCmpOrArgs = Args> = [TMetaOrCmpOrArgs] extends [
29
28
  component?: infer Component;
30
29
  args?: infer DefaultArgs;
31
30
  }
32
- ] ? Simplify<(Component extends ComponentType<any> ? ComponentProps<Component> : unknown) & ArgsFromMeta<ReactRenderer, TMetaOrCmpOrArgs>> extends infer TArgs ? StoryAnnotations<ReactRenderer, AddMocks<TArgs, DefaultArgs>, SetOptional<TArgs, keyof TArgs & keyof (DefaultArgs & ActionArgs<TArgs>)>> : never : TMetaOrCmpOrArgs extends ComponentType<any> ? StoryAnnotations<ReactRenderer, ComponentProps<TMetaOrCmpOrArgs>> : StoryAnnotations<ReactRenderer, TMetaOrCmpOrArgs>;
31
+ ] ? Simplify<(Component extends ComponentType<any> ? ComponentProps<Component> : unknown) & ArgsFromMeta<ReactRenderer, TMetaOrCmpOrArgs>> extends infer TArgs ? StoryAnnotations<ReactRenderer, AddMocks<TArgs, DefaultArgs>, SetOptional<TArgs, keyof TArgs & keyof DefaultArgs>> : never : TMetaOrCmpOrArgs extends ComponentType<any> ? StoryAnnotations<ReactRenderer, ComponentProps<TMetaOrCmpOrArgs>> : StoryAnnotations<ReactRenderer, TMetaOrCmpOrArgs>;
33
32
  type AddMocks<TArgs, DefaultArgs> = Simplify<{
34
33
  [T in keyof TArgs]: T extends keyof DefaultArgs ? DefaultArgs[T] extends (...args: any) => any & {
35
34
  mock: {};
36
35
  } ? DefaultArgs[T] : TArgs[T] : TArgs[T];
37
36
  }>;
38
- type ActionArgs<TArgs> = {
39
- [P in keyof TArgs as TArgs[P] extends (...args: any[]) => any ? ((...args: any[]) => void) extends TArgs[P] ? P : never : never]: TArgs[P];
40
- };
41
- /**
42
- * @deprecated Use `Meta` instead, e.g. ComponentMeta<typeof Button> -> Meta<typeof Button>.
43
- *
44
- * For the common case where a component's stories are simple components that receives args as props:
45
- *
46
- * ```tsx
47
- * export default { ... } as ComponentMeta<typeof Button>;
48
- * ```
49
- */
50
- type ComponentMeta<T extends JSXElement> = Meta<ComponentProps<T>>;
51
- /**
52
- * @deprecated Use `StoryFn` instead, e.g. ComponentStoryFn<typeof Button> -> StoryFn<typeof Button>.
53
- * Use `StoryObj` if you want to migrate to CSF3, which uses objects instead of functions to represent stories.
54
- * You can read more about the CSF3 format here: https://storybook.js.org/blog/component-story-format-3-0/
55
- *
56
- * For the common case where a (CSFv2) story is a simple component that receives args as props:
57
- *
58
- * ```tsx
59
- * const Template: ComponentStoryFn<typeof Button> = (args) => <Button {...args} />
60
- * ```
61
- */
62
- type ComponentStoryFn<T extends JSXElement> = StoryFn<ComponentProps<T>>;
63
- /**
64
- * @deprecated Use `StoryObj` instead, e.g. ComponentStoryObj<typeof Button> -> StoryObj<typeof Button>.
65
- *
66
- * For the common case where a (CSFv3) story is a simple component that receives args as props:
67
- *
68
- * ```tsx
69
- * const MyStory: ComponentStoryObj<typeof Button> = {
70
- * args: { buttonArg1: 'val' },
71
- * }
72
- * ```
73
- */
74
- type ComponentStoryObj<T extends JSXElement> = StoryObj<ComponentProps<T>>;
75
- /**
76
- * @deprecated Use `StoryFn` instead.
77
- * Use `StoryObj` if you want to migrate to CSF3, which uses objects instead of functions to represent stories.
78
- * You can read more about the CSF3 format here: https://storybook.js.org/blog/component-story-format-3-0/
79
- *
80
- * Story function that represents a CSFv2 component example.
81
- *
82
- * @see [Named Story exports](https://storybook.js.org/docs/formats/component-story-format/#named-story-exports)
83
- */
84
- type Story<TArgs = Args> = StoryFn<TArgs>;
85
- /**
86
- * @deprecated Use `StoryFn` instead, e.g. ComponentStory<typeof Button> -> StoryFn<typeof Button>.
87
- * Use `StoryObj` if you want to migrate to CSF3, which uses objects instead of functions to represent stories
88
- * You can read more about the CSF3 format here: https://storybook.js.org/blog/component-story-format-3-0/.
89
- *
90
- * For the common case where a (CSFv3) story is a simple component that receives args as props:
91
- *
92
- * ```tsx
93
- * const MyStory: ComponentStory<typeof Button> = {
94
- * args: { buttonArg1: 'val' },
95
- * }
96
- * ```
97
- */
98
- type ComponentStory<T extends JSXElement> = ComponentStoryFn<T>;
99
- /**
100
- * @deprecated Use Decorator instead.
101
- */
102
- type DecoratorFn = DecoratorFunction<ReactRenderer>;
103
37
  type Decorator<TArgs = StrictArgs> = DecoratorFunction<ReactRenderer, TArgs>;
104
38
  type Loader<TArgs = StrictArgs> = LoaderFunction<ReactRenderer, TArgs>;
105
39
  type StoryContext<TArgs = StrictArgs> = StoryContext$1<ReactRenderer, TArgs>;
@@ -121,11 +55,6 @@ type Preview = ProjectAnnotations<ReactRenderer>;
121
55
  * @param projectAnnotations - e.g. (import projectAnnotations from '../.storybook/preview')
122
56
  */
123
57
  declare function setProjectAnnotations(projectAnnotations: ProjectAnnotations<ReactRenderer> | ProjectAnnotations<ReactRenderer>[]): void;
124
- /** Preserved for users migrating from `@storybook/testing-react`.
125
- *
126
- * @deprecated Use setProjectAnnotations instead
127
- */
128
- declare function setGlobalConfig(projectAnnotations: ProjectAnnotations<ReactRenderer> | ProjectAnnotations<ReactRenderer>[]): void;
129
58
  /**
130
59
  * Function that will receive a story along with meta (e.g. a default export from a .stories file)
131
60
  * and optionally projectAnnotations e.g. (import * from '../.storybook/preview)
@@ -181,4 +110,4 @@ declare function composeStory<TArgs extends Args = Args>(story: StoryAnnotations
181
110
  */
182
111
  declare function composeStories<TModule extends Store_CSFExports<ReactRenderer, any>>(csfExports: TModule, projectAnnotations?: ProjectAnnotations<ReactRenderer>): Omit<StoriesWithPartialProps<ReactRenderer, TModule>, keyof Store_CSFExports>;
183
112
 
184
- export { ComponentMeta, ComponentStory, ComponentStoryFn, ComponentStoryObj, Decorator, DecoratorFn, Loader, Meta, Preview, ReactRenderer, Story, StoryContext, StoryFn, StoryObj, composeStories, composeStory, setGlobalConfig, setProjectAnnotations };
113
+ export { Decorator, Loader, Meta, Preview, ReactRenderer, StoryContext, StoryFn, StoryObj, composeStories, composeStory, setProjectAnnotations };
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var src_exports={};__export(src_exports,{composeStories:()=>composeStories,composeStory:()=>composeStory,setGlobalConfig:()=>setGlobalConfig,setProjectAnnotations:()=>setProjectAnnotations});module.exports=__toCommonJS(src_exports);var import_global=require("@storybook/global"),{window:globalWindow}=import_global.global;globalWindow&&(globalWindow.STORYBOOK_ENV="react");var import_preview_api=require("@storybook/preview-api"),import_client_logger=require("@storybook/client-logger");var import_global2=require("@storybook/global"),import_react=__toESM(require("react")),import_react_dom_shim=require("@storybook/react-dom-shim"),{FRAMEWORK_OPTIONS}=import_global2.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 import_react.default.createElement(Component,{...args})};var Wrapper=FRAMEWORK_OPTIONS!=null&&FRAMEWORK_OPTIONS.strictMode?import_react.StrictMode:import_react.Fragment;function setProjectAnnotations(projectAnnotations){(0,import_preview_api.setProjectAnnotations)(projectAnnotations)}function setGlobalConfig(projectAnnotations){(0,import_client_logger.deprecate)("setGlobalConfig is deprecated. Use setProjectAnnotations instead."),setProjectAnnotations(projectAnnotations)}var defaultProjectAnnotations={render};function composeStory(story,componentAnnotations,projectAnnotations,exportsName){return(0,import_preview_api.composeStory)(story,componentAnnotations,projectAnnotations,defaultProjectAnnotations,exportsName)}function composeStories(csfExports,projectAnnotations){return(0,import_preview_api.composeStories)(csfExports,projectAnnotations,composeStory)}var _a;typeof module<"u"&&((_a=module==null?void 0:module.hot)==null||_a.decline());0&&(module.exports={composeStories,composeStory,setGlobalConfig,setProjectAnnotations});
1
+ "use strict";var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var src_exports={};__export(src_exports,{composeStories:()=>composeStories,composeStory:()=>composeStory,setProjectAnnotations:()=>setProjectAnnotations});module.exports=__toCommonJS(src_exports);var import_global=require("@storybook/global"),{window:globalWindow}=import_global.global;globalWindow&&(globalWindow.STORYBOOK_ENV="react");var import_preview_api=require("@storybook/preview-api");var import_react=__toESM(require("react")),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 import_react.default.createElement(Component,{...args})};function setProjectAnnotations(projectAnnotations){(0,import_preview_api.setProjectAnnotations)(projectAnnotations)}var defaultProjectAnnotations={render};function composeStory(story,componentAnnotations,projectAnnotations,exportsName){return(0,import_preview_api.composeStory)(story,componentAnnotations,projectAnnotations,defaultProjectAnnotations,exportsName)}function composeStories(csfExports,projectAnnotations){return(0,import_preview_api.composeStories)(csfExports,projectAnnotations,composeStory)}typeof module<"u"&&module?.hot?.decline();0&&(module.exports={composeStories,composeStory,setProjectAnnotations});
package/dist/index.mjs CHANGED
@@ -1,8 +1,7 @@
1
- import { render } from './chunk-JWY6Y6NU.mjs';
1
+ import { render } from './chunk-ZRQXZGQH.mjs';
2
2
  import { global } from '@storybook/global';
3
3
  import { setProjectAnnotations as setProjectAnnotations$1, composeStory as composeStory$1, composeStories as composeStories$1 } from '@storybook/preview-api';
4
- import { deprecate } from '@storybook/client-logger';
5
4
 
6
- var{window:globalWindow}=global;globalWindow&&(globalWindow.STORYBOOK_ENV="react");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();
5
+ var{window:globalWindow}=global;globalWindow&&(globalWindow.STORYBOOK_ENV="react");function setProjectAnnotations(projectAnnotations){setProjectAnnotations$1(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
6
 
8
- export { composeStories, composeStory, setGlobalConfig, setProjectAnnotations };
7
+ export { composeStories, composeStory, setProjectAnnotations };
package/dist/preset.d.ts CHANGED
@@ -2,5 +2,16 @@ import { PresetProperty } from '@storybook/types';
2
2
 
3
3
  declare const addons: PresetProperty<'addons'>;
4
4
  declare const previewAnnotations: PresetProperty<'previewAnnotations'>;
5
+ /**
6
+ * Try to resolve react and react-dom from the root node_modules of the project
7
+ * addon-docs uses this to alias react and react-dom to the project's version when possible
8
+ * If the user doesn't have an explicit dependency on react this will return the existing values
9
+ * Which will be the versions shipped with addon-docs
10
+ *
11
+ * We do the exact same thing in the common preset, but that will fail in Yarn PnP because
12
+ * @storybook/core-server doesn't have a peer dependency on react
13
+ * This will make @storybook/react projects work in Yarn PnP
14
+ */
15
+ declare const resolvedReact: (existing: any) => Promise<any>;
5
16
 
6
- export { addons, previewAnnotations };
17
+ export { addons, previewAnnotations, resolvedReact };
package/dist/preset.js CHANGED
@@ -1 +1 @@
1
- "use strict";var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var preset_exports={};__export(preset_exports,{addons:()=>addons,previewAnnotations:()=>previewAnnotations});module.exports=__toCommonJS(preset_exports);var import_path=require("path"),addons=[require.resolve("@storybook/react-dom-shim/dist/preset")],previewAnnotations=async(input=[],options)=>{let docsConfig=await options.presets.apply("docs",{},options),docsEnabled=Object.keys(docsConfig).length>0;return[].concat(input).concat([(0,import_path.join)(__dirname,"entry-preview.mjs")]).concat(docsEnabled?[(0,import_path.join)(__dirname,"entry-preview-docs.mjs")]:[])};0&&(module.exports={addons,previewAnnotations});
1
+ "use strict";var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var preset_exports={};__export(preset_exports,{addons:()=>addons,previewAnnotations:()=>previewAnnotations,resolvedReact:()=>resolvedReact});module.exports=__toCommonJS(preset_exports);var import_path=require("path"),addons=[require.resolve("@storybook/react-dom-shim/dist/preset")],previewAnnotations=async(input=[],options)=>{let docsConfig=await options.presets.apply("docs",{},options),docsEnabled=Object.keys(docsConfig).length>0;return[].concat(input).concat([(0,import_path.join)(__dirname,"entry-preview.mjs")]).concat(docsEnabled?[(0,import_path.join)(__dirname,"entry-preview-docs.mjs")]:[])},resolvedReact=async existing=>{try{return{...existing,react:(0,import_path.dirname)(require.resolve("react/package.json")),reactDom:(0,import_path.dirname)(require.resolve("react-dom/package.json"))}}catch{return existing}};0&&(module.exports={addons,previewAnnotations,resolvedReact});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@storybook/react",
3
- "version": "8.0.0-alpha.1",
3
+ "version": "8.0.0-alpha.10",
4
4
  "description": "Storybook React renderer",
5
5
  "keywords": [
6
6
  "storybook"
@@ -47,12 +47,12 @@
47
47
  "prep": "node --loader ../../../scripts/node_modules/esbuild-register/loader.js -r ../../../scripts/node_modules/esbuild-register/register.js ../../../scripts/prepare/bundle.ts"
48
48
  },
49
49
  "dependencies": {
50
- "@storybook/client-logger": "8.0.0-alpha.1",
51
- "@storybook/docs-tools": "8.0.0-alpha.1",
50
+ "@storybook/client-logger": "8.0.0-alpha.10",
51
+ "@storybook/docs-tools": "8.0.0-alpha.10",
52
52
  "@storybook/global": "^5.0.0",
53
- "@storybook/preview-api": "8.0.0-alpha.1",
54
- "@storybook/react-dom-shim": "8.0.0-alpha.1",
55
- "@storybook/types": "8.0.0-alpha.1",
53
+ "@storybook/preview-api": "8.0.0-alpha.10",
54
+ "@storybook/react-dom-shim": "8.0.0-alpha.10",
55
+ "@storybook/types": "8.0.0-alpha.10",
56
56
  "@types/escodegen": "^0.0.6",
57
57
  "@types/estree": "^0.0.51",
58
58
  "@types/node": "^18.0.0",
@@ -69,17 +69,17 @@
69
69
  "util-deprecate": "^1.0.2"
70
70
  },
71
71
  "devDependencies": {
72
- "@babel/core": "^7.23.2",
73
- "@storybook/test": "8.0.0-alpha.1",
72
+ "@storybook/test": "8.0.0-alpha.10",
73
+ "@types/babel-plugin-react-docgen": "^4",
74
74
  "@types/util-deprecate": "^1.0.0",
75
+ "babel-plugin-react-docgen": "^4.2.1",
75
76
  "expect-type": "^0.15.0",
76
- "jest-specific-snapshot": "^8.0.0",
77
77
  "require-from-string": "^2.0.2"
78
78
  },
79
79
  "peerDependencies": {
80
80
  "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
81
81
  "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0",
82
- "typescript": "*"
82
+ "typescript": ">= 4.2.x"
83
83
  },
84
84
  "peerDependenciesMeta": {
85
85
  "typescript": {
@@ -87,7 +87,7 @@
87
87
  }
88
88
  },
89
89
  "engines": {
90
- "node": ">=16.0.0"
90
+ "node": ">=18.0.0"
91
91
  },
92
92
  "publishConfig": {
93
93
  "access": "public"
@@ -1,3 +1,4 @@
1
+ import { fn } from '@storybook/test';
1
2
  import { Button } from './Button';
2
3
 
3
4
  // More on how to set up stories at: https://storybook.js.org/docs/writing-stories#default-export
@@ -14,6 +15,8 @@ export default {
14
15
  argTypes: {
15
16
  backgroundColor: { control: 'color' },
16
17
  },
18
+ // Use `fn` to spy on the onClick arg, which will appear in the actions panel once invoked: https://storybook.js.org/docs/essentials/actions#action-args
19
+ args: { onClick: fn() },
17
20
  };
18
21
 
19
22
  // More on writing stories with args: https://storybook.js.org/docs/writing-stories/args
@@ -1,4 +1,5 @@
1
1
  import type { Meta, StoryObj } from '@storybook/react';
2
+ import { fn } from '@storybook/test';
2
3
 
3
4
  import { Button } from './Button';
4
5
 
@@ -16,6 +17,8 @@ const meta: Meta<typeof Button> = {
16
17
  argTypes: {
17
18
  backgroundColor: { control: 'color' },
18
19
  },
20
+ // Use `fn` to spy on the onClick arg, which will appear in the actions panel once invoked: https://storybook.js.org/docs/essentials/actions#action-args
21
+ args: { onClick: fn() },
19
22
  };
20
23
 
21
24
  export default meta;
@@ -9,9 +9,9 @@ type User = {
9
9
 
10
10
  interface HeaderProps {
11
11
  user?: User;
12
- onLogin: () => void;
13
- onLogout: () => void;
14
- onCreateAccount: () => void;
12
+ onLogin?: () => void;
13
+ onLogout?: () => void;
14
+ onCreateAccount?: () => void;
15
15
  }
16
16
 
17
17
  export const Header = ({ user, onLogin, onLogout, onCreateAccount }: HeaderProps) => (
@@ -1,5 +1,5 @@
1
1
  import type { Meta, StoryObj } from '@storybook/react';
2
-
2
+ import { fn } from '@storybook/test';
3
3
  import { Button } from './Button';
4
4
 
5
5
  // More on how to set up stories at: https://storybook.js.org/docs/writing-stories#default-export
@@ -16,6 +16,8 @@ const meta = {
16
16
  argTypes: {
17
17
  backgroundColor: { control: 'color' },
18
18
  },
19
+ // Use `fn` to spy on the onClick arg, which will appear in the actions panel once invoked: https://storybook.js.org/docs/essentials/actions#action-args
20
+ args: { onClick: fn() },
19
21
  } satisfies Meta<typeof Button>;
20
22
 
21
23
  export default meta;
@@ -9,9 +9,9 @@ type User = {
9
9
 
10
10
  interface HeaderProps {
11
11
  user?: User;
12
- onLogin: () => void;
13
- onLogout: () => void;
14
- onCreateAccount: () => void;
12
+ onLogin?: () => void;
13
+ onLogout?: () => void;
14
+ onCreateAccount?: () => void;
15
15
  }
16
16
 
17
17
  export const Header = ({ user, onLogin, onLogout, onCreateAccount }: HeaderProps) => (
@@ -1,7 +0,0 @@
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/jest.config.js DELETED
@@ -1,7 +0,0 @@
1
- const path = require('path');
2
- const baseConfig = require('../../jest.config.browser');
3
-
4
- module.exports = {
5
- ...baseConfig,
6
- displayName: __dirname.split(path.sep).slice(-2).join(path.posix.sep),
7
- };