A component for providing users with contextual options / information on right click.
The menu opens at the pointer, or at the element when it is opened from the keyboard (Shift+F10 or the Menu key). Near the right or bottom edge of the screen it opens to the left of or above the pointer, so it stays on screen. It is a menu and its Options are menuitems: the arrow keys move between them, skipping disabled ones and wrapping at the ends, Home and End jump to the first and last, and Escape closes it and returns focus to where it was.
ContextMenu wraps its children in a box. Set contents to render the wrapper with display: contents instead, so it adds nothing to the layout: an absolutely positioned child still positions against its own ancestors, and a grid or flex item stays one. A timeline clip or a table row can take a context menu this way without a hand-made one. With contents there is no box for className, style or the disabled dimming to style.