🚀 Big News:Socket Has Acquired Secure Annex.Learn More
Socket
Book a DemoSign in
Socket

@storybook/react

Package Overview
Dependencies
Maintainers
5
Versions
3170
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@storybook/react - npm Package Compare versions

Comparing version
7.0.0
to
7.5.3
+7
-1
dist/chunk-JWY6Y6NU.mjs

@@ -1,1 +0,7 @@

import{global}from"@storybook/global";import React,{Component as ReactComponent,StrictMode,Fragment}from"react";import{renderElement,unmountElement}from"@storybook/react-dom-shim";var{FRAMEWORK_OPTIONS}=global,render=(args,context)=>{let{id,component:Component}=context;if(!Component)throw new Error(`Unable to render story ${id} as the component annotation is missing from the default export`);return React.createElement(Component,{...args})},ErrorBoundary=class extends ReactComponent{constructor(){super(...arguments);this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidMount(){let{hasError}=this.state,{showMain}=this.props;hasError||showMain()}componentDidCatch(err){let{showException}=this.props;showException(err)}render(){let{hasError}=this.state,{children}=this.props;return hasError?null:children}},Wrapper=FRAMEWORK_OPTIONS?.strictMode?StrictMode:Fragment;async function renderToCanvas({storyContext,unboundStoryFn,showMain,showException,forceRemount},canvasElement){let content=React.createElement(ErrorBoundary,{showMain,showException},React.createElement(unboundStoryFn,{...storyContext})),element=Wrapper?React.createElement(Wrapper,null,content):content;return forceRemount&&unmountElement(canvasElement),await renderElement(element,canvasElement),()=>unmountElement(canvasElement)}export{render,renderToCanvas};
import { global } from '@storybook/global';
import React, { StrictMode, Fragment, Component } from 'react';
import { unmountElement, renderElement } from '@storybook/react-dom-shim';
var {FRAMEWORK_OPTIONS}=global,render=(args,context)=>{let{id,component:Component}=context;if(!Component)throw new Error(`Unable to render story ${id} as the component annotation is missing from the default export`);return React.createElement(Component,{...args})},ErrorBoundary=class extends 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)}
export { render, renderToCanvas };
+8
-17

@@ -1,9 +0,7 @@

import * as lib_docs_tools_dist from 'lib/docs-tools/dist';
import * as lib_types_dist from 'lib/types/dist';
import { R as ReactRenderer, S as StoryFnReactReturnType } from './types-0a347bb9.js';
import { ArgsStoryFn, RenderContext } from '@storybook/types';
import { Addon_DecoratorFunction, ArgTypesEnhancer, ArgsStoryFn, RenderContext, LegacyStoryFn, DecoratorFunction } from '@storybook/types';
import { S as StoryFnReactReturnType, R as ReactRenderer } from './types-0a347bb9.js';
import 'react';
declare const decorators: ((storyFn: lib_types_dist.PartialStoryFn<ReactRenderer, lib_types_dist.Args>, context: lib_types_dist.StoryContext<ReactRenderer, lib_types_dist.Args>) => StoryFnReactReturnType)[];
declare const argTypesEnhancers: (<TRenderer extends lib_types_dist.Renderer>(context: lib_types_dist.StoryContextForEnhancers<TRenderer, lib_types_dist.Args>) => lib_types_dist.StrictArgTypes<lib_types_dist.Args>)[];
declare const decorators: Addon_DecoratorFunction<StoryFnReactReturnType>[];
declare const argTypesEnhancers: ArgTypesEnhancer[];

@@ -13,13 +11,6 @@ declare const render: ArgsStoryFn<ReactRenderer>;

declare const parameters: {
docs: {
story: {
inline: boolean;
};
extractArgTypes: lib_docs_tools_dist.ArgTypesExtractor;
extractComponentDescription: typeof lib_docs_tools_dist.extractComponentDescription;
};
renderer: string;
};
declare const applyDecorators: (storyFn: LegacyStoryFn<ReactRenderer>, decorators: DecoratorFunction<ReactRenderer>[]) => LegacyStoryFn<ReactRenderer>;
export { argTypesEnhancers, decorators, parameters, render, renderToCanvas };
declare const parameters: {};
export { applyDecorators, argTypesEnhancers, decorators, parameters, render, renderToCanvas };

@@ -1,3 +0,3 @@

"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 config_exports={};__export(config_exports,{argTypesEnhancers:()=>argTypesEnhancers,decorators:()=>decorators,parameters:()=>parameters2,render:()=>render,renderToCanvas:()=>renderToCanvas});module.exports=__toCommonJS(config_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
"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 config_exports={};__export(config_exports,{applyDecorators:()=>applyDecorators,argTypesEnhancers:()=>argTypesEnhancers,decorators:()=>decorators,parameters:()=>parameters2,render:()=>render,renderToCanvas:()=>renderToCanvas});module.exports=__toCommonJS(config_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
`)}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.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 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(`
`).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,args}=context;channel.emit(import_docs_tools8.SNIPPET_RENDERED,{id,source:jsx2,args})}});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 parameters={docs:{story:{inline:!0},extractArgTypes,extractComponentDescription:import_docs_tools9.extractComponentDescription}},decorators=[jsxDecorator],argTypesEnhancers=[import_docs_tools9.enhanceArgTypes];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,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_react2.default.createElement(Component,{...args})},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!=null&&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 parameters2={renderer:"react",...parameters};0&&(module.exports={argTypesEnhancers,decorators,parameters,render,renderToCanvas});
`).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 parameters={docs:{story:{inline:!0},extractArgTypes,extractComponentDescription:import_docs_tools9.extractComponentDescription}},decorators=[jsxDecorator],argTypesEnhancers=[import_docs_tools9.enhanceArgTypes];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,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_react2.default.createElement(Component,{...args})},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!=null&&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 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 parameters2={renderer:"react",...parameters};0&&(module.exports={applyDecorators,argTypesEnhancers,decorators,parameters,render,renderToCanvas});

@@ -1,3 +0,22 @@

