import { useState } from 'react' import Collapsible from '../collapsible' import SvgrChevronDown from '../chevron-down/black' import styles from './property-object.module.css' function PropertyObject({ name, data, isFirstItem, isLastItem, arrayDepth = 0, }) { const [isCollapsed, setIsCollapsed] = useState(true) const isArray = data.type === 'array' if (isArray) return ( ) const hasProperties = data.type === 'object' && Boolean(data.properties) const typeArraySuffix = arrayDepth > 0 ? arrayFrom(arrayDepth, '[]').join('') : '' const typeString = `${data.type}${typeArraySuffix}` return (
{name}{' '} {typeString}{' '} {data.required ? ( Required ) : null} {data.title && (

{data.title}

)} {data.description && (

{data.description}

)} {hasProperties && (
{Object.keys(data.properties).map((propertyKey, idx) => { return ( ) })}
)}
) } function arrayFrom(length, value = null) { let array = [] for (var i = 0; i < length; i++) { array.push(value) } return array } export default PropertyObject