typescript & component