I am honoured that @Bracken_Joy thinks I’m good at the words around this.
For starters, what you did was excellent! You gave options, put him in a safe place, and let the tantrum run its course without backing down or giving in.
The rest is icing on that excellent basic cake. @katscratch is right that some kids don’t like their feelings being named for them. I’m just going to say what she said with new words because that can be helpful.
Most important: it’s not going to work the first tantrum. Or the fifth. But you’ll notice after a while, and then he’ll start to do more of the regulating himself and tell you that he’s doing it.
I’ve found Duckling is OK with it sometimes but if it’s a whopper of a tantrum and he’s completely unregulated, he can’t handle any of it and is more like what Kat described. Say what behaviour is OK and is not, and wait it out.
“I can see you need to hit. You can hit the pillow, but my job is to keep you and me safe and I will cannot hit me.” I have semi physically restrained him to cease the hitting, if he’s attempting to hit one of us or to break something, but otherwise let him go for it.
Sometimes, generally when he’s feeling the emotions but is way before he gets to tantrum level, we practice naming the emotions. I might give him options of feelings he can pick from. “Are you angry or frustrated? Happy or excited?” Etc.