You can use Variable Properties as the "main" component and not need anythign else. It takes three props:
Variable: The variable object
updateVariable: call back function for updating, sends back an object with the just the changed property and new value
errorType: string, hightlights the specified field as an error
errorType Options:
- variableName
- constantValue
- formulaValue
- shift
- schedule
- timeOffsetValue
- dateOffsetValue
Constants includes propTypes and intial versions of each variable.
The function "setVariableDefaults" uses those intial values to return the appropiate variable if you feed it the varType as a string.