Implementation for the material input

Also implements the material icon as it is used internally
Fixes for the merge