refactor(product-typeahead): componentize product typeahead