rebuilt floatlabel to be a wrapper component with variable inputs