import{render,renderToCanvas}from"./chunk-JWY6Y6NU.mjs";import"./chunk-R4NKYYJA.mjs";import{extractComponentDescription,enhanceArgTypes}from"@storybook/docs-tools";import PropTypes from"prop-types";import{hasDocgen,extractComponentProps,TypeSystem}from"@storybook/docs-tools";import{createSummaryValue,isTooLongForTypeSummary}from"@storybook/docs-tools";function generateFuncSignature(params,returns){let hasParams=params!=null,hasReturns=returns!=null;if(!hasParams&&!hasReturns)return"";let funcParts=[];if(hasParams){let funcParams=params.map(x=>{let prettyName=x.getPrettyName(),typeName=x.getTypeName();return typeName!=null?`${prettyName}: ${typeName}`:prettyName});funcParts.push(`(${funcParams.join(", ")})`)}else funcParts.push("()");return hasReturns&&funcParts.push(`=> ${returns.getTypeName()}`),funcParts.join(" ")}function generateShortFuncSignature(params,returns){let hasParams=params!=null,hasReturns=returns!=null;if(!hasParams&&!hasReturns)return"";let funcParts=[];return hasParams?funcParts.push("( ... )"):funcParts.push("()"),hasReturns&&funcParts.push(`=> ${returns.getTypeName()}`),funcParts.join(" ")}function toMultilineSignature(signature){return signature.replace(/,/g,`,\r
`)}var CUSTOM_CAPTION="custom",OBJECT_CAPTION="object",ARRAY_CAPTION="array",CLASS_CAPTION="class",FUNCTION_CAPTION="func",ELEMENT_CAPTION="element";import htmlTags from"html-tags";function isHtmlTag(tagName){return htmlTags.includes(tagName.toLowerCase())}import{generate}from"escodegen";import{dedent}from"ts-dedent";var BASIC_OPTIONS={format:{indent:{style:" "},semicolons:!1}},COMPACT_OPTIONS={...BASIC_OPTIONS,format:{newline:""}},PRETTY_OPTIONS={...BASIC_OPTIONS};function generateCode(ast,compact=!1){return generate(ast,compact?COMPACT_OPTIONS:PRETTY_OPTIONS)}function generateObjectCode(ast,compact=!1){return compact?generateCompactObjectCode(ast):generateCode(ast)}function generateCompactObjectCode(ast){let result=generateCode(ast,!0);return result.endsWith(" }")||(result=`${result.slice(0,-1)} }`),result}function generateArrayCode(ast,compact=!1){return compact?generateCompactArrayCode(ast):generateMultilineArrayCode(ast)}function generateMultilineArrayCode(ast){let result=generateCode(ast);return result.endsWith(" }]")&&(result=dedent(result)),result}function generateCompactArrayCode(ast){let result=generateCode(ast,!0);return result.startsWith("[ ")&&(result=result.replace("[ ","[")),result}var isMemo=component=>component.$$typeof===Symbol.for("react.memo"),isForwardRef=component=>component.$$typeof===Symbol.for("react.forward_ref");import{Parser}from"acorn";import jsx from"acorn-jsx";import*as acornWalk from"acorn-walk";var ACORN_WALK_VISITORS={...acornWalk.base,JSXElement:()=>{}},acornParser=Parser.extend(jsx());function extractIdentifierName(identifierNode){return identifierNode!=null?identifierNode.name:null}function filterAncestors(ancestors){return ancestors.filter(x=>x.type==="ObjectExpression"||x.type==="ArrayExpression")}function calculateNodeDepth(node){let depths=[];return acornWalk.ancestor(node,{ObjectExpression(_,ancestors){depths.push(filterAncestors(ancestors).length)},ArrayExpression(_,ancestors){depths.push(filterAncestors(ancestors).length)}},ACORN_WALK_VISITORS),Math.max(...depths)}function parseIdentifier(identifierNode){return{inferredType:{type:"Identifier",identifier:extractIdentifierName(identifierNode)},ast:identifierNode}}function parseLiteral(literalNode){return{inferredType:{type:"Literal"},ast:literalNode}}function parseFunction(funcNode){let innerJsxElementNode;acornWalk.simple(funcNode.body,{JSXElement(node){innerJsxElementNode=node}},ACORN_WALK_VISITORS);let inferredType={type:innerJsxElementNode!=null?"Element":"Function",params:funcNode.params,hasParams:funcNode.params.length!==0},identifierName=extractIdentifierName(funcNode.id);return identifierName!=null&&(inferredType.identifier=identifierName),{inferredType,ast:funcNode}}function parseClass(classNode){let innerJsxElementNode;return acornWalk.simple(classNode.body,{JSXElement(node){innerJsxElementNode=node}},ACORN_WALK_VISITORS),{inferredType:{type:innerJsxElementNode!=null?"Element":"Class",identifier:extractIdentifierName(classNode.id)},ast:classNode}}function parseJsxElement(jsxElementNode){let inferredType={type:"Element"},identifierName=extractIdentifierName(jsxElementNode.openingElement.name);return identifierName!=null&&(inferredType.identifier=identifierName),{inferredType,ast:jsxElementNode}}function parseCall(callNode){let identifierNode=callNode.callee.type==="MemberExpression"?callNode.callee.property:callNode.callee;return extractIdentifierName(identifierNode)==="shape"?parseObject(callNode.arguments[0]):null}function parseObject(objectNode){return{inferredType:{type:"Object",depth:calculateNodeDepth(objectNode)},ast:objectNode}}function parseArray(arrayNode){return{inferredType:{type:"Array",depth:calculateNodeDepth(arrayNode)},ast:arrayNode}}function parseExpression(expression){switch(expression.type){case"Identifier":return parseIdentifier(expression);case"Literal":return parseLiteral(expression);case"FunctionExpression":case"ArrowFunctionExpression":return parseFunction(expression);case"ClassExpression":return parseClass(expression);case"JSXElement":return parseJsxElement(expression);case"CallExpression":return parseCall(expression);case"ObjectExpression":return parseObject(expression);case"ArrayExpression":return parseArray(expression);default:return null}}function parse(value){let ast=acornParser.parse(`(${value})`),parsingResult={inferredType:{type:"Unknown"},ast};if(ast.body[0]!=null){let rootNode=ast.body[0];switch(rootNode.type){case"ExpressionStatement":{let expressionResult=parseExpression(rootNode.expression);expressionResult!=null&&(parsingResult=expressionResult);break}default:break}}return parsingResult}function inspectValue(value){try{return{...parse(value)}}catch{}return{inferredType:{type:"Unknown"}}}var MAX_FUNC_LENGTH=150;function createTypeDef({name,short,compact,full,inferredType}){return{name,short,compact,full:full??short,inferredType}}function cleanPropTypes(value){return value.replace(/PropTypes./g,"").replace(/.isRequired/g,"")}function splitIntoLines(value){return value.split(/\r?\n/)}function prettyObject(ast,compact=!1){return cleanPropTypes(generateObjectCode(ast,compact))}function prettyArray(ast,compact=!1){return cleanPropTypes(generateCode(ast,compact))}function getCaptionForInspectionType(type){switch(type){case"Object":return OBJECT_CAPTION;case"Array":return ARRAY_CAPTION;case"Class":return CLASS_CAPTION;case"Function":return FUNCTION_CAPTION;case"Element":return ELEMENT_CAPTION;default:return CUSTOM_CAPTION}}function generateTypeFromString(value,originalTypeName){let{inferredType,ast}=inspectValue(value),{type}=inferredType,short,compact,full;switch(type){case"Identifier":case"Literal":short=value,compact=value;break;case"Object":{let{depth}=inferredType;short=OBJECT_CAPTION,compact=depth===1?prettyObject(ast,!0):null,full=prettyObject(ast);break}case"Element":{let{identifier}=inferredType;short=identifier!=null&&!isHtmlTag(identifier)?identifier:ELEMENT_CAPTION,compact=splitIntoLines(value).length===1?value:null,full=value;break}case"Array":{let{depth}=inferredType;short=ARRAY_CAPTION,compact=depth<=2?prettyArray(ast,!0):null,full=prettyArray(ast);break}default:short=getCaptionForInspectionType(type),compact=splitIntoLines(value).length===1?value:null,full=value;break}return createTypeDef({name:originalTypeName,short,compact,full,inferredType:type})}function generateCustom({raw}){return raw!=null?generateTypeFromString(raw,"custom"):createTypeDef({name:"custom",short:CUSTOM_CAPTION,compact:CUSTOM_CAPTION})}function generateFunc(extractedProp){let{jsDocTags}=extractedProp;return jsDocTags!=null&&(jsDocTags.params!=null||jsDocTags.returns!=null)?createTypeDef({name:"func",short:generateShortFuncSignature(jsDocTags.params,jsDocTags.returns),compact:null,full:generateFuncSignature(jsDocTags.params,jsDocTags.returns)}):createTypeDef({name:"func",short:FUNCTION_CAPTION,compact:FUNCTION_CAPTION})}function generateShape(type,extractedProp){let fields=Object.keys(type.value).map(key=>`${key}: ${generateType(type.value[key],extractedProp).full}`).join(", "),{inferredType,ast}=inspectValue(`{ ${fields} }`),{depth}=inferredType;return createTypeDef({name:"shape",short:OBJECT_CAPTION,compact:depth===1&&ast?prettyObject(ast,!0):null,full:ast?prettyObject(ast):null})}function objectOf(of){return`objectOf(${of})`}function generateObjectOf(type,extractedProp){let{short,compact,full}=generateType(type.value,extractedProp);return createTypeDef({name:"objectOf",short:objectOf(short),compact:compact!=null?objectOf(compact):null,full:full&&objectOf(full)})}function generateUnion(type,extractedProp){if(Array.isArray(type.value)){let values=type.value.reduce((acc,v)=>{let{short,compact,full}=generateType(v,extractedProp);return acc.short.push(short),acc.compact.push(compact),acc.full.push(full),acc},{short:[],compact:[],full:[]});return createTypeDef({name:"union",short:values.short.join(" | "),compact:values.compact.every(x=>x!=null)?values.compact.join(" | "):null,full:values.full.join(" | ")})}return createTypeDef({name:"union",short:type.value,compact:null})}function generateEnumValue({value,computed}){return computed?generateTypeFromString(value,"enumvalue"):createTypeDef({name:"enumvalue",short:value,compact:value})}function generateEnum(type){if(Array.isArray(type.value)){let values=type.value.reduce((acc,v)=>{let{short,compact,full}=generateEnumValue(v);return acc.short.push(short),acc.compact.push(compact),acc.full.push(full),acc},{short:[],compact:[],full:[]});return createTypeDef({name:"enum",short:values.short.join(" | "),compact:values.compact.every(x=>x!=null)?values.compact.join(" | "):null,full:values.full.join(" | ")})}return createTypeDef({name:"enum",short:type.value,compact:type.value})}function braceAfter(of){return`${of}[]`}function braceAround(of){return`[${of}]`}function createArrayOfObjectTypeDef(short,compact,full){return createTypeDef({name:"arrayOf",short:braceAfter(short),compact:compact!=null?braceAround(compact):null,full:full&&braceAround(full)})}function generateArray(type,extractedProp){let{name,short,compact,full,inferredType}=generateType(type.value,extractedProp);if(name==="custom"){if(inferredType==="Object")return createArrayOfObjectTypeDef(short,compact,full)}else if(name==="shape")return createArrayOfObjectTypeDef(short,compact,full);return createTypeDef({name:"arrayOf",short:braceAfter(short),compact:braceAfter(short)})}function generateType(type,extractedProp){try{switch(type.name){case"custom":return generateCustom(type);case"func":return generateFunc(extractedProp);case"shape":return generateShape(type,extractedProp);case"instanceOf":return createTypeDef({name:"instanceOf",short:type.value,compact:type.value});case"objectOf":return generateObjectOf(type,extractedProp);case"union":return generateUnion(type,extractedProp);case"enum":return generateEnum(type);case"arrayOf":return generateArray(type,extractedProp);default:return createTypeDef({name:type.name,short:type.name,compact:type.name})}}catch(e){console.error(e)}return createTypeDef({name:"unknown",short:"unknown",compact:"unknown"})}function createType(extractedProp){let{type}=extractedProp.docgenInfo;if(type==null)return null;try{switch(type.name){case"custom":case"shape":case"instanceOf":case"objectOf":case"union":case"enum":case"arrayOf":{let{short,compact,full}=generateType(type,extractedProp);return compact!=null&&!isTooLongForTypeSummary(compact)?createSummaryValue(compact):full?createSummaryValue(short,full):createSummaryValue(short)}case"func":{let{short,full}=generateType(type,extractedProp),summary=short,detail;return full&&full.length<MAX_FUNC_LENGTH?summary=full:full&&(detail=toMultilineSignature(full)),createSummaryValue(summary,detail)}default:return null}}catch(e){console.error(e)}return null}import{createSummaryValue as createSummaryValue4,isTooLongForDefaultValueSummary as isTooLongForDefaultValueSummary3}from"@storybook/docs-tools";import{createSummaryValue as createSummaryValue2,isTooLongForDefaultValueSummary}from"@storybook/docs-tools";function generateObject({inferredType,ast}){let{depth}=inferredType;if(depth===1){let compactObject=generateObjectCode(ast,!0);if(!isTooLongForDefaultValueSummary(compactObject))return createSummaryValue2(compactObject)}return createSummaryValue2(OBJECT_CAPTION,generateObjectCode(ast))}import{createSummaryValue as createSummaryValue3,isTooLongForDefaultValueSummary as isTooLongForDefaultValueSummary2}from"@storybook/docs-tools";function generateArray2({inferredType,ast}){let{depth}=inferredType;if(depth<=2){let compactArray=generateArrayCode(ast,!0);if(!isTooLongForDefaultValueSummary2(compactArray))return createSummaryValue3(compactArray)}return createSummaryValue3(ARRAY_CAPTION,generateArrayCode(ast))}function getPrettyFuncIdentifier(identifier,hasArguments){return hasArguments?`${identifier}( ... )`:`${identifier}()`}function getPrettyElementIdentifier(identifier){return`<${identifier} />`}function getPrettyIdentifier(inferredType){let{type,identifier}=inferredType;switch(type){case"Function":return getPrettyFuncIdentifier(identifier,inferredType.hasParams);case"Element":return getPrettyElementIdentifier(identifier);default:return identifier}}function generateFunc2({inferredType,ast}){let{identifier}=inferredType;if(identifier!=null)return createSummaryValue4(getPrettyIdentifier(inferredType),generateCode(ast));let prettyCaption=generateCode(ast,!0);return isTooLongForDefaultValueSummary3(prettyCaption)?createSummaryValue4(FUNCTION_CAPTION,generateCode(ast)):createSummaryValue4(prettyCaption)}function generateElement(defaultValue,inspectionResult){let{inferredType}=inspectionResult,{identifier}=inferredType;if(identifier!=null&&!isHtmlTag(identifier)){let prettyIdentifier=getPrettyIdentifier(inferredType);return createSummaryValue4(prettyIdentifier,defaultValue)}return isTooLongForDefaultValueSummary3(defaultValue)?createSummaryValue4(ELEMENT_CAPTION,defaultValue):createSummaryValue4(defaultValue)}function createDefaultValue(defaultValue){try{let inspectionResult=inspectValue(defaultValue);switch(inspectionResult.inferredType.type){case"Object":return generateObject(inspectionResult);case"Function":return generateFunc2(inspectionResult);case"Element":return generateElement(defaultValue,inspectionResult);case"Array":return generateArray2(inspectionResult);default:return null}}catch(e){console.error(e)}return null}import isPlainObject from"lodash/isPlainObject.js";import isFunction from"lodash/isFunction.js";import isString from"lodash/isString.js";import reactElementToJSXString from"react-element-to-jsx-string";import{createSummaryValue as createSummaryValue5,isTooLongForDefaultValueSummary as isTooLongForDefaultValueSummary4}from"@storybook/docs-tools";function isReactElement(element){return element.$$typeof!=null}function extractFunctionName(func,propName){let{name}=func;return name!==""&&name!=="anonymous"&&name!==propName?name:null}var stringResolver=rawDefaultProp=>createSummaryValue5(JSON.stringify(rawDefaultProp));function generateReactObject(rawDefaultProp){let{type}=rawDefaultProp,{displayName}=type,jsx2=reactElementToJSXString(rawDefaultProp,{});if(displayName!=null){let prettyIdentifier=getPrettyElementIdentifier(displayName);return createSummaryValue5(prettyIdentifier,jsx2)}if(isString(type)&&isHtmlTag(type)){let jsxSummary=reactElementToJSXString(rawDefaultProp,{tabStop:0}).replace(/\r?\n|\r/g,"");if(!isTooLongForDefaultValueSummary4(jsxSummary))return createSummaryValue5(jsxSummary)}return createSummaryValue5(ELEMENT_CAPTION,jsx2)}var objectResolver=rawDefaultProp=>{if(isReactElement(rawDefaultProp)&&rawDefaultProp.type!=null)return generateReactObject(rawDefaultProp);if(isPlainObject(rawDefaultProp)){let inspectionResult=inspectValue(JSON.stringify(rawDefaultProp));return generateObject(inspectionResult)}if(Array.isArray(rawDefaultProp)){let inspectionResult=inspectValue(JSON.stringify(rawDefaultProp));return generateArray2(inspectionResult)}return createSummaryValue5(OBJECT_CAPTION)},functionResolver=(rawDefaultProp,propDef)=>{let isElement=!1,inspectionResult;if(isFunction(rawDefaultProp.render))isElement=!0;else if(rawDefaultProp.prototype!=null&&isFunction(rawDefaultProp.prototype.render))isElement=!0;else{let innerElement;try{inspectionResult=inspectValue(rawDefaultProp.toString());let{hasParams,params}=inspectionResult.inferredType;hasParams?params.length===1&&params[0].type==="ObjectPattern"&&(innerElement=rawDefaultProp({})):innerElement=rawDefaultProp(),innerElement!=null&&isReactElement(innerElement)&&(isElement=!0)}catch{}}let funcName=extractFunctionName(rawDefaultProp,propDef.name);if(funcName!=null){if(isElement)return createSummaryValue5(getPrettyElementIdentifier(funcName));inspectionResult!=null&&(inspectionResult=inspectValue(rawDefaultProp.toString()));let{hasParams}=inspectionResult.inferredType;return createSummaryValue5(getPrettyFuncIdentifier(funcName,hasParams))}return createSummaryValue5(isElement?ELEMENT_CAPTION:FUNCTION_CAPTION)},defaultResolver=rawDefaultProp=>createSummaryValue5(rawDefaultProp.toString()),DEFAULT_TYPE_RESOLVERS={string:stringResolver,object:objectResolver,function:functionResolver,default:defaultResolver};function createTypeResolvers(customResolvers={}){return{...DEFAULT_TYPE_RESOLVERS,...customResolvers}}function createDefaultValueFromRawDefaultProp(rawDefaultProp,propDef,typeResolvers=DEFAULT_TYPE_RESOLVERS){try{switch(typeof rawDefaultProp){case"string":return typeResolvers.string(rawDefaultProp,propDef);case"object":return typeResolvers.object(rawDefaultProp,propDef);case"function":return typeResolvers.function(rawDefaultProp,propDef);default:return typeResolvers.default(rawDefaultProp,propDef)}}catch(e){console.error(e)}return null}function keepOriginalDefinitionOrder(extractedProps,component){let{propTypes}=component;return propTypes!=null?Object.keys(propTypes).map(x=>extractedProps.find(y=>y.name===x)).filter(Boolean):extractedProps}import{createSummaryValue as createSummaryValue6}from"@storybook/docs-tools";var funcResolver=(rawDefaultProp,{name,type})=>{let isElement=type.summary==="element"||type.summary==="elementType",funcName=extractFunctionName(rawDefaultProp,name);if(funcName!=null){if(isElement)return createSummaryValue6(getPrettyElementIdentifier(funcName));let{hasParams}=inspectValue(rawDefaultProp.toString()).inferredType;return createSummaryValue6(getPrettyFuncIdentifier(funcName,hasParams))}return createSummaryValue6(isElement?ELEMENT_CAPTION:FUNCTION_CAPTION)},rawDefaultPropTypeResolvers=createTypeResolvers({function:funcResolver});function enhancePropTypesProp(extractedProp,rawDefaultProp){let{propDef}=extractedProp,newtype=createType(extractedProp);newtype!=null&&(propDef.type=newtype);let{defaultValue}=extractedProp.docgenInfo;if(defaultValue!=null&&defaultValue.value!=null){let newDefaultValue=createDefaultValue(defaultValue.value);newDefaultValue!=null&&(propDef.defaultValue=newDefaultValue)}else if(rawDefaultProp!=null){let newDefaultValue=createDefaultValueFromRawDefaultProp(rawDefaultProp,propDef,rawDefaultPropTypeResolvers);newDefaultValue!=null&&(propDef.defaultValue=newDefaultValue)}return propDef}function enhancePropTypesProps(extractedProps,component){let rawDefaultProps=component.defaultProps!=null?component.defaultProps:{},enhancedProps=extractedProps.map(x=>enhancePropTypesProp(x,rawDefaultProps[x.propDef.name]));return keepOriginalDefinitionOrder(enhancedProps,component)}function enhanceTypeScriptProp(extractedProp,rawDefaultProp){let{propDef}=extractedProp,{defaultValue}=extractedProp.docgenInfo;if(defaultValue!=null&&defaultValue.value!=null){let newDefaultValue=createDefaultValue(defaultValue.value);newDefaultValue!=null&&(propDef.defaultValue=newDefaultValue)}else if(rawDefaultProp!=null){let newDefaultValue=createDefaultValueFromRawDefaultProp(rawDefaultProp,propDef);newDefaultValue!=null&&(propDef.defaultValue=newDefaultValue)}return propDef}function enhanceTypeScriptProps(extractedProps){return extractedProps.map(prop=>enhanceTypeScriptProp(prop))}var propTypesMap=new Map;Object.keys(PropTypes).forEach(typeName=>{let type=PropTypes[typeName];propTypesMap.set(type,typeName),propTypesMap.set(type.isRequired,typeName)});function getPropDefs(component,section){let processedComponent=component;!hasDocgen(component)&&!component.propTypes&&isMemo(component)&&(processedComponent=component.type);let extractedProps=extractComponentProps(processedComponent,section);if(extractedProps.length===0)return[];switch(extractedProps[0].typeSystem){case TypeSystem.JAVASCRIPT:return enhancePropTypesProps(extractedProps,component);case TypeSystem.TYPESCRIPT:return enhanceTypeScriptProps(extractedProps);default:return extractedProps.map(x=>x.propDef)}}var extractProps=component=>({rows:getPropDefs(component,"props")});var extractArgTypes=component=>{if(component){let{rows}=extractProps(component);if(rows)return rows.reduce((acc,row)=>{let{name,description,type,sbType,defaultValue:defaultSummary,jsDocTags,required}=row;return acc[name]={name,description,type:{required,...sbType},table:{type,jsDocTags,defaultValue:defaultSummary}},acc},{})}return null};import React,{isValidElement,createElement}from"react";import reactElementToJSXString2 from"react-element-to-jsx-string";import{addons,useEffect}from"@storybook/preview-api";import{SourceType,SNIPPET_RENDERED,getDocgenSection}from"@storybook/docs-tools";import{logger}from"@storybook/client-logger";function simplifyNodeForStringify(node){if(isValidElement(node)){let props=Object.keys(node.props).reduce((acc,cur)=>(acc[cur]=simplifyNodeForStringify(node.props[cur]),acc),{});return{...node,props,_owner:null}}return Array.isArray(node)?node.map(simplifyNodeForStringify):node}var renderJsx=(code,options)=>{if(typeof code>"u")return logger.warn("Too many skip or undefined component"),null;let renderedJSX=code,Type=renderedJSX.type;for(let i=0;i<options.skip;i+=1){if(typeof renderedJSX>"u")return logger.warn("Cannot skip undefined element"),null;if(React.Children.count(renderedJSX)>1)return logger.warn("Trying to skip an array of elements"),null;typeof renderedJSX.props.children>"u"?(logger.warn("Not enough children to skip elements."),typeof renderedJSX.type=="function"&&renderedJSX.type.name===""&&(renderedJSX=React.createElement(Type,{...renderedJSX.props}))):typeof renderedJSX.props.children=="function"?renderedJSX=renderedJSX.props.children():renderedJSX=renderedJSX.props.children}let opts={...typeof options.displayName=="string"?{showFunctions:!0,displayName:()=>options.displayName}:{displayName:el=>el.type.displayName||(el.type===Symbol.for("react.profiler")?"Profiler":null)||getDocgenSection(el.type,"displayName")||(el.type.name!=="_default"?el.type.name:null)||(typeof el.type=="function"?"No Display Name":null)||(isForwardRef(el.type)?el.type.render.name:null)||(isMemo(el.type)?el.type.type.name:null)||el.type},...{filterProps:(value,key)=>value!==void 0},...options};return React.Children.map(code,c=>{let child=typeof c=="number"?c.toString():c,string=(typeof reactElementToJSXString2=="function"?reactElementToJSXString2:reactElementToJSXString2.default)(simplifyNodeForStringify(child),opts);if(string.indexOf("&quot;")>-1){let matches=string.match(/\S+=\\"([^"]*)\\"/g);matches&&matches.forEach(match=>{string=string.replace(match,match.replace(/&quot;/g,"'"))})}return string}).join(`
`).replace(/function\s+noRefCheck\(\)\s+\{\}/g,"() => {}")},defaultOpts={skip:0,showFunctions:!1,enableBeautify:!0,showDefaultProps:!1},skipJsxRender=context=>{let sourceParams=context?.parameters.docs?.source,isArgsStory=context?.parameters.__isArgsStory;return sourceParams?.type===SourceType.DYNAMIC?!1:!isArgsStory||sourceParams?.code||sourceParams?.type===SourceType.CODE},isMdx=node=>node.type?.displayName==="MDXCreateElement"&&!!node.props?.mdxType,mdxToJsx=node=>{if(!isMdx(node))return node;let{mdxType,originalType,children,...rest}=node.props,jsxChildren=[];return children&&(jsxChildren=(Array.isArray(children)?children:[children]).map(mdxToJsx)),createElement(originalType,rest,...jsxChildren)},jsxDecorator=(storyFn,context)=>{let channel=addons.getChannel(),skip=skipJsxRender(context),jsx2="";useEffect(()=>{if(!skip){let{id,args}=context;channel.emit(SNIPPET_RENDERED,{id,source:jsx2,args})}});let story=storyFn();if(skip)return story;let options={...defaultOpts,...context?.parameters.jsx||{}},storyJsx=context?.parameters.docs?.source?.excludeDecorators?context.originalStoryFn(context.args,context):story,sourceJsx=mdxToJsx(storyJsx),rendered=renderJsx(sourceJsx,options);return rendered&&(jsx2=rendered),story};var parameters={docs:{story:{inline:!0},extractArgTypes,extractComponentDescription}},decorators=[jsxDecorator],argTypesEnhancers=[enhanceArgTypes];var parameters2={renderer:"react",...parameters};export{argTypesEnhancers,decorators,parameters2 as parameters,render,renderToCanvas};
export { render, renderToCanvas } from './chunk-JWY6Y6NU.mjs';
import { enhanceArgTypes, createSummaryValue, SNIPPET_RENDERED, extractComponentDescription, getDocgenSection, SourceType, isTooLongForDefaultValueSummary, hasDocgen, extractComponentProps, TypeSystem, isTooLongForTypeSummary } from '@storybook/docs-tools';
import PropTypes from 'prop-types';
import htmlTags from 'html-tags';
import { generate } from 'escodegen';
import { dedent } from 'ts-dedent';
import { Parser } from 'acorn';
import jsx from 'acorn-jsx';
import * as acornWalk from 'acorn-walk';
import isPlainObject from 'lodash/isPlainObject.js';
import isFunction from 'lodash/isFunction.js';
import isString from 'lodash/isString.js';
import reactElementToJSXString2 from 'react-element-to-jsx-string';
import React, { createElement, isValidElement } from 'react';
import { defaultDecorateStory, addons, useEffect } from '@storybook/preview-api';
import { logger } from '@storybook/client-logger';
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
`)}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(`
`).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 parameters={docs:{story:{inline:!0},extractArgTypes,extractComponentDescription}},decorators=[jsxDecorator],argTypesEnhancers=[enhanceArgTypes];var applyDecorators=(storyFn,decorators2)=>{let jsxIndex=decorators2.findIndex(d=>d.originalFn===jsxDecorator),reorderedDecorators=jsxIndex===-1?decorators2:[...decorators2.splice(jsxIndex,1),...decorators2];return defaultDecorateStory(storyFn,reorderedDecorators)};var parameters2={renderer:"react",...parameters};
export { applyDecorators, argTypesEnhancers, decorators, parameters2 as parameters };
import * as _storybook_types from '@storybook/types';
import { Addon_ClientStoryApi, Addon_Loadable, Args, ComponentAnnotations, AnnotatedStoryFn, ArgsStoryFn, ArgsFromMeta, StoryAnnotations, DecoratorFunction, StrictArgs, LoaderFunction, StoryContext as StoryContext$1, ProjectAnnotations, ComposedStory, Store_CSFExports, StoriesWithPartialProps } from '@storybook/types';
import { Addon_ClientStoryApi, Addon_Loadable, Args, ComponentAnnotations, AnnotatedStoryFn, ArgsStoryFn, ArgsFromMeta, StoryAnnotations, DecoratorFunction, StrictArgs, LoaderFunction, StoryContext as StoryContext$1, ProjectAnnotations, StoryAnnotationsOrFn, Store_CSFExports, StoriesWithPartialProps } from '@storybook/types';
export { ArgTypes, Args, Parameters, StrictArgs } from '@storybook/types';

@@ -24,3 +24,3 @@ import { R as ReactRenderer } from './types-0a347bb9.js';

*/
type Meta<TCmpOrArgs = Args> = TCmpOrArgs extends ComponentType<any> ? ComponentAnnotations<ReactRenderer, ComponentProps<TCmpOrArgs>> : ComponentAnnotations<ReactRenderer, TCmpOrArgs>;
type Meta<TCmpOrArgs = Args> = [TCmpOrArgs] extends [ComponentType<any>] ? ComponentAnnotations<ReactRenderer, ComponentProps<TCmpOrArgs>> : ComponentAnnotations<ReactRenderer, TCmpOrArgs>;
/**

@@ -31,3 +31,3 @@ * Story function that represents a CSFv2 component example.

*/
type StoryFn<TCmpOrArgs = Args> = TCmpOrArgs extends ComponentType<any> ? AnnotatedStoryFn<ReactRenderer, ComponentProps<TCmpOrArgs>> : AnnotatedStoryFn<ReactRenderer, TCmpOrArgs>;
type StoryFn<TCmpOrArgs = Args> = [TCmpOrArgs] extends [ComponentType<any>] ? AnnotatedStoryFn<ReactRenderer, ComponentProps<TCmpOrArgs>> : AnnotatedStoryFn<ReactRenderer, TCmpOrArgs>;
/**

@@ -38,7 +38,9 @@ * Story function that represents a CSFv3 component example.

*/
type StoryObj<TMetaOrCmpOrArgs = Args> = TMetaOrCmpOrArgs extends {
render?: ArgsStoryFn<ReactRenderer, any>;
component?: infer Component;
args?: infer DefaultArgs;
} ? Simplify<(Component extends ComponentType<any> ? ComponentProps<Component> : unknown) & ArgsFromMeta<ReactRenderer, TMetaOrCmpOrArgs>> extends infer TArgs ? StoryAnnotations<ReactRenderer, TArgs, SetOptional<TArgs, keyof TArgs & keyof (DefaultArgs & ActionArgs<TArgs>)>> : never : TMetaOrCmpOrArgs extends ComponentType<any> ? StoryAnnotations<ReactRenderer, ComponentProps<TMetaOrCmpOrArgs>> : StoryAnnotations<ReactRenderer, TMetaOrCmpOrArgs>;
type StoryObj<TMetaOrCmpOrArgs = Args> = [TMetaOrCmpOrArgs] extends [
{
render?: ArgsStoryFn<ReactRenderer, any>;
component?: infer Component;
args?: infer DefaultArgs;
}
] ? Simplify<(Component extends ComponentType<any> ? ComponentProps<Component> : unknown) & ArgsFromMeta<ReactRenderer, TMetaOrCmpOrArgs>> extends infer TArgs ? StoryAnnotations<ReactRenderer, TArgs, SetOptional<TArgs, keyof TArgs & keyof (DefaultArgs & ActionArgs<TArgs>)>> : never : TMetaOrCmpOrArgs extends ComponentType<any> ? StoryAnnotations<ReactRenderer, ComponentProps<TMetaOrCmpOrArgs>> : StoryAnnotations<ReactRenderer, TMetaOrCmpOrArgs>;
type ActionArgs<TArgs> = {

@@ -122,3 +124,3 @@ [P in keyof TArgs as TArgs[P] extends (...args: any[]) => any ? ((...args: any[]) => void) extends TArgs[P] ? P : never : never]: TArgs[P];

* import { setProjectAnnotations } from '@storybook/react';
* import * as projectAnnotations from './.storybook/preview';
* import projectAnnotations from './.storybook/preview';
*

@@ -128,3 +130,3 @@ * setProjectAnnotations(projectAnnotations);

*
* @param projectAnnotations - e.g. (import * as projectAnnotations from '../.storybook/preview')
* @param projectAnnotations - e.g. (import projectAnnotations from '../.storybook/preview')
*/

@@ -164,3 +166,3 @@ declare function setProjectAnnotations(projectAnnotations: ProjectAnnotations<ReactRenderer> | ProjectAnnotations<ReactRenderer>[]): void;

*/
declare function composeStory<TArgs extends Args = Args>(story: ComposedStory<ReactRenderer, TArgs>, componentAnnotations: Meta<TArgs | any>, projectAnnotations?: ProjectAnnotations<ReactRenderer>, exportsName?: string): _storybook_types.PreparedStoryFn<ReactRenderer, Partial<TArgs>>;
declare function composeStory<TArgs extends Args = Args>(story: StoryAnnotationsOrFn<ReactRenderer, TArgs>, componentAnnotations: Meta<TArgs | any>, projectAnnotations?: ProjectAnnotations<ReactRenderer>, exportsName?: string): _storybook_types.ComposedStoryFn<ReactRenderer, Partial<TArgs>>;
/**

@@ -191,4 +193,4 @@ * Function that will receive a stories import (e.g. `import * as stories from './Button.stories'`)

*/
declare function composeStories<TModule extends Store_CSFExports<ReactRenderer, any>>(csfExports: TModule, projectAnnotations?: ProjectAnnotations<ReactRenderer>): Omit<StoriesWithPartialProps<ReactRenderer, TModule>, keyof Store_CSFExports<_storybook_types.Renderer, Args>>;
declare function composeStories<TModule extends Store_CSFExports<ReactRenderer, any>>(csfExports: TModule, projectAnnotations?: ProjectAnnotations<ReactRenderer>): Omit<StoriesWithPartialProps<ReactRenderer, TModule>, keyof Store_CSFExports>;
export { ComponentMeta, ComponentStory, ComponentStoryFn, ComponentStoryObj, Decorator, DecoratorFn, Loader, Meta, Preview, ReactRenderer, Story, StoryContext, StoryFn, StoryObj, composeStories, composeStory, configure, forceReRender, raw, setGlobalConfig, setProjectAnnotations, storiesOf };

@@ -1,1 +0,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,configure:()=>configure,forceReRender:()=>forceReRender,raw:()=>raw,setGlobalConfig:()=>setGlobalConfig,setProjectAnnotations:()=>setProjectAnnotations,storiesOf:()=>storiesOf});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_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})},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 RENDERER="react",api=(0,import_preview_api.start)(renderToCanvas,{render}),storiesOf=(kind,m)=>api.clientApi.storiesOf(kind,m).addParameters({renderer:RENDERER}),configure=(...args)=>api.configure(RENDERER,...args),forceReRender=api.forceReRender,raw=api.clientApi.raw;var import_preview_api2=require("@storybook/preview-api"),import_client_logger=require("@storybook/client-logger");function setProjectAnnotations(projectAnnotations){(0,import_preview_api2.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_api2.composeStory)(story,componentAnnotations,projectAnnotations,defaultProjectAnnotations,exportsName)}function composeStories(csfExports,projectAnnotations){return(0,import_preview_api2.composeStories)(csfExports,projectAnnotations,composeStory)}var _a;(_a=module==null?void 0:module.hot)==null||_a.decline();0&&(module.exports={composeStories,composeStory,configure,forceReRender,raw,setGlobalConfig,setProjectAnnotations,storiesOf});
"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,configure:()=>configure,forceReRender:()=>forceReRender,raw:()=>raw,setGlobalConfig:()=>setGlobalConfig,setProjectAnnotations:()=>setProjectAnnotations,storiesOf:()=>storiesOf});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_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})},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 RENDERER="react",api=(0,import_preview_api.start)(renderToCanvas,{render}),storiesOf=(kind,m)=>api.clientApi.storiesOf(kind,m).addParameters({renderer:RENDERER}),configure=(...args)=>api.configure(RENDERER,...args),forceReRender=api.forceReRender,raw=api.clientApi.raw;var import_preview_api2=require("@storybook/preview-api"),import_client_logger=require("@storybook/client-logger");function setProjectAnnotations(projectAnnotations){(0,import_preview_api2.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_api2.composeStory)(story,componentAnnotations,projectAnnotations,defaultProjectAnnotations,exportsName)}function composeStories(csfExports,projectAnnotations){return(0,import_preview_api2.composeStories)(csfExports,projectAnnotations,composeStory)}var _a;typeof module<"u"&&((_a=module==null?void 0:module.hot)==null||_a.decline());0&&(module.exports={composeStories,composeStory,configure,forceReRender,raw,setGlobalConfig,setProjectAnnotations,storiesOf});

