Skip to content

Refactor Menubar #69

Description

@lynkos
Divider:
    Alias for `<div class="divider"></div>`

MenuItem:
    Label (String): Item label
    Symbol (String, optional): Symbol to the right of item (e.g. `⇧ ⌘ ⌫`); can also be FontAwesome icon (e.g. `<i alt="Right chevron icon" class="fas fa-chevron-right mini-icon" aria-hidden="true"></i></div>`)
    Disabled (boolean, optional): Add `.disabled` class if `true`; default is `false`

Menu:
    Label (String OR `svg` code): Menu label
    Items (List[MenuItem | Divider]): List of `MenuItem`s or `Divider`s

Example

Input

Menu(
    "Finder",
    [
        MenuItem("About Finder"),
        Divider(),
        MenuItem("Settings…", "⌘ ,"),
        Divider(),
        MenuItem("Empty Trash…", "⇧ ⌘ ⌫"),
        Divider(),
        MenuItem("Services", '<i alt="Right chevron icon" class="fas fa-chevron-right mini-icon" aria-hidden="true"></i>'),
        Divider(),
        MenuItem("Hide Finder", "⌘ H"),
        MenuItem("Hide Others", "⌥ ⌘ H"),
        MenuItem("Show All", null, true)
    ]
);

Output

Button

<span role="button" aria-pressed="false" tabindex="0" aria-haspopup="true" aria-expanded="false" id="finder" class="menus active">Finder</span>

Contents (i.e. when Button is clicked)

<div id="finder-menu" class="menu-dropdown">
  <div class="option" role="menuitem">About Finder</div>
  <div class="divider"></div>
  <div class="position-title option" role="menuitem">
    <div>Settings…</div>
    <div class="mini-icon">⌘ ,</div>
  </div>
  <div class="divider"></div>
  <div class="position-title option" role="menuitem">
    <div>Empty Trash…</div>
    <div class="mini-icon">⇧ ⌘ ⌫</div>
  </div>
  <div class="divider"></div>
  <div class="position-title option" role="menuitem">
    <div>Services</div>
    <i alt="Right chevron icon" class="fas fa-chevron-right mini-icon" aria-hidden="true"></i>
  </div>
  <div class="divider"></div>
  <div class="position-title option" role="menuitem">
    <div>Hide Finder</div>
    <div class="mini-icon">⌘ H</div>
  </div>
  <div class="position-title option" role="menuitem">
    <div>Hide Others</div>
    <div class="mini-icon">⌥ ⌘ H</div>
  </div>
  <div class="option disabled" role="menuitem">Show All</div>
</div>

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

enhancementNew or improvement to existing feature

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions