This feature shipped quietly back in Winter ’19.
The official docs are somewhat hidden away here. This blog post is mainly an effort to raise the profile of this feature a bit.
If you wrap a base component that has a “required” attribute, even if you expose the attribute, Flow will not know to check unless you implement a validate function as described here.