This is a pretty vague question with a lot of different answers. You have to basic ways to go with this 1) use some kind of open-source JS/jQuery plugin and just manipulate it to make it a configurable CQ component or b) build your own from scratch. Both will require fairly strong JS skills, moreso for the latter approach, and an understanding of how to develop CQ components and their dialogs. The first approach will generally be faster and easier, but the second approach means you can build EXACTLY what you want, instead of someone else's vision. That's probably about as specific an answer you can get for that question. If you get started and have more specific implementation questions, you'll probably get more informative answers.
Hope this helps!