If someone slapped me for no reason then I'd have to deck them because I wear glasses. My glasses are my berzerk button, many people who think that I'm always good natured have accidentally knocked my glasses off of my face and found out how mean I can be. I will remain enraged until I receive an apology, or my glasses are returned to me. If I am ever serious about fighting someone, I will remove my glasses. I have defused many people with the simple act of removing my glasses, because I make it clear to everyone, that when I'm not wearing my glasses, they better tread carefully.
In your case though, if you don't wear glasses, then I'd simply ask for an explanation. If she didn't give one, and tried to attack me again, then I'd restrain her, or if I was in a particularily shitty mood, then I'd shove her. You showed a lot of restraint, and that's impressive in the situation you described. However, simply standing there and taking it might not have been the best approach, because not she probably thinks she can get away with behaviour like that. If she ever lays a hand on you again, then I suggest you take steps to stop it, because she has a major attitude problem.
In your case though, if you don't wear glasses, then I'd simply ask for an explanation. If she didn't give one, and tried to attack me again, then I'd restrain her, or if I was in a particularily shitty mood, then I'd shove her. You showed a lot of restraint, and that's impressive in the situation you described. However, simply standing there and taking it might not have been the best approach, because not she probably thinks she can get away with behaviour like that. If she ever lays a hand on you again, then I suggest you take steps to stop it, because she has a major attitude problem.