I'm currently trying to integrate a Google custom search element in a dedicated Angular component; I added a selector with usual Javascript code as mentionned in Google API doc, and the searchbox indeed displays in my page. My problem is I need to completely change the look of this searchbox as well as search button for Material Design components. So, first, is it possible to achieve this? If yes, how can this be done? I hope I am clear enough... Cheers!
In the context of your scope I think the standard API will be overly limited for your needs. In this scenario I would recommend using the Google Search REST API.
Using this you can create an Angular service which makes the requests and models to act as your data transfer objects - these would match the request and response models specified in the API documentation.
Then create a new component and module, provide the new service within the module and add your markup and service calls into the component. That way you have a fully customized component that does all of the relevant communication with Google.