import { makeStyles } from '@mui/styles'; import React from 'react'; import type { CallSignatureReferenceNode, ConstructorReferenceNode, ConstructSignatureReferenceNode, FunctionReferenceNode, MethodReferenceNode, PropertyReferenceNode } from '../reference/index.js'; import { hasTag } from '../tools/CodeTools.js'; import FunctionParamDescEntry from './FunctionParamDescEntry.js'; interface FunctionParamDescProps { functionDefinition: FunctionReferenceNode | MethodReferenceNode | ConstructorReferenceNode | PropertyReferenceNode; signature: CallSignatureReferenceNode | ConstructSignatureReferenceNode; isCallback?: boolean; } const useStyles = makeStyles( theme => ({ root: { border: `1px solid ${theme.colors.border}`, margin: `${theme.spacing.unit * 2}px 0` }, heading: { padding: theme.spacing.unit, backgroundColor: theme.colors.background.active } }), { name: 'FunctionParamDesc' } ); const FunctionParamDesc: React.FC = ({ functionDefinition, signature, isCallback }) => { const classes = useStyles(); if (!signature.parameters.length) { return null; } return ( {isCallback ? null : ( <> )} {signature.parameters.map(param => ( ))}
Parameter TypeRequired DefaultDescription
); }; export default FunctionParamDesc;