At 21 days she should be ready. She probably is but some females will hold longer in attempt to protect their fry when they cannot find a suitable place to spit.
21 days is average. Some spit sooner, some later, depends on many things. Species, female's condition, aggression, suitable spit sites.
I had a big pile of small rocks for my display tank. I got tired of netting out holding females and instead of holding forever and missing out on valuable recovery time the females would spit in the small rock pile, hiding in a rear corner of the tank. The smaller nooks and crannies that the adults could not get into made it so that the fry had ample area to hide in while growing without getting eaten.