I'm 100% with Flowery here. if the OP informs them of their pregnancy now, there is every chance the job offer will be withdrawn. How can that possibly be the honest, fair and moral outcome?
When you employ someone, there are risks. They might prove unreliable, have an undeclared condition that means a lot of unplanned time off, leave after expensive training, leave with your best customers, screw up a major contract. If you have the right recruitment process, and hire the right person, that person will still be the right person on their return from maternity leave. Maternity leave is actually manageable - yes even for small businesses. It's finite, it can be planned for and the person isn't vanishing with the company secrets.
I'd much rather hire someone that delivers value to the company for a short time, than make an expensive hiring mistake.
In my view, saying don't hire a pregnant woman is exactly the same as saying all jobs should go to 35 year old men (old enough to be reliable, not too old to be past it). Should women also declare undiagnosed breast lumps, because if it turns out to be cancer there will be lots of absence? Just think where that line of thought takes you.
The right person for the job is the right person for the job. Anything else is discriminatory.