"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 react_docgen_loader_exports={};__export(react_docgen_loader_exports,{default:()=>reactDocgenLoader});module.exports=__toCommonJS(react_docgen_loader_exports);var import_react_docgen=require("react-docgen"),import_magic_string=__toESM(require("magic-string")),import_node_logger=require("@storybook/node-logger"),{getNameOrValue,isReactForwardRefCall}=import_react_docgen.utils,actualNameHandler=function(documentation,componentDefinition){if((componentDefinition.isClassDeclaration()||componentDefinition.isFunctionDeclaration())&&componentDefinition.has("id"))documentation.set("actualName",getNameOrValue(componentDefinition.get("id")));else if(componentDefinition.isArrowFunctionExpression()||componentDefinition.isFunctionExpression()||isReactForwardRefCall(componentDefinition)){let currentPath=componentDefinition;for(;currentPath.parentPath;){if(currentPath.parentPath.isVariableDeclarator()){documentation.set("actualName",getNameOrValue(currentPath.parentPath.get("id")));return}if(currentPath.parentPath.isAssignmentExpression()){let leftPath=currentPath.parentPath.get("left");if(leftPath.isIdentifier()||leftPath.isLiteral()){documentation.set("actualName",getNameOrValue(leftPath));return}}currentPath=currentPath.parentPath}documentation.set("actualName","")}},defaultHandlers=Object.values(import_react_docgen.builtinHandlers).map(handler=>handler),defaultResolver=new import_react_docgen.builtinResolvers.FindExportedDefinitionsResolver,defaultImporter=import_react_docgen.builtinImporters.fsImporter,handlers=[...defaultHandlers,actualNameHandler];async function reactDocgenLoader(source){let callback=this.async(),options=this.getOptions()||{},{babelOptions={},debug=!1}=options,{plugins,presets}=babelOptions;try{let docgenResults=(0,import_react_docgen.parse)(source,{filename:this.resourcePath,resolver:defaultResolver,handlers,importer:defaultImporter,babelOptions:{babelrc:!1,configFile:!1,plugins,presets}}),magicString=new import_magic_string.default(source);docgenResults.forEach(info=>{let{actualName,...docgenInfo}=info;if(actualName){let docNode=JSON.stringify(docgenInfo);magicString.append(`;${actualName}.__docgenInfo=${docNode}`)}});let map=magicString.generateMap({hires:!0});callback(null,magicString.toString(),map)}catch(error){error.code===import_react_docgen.ERROR_CODES.MISSING_DEFINITION||(debug?(import_node_logger.logger.warn(`Failed to parse ${this.resourcePath} with react-docgen. Please use the below error message and the content of the file which causes the error to report the issue to the maintainers of react-docgen. https://github.com/reactjs/react-docgen`),import_node_logger.logger.error(error)):import_node_logger.logger.warn(`Failed to parse ${this.resourcePath} with react-docgen. Rerun Storybook with --loglevel=debug to get more info.`)),callback(null,source)}}