Support `visible` attribute and property controlling menu show/hide