Issue #3499550: Support server side validation and massage of prop values
Closes #3499550
Remaining tasks:
- 
Fix media library test 
- 
Remove duplicate ErrorShape ts definition 
- 
Add openapi spec for patch component 
- 
Add kernel tests for patch component 
- 
Add todo and issue for renaming initialized to 'updatePreview' 
- 
Try to do away with PreviewController::clientLayoutAndModelToXbField 
- 
Revert the todo change for ::findTargetForProps 
- 
Try to patch component from main.tsx after ajax instead of using event listener- added a todo to #3505039 - still not sure its a great idea
- 
Add loading indicator to preview when patching component 
- 
Remove updateNodeModel and updateNodeModelForce 
- 
Split out issue for dead publish one code 
- 
Fix empty layout error on passing object instead of array 
- 
Fix naming of componentId in patchComponent, should be componentInstance 
- 
Merge ApiLayout and ApiPreview controllers 
- 
Handle 422 errors in patchComponent- added a todo to #3505018
Edited  by Lee Rowlands