This is a free pattern, courtesy of Prairie Flower Farm! Just scroll down and sign up to receive it on the right hand side of her blog, and leave a comment saying I sent you. She also has some adorable cozies ready-made that she sells.
I made the polka-dotted one entirely of cotton fabric, and the purple one is from purple wool felt on the outside with a cotton fabric lining.