Sorry, DPB, but I strongly disagree with this. With the idea of giving someone a pet in general, not just puppies.
Unless the person is ready for a new family member, AND has the financial and physical abilities to properly care for a new pet, AND specifically wants a particular type of pet, it's best not to get them one. Millions of animals are dumped at shelters every year following holidays, especially Christmas and Easter--so those occasions are bad, too.
If you think the person would like to have a puppy--or kitten (they do grow up too fast, but they're still fun when they're older!)--why not give them a card with a 'voucher' in it, good for one adoption at a shelter/rescue of their choice? You'll pay for the fees and they'll get to pick their new child. But don't assume that a person, especially one whose mental/emotional state is troubled, will be happy to receive an unexpected--and perhaps unwanted--pet. They're living beings, and they should only go to forever homes.