Adds registered custom properties to the dropdown menus, which can be set in another stylesheet at any level (either on the direct element or on an ancestor) or use the default values given.
Adds the `disabled` attribute to a menu-item button if it's disabled, not just as a className. Styling changes centered on that as well.
Also changes the `beta` class to `status` because it is used for both `beta` and `disabled` indicators. Styling changes for that.
The snippets are a `menubar` in terms of role, and is a list of items (`menitem`, `li`).
Note for myself: submenus are `menu` roles that immediately follow their triggering `menuitem` and are direct children of the parent `menu`, per WCAG. This is done in this commit.
commit e02ce4f898 unintentionally undid some changes for v4 by dbolack, I'm not really sure how. It's evidently not possible to directly "revert" those changes without having a conflicted file, i think something was borked in the process.
manually reverting the changes here, hopefully it works out.
to decrease the width used for the snippet bar triggers, removed the down arrows (for the top level triggers only). And, reduced the padding on the icons in the snippetbar while retaining it inside the menus.
The icons still align between the menu list and the menu trigger, but the text labels do not.
Unless a menu item has the `no-dismiss` attribute (set to either `''` or `'true'`), clicking a menu item will dismiss the menu. Clicking a submenu trigger will not dismiss the menu.
The `no-dismiss` attribute must take a string, either empty or `'true'` because react doesn't allow boolean custom attributes.
Ideally side effects (server calls, etc.) should happen outside of useEffect anyway for reasons like this; Putting the save in the button click keeps the logic in one place instead of spread across multiple functions and renders,
(This change was already made in my local copy toward combining Edit/New/Home pages.)