I'm developing a web application in angular 2. I want to implement a search input field that takes tags, like the image below:

I'm wondering what the best tool for this would be in an angular 2 environment.

Ideally, the tags would be able to wrap around. If n number of tags don't fit on one line, the input field would grow to 2 rows and the extra tags would start accumulating on the second row.