@@ -1,1 +0,8 @@

import{render,renderToCanvas}from"./chunk-JWY6Y6NU.mjs";import"./chunk-R4NKYYJA.mjs";import{global}from"@storybook/global";var{window:globalWindow}=global;globalWindow&&(globalWindow.STORYBOOK_ENV="react");import{start}from"@storybook/preview-api";var RENDERER="react",api=start(renderToCanvas,{render}),storiesOf=(kind,m)=>api.clientApi.storiesOf(kind,m).addParameters({renderer:RENDERER}),configure=(...args)=>api.configure(RENDERER,...args),forceReRender=api.forceReRender,raw=api.clientApi.raw;import{composeStory as originalComposeStory,composeStories as originalComposeStories,setProjectAnnotations as originalSetProjectAnnotations}from"@storybook/preview-api";import{deprecate}from"@storybook/client-logger";function setProjectAnnotations(projectAnnotations){originalSetProjectAnnotations(projectAnnotations)}function setGlobalConfig(projectAnnotations){deprecate("setGlobalConfig is deprecated. Use setProjectAnnotations instead."),setProjectAnnotations(projectAnnotations)}var defaultProjectAnnotations={render};function composeStory(story,componentAnnotations,projectAnnotations,exportsName){return originalComposeStory(story,componentAnnotations,projectAnnotations,defaultProjectAnnotations,exportsName)}function composeStories(csfExports,projectAnnotations){return originalComposeStories(csfExports,projectAnnotations,composeStory)}module?.hot?.decline();export{composeStories,composeStory,configure,forceReRender,raw,setGlobalConfig,setProjectAnnotations,storiesOf};
import { renderToCanvas, render } from './chunk-JWY6Y6NU.mjs';
import { global } from '@storybook/global';
import { start, setProjectAnnotations as setProjectAnnotations$1, composeStory as composeStory$1, composeStories as composeStories$1 } from '@storybook/preview-api';
import { deprecate } from '@storybook/client-logger';
var{window:globalWindow}=global;globalWindow&&(globalWindow.STORYBOOK_ENV="react");var RENDERER="react",api=start(renderToCanvas,{render}),storiesOf=(kind,m)=>api.clientApi.storiesOf(kind,m).addParameters({renderer:RENDERER}),configure=(...args)=>api.configure(RENDERER,...args),forceReRender=api.forceReRender,raw=api.clientApi.raw;function setProjectAnnotations(projectAnnotations){setProjectAnnotations$1(projectAnnotations);}function setGlobalConfig(projectAnnotations){deprecate("setGlobalConfig is deprecated. Use setProjectAnnotations instead."),setProjectAnnotations(projectAnnotations);}var defaultProjectAnnotations={render};function composeStory(story,componentAnnotations,projectAnnotations,exportsName){return composeStory$1(story,componentAnnotations,projectAnnotations,defaultProjectAnnotations,exportsName)}function composeStories(csfExports,projectAnnotations){return composeStories$1(csfExports,projectAnnotations,composeStory)}typeof module<"u"&&module?.hot?.decline();
export { composeStories, composeStory, configure, forceReRender, raw, setGlobalConfig, setProjectAnnotations, storiesOf };
{
"name": "@storybook/react",
"version": "7.0.0",
"version": "7.5.3",
"description": "Storybook React renderer",

@@ -8,3 +8,3 @@ "keywords": [

],
"homepage": "https://github.com/storybookjs/storybook/tree/main/renderers/react",
"homepage": "https://github.com/storybookjs/storybook/tree/next/code/renderers/react",
"bugs": {

@@ -16,3 +16,3 @@ "url": "https://github.com/storybookjs/storybook/issues"

"url": "https://github.com/storybookjs/storybook.git",
"directory": "renderers/react"
"directory": "code/renderers/react"
},

@@ -26,16 +26,15 @@ "funding": {

".": {
"types": "./dist/index.d.ts",
"node": "./dist/index.js",
"require": "./dist/index.js",
"import": "./dist/index.mjs",
"types": "./dist/index.d.ts"
"import": "./dist/index.mjs"
},
"./preview": {
"types": "./dist/config.d.ts",
"require": "./dist/config.js",
"import": "./dist/config.mjs",
"types": "./dist/config.d.ts"
"import": "./dist/config.mjs"
},
"./dist/preset": {
"require": "./dist/preset.js",
"import": "./dist/preset.mjs",
"types": "./dist/preset.d.ts"
"types": "./dist/preset.d.ts",
"require": "./dist/preset.js"
},

@@ -49,26 +48,27 @@ "./package.json": "./package.json"

"dist/**/*",
"template/**/*",
"template/cli/**/*",
"README.md",
"*.js",
"*.d.ts"
"*.d.ts",
"!src/**/*"
],
"scripts": {
"check": "../../../scripts/node_modules/.bin/tsc --noEmit",
"check": "../../../scripts/prepare/check.ts",
"prep": "../../../scripts/prepare/bundle.ts"
},
"dependencies": {
"@storybook/client-logger": "7.0.0",
"@storybook/core-client": "7.0.0",
"@storybook/docs-tools": "7.0.0",
"@storybook/client-logger": "7.5.3",
"@storybook/core-client": "7.5.3",
"@storybook/docs-tools": "7.5.3",
"@storybook/global": "^5.0.0",
"@storybook/preview-api": "7.0.0",
"@storybook/react-dom-shim": "7.0.0",
"@storybook/types": "7.0.0",
"@storybook/preview-api": "7.5.3",
"@storybook/react-dom-shim": "7.5.3",
"@storybook/types": "7.5.3",
"@types/escodegen": "^0.0.6",
"@types/estree": "^0.0.51",
"@types/node": "^16.0.0",
"@types/node": "^18.0.0",
"acorn": "^7.4.1",
"acorn-jsx": "^5.3.1",
"acorn-walk": "^7.2.0",
"escodegen": "^2.0.0",
"escodegen": "^2.1.0",
"html-tags": "^3.1.0",

@@ -79,16 +79,16 @@ "lodash": "^4.17.21",

"ts-dedent": "^2.0.0",
"type-fest": "^2.19.0",
"type-fest": "~2.19",
"util-deprecate": "^1.0.2"
},
"devDependencies": {
"@babel/core": "^7.20.2",
"@babel/core": "^7.22.9",
"@types/util-deprecate": "^1.0.0",
"expect-type": "^0.14.2",
"jest-specific-snapshot": "^7.0.0",
"require-from-string": "^2.0.2",
"typescript": "~4.9.3"
"expect-type": "^0.15.0",
"jest-specific-snapshot": "^8.0.0",
"require-from-string": "^2.0.2"
},
"peerDependencies": {
"react": "^16.8.0 || ^17.0.0 || ^18.0.0",
"react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
"react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0",
"typescript": "*"
},

@@ -114,3 +114,3 @@ "peerDependenciesMeta": {

},
"gitHead": "4f2afa644d7f2833181fc03187f5597d442285a6"
}
"gitHead": "e6a7fd8a655c69780bc20b9749c2699e44beae17"
}
import { Button } from './Button';
// More on how to set up stories at: https://storybook.js.org/docs/7.0/react/writing-stories/introduction
// More on how to set up stories at: https://storybook.js.org/docs/react/writing-stories/introduction#default-export
export default {
title: 'Example/Button',
component: Button,
parameters: {
// Optional parameter to center the component in the Canvas. More info: https://storybook.js.org/docs/react/configure/story-layout
layout: 'centered',
},
// This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/react/writing-docs/autodocs
tags: ['autodocs'],
// More on argTypes: https://storybook.js.org/docs/react/api/argtypes
argTypes: {

@@ -13,3 +19,3 @@ backgroundColor: { control: 'color' },

// More on writing stories with args: https://storybook.js.org/docs/7.0/react/writing-stories/args
// More on writing stories with args: https://storybook.js.org/docs/react/writing-stories/args
export const Primary = {

@@ -16,0 +22,0 @@ args: {

@@ -9,3 +9,3 @@ import React from 'react';

<header>
<div className="wrapper">
<div className="storybook-header">
<div>

@@ -12,0 +12,0 @@ <svg width="32" height="32" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">

@@ -6,6 +6,6 @@ import { Header } from './Header';

component: Header,
// This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/7.0/react/writing-docs/docs-page
// This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/react/writing-docs/autodocs
tags: ['autodocs'],
parameters: {
// More on how to position stories at: https://storybook.js.org/docs/7.0/react/configure/story-layout
// More on how to position stories at: https://storybook.js.org/docs/react/configure/story-layout
layout: 'fullscreen',

@@ -12,0 +12,0 @@ },

@@ -18,3 +18,3 @@ import React from 'react';

<section>
<section className="storybook-page">
<h2>Pages in Storybook</h2>

@@ -21,0 +21,0 @@ <p>

@@ -9,3 +9,3 @@ import { within, userEvent } from '@storybook/testing-library';

parameters: {
// More on how to position stories at: https://storybook.js.org/docs/7.0/react/configure/story-layout
// More on how to position stories at: https://storybook.js.org/docs/react/configure/story-layout
layout: 'fullscreen',

@@ -17,3 +17,3 @@ },

// More on interaction testing: https://storybook.js.org/docs/7.0/react/writing-tests/interaction-testing
// More on interaction testing: https://storybook.js.org/docs/react/writing-tests/interaction-testing
export const LoggedIn = {

@@ -20,0 +20,0 @@ play: async ({ canvasElement }) => {

@@ -9,3 +9,7 @@ import type { Meta, StoryObj } from '@storybook/react';

component: Button,
// This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/7.0/react/writing-docs/docs-page
parameters: {
// Optional parameter to center the component in the Canvas. More info: https://storybook.js.org/docs/react/configure/story-layout
layout: 'centered',
},
// This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/react/writing-docs/autodocs
tags: ['autodocs'],

@@ -21,5 +25,4 @@ // More on argTypes: https://storybook.js.org/docs/react/api/argtypes

// More on component templates: https://storybook.js.org/docs/react/writing-stories/introduction#using-args
// More on writing stories with args: https://storybook.js.org/docs/react/writing-stories/args
export const Primary: Story = {
// More on args: https://storybook.js.org/docs/react/writing-stories/args
args: {

@@ -26,0 +29,0 @@ primary: true,

import type { Meta, StoryObj } from '@storybook/react';
import { Header } from './Header';

@@ -7,3 +8,3 @@

component: Header,
// This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/7.0/react/writing-docs/docs-page
// This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/react/writing-docs/autodocs
tags: ['autodocs'],

@@ -10,0 +11,0 @@ parameters: {

@@ -19,3 +19,3 @@ import React from 'react';

<header>
<div className="wrapper">
<div className="storybook-header">
<div>

@@ -22,0 +22,0 @@ <svg width="32" height="32" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">

@@ -22,3 +22,3 @@ import React from 'react';

<section>
<section className="storybook-page">
<h2>Pages in Storybook</h2>

@@ -25,0 +25,0 @@ <p>

@@ -5,7 +5,13 @@ import type { Meta, StoryObj } from '@storybook/react';

// More on how to set up stories at: https://storybook.js.org/docs/7.0/react/writing-stories/introduction
// More on how to set up stories at: https://storybook.js.org/docs/react/writing-stories/introduction#default-export
const meta = {
title: 'Example/Button',
component: Button,
parameters: {
// Optional parameter to center the component in the Canvas. More info: https://storybook.js.org/docs/react/configure/story-layout
layout: 'centered',
},
// This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/react/writing-docs/autodocs
tags: ['autodocs'],
// More on argTypes: https://storybook.js.org/docs/react/api/argtypes
argTypes: {

@@ -19,3 +25,3 @@ backgroundColor: { control: 'color' },

// More on writing stories with args: https://storybook.js.org/docs/7.0/react/writing-stories/args
// More on writing stories with args: https://storybook.js.org/docs/react/writing-stories/args
export const Primary: Story = {

@@ -22,0 +28,0 @@ args: {

import type { Meta, StoryObj } from '@storybook/react';
import { Header } from './Header';

@@ -7,6 +8,6 @@

component: Header,
// This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/7.0/react/writing-docs/docs-page
// This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/react/writing-docs/autodocs
tags: ['autodocs'],
parameters: {
// More on how to position stories at: https://storybook.js.org/docs/7.0/react/configure/story-layout
// More on how to position stories at: https://storybook.js.org/docs/react/configure/story-layout
layout: 'fullscreen',

@@ -13,0 +14,0 @@ },

@@ -19,3 +19,3 @@ import React from 'react';

<header>
<div className="wrapper">
<div className="storybook-header">
<div>

@@ -22,0 +22,0 @@ <svg width="32" height="32" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg">

@@ -10,3 +10,3 @@ import type { Meta, StoryObj } from '@storybook/react';

parameters: {
// More on how to position stories at: https://storybook.js.org/docs/7.0/react/configure/story-layout
// More on how to position stories at: https://storybook.js.org/docs/react/configure/story-layout
layout: 'fullscreen',

@@ -21,3 +21,3 @@ },

// More on interaction testing: https://storybook.js.org/docs/7.0/react/writing-tests/interaction-testing
// More on interaction testing: https://storybook.js.org/docs/react/writing-tests/interaction-testing
export const LoggedIn: Story = {

@@ -24,0 +24,0 @@ play: async ({ canvasElement }) => {

@@ -22,3 +22,3 @@ import React from 'react';

<section>
<section className="storybook-page">
<h2>Pages in Storybook</h2>

@@ -25,0 +25,0 @@ <p>

var __require=(x=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(x,{get:(a,b)=>(typeof require<"u"?require:a)[b]}):x)(function(x){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+x+'" is not supported')});export{__require};
import{__require}from"./chunk-R4NKYYJA.mjs";var addons=[__require.resolve("@storybook/react-dom-shim/dist/preset")];export{addons};
import React from 'react';
import PropTypes from 'prop-types';
export const Button = ({ onClick, label }) => (
<button type="button" onClick={onClick}>
{label}
</button>
);
Button.propTypes = {
onClick: PropTypes.func.isRequired,
label: PropTypes.string.isRequired,
};
import React, { useState } from 'react';
import PropTypes from 'prop-types';
export const Form = ({ onSuccess }) => {
const [value, setValue] = useState('');
const [complete, setComplete] = useState(false);
function onSubmit(event) {
event.preventDefault();
onSuccess(value);
setTimeout(() => setComplete(true), 500);
setTimeout(() => setComplete(false), 1500);
}
return (
<form id="interaction-test-form" onSubmit={onSubmit}>
<label>
Enter Value
<input
type="text"
data-testid="value"
value={value}
required
onChange={(event) => setValue(event.target.value)}
/>
</label>
<button type="submit">Submit</button>
{complete && <p>Completed!!</p>}
</form>
);
};
Form.propTypes = {
onSuccess: PropTypes.func.isRequired,
};
import React from 'react';
import PropTypes from 'prop-types';
// eslint-disable-next-line react/no-danger
export const Html = ({ content }) => <div dangerouslySetInnerHTML={{ __html: content }} />;
Html.propTypes = {
content: PropTypes.string.isRequired,
};
import React from 'react';
import PropTypes from 'prop-types';
export const Pre = ({ style, object, text }) => (
<pre style={style} data-testid="pre">
{object ? JSON.stringify(object, null, 2) : text}
</pre>
);
Pre.propTypes = {
style: PropTypes.shape({}),
object: PropTypes.shape({}),
text: PropTypes.string,
};
Pre.defaultProps = {
style: {},
object: null,
text: '',
};
import type { FC } from 'react';
import React from 'react';
import type { StoryObj, Meta } from '@storybook/react';
const Component: FC = () => <p>Story</p>;
export default {
component: Component,
decorators: [
(Story) => (
<>
<p>Component Decorator</p>
<Story />
</>
),
],
} as Meta<typeof Component>;
export const All: StoryObj<typeof Component> = {
decorators: [
(Story) => (
<>
<p>Local Decorator</p>
<Story />
</>
),
],
};

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

import React from 'react';
interface AvatarProps {
/** specify icon="search" or icon={IconComponent} */
icon: React.ReactNode | string;
}
const Avatar = ({ icon }: AvatarProps) => {
return <div className="hello">Hello Component {icon}</div>;
};
export const component = Avatar;

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

/* eslint-disable react/destructuring-assignment */
import React from 'react';
interface IAProps {
aProperty: any;
}
interface IBProps {
bProperty: any;
}
/**
* A component
*/
const A = (props: IAProps): JSX.Element => {
return <>Hi {props.aProperty}</>;
};
/**
* B component
*/
const B = (props: IBProps): JSX.Element => {
return <>Hi {props.bProperty}</>;
};
export { A, B };
export const component = A;

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

/* eslint-disable react/require-default-props */
/* eslint-disable react/no-unused-prop-types */
import React from 'react';
import PropTypes from 'prop-types';
const Alert = (props) => <>{JSON.stringify(props)}</>;
Alert.defaultProps = {
mode: 'static',
type: 'warning',
};
Alert.propTypes = {
mode: PropTypes.oneOf(['static', 'timed']),
type: PropTypes.oneOf(['success', 'warning', 'error', 'primary']),
message: PropTypes.string.isRequired,
/**
* No background or border if static alert
*/
blank: PropTypes.bool,
/**
* Allows icon override, accepts material icon name
*/
icon: PropTypes.string,
};
export const component = Alert;

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

import React from 'react';
import type { Foo } from './types';
interface FooProps {
bar: Foo['bar'];
}
export const FooComponent = (foo: FooProps) => <>{JSON.stringify(foo)}</>;
export const component = FooComponent;

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

import React from 'react';
interface Props {
padding: string;
margin: number;
}
export const Text: React.FC<Props> = ({ padding = '0', margin }) => <>Text</>;
export const component = Text;

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

/* eslint-disable react/no-unused-prop-types */
/* eslint-disable react/require-default-props */
import React from 'react';
import PropTypes from 'prop-types';
// eslint-disable-next-line react/prefer-stateless-function
export default class Test extends React.Component {
static propTypes = {
/**
* Please work...
*/
test: PropTypes.string,
};
render() {
return <div>test</div>;
}
}
export const component = Test;

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

import React from 'react';
export interface ElemAProps {
size?: 'a' | 'b' | 'c' | 'd';
children: React.ReactNode;
}
export const Header: React.FC<ElemAProps> = ({ size = 'a', children }) => (
<div className={size}>{children}</div>
);
export interface ElemBProps {
size?: 'sm' | 'md' | 'lg';
children: React.ReactNode;
}
export const Paragraph: React.FC<ElemBProps> = ({ size, children }) => (
<div className={size}>{children}</div>
);
Paragraph.defaultProps = { size: 'md' };
export const component = Header;

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

import React, { forwardRef } from 'react';
interface ButtonProps {
/**
* Sets the button size.
*/
variant?: 'small' | 'large';
/**
* Disables the button.
*/
disabled?: boolean;
/**
* Content of the button.
*/
children: React.ReactNode;
}
const Button = forwardRef<HTMLButtonElement, ButtonProps>(function Button(
{ disabled = false, variant = 'small', children },
ref
) {
return (
<button type="button" disabled={disabled} ref={ref}>
{children} {variant}
</button>
);
});
export default Button;
export const component = Button;

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

/* eslint-disable react/require-default-props */
/* eslint-disable react/forbid-prop-types */
/* eslint-disable react/no-unused-prop-types */
/* eslint-disable react/prefer-stateless-function */
import React from 'react';
import PropTypes from 'prop-types';
// deepscan-disable-next-line
const withStyles = (themeFn) => (Comp) => Comp;
class Alert extends React.Component {
render() {
return <>Alert</>;
}
}
Alert.propTypes = {
variant: PropTypes.string,
dismissible: PropTypes.bool,
icon: PropTypes.elementType,
classes: PropTypes.object.isRequired,
};
Alert.defaultProps = {
variant: 'primary',
dismissible: false,
};
const StyledAlert = withStyles((theme) => ({
alert: (props) => ({
backgroundColor: theme.palette[props.variant].main,
}),
message: {
display: 'flex',
alignItems: 'center',
},
icon: {
marginRight: theme.spacing(2),
},
}))(Alert);
export const component = StyledAlert;

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

import React from 'react';
import PropTypes from 'prop-types';
export const Credits = ({ areas }) => <>{JSON.stringify(areas)}</>;
// https://github.com/storybookjs/storybook/issues/9399
Credits.propTypes = {
areas: PropTypes.arrayOf(
PropTypes.shape({
position: PropTypes.string.isRequired,
names: PropTypes.arrayOf(PropTypes.string).isRequired,
})
).isRequired,
};
export const component = Credits;

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

import React from 'react';
type Props = React.ButtonHTMLAttributes<HTMLButtonElement> & {
disabled?: boolean;
};
const Component = ({ disabled = false, children }: Props) => (
// eslint-disable-next-line react/button-has-type
<button disabled={disabled}>{children}</button>
);
export const component = Component;

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

import React from 'react';
type AlertCode = 'Code Red' | 'Code Yellow' | 'Code Green';
export interface EmpireAlertProps {
/**
* A title that brings attention to the alert.
*/
title: AlertCode;
/**
* A message alerting about Empire activities.
*/
message: string;
}
/**
* This message should show up in the Docs panel if everything works fine.
*/
export const EmpireAlert: React.FC<EmpireAlertProps> = ({
title = 'Code Yellow',
message,
}: EmpireAlertProps) => (
<div>
<h1>{title}</h1>
<p>{message}</p>
</div>
);
EmpireAlert.displayName = 'SomeOtherDisplayName';
export const component = EmpireAlert;

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

/* eslint-disable react/button-has-type */
import React from 'react';
export interface Props extends React.ButtonHTMLAttributes<HTMLButtonElement> {
isDisabled?: boolean;
}
export const Button: React.FC<Props> = ({ isDisabled = false, ...props }: Props) => (
<button disabled={isDisabled} {...props} />
);
export const component = Button;

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

import PropTypes from 'prop-types';
import type { FC } from 'react';
import React from 'react';
export interface IProps {
/**
* button color
*/
color?: string;
}
const iconButton: FC<IProps> = function IconButton(props) {
return <div className="icon-button">icon-button</div>;
};
iconButton.propTypes = {
// deepscan-disable-next-line
color: PropTypes.string,
};
iconButton.defaultProps = {
color: 'primary',
};
export default iconButton;
export const component = iconButton;

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

import React from 'react';
import PropTypes from 'prop-types';
function Button({ label, onClick }) {
// eslint-disable-next-line react/button-has-type
return <button onClick={onClick}>{label}</button>;
}
Button.propTypes = {
label: PropTypes.string.isRequired,
onClick: PropTypes.func.isRequired,
};
const MemoButton = React.memo(Button);
export const component = MemoButton;

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

export interface BarProps {
foo?: string;
}

Sorry, the diff of this file is not supported yet

import React from 'react';
import type { BarProps } from './Bar';
type OtherProps = BarProps & {
other?: number;
};
const Other = (props: OtherProps) => <span {...props}>Other</span>;
export const component = Other;

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

import React from 'react';
// eslint-disable-next-line react/prop-types
export const Tag = ({ title = 'Beta' }) => <div>{title}</div>;
export const component = Tag;

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

/* eslint-disable react/forbid-prop-types */
/* eslint-disable react/require-default-props */
/* eslint-disable react/no-unused-prop-types */
import React from 'react';
import PropTypes from 'prop-types';
const CCTable = (props) => <>{JSON.stringify(props)}</>;
CCTable.propTypes = {
heads: PropTypes.array.isRequired,
onAddClick: PropTypes.func,
};
export const component = CCTable;

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

import React from 'react';
interface FooProps {
/**
* @deprecated Do not use! Use `size` instead!
*
* Width of foo
*/
width: number;
/**
* The size (replaces width)
*/
size: { width: number; height: number };
}
const Foo: React.FC<FooProps> = (props: FooProps) => <>{JSON.stringify(props)}</>;
export const component = Foo;

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

import React from 'react';
interface InputProps {
/**
* The input content value
*/
value?: string | number;
}
interface RadioProps extends InputProps {
defaultChecked?: boolean;
checked?: boolean;
}
const Radio: React.FC<RadioProps> = (props: RadioProps) => <>{JSON.stringify(props)}</>;
export const component = Radio;

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

import React from 'react';
export interface HelloProps {
title: string;
foo: boolean;
bar?: string[];
}
const Hello = ({ title }: HelloProps) => {
return <div className="hello">Hello Component {title}</div>;
};
Hello.defaultProps = {
title: 'this is the default :)',
};
export const component = Hello;

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

import React from 'react';
export enum EnumWithExtraProps {
key1 = 'key1',
key2 = 'key2',
}
export const component = () => <div>hello</div>;

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

import type { FC, ComponentProps, HTMLAttributes } from 'react';
import React from 'react';
type Props = Pick<HTMLAttributes<HTMLButtonElement>, 'onClick'> & {
children: React.ReactNode;
};
const Button: FC<Props> = ({ children, onClick }) => (
<button onClick={onClick} type="button">
{children}
</button>
);
type WrappedProps = {
spacing: number;
} & ComponentProps<typeof Button>;
const WrappedButton: FC<WrappedProps> = ({ spacing, ...buttonProps }: WrappedProps) => (
<div style={{ padding: spacing }}>
<Button {...buttonProps} />
</div>
);
export const component = WrappedButton;

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

/* eslint-disable react/forbid-prop-types */
/* eslint-disable react/no-unused-prop-types */
import React from 'react';
import PropTypes from 'prop-types';
import { imported } from '../imported';
const local = 'local-value';
/**
* A component that renders its props
*/
// eslint-disable-next-line react/prefer-stateless-function
class PropsWriter extends React.Component {
render() {
return <pre>{JSON.stringify(this.props)}</pre>;
}
}
PropsWriter.propTypes = {
numberRequired: PropTypes.number.isRequired,
numberOptional: PropTypes.number,
stringRequired: PropTypes.string.isRequired,
stringOptional: PropTypes.string,
booleanRequired: PropTypes.bool.isRequired,
booleanOptional: PropTypes.bool,
arrayRequired: PropTypes.arrayOf(PropTypes.string.isRequired).isRequired,
arrayOptional: PropTypes.arrayOf(PropTypes.string.isRequired),
objectRequired: PropTypes.shape({}).isRequired,
objectOptional: PropTypes.shape({}),
functionRequired: PropTypes.func.isRequired,
functionOptional: PropTypes.func,
dateRequired: PropTypes.instanceOf(Date).isRequired,
dateOptional: PropTypes.instanceOf(Date),
localReference: PropTypes.string,
importedReference: PropTypes.string,
globalReference: PropTypes.any,
stringGlobalName: PropTypes.string,
};
PropsWriter.defaultProps = {
numberOptional: 1,
stringOptional: 'stringOptional',
booleanOptional: false,
arrayOptional: ['array', 'optional'],
objectOptional: { object: 'optional' },
functionOptional: () => 'foo',
dateOptional: new Date('20 Jan 1983'),
localReference: local,
importedReference: imported,
globalReference: Date,
stringGlobalName: 'top',
// eslint-disable-next-line react/default-props-match-prop-types
stringNoPropType: 'stringNoPropType',
};
export const component = PropsWriter;

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

/* eslint-disable react/prop-types */
import React from 'react';
import { imported } from '../imported';
const local = 'local-value';
/**
* A component that renders its props
*/
export const PropsWriter = ({
numberOptional = 1,
stringOptional = 'stringOptional',
booleanOptional = false,
arrayOptional = ['array', 'optional'],
objectOptional = { object: 'optional' },
functionOptional = () => 'foo',
dateOptional = new Date('20 Jan 1983'),
localReference = local,
importedReference = imported,
globalReference = Date,
stringGlobalName = 'top',
}) => (
<pre>
{JSON.stringify({
numberOptional,
stringOptional,
booleanOptional,
arrayOptional,
objectOptional,
functionOptional,
dateOptional,
localReference,
importedReference,
globalReference,
stringGlobalName,
})}
</pre>
);
export const component = PropsWriter;

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

/* eslint-disable react/forbid-prop-types */
/* eslint-disable react/no-unused-prop-types */
/* eslint-disable react/require-default-props */
import React from 'react';
import PropTypes from 'prop-types';
import { imported } from '../imported';
const local = 'local-value';
/**
* A component that renders its props
*/
export const PropsWriter = ({
numberOptional = 1,
stringOptional = 'stringOptional',
booleanOptional = false,
arrayOptional = ['array', 'optional'],
objectOptional = { object: 'optional' },
functionOptional = () => 'foo',
dateOptional = new Date('20 Jan 1983'),
localReference = local,
importedReference = imported,
globalReference = Date,
stringGlobalName = 'top',
}) => (
<pre>
{JSON.stringify({
numberOptional,
stringOptional,
booleanOptional,
arrayOptional,
objectOptional,
functionOptional,
dateOptional,
localReference,
importedReference,
globalReference,
stringGlobalName,
})}
</pre>
);
PropsWriter.propTypes = {
numberRequired: PropTypes.number.isRequired,
numberOptional: PropTypes.number,
stringRequired: PropTypes.string.isRequired,
stringOptional: PropTypes.string,
booleanRequired: PropTypes.bool.isRequired,
booleanOptional: PropTypes.bool,
arrayRequired: PropTypes.arrayOf(PropTypes.string.isRequired).isRequired,
arrayOptional: PropTypes.arrayOf(PropTypes.string.isRequired),
objectRequired: PropTypes.shape({}).isRequired,
objectOptional: PropTypes.shape({}),
functionRequired: PropTypes.func.isRequired,
functionOptional: PropTypes.func,
dateRequired: PropTypes.instanceOf(Date).isRequired,
dateOptional: PropTypes.instanceOf(Date),
localReference: PropTypes.string,
importedReference: PropTypes.string,
globalReference: PropTypes.any,
stringGlobalName: PropTypes.string,
};
export const component = PropsWriter;

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

/* eslint-disable react/forbid-prop-types */
/* eslint-disable react/no-unused-prop-types */
import React from 'react';
import PropTypes from 'prop-types';
import { imported } from '../imported';
const local = 'local-value';
/**
* A component that renders its props
*/
export const PropsWriter = (props) => <pre>{JSON.stringify(props)}</pre>;
PropsWriter.propTypes = {
numberRequired: PropTypes.number.isRequired,
numberOptional: PropTypes.number,
stringRequired: PropTypes.string.isRequired,
stringOptional: PropTypes.string,
booleanRequired: PropTypes.bool.isRequired,
booleanOptional: PropTypes.bool,
arrayRequired: PropTypes.arrayOf(PropTypes.string.isRequired).isRequired,
arrayOptional: PropTypes.arrayOf(PropTypes.string.isRequired),
objectRequired: PropTypes.shape({}).isRequired,
objectOptional: PropTypes.shape({}),
functionRequired: PropTypes.func.isRequired,
functionOptional: PropTypes.func,
dateRequired: PropTypes.instanceOf(Date).isRequired,
dateOptional: PropTypes.instanceOf(Date),
localReference: PropTypes.string,
importedReference: PropTypes.string,
globalReference: PropTypes.any,
stringGlobalName: PropTypes.string,
};
PropsWriter.defaultProps = {
numberOptional: 1,
stringOptional: 'stringOptional',
booleanOptional: false,
arrayOptional: ['array', 'optional'],
objectOptional: { object: 'optional' },
functionOptional: () => 'foo',
dateOptional: new Date('20 Jan 1983'),
localReference: local,
importedReference: imported,
globalReference: Date,
stringGlobalName: 'top',
};
export const component = PropsWriter;

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

/* eslint-disable react/no-unused-prop-types */
/* eslint-disable react/forbid-prop-types */
import React from 'react';
import PropTypes, { string, shape } from 'prop-types';
import { PRESET_SHAPE, SOME_PROP_TYPES } from './ext';
const NAMED_OBJECT = {
text: PropTypes.string.isRequired,
value: PropTypes.string.isRequired,
};
const ANOTHER_OBJECT = {
foo: PropTypes.string,
bar: PropTypes.string,
};
const NAMED_SHAPE = PropTypes.shape({
foo: PropTypes.string,
});
export const POSITIONS = ['top-left', 'top-right', 'top-center'];
const FunctionalComponent = () => {
return <div>FunctionalComponent!</div>;
};
class ClassComponent extends React.PureComponent {
render() {
return <div>ClassComponent!</div>;
}
}
function concat(a, b) {
return a + b;
}
function customPropType() {
return null;
}
const nestedCustomPropType = {
custom: customPropType,
};
const SOME_INLINE_PROP_TYPES = {
/**
* Hey Hey!
*/
inlineString: PropTypes.string,
inlineBool: PropTypes.bool,
inlineNumber: PropTypes.number,
inlineObj: PropTypes.shape({
foo: PropTypes.string,
}),
inlineArray: PropTypes.arrayOf(PropTypes.number),
inlineArrayOfObjects: PropTypes.arrayOf({ foo: PropTypes.string }),
inlineFunctionalElement: PropTypes.element,
inlineFunctionalElementInline: PropTypes.element,
inlineFunctionalElementInlineReturningNull: PropTypes.element,
inlineHtmlElement: PropTypes.element,
inlineFunctionalElementInlineWithProps: PropTypes.element,
inlineFunctionalElementNamedInline: PropTypes.element,
inlineClassElement: PropTypes.element,
inlineClassElementWithProps: PropTypes.element,
inlineClassElementWithChildren: PropTypes.element,
inlineClassElementInline: PropTypes.element,
inlineFunc: PropTypes.func,
};
const SOME_INLINE_DEFAULT_PROPS = {
inlineString: 'Inline prop default value',
inlineBool: true,
inlineNumber: 10,
inlineObj: { foo: 'bar' },
inlineArray: [1, 2, 3],
inlineArrayOfObjects: [
{ foo: 'bar' },
{ foo: 'bar' },
{ foo: 'bar' },
{ foo: 'bar' },
{ foo: 'bar' },
],
inlineFunctionalElement: <FunctionalComponent />,
inlineFunctionalElementInline: () => {
return <div>Inlined FunctionalComponent!</div>;
},
inlineFunctionalElementInlineReturningNull: () => {
return null;
},
inlineHtmlElement: <div>Hey!</div>,
inlineFunctionalElementInlineWithProps: ({ foo }) => {
return <div>{foo}</div>;
},
inlineFunctionalElementNamedInline: function InlinedFunctionalComponent() {
return <div>Inlined FunctionalComponent!</div>;
},
inlineClassElement: <ClassComponent />,
inlineClassElementWithProps: <ClassComponent className="toto" />,
inlineClassElementWithChildren: (
<ClassComponent>
<div>hey!</div>
</ClassComponent>
),
inlineClassElementInline: class InlinedClassComponent extends React.PureComponent {
render() {
return <div>Inlined ClassComponent!</div>;
}
},
inlineFunc: function add(a, b) {
return a + b;
},
};
export const PropTypesProps = () => <div>PropTypes!</div>;
PropTypesProps.propTypes = {
any: PropTypes.any,
bool: PropTypes.bool,
string: PropTypes.string,
func: PropTypes.func,
/**
* A function with JSDoc tags.
*
* @param {string} foo - A foo value.
* @param {number} bar - A bar value.
* @returns {ComplexObject} - Returns a complex object.
*/
funcWithJsDoc: PropTypes.func,
/**
* @param {string} foo - A foo value.
* @param {number} bar - A bar value.
* @param {number} bar1 - A bar value.
* @param {number} bar2 - A bar value.
* @param {number} bar3 - A bar value.
* @param {number} bar4 - A bar value.
* @param {number} bar5 - A bar value.
* @returns {ComplexObject} - Returns a complex object.
*/
semiLongFuncWithJsDoc: PropTypes.func,
/**
* @param {string} foo - A foo value.
* @param {number} bar - A bar value.
* @param {number} bar1 - A bar value.
* @param {number} bar2 - A bar value.
* @param {number} bar3 - A bar value.
* @param {number} bar4 - A bar value.
* @param {number} bar5 - A bar value.
* @param {number} bar6 - A bar value.
* @param {number} bar7 - A bar value.
* @param {number} bar8 - A bar value.
* @param {number} bar9 - A bar value.
* @param {number} bar10 - A bar value.
* @returns {ComplexObject} - Returns a complex object.
*/
veryLongFuncWithJsDoc: PropTypes.func,
namedDefaultFunc: PropTypes.func,
number: PropTypes.number,
/**
* Plain object propType (use shape!!)
*/
obj: PropTypes.object,
symbol: PropTypes.symbol,
node: PropTypes.node,
useCustomPropType: customPropType,
useNestedCustomPropType: nestedCustomPropType.custom,
functionalElement: PropTypes.element,
functionalElementInline: PropTypes.element,
functionalElementNamedInline: PropTypes.element,
classElement: PropTypes.element,
classElementInline: PropTypes.element,
functionalElementType: PropTypes.elementType,
classElementType: PropTypes.elementType,
elementWithProps: PropTypes.elementType,
/**
* `instanceOf` is also supported and the custom type will be shown instead of `instanceOf`
*/
instanceOf: PropTypes.instanceOf(Set),
/**
* `oneOf` is basically an Enum which is also supported but can be pretty big.
*/
oneOfString: PropTypes.oneOf(['News', 'Photos']),
oneOfNumeric: PropTypes.oneOf([0, 1, 2, 3]),
oneOfShapes: PropTypes.oneOf([
PropTypes.shape({ foo: PropTypes.string }),
PropTypes.shape({ bar: PropTypes.number }),
]),
oneOfComplexShapes: PropTypes.oneOf([
PropTypes.shape({
/**
* Just an internal propType for a shape.
* It's also required, and as you can see it supports multi-line comments!
*/
id: PropTypes.number.isRequired,
/**
* A simple non-required function
*/
func: PropTypes.func,
/**
* An `arrayOf` shape
*/
arr: PropTypes.arrayOf(
PropTypes.shape({
/**
* 5-level deep propType definition and still works.
*/
index: PropTypes.number.isRequired,
})
),
}),
shape({ bar: PropTypes.number }),
]),
oneOfComplexType: PropTypes.oneOf([NAMED_OBJECT, ANOTHER_OBJECT]),
oneOfComponents: PropTypes.oneOf([FunctionalComponent, ClassComponent]),
oneOfEval: PropTypes.oneOf((() => ['News', 'Photos'])()),
oneOfVar: PropTypes.oneOf(POSITIONS),
oneOfNested: PropTypes.oneOf(['News', ['bottom-left', 'bottom-center', 'bottom-right']]),
oneOfNestedSimpleInlineObject: PropTypes.oneOf(['News', [{ foo: PropTypes.string }]]),
oneOfNestedComplexInlineObject: PropTypes.oneOf([
'News',
[{ nested: { foo: PropTypes.string } }],
]),
oneOfNestedComplexShape: PropTypes.oneOf([
'News',
[{ nested: PropTypes.shape({ foo: PropTypes.string }) }],
]),
/**
* A multi-type prop is also valid and is displayed as `Union<String|Message>`
*/
oneOfType: PropTypes.oneOfType([PropTypes.string, PropTypes.instanceOf(Set)]),
/**
* array of a primitive type
*/
arrayOfPrimitive: PropTypes.arrayOf(PropTypes.number),
arrayOfNamedObject: PropTypes.arrayOf(NAMED_OBJECT),
arrayOfShortInlineObject: PropTypes.arrayOf({
foo: PropTypes.string,
}),
arrayOfInlineObject: PropTypes.arrayOf({
text: PropTypes.string.isRequired,
value: PropTypes.string.isRequired,
}),
arrayOfComplexInlineObject: PropTypes.arrayOf({
text: PropTypes.string.isRequired,
value: PropTypes.string.isRequired,
shape: {
id: PropTypes.string.isRequired,
age: PropTypes.number.isRequired,
},
}),
arrayOfShortShape: PropTypes.arrayOf(
PropTypes.shape({
bar: PropTypes.string,
})
),
arrayOfComplexShape: PropTypes.arrayOf(
PropTypes.shape({
/**
* Just an internal propType for a shape.
* It's also required, and as you can see it supports multi-line comments!
*/
id: PropTypes.number.isRequired,
/**
* A simple non-required function
*/
func: PropTypes.func,
/**
* An `arrayOf` shape
*/
arr: PropTypes.arrayOf(
PropTypes.shape({
/**
* 5-level deep propType definition and still works.
*/
index: PropTypes.number.isRequired,
})
),
})
),
arrayExternalShape: PropTypes.arrayOf(PropTypes.shape(PRESET_SHAPE)),
/**
* A simple `objectOf` propType.
*/
simpleObjectOf: PropTypes.objectOf(PropTypes.number),
objectOfShortInlineObject: PropTypes.objectOf({
foo: PropTypes.string,
}),
objectOfInlineObject: PropTypes.objectOf({
foo: PropTypes.string,
bar: PropTypes.string,
barry: PropTypes.string,
}),
objectOfShortShape: PropTypes.objectOf(
PropTypes.shape({
foo: string,
})
),
/**
* A very complex `objectOf` propType.
*/
objectOfComplexShape: PropTypes.objectOf(
PropTypes.shape({
/**
* Just an internal propType for a shape.
* It's also required, and as you can see it supports multi-line comments!
*/
id: PropTypes.number.isRequired,
/**
* A simple non-required function
*/
func: PropTypes.func,
/**
* An `arrayOf` shape
*/
arr: PropTypes.arrayOf(
PropTypes.shape({
/**
* 5-level deep propType definition and still works.
*/
index: PropTypes.number.isRequired,
})
),
})
),
namedObjectOf: PropTypes.objectOf(NAMED_OBJECT),
shapeShort: PropTypes.shape({
foo: string,
}),
shapeLong: PropTypes.shape({
foo: string,
prop1: string,
prop2: string,
prop3: string,
prop4: string,
prop5: string,
prop6: string,
prop7: string,
}),
/**
* propType for shape with nested arrayOf
*
* Also, multi-line description
*/
shapeComplex: PropTypes.shape({
/**
* Just an internal propType for a shape.
* It's also required, and as you can see it supports multi-line comments!
*/
id: PropTypes.number.isRequired,
/**
* A simple non-required function
*/
func: PropTypes.func,
/**
* An `arrayOf` shape
*/
arr: PropTypes.arrayOf(
PropTypes.shape({
/**
* 5-level deep propType definition and still works.
*/
index: PropTypes.number.isRequired,
})
),
shape: PropTypes.shape({
shape: PropTypes.shape({
foo: PropTypes.string,
oneOf: PropTypes.oneOf(['one', 'two']),
}),
}),
oneOf: PropTypes.oneOf(['one', 'two']),
}),
shapeWithArray: PropTypes.shape({
arr: PropTypes.arrayOf({ foo: PropTypes.string }),
}),
namedShape: NAMED_SHAPE,
namedObjectInShape: PropTypes.shape(NAMED_OBJECT),
exact: PropTypes.exact({
name: PropTypes.string,
quantity: PropTypes.number,
}),
namedExact: PropTypes.exact(NAMED_OBJECT),
/**
* test string with a comment that has
* two identical lines
* two identical lines
*/
optionalString: PropTypes.string,
requiredString: PropTypes.string.isRequired,
nullDefaultValue: PropTypes.string,
undefinedDefaultValue: PropTypes.string,
...SOME_INLINE_PROP_TYPES,
...SOME_PROP_TYPES,
};
PropTypesProps.defaultProps = {
any: 'Default any',
bool: false,
string: 'Default string',
func: () => {},
funcWithJsDoc: (foo, bar) => {
// eslint-disable-next-line no-undef
const yo = window.document;
// eslint-disable-next-line no-undef
const pouf = souffle;
return { foo, bar };
},
namedDefaultFunc: concat,
number: 5,
obj: {
key: 'value',
},
symbol: Symbol('Default symbol'),
node: <div>Hello!</div>,
functionalElement: <FunctionalComponent className="toto" />,
functionalElementInline: () => {
return <div>Inlined FunctionalComponent!</div>;
},
functionalElementNamedInline: function InlinedFunctionalComponent() {
return <div>Inlined FunctionalComponent!</div>;
},
classElement: <ClassComponent />,
classElementInline: class InlinedClassComponent extends React.PureComponent {
render() {
return <div>Inlined ClassComponent!</div>;
}
},
functionalElementType: FunctionalComponent,
classElementType: ClassComponent,
elementWithProps: <ClassComponent className="w8 h8 fill-marine-500" />,
instanceOf: new Set(),
oneOfString: 'News',
oneOfNumeric: 1,
oneOfShapes: { foo: 'bar' },
oneOfComplexShapes: {
thing: {
id: 2,
func: () => {},
arr: [],
},
},
oneOfComplexType: { text: 'foo', value: 'bar' },
oneOfComponents: <FunctionalComponent />,
oneOfEval: 'Photos',
oneOfVar: 'top-right',
oneOfNested: 'top-right',
oneOfType: 'hello',
arrayOfPrimitive: [1, 2, 3],
arrayOfString: ['0px', '0px'],
arrayOfNamedObject: [{ text: 'foo', value: 'bar' }],
arrayOfShortInlineObject: [{ foo: 'bar' }],
arrayOfInlineObject: [{ text: 'foo', value: 'bar' }],
arrayOfComplexInlineObject: [{ text: 'foo', value: 'bar' }],
arrayOfShortShape: [{ bar: 'foo' }],
arrayOfComplexShape: [
{
thing: {
id: 2,
func: () => {},
arr: [],
},
},
],
simpleObjectOf: { key: 1 },
objectOfShortInlineObject: { foo: 'bar' },
objectOfInlineObject: { foo: 'bar', bar: 'foo' },
objectOfShortShape: { foo: 'bar' },
objectOfComplexShape: {
thing: {
id: 2,
func: () => {},
arr: [],
},
},
namedObjectOf: { text: 'foo', value: 'bar' },
shapeShort: { foo: 'bar' },
shapeComplex: {
id: 3,
func: () => {},
arr: [],
shape: {
shape: {
foo: 'bar',
},
},
},
namedShape: { foo: 'bar' },
namedObjectInShape: { text: 'foo', value: 'bar' },
exact: { name: 'foo', quantity: 2 },
namedExact: { text: 'foo', value: 'bar' },
optionalString: 'Default String',
nullDefaultValue: null,
undefinedDefaultValue: undefined,
...SOME_INLINE_DEFAULT_PROPS,
};
export const component = PropTypesProps;

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

/* eslint-disable react/require-default-props, react/no-unused-prop-types */
import React from 'react';
import PropTypes from 'prop-types';
const JsDocProps = () => <div>JSDoc with PropTypes!</div>;
JsDocProps.propTypes = {
/**
* should not be visible since it's ignored.
* @ignore
*/
case0: PropTypes.string,
/**
* simple description.
*/
case1: PropTypes.string,
/**
* multi
* lines
* description
*/
case2: PropTypes.string,
/**
* *description* **with** `formatting`
*/
case3: PropTypes.string,
/**
* simple description and dummy JSDoc tag.
* @param event
*/
case4: PropTypes.string,
/**
* @param event
*/
case5: PropTypes.string,
/**
* simple description with a @.
*/
case6: PropTypes.string,
case7: PropTypes.func,
/**
* func with a simple description.
*/
case8: PropTypes.func,
/**
* @param event
*/
case9: PropTypes.func,
/**
* param with name
* @param event
*/
case10: PropTypes.func,
/**
* param with name & type
* @param {SyntheticEvent} event
*/
case11: PropTypes.func,
/**
* param with name, type & description
* @param {SyntheticEvent} event - React's original event
*/
case12: PropTypes.func,
/**
* param with type
* @param {SyntheticEvent}
*/
case13: PropTypes.func,
/**
* param with type & description
* @param {SyntheticEvent} - React's original event
*/
case14: PropTypes.func,
/**
* param with name & description
* @param event - React's original event
*/
case15: PropTypes.func,
/**
* autofix event-
* @param event- React's original event
*/
case16: PropTypes.func,
/**
* autofix event.
* @param event.
* @returns {string}
*/
case17: PropTypes.func,
/**
* with an empty param.
* @param
*/
case18: PropTypes.func,
/**
* with multiple empty params.
* @param
* @param
* @param
*/
case19: PropTypes.func,
/**
* with arg alias.
* @arg event
*/
case20: PropTypes.func,
/**
* with argument alias.
* @argument event
*/
case21: PropTypes.func,
/**
* with multiple params.
* @param {SyntheticEvent} event
* @param {string} stringValue
* @param {number} numberValue
*/
case22: PropTypes.func,
/**
* with an empty returns
* @returns
*/
case23: PropTypes.func,
/**
* with a returns with a type
* @returns {SyntheticEvent}
*/
case24: PropTypes.func,
/**
* with a returns with a type & description
* @returns {SyntheticEvent} - React's original event
*/
case25: PropTypes.func,
/**
* single param and a returns
* @param {string} stringValue
* @returns {SyntheticEvent} - React's original event
*/
case26: PropTypes.func,
/**
* multiple params and a returns
* @param {string} stringValue
* @param {number} numberValue
* @returns {SyntheticEvent} - React's original event
*/
case27: PropTypes.func,
/**
* multiple returns
* @returns {SyntheticEvent} - React's original event
* @returns {string} - Second returns
*/
case28: PropTypes.func,
/**
* param with unsupported JSDoc tags
* @param {SyntheticEvent} event - React's original event
* @type {number}
* @version 2
*/
case29: PropTypes.func,
/**
* param record type
* @param {{a: number, b: string}} myType
*/
case30: PropTypes.func,
/**
* param array type
* @param {string[]} myType
*/
case31: PropTypes.func,
/**
* param union type
* @param {(number|boolean)} myType
*/
case32: PropTypes.func,
/**
* param any type
* @param {*} myType
*/
case33: PropTypes.func,
/**
* param repeatable type
* @param {...number} myType
*/
case34: PropTypes.func,
/**
* optional param
* @param {number} [myType]
*/
case35: PropTypes.func,
/**
* optional param
* @param {number} [myType]
*/
case36: PropTypes.func,
/**
* dot in param name
* @param {number} my.type
*/
case37: PropTypes.func,
/**
* returns record type
* @returns {{a: number, b: string}}
*/
case38: PropTypes.func,
/**
* returns array type
* @returns {string[]}
*/
case39: PropTypes.func,
/**
* returns union type
* @returns {(number|boolean)}
*/
case40: PropTypes.func,
/**
* returns any type
* @returns {*}
*/
case41: PropTypes.func,
/**
* returns primitive
* @returns {string}
*/
case42: PropTypes.func,
/**
* returns void
* @returns {void}
*/
case43: PropTypes.func,
};
export const component = JsDocProps;

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

import React from 'react';
import { imported } from '../imported';
const local = 'local-value';
enum GlobalNames {
top = 'top',
left = 'left',
}
interface PropsWriterProps {
/**
* Description
*/
numberRequired: number;
numberOptional?: number;
stringRequired: string;
stringOptional?: string;
booleanRequired: boolean;
booleanOptional?: boolean;
arrayRequired: string[];
arrayOptional?: string[];
objectRequired: Record<string, string>;
objectOptional?: Record<string, string>;
functionRequired: () => string;
functionOptional?: () => string;
dateRequired: Date;
dateOptional?: Date;
localReference?: string;
importedReference?: string;
globalReference?: any;
stringGlobalName?: string;
unionGlobalName?: 'top' | 'left';
unionGlobalNameMixed?: 'top' | number;
enumGlobalName?: GlobalNames;
}
/**
* A component that renders its props
*/
export const PropsWriter: React.FC<PropsWriterProps> = ({
numberOptional = 1,
stringOptional = 'stringOptional',
booleanOptional = false,
arrayOptional = ['array', 'optional'],
objectOptional = { object: 'optional' },
functionOptional = () => 'foo',
dateOptional = new Date('20 Jan 1983'),
localReference = local,
importedReference = imported,
globalReference = Date,
stringGlobalName = 'top',
unionGlobalName = 'top',
// If we use this default value, controls will try and render it in a JSON object editor
// which leads to a circular value error.
// unionGlobalNameMixed = 'top',
enumGlobalName = 'top',
}) => (
<pre>
{JSON.stringify({
numberOptional,
stringOptional,
booleanOptional,
arrayOptional,
objectOptional,
functionOptional,
dateOptional,
localReference,
importedReference,
globalReference,
stringGlobalName,
unionGlobalName,
// unionGlobalNameMixed,
enumGlobalName,
})}
</pre>
);
export const component = PropsWriter;

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

import React from 'react';
import { imported } from '../imported';
const local = 'local-value';
interface PropsWriterProps {
/**
* Description
*/
numberRequired: number;
numberOptional?: number;
stringRequired: string;
stringOptional?: string;
booleanRequired: boolean;
booleanOptional?: boolean;
arrayRequired: string[];
arrayOptional?: string[];
objectRequired: Record<string, string>;
objectOptional?: Record<string, string>;
functionRequired: () => string;
functionOptional?: () => string;
dateRequired: Date;
dateOptional?: Date;
localReference?: string;
importedReference?: string;
globalReference?: any;
stringGlobalName?: string;
}
/**
* A component that renders its props
*/
export const PropsWriter: React.FC<PropsWriterProps> = (props: PropsWriterProps) => (
<pre>{JSON.stringify(props)}</pre>
);
PropsWriter.defaultProps = {
numberOptional: 1,
stringOptional: 'stringOptional',
booleanOptional: false,
arrayOptional: ['array', 'optional'],
objectOptional: { object: 'optional' },
functionOptional: () => 'foo',
dateOptional: new Date('20 Jan 1983'),
localReference: local,
importedReference: imported,
globalReference: Date,
stringGlobalName: 'top',
};
export const component = PropsWriter;

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

import type { FC } from 'react';
import React from 'react';
interface TypeScriptHtmlComponentProps {
text: string;
}
export const TypeScriptHtmlComponent: FC<
React.HTMLAttributes<HTMLDivElement> & TypeScriptHtmlComponentProps
> = () => <div>My HTML component</div>;
export const component = TypeScriptHtmlComponent;

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

import type { FC, SyntheticEvent } from 'react';
import React from 'react';
interface TSProps {
/**
* this is case 1.
* @param { SyntheticEvent } event - React's original event.
* @returns {void}
*/
case1: (event: SyntheticEvent) => void;
/**
* should not be visible since it's ignored.
* @ignore
*/
case2: string;
}
/**
* Button functional component (React.FC)
*/
const TypeScriptProps: FC<TSProps> = ({ case1, case2 }) => (
<button type="button" onClick={case1}>
JSDoc with TypeScript! {case2}
</button>
);
export const component = TypeScriptProps;

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

import type { FC } from 'react';
import React from 'react';
function concat(a: string, b: string): string {
return a + b;
}
interface ItemInterface {
text: string;
value: string;
}
interface PersonInterface {
name: string;
}
type InterfaceIntersection = ItemInterface & PersonInterface;
interface GenericInterface<T> {
value: T;
}
enum DefaultEnum {
TopLeft,
TopRight,
TopCenter,
}
enum NumericEnum {
TopLeft = 0,
TopRight,
TopCenter,
}
enum StringEnum {
TopLeft = 'top-left',
TopRight = 'top-right',
TopCenter = 'top-center',
}
type EnumUnion = DefaultEnum | NumericEnum;
type StringLiteralUnion = 'top-left' | 'top-right' | 'top-center';
type NumericLiteralUnion = 0 | 1 | 2;
type StringAlias = string;
type NumberAlias = number;
type AliasesIntersection = StringAlias & NumberAlias;
type AliasesUnion = StringAlias | NumberAlias;
interface GenericAlias<T> {
value: T;
}
interface TypeScriptPropsProps {
any: any;
string: string;
bool: boolean;
number: number;
voidFunc: () => void;
funcWithArgsAndReturns: (a: string, b: string) => string;
funcWithunionArg: (a: string | number) => string;
funcWithMultipleUnionReturns: () => string | ItemInterface;
funcWithIndexTypes: <T, K extends keyof T>(o: T, propertyNames: K[]) => T[K][];
symbol: symbol;
interface: ItemInterface;
genericInterface: GenericInterface<string>;
arrayOfPrimitive: string[];
arrayOfComplexObject: ItemInterface[];
tupleOfPrimitive: [string, number];
tupleWithComplexType: [string, ItemInterface];
defaultEnum: DefaultEnum;
numericEnum: NumericEnum;
stringEnum: StringEnum;
enumUnion: EnumUnion;
recordOfPrimitive: Record<string, number>;
recordOfComplexObject: Record<string, ItemInterface>;
intersectionType: InterfaceIntersection;
intersectionWithInlineType: ItemInterface & { inlineValue: string };
unionOfPrimitive: string | number;
unionOfComplexType: ItemInterface | InterfaceIntersection;
nullablePrimitive?: string;
nullableComplexType?: ItemInterface;
nullableComplexTypeUndefinedDefaultValue?: ItemInterface;
readonly readonlyPrimitive: string;
typeAlias: StringAlias;
aliasesIntersection: AliasesIntersection;
aliasesUnion: AliasesUnion;
genericAlias: GenericAlias<string>;
namedStringLiteralUnion: StringLiteralUnion;
inlinedStringLiteralUnion: 'bottom-left' | 'bottom-right' | 'bottom-center';
namedNumericLiteralUnion: NumericLiteralUnion;
inlinedNumericLiteralUnion: 0 | 1 | 2;
}
export const TypeScriptProps: FC<TypeScriptPropsProps> = () => <div>TypeScript!</div>;
TypeScriptProps.defaultProps = {
any: 'Any value',
string: 'A string value',
bool: true,
number: 5,
voidFunc: () => {},
funcWithArgsAndReturns: concat,
symbol: Symbol('Default symbol'),
interface: { text: 'foo', value: 'bar' },
genericInterface: { value: 'A string value' },
arrayOfPrimitive: ['foo', 'bar'],
arrayOfComplexObject: [{ text: 'foo', value: 'bar' }],
tupleOfPrimitive: ['string value', 5],
tupleWithComplexType: ['string value', { text: 'foo', value: 'bar' }],
defaultEnum: DefaultEnum.TopRight,
numericEnum: NumericEnum.TopRight,
stringEnum: StringEnum.TopRight,
enumUnion: DefaultEnum.TopLeft,
recordOfPrimitive: { foo: 1, bar: 2 },
recordOfComplexObject: { foo: { text: 'bar', value: 'bar2' } },
intersectionType: { text: 'foo', value: 'bar', name: 'foo-bar' },
intersectionWithInlineType: { text: 'foo', value: 'bar', inlineValue: 'this is inlined' },
unionOfPrimitive: 'A string value',
unionOfComplexType: { text: 'foo', value: 'bar' },
nullableComplexTypeUndefinedDefaultValue: undefined,
typeAlias: 'foo',
aliasesUnion: 'foo',
genericAlias: { value: 'foo' },
namedStringLiteralUnion: 'top-right',
inlinedStringLiteralUnion: 'bottom-right',
namedNumericLiteralUnion: 0,
inlinedNumericLiteralUnion: 1,
};
export const component = TypeScriptProps;

Sorry, the diff of this file is not supported yet

import React from 'react';
const badOutput = { renderable: 'no, react can not render objects' };
const BadComponent = () => badOutput;
export default {
component: BadComponent,
parameters: {
storyshots: { disable: true },
chromatic: { disable: true },
},
decorators: [
// Skip errors if we are running in the test runner
(storyFn: any) => window?.navigator?.userAgent?.match(/StorybookTestRunner/) || storyFn(),
],
};
export const RenderThrows = {
render() {
throw new Error('storyFn threw an error! WHOOPS');
},
};
export const ComponentIsUnrenderable = {};
export const StoryIsUnrenderable = {
render: () => badOutput,
};
export const StoryContainsUnrenderable = {
render: () => (
<div>
{/* @ts-expect-error we're doing it wrong here on purpose */}
<BadComponent />
</div>
),
};
import type { FC } from 'react';
import React, { useState } from 'react';
const ButtonWithState: FC = () => {
const [count, setCount] = useState(0);
return (
<button type="button" onClick={() => setCount(count + 1)}>
{`count: ${count}`}
</button>
);
};
export default {
component: ButtonWithState,
};
export const Basic = {};
import React, { useState } from 'react';
import PropTypes from 'prop-types';
import mapValues from 'lodash/mapValues.js';
import { PureArgsTable as ArgsTable } from '@storybook/blocks';
import { inferControls } from '@storybook/preview-api';
import { ThemeProvider, themes, convert } from '@storybook/theming';
import { component as JsClassComponentComponent } from './docgen-components/js-class-component/input.jsx';
import { component as JsFunctionComponentComponent } from './docgen-components/js-function-component/input.jsx';
import { component as JsFunctionComponentInlineDefaultsComponent } from './docgen-components/js-function-component-inline-defaults/input.jsx';
import { component as JsFunctionComponentInlineDefaultsNoPropTypesComponent } from './docgen-components/js-function-component-inline-defaults-no-propTypes/input.jsx';
import { component as JsProptypesShapeComponent } from './docgen-components/9399-js-proptypes-shape/input.jsx';
// import { component as JsStyledComponentsComponent } from './__testfixtures__/8663-js-styled-components/input';
import { component as JsDefaultValuesComponent } from './docgen-components/9626-js-default-values/input.jsx';
import { component as JsProptypesNoJsdocComponent } from './docgen-components/9668-js-proptypes-no-jsdoc/input.jsx';
// import { component as JsStyledDocgenComponent } from './__testfixtures__/8279-js-styled-docgen/input';
import { component as JsPropTypesOneofComponent } from './docgen-components/8140-js-prop-types-oneof/input.jsx';
import { component as JsHocComponent } from './docgen-components/9023-js-hoc/input.jsx';
import { component as JsReactMemoComponent } from './docgen-components/9586-js-react-memo/input.jsx';
import { component as JsStaticPropTypesComponent } from './docgen-components/8428-js-static-prop-types/input.jsx';
import { component as JsdocComponent } from './docgen-components/jsdoc/input.jsx';
import { component as JsProptypesComponent } from './docgen-components/js-proptypes/input.jsx';
// Detect if we are running in vite in a hacky way for now
const isVite = typeof require === 'undefined';
export default {
component: {},
render: (_, context) => <ArgsStory parameters={context.parameters} />,
parameters: {
chromatic: {
disableSnapshot: isVite,
},
},
};
const ArgsStory = ({ parameters }) => {
const argTypes = parameters.docs.extractArgTypes(parameters.component);
const rows = inferControls({ argTypes, parameters: { __isArgsStory: true } });
const initialArgs = mapValues(rows, (argType) => argType.defaultValue);
const [args, setArgs] = useState(initialArgs);
return (
<ThemeProvider theme={convert(themes.light)}>
<ArgsTable rows={rows} args={args} updateArgs={(val) => setArgs({ ...args, ...val })} />
</ThemeProvider>
);
};
ArgsStory.propTypes = {
parameters: PropTypes.shape({
component: PropTypes.elementType.isRequired,
docs: PropTypes.shape({
extractArgTypes: PropTypes.func.isRequired,
}).isRequired,
}).isRequired,
};
export const JsClassComponent = { parameters: { component: JsClassComponentComponent } };
export const JsFunctionComponent = { parameters: { component: JsFunctionComponentComponent } };
export const JsFunctionComponentInlineDefaults = {
parameters: { component: JsFunctionComponentInlineDefaultsComponent },
};
export const JsFunctionComponentInlineDefaultsNoPropTypes = {
parameters: { component: JsFunctionComponentInlineDefaultsNoPropTypesComponent },
};
export const JsProptypesShape = { parameters: { component: JsProptypesShapeComponent } };
// export const JsStyledComponents = { parameters: { component: JsStyledComponentsComponent } };
export const JsDefaultValues = { parameters: { component: JsDefaultValuesComponent } };
export const JsProptypesNoJsdoc = { parameters: { component: JsProptypesNoJsdocComponent } };
// export const JsStyledDocgen = { parameters: { component: JsStyledDocgenComponent } };
export const JsPropTypesOneof = { parameters: { component: JsPropTypesOneofComponent } };
export const JsHoc = { parameters: { component: JsHocComponent } };
export const JsReactMemo = { parameters: { component: JsReactMemoComponent } };
export const JsStaticPropTypes = { parameters: { component: JsStaticPropTypesComponent } };
export const Jsdoc = { parameters: { component: JsdocComponent } };
export const JsProptypes = { parameters: { component: JsProptypesComponent } };

Sorry, the diff of this file is not supported yet

import { useEffect } from 'react';
const LoggingComponent = () => {
useEffect(() => {
console.log('mounted');
return () => {
console.log('unmounted');
};
}, []);
return 'Component';
};
export default {
component: LoggingComponent,
tags: ['autodocs'],
parameters: {
storyshots: { disable: true },
chromatic: { disable: true },
},
};
export const Default = {};
import React, { useState } from 'react';
import mapValues from 'lodash/mapValues.js';
import { PureArgsTable as ArgsTable } from '@storybook/blocks';
import type { Args, Parameters, StoryContext } from '@storybook/types';
import { inferControls } from '@storybook/preview-api';
import { ThemeProvider, themes, convert } from '@storybook/theming';
import { component as TsFunctionComponentComponent } from './docgen-components/ts-function-component/input';
import { component as TsFunctionComponentInlineDefaultsComponent } from './docgen-components/ts-function-component-inline-defaults/input';
import { component as TsReactFcGenericsComponent } from './docgen-components/8143-ts-react-fc-generics/input';
import { component as TsImportedTypesComponent } from './docgen-components/8143-ts-imported-types/input';
import { component as TsMultiPropsComponent } from './docgen-components/8740-ts-multi-props/input';
import { component as TsReactDefaultExportsComponent } from './docgen-components/9556-ts-react-default-exports/input';
import { component as TsImportTypesComponent } from './docgen-components/9591-ts-import-types/input';
import { component as TsDeprecatedJsdocComponent } from './docgen-components/9721-ts-deprecated-jsdoc/input';
import { component as TsDefaultValuesComponent } from './docgen-components/9827-ts-default-values/input';
import { component as TsCamelCaseComponent } from './docgen-components/9575-ts-camel-case/input';
import { component as TsDisplayNameComponent } from './docgen-components/9493-ts-display-name/input';
import { component as TsForwardRefComponent } from './docgen-components/8894-9511-ts-forward-ref/input';
import { component as TsTypePropsComponent } from './docgen-components/9465-ts-type-props/input';
import { component as TsExtendPropsComponent } from './docgen-components/9764-ts-extend-props/input';
import { component as TsComponentPropsComponent } from './docgen-components/9922-ts-component-props/input';
import { component as TsJsdocComponent } from './docgen-components/ts-jsdoc/input';
import { component as TsTypesComponent } from './docgen-components/ts-types/input';
import { component as TsHtmlComponent } from './docgen-components/ts-html/input';
export default {
component: {},
render: (_: Args, context: StoryContext) => <ArgsStory parameters={context.parameters} />,
};
const ArgsStory = ({ parameters }: { parameters: Parameters }) => {
const argTypes = parameters.docs.extractArgTypes(parameters.component);
const rows = inferControls({ argTypes, parameters: { __isArgsStory: true } } as any);
const initialArgs = mapValues(rows, (argType) => argType.defaultValue);
const [args, setArgs] = useState(initialArgs);
return (
<ThemeProvider theme={convert(themes.light)}>
<ArgsTable rows={rows} args={args} updateArgs={(val) => setArgs({ ...args, ...val })} />
</ThemeProvider>
);
};
export const TsFunctionComponent = { parameters: { component: TsFunctionComponentComponent } };
export const TsFunctionComponentInlineDefaults = {
parameters: { component: TsFunctionComponentInlineDefaultsComponent },
};
export const TsReactFcGenerics = { parameters: { component: TsReactFcGenericsComponent } };
export const TsImportedTypes = { parameters: { component: TsImportedTypesComponent } };
export const TsMultiProps = { parameters: { component: TsMultiPropsComponent } };
export const TsReactDefaultExports = { parameters: { component: TsReactDefaultExportsComponent } };
export const TsImportTypes = { parameters: { component: TsImportTypesComponent } };
export const TsDeprecatedJsdoc = { parameters: { component: TsDeprecatedJsdocComponent } };
export const TsDefaultValues = { parameters: { component: TsDefaultValuesComponent } };
export const TsCamelCase = { parameters: { component: TsCamelCaseComponent } };
export const TsDisplayName = { parameters: { component: TsDisplayNameComponent } };
export const TsForwardRef = { parameters: { component: TsForwardRefComponent } };
export const TsTypeProps = { parameters: { component: TsTypePropsComponent } };
export const TsExtendProps = { parameters: { component: TsExtendPropsComponent } };
export const TsComponentProps = { parameters: { component: TsComponentPropsComponent } };
export const TsJsdoc = { parameters: { component: TsJsdocComponent } };
export const TsTypes = { parameters: { component: TsTypesComponent } };
export const TsHtml = { parameters: { component: TsHtmlComponent } };