Every component looks out for itself -
As a rule of thumbs, the component don't mind sizing, they just want to use their content dimensions. the height to the minimum, and width to the maximum.
Width will be managed by parent containers. Height is derived by content height, except if user defined otherwise.
Foobar layout editor
https://youtu.be/BeI4u0vgcOo?t=5
Android widget editor
https://youtu.be/RfpuQAJ_GV4?t=365
Trello
https://youtu.be/xky48zyL9iA?t=130
Whimsical
https://whimsical.com/WEKiunkAqZKuYerpP3a54V
Notion
Example, Beauty demo on Notion
This one got a lot of important features we can use
This is what we're using for the UI Control
Draggable JS - JavaScript drag and drop library
CSS Grid Generator | LayoutIt!
This shows how nested components will behave
For Angular
ContentBuilder.js Example - A generic builder for (almost) any framework