I can tell you two things that are mentioned in the book, although not explicitly labeled as "components" of being a Software Craftsman. Sandro mentions them in Appendix A, in the section "Software Craftsman versus Software Developers".
The first is Attitude - to be a craftsman, you need to have a certain attitude towards your work and the level of attention to detail and care you put into it.
The second is Action - obviously, you have to walk the walk, not just talk the talk.
I think the third one for me would be Achievements/Accomplishments - if you never accomplish anything or make anything that's useful to someone besides yourself, then what's the point? I don't make beautiful software just for the sake of it. I want to make beautiful software because it helps make the world better for others who use that software. That's what it's all about for me.
Edit: Actually, that might not be entirely true. To be honest, I have some selfish reasons for wanting to write good code. I know what it's like to work with crappy code. I know what the consequences are of letting code just rot and fester. It's not pretty and it sucks the joy out of development work. So, I have resolved to not put other developers through the kind of hell I have to go through on a regular basis, cleaning up other people's crappy code. If by doing so I can influence a few people and help them see that there's a better way of doing things, then I hope someday to be able to land in a code base where I have a comprehensive set of
unit tests to refer to so I can understand the design, good clean code and relevant documentation, and software that works and is a joy to maintain and extend. Until then, I will fight the good fight against nasty code and bad designs.