There’s a couple of things missing to take it to the next level.
- A “value” field as you suggest will do a lot of heavy lifting. For example it’s quite common to have to override the top padding in a section to tweak space between elements. Having a value field would let you insert a default and then override it easily. That would let us use the same section component without having to make a second copy that has no padding at the top.
- The ability to use the values in conditions for items in the component. If you were to combine that with a true/false toggle property field type and a select dropdown property field type you could do some amazing things that would be really client friendly.
- Lastly it would be nice to have some organising in the component view - e.g. a button needs a link and text property - it would be nice to be able to visually link these and separate them from the other properties visually.