refactor(product-typeahead): componentize product typeahead

do we really want to get all the products?