add dynamic svg sizing to components.

the svg will always fill its parent component and can be resized dynamically.