nl_tokens: A field is a form element containing a label and an input .
pl_tokens: function FormField ( props ) { const { children , className , content , control , disabled , error , inline , label , required , type , width , } = props const classes = cx ( useKeyOnly ( disabled , 'disabled' ) , useKeyOnly ( error , 'error' ) , useKeyOnly ( inline , 'inline' ) , useKeyOnly ( required , 'required' ) , useWidthProp ( width , 'wide' ) , 'field' , className , ) const rest = getUnhandledProps ( FormField , props ) const ElementType = getElementType ( FormField , props ) // ---------------------------------------- // No Control // ---------------------------------------- if ( _ . isNil ( control ) ) { if ( _ . isNil ( label ) ) { return ( < ElementType { ... rest } className = { classes } > { childrenUtils . isNil ( children ) ? content : children } < / ElementType > ) } return ( < ElementType { ... rest } className = { classes } > { createHTMLLabel ( label , { autoGenerateKey : false } ) } < / ElementType > ) } // ---------------------------------------- // Checkbox/Radio Control // ---------------------------------------- const controlProps = { ... <mask> , content , children , disabled , required , type } // wrap HTML checkboxes/radios in the label if ( control === 'input' && ( type === 'checkbox' || type === 'radio' ) ) { return ( < ElementType className = { classes } > < label > { createElement ( control , controlProps ) } { label } < / label > < / ElementType > ) } // pass label prop to controls that support it if ( control === Checkbox || control === Radio ) { return ( < ElementType className = { classes } > { createElement ( control , { ... controlProps , label } ) } < / ElementType > ) } // ---------------------------------------- // Other Control // ---------------------------------------- return ( < ElementType className = { classes } > { createHTMLLabel ( label , { defaultProps : { htmlFor : _ . get ( controlProps , 'id' ) } , autoGenerateKey : false , } ) } { createElement ( control , controlProps ) } < / ElementType > ) }