Patterns
Extra Info & Files
Each field can carry an extraInfo next to its value. Pick an assignee and upload an image, then compare the values and extra infos on the right.
What this shows
Every field stores a value and an optional extra info. The value holds what the API needs and the extra info holds what the UI needs: a member's name and colour, or a File and its preview URL.
setFieldValue(value, extraInfo) sets both. onSubmit(values, extraInfos) receives both, with extraInfos shaped like values.