open-consul/ui/packages/consul-ui/app/components/menu-panel
Ella Cai aa03846880
UI: Update Consul UI colors to use HDS colors (#16111)
* update red color variables to hds

* change background red to be one step lighter

* map oranges

* map greens

* map blues

* map greys

* delete themes, colours: lemon, magenta, strawberry, and vault color aliases

* add unmapped rainbow colours

* replace white and transparent vars, remove unused semantic vars and frame placeholders

* small tweaks to improve contrast, change node health status x/check colours for non-voters to match design doc, replace semantic colour action w hds colour

* add unmapped grays, remove dark theme, manually set nav bar to use dark colours

* map consul pink colour

* map yellows

* add unmapped oranges, delete light theme

* remove readme, base variables, clean up dangling colours

* Start working on the nav disclosure menus

* Update main-nav-horizontal dropdowns

* Format template

* Update box-shadow tokens

* Replace --tone- usage with tokens

* Update nav disabled state and panel border colour

* Replace rgb usage on tile

* Fix permissions modal overlay

* More fixes

* Replace orange-500 with amber-200

* Update badge colors

* Update vertical sidebar colors

* Remove top border on consul peer list ul

---------

Co-authored-by: wenincode <tyler.wendlandt@hashicorp.com>
2023-02-27 09:30:12 -07:00
..
README.mdx ui: Transition App Chrome to use new Disclosure Menus (#12334) 2022-02-21 12:22:59 +00:00
deprecated.scss ui: Transition App Chrome to use new Disclosure Menus (#12334) 2022-02-21 12:22:59 +00:00
index.hbs ui: Transition App Chrome to use new Disclosure Menus (#12334) 2022-02-21 12:22:59 +00:00
index.js ui: chore - upgrade ember and friends (#14518) 2022-09-15 09:43:17 +01:00
index.scss ui: Icon related fixups (#13183) 2022-05-25 14:28:42 +01:00
layout.scss ui: Transition App Chrome to use new Disclosure Menus (#12334) 2022-02-21 12:22:59 +00:00
skin.scss UI: Update Consul UI colors to use HDS colors (#16111) 2023-02-27 09:30:12 -07:00

README.mdx

# MenuPanel

```hbs preview-template

{{#each
  (array 'light' 'dark')
as |theme|}}
  <figure>
    <figcaption>Without a header</figcaption>
    <div
      class={{class-map
        'menu-panel'
        (array (concat 'theme-' theme))
      }}
    >
      <ul role="menu">
        <li aria-current="true" role="none">
          <Action role="menuitem">Item 1<span>Label</span><span>Label 2</span></Action>
        </li>
        <li role="separator">
          Item some title text
        </li>
        <li role="none">
          <Action role="menuitem">Item 2</Action>
        </li>
        <li role="separator"></li>
        <li role="none">
          <Action role="menuitem">Item 3</Action>
        </li>
      </ul>
    </div>
  </figure>
  <figure>
    <figcaption>With a header</figcaption>
    <div
      class={{class-map
        'menu-panel'
        (array (concat 'theme-' theme))
      }}
    >
      <div>
        <p>Some content explaining what the menu is about</p>
      </div>
      <ul role="menu">
        <li aria-current="true" role="none">
          <Action role="menuitem">Item 1<span>Label</span><span>Label 2</span></Action>
        </li>
        <li role="separator">
          Item some title text
        </li>
        <li role="none">
          <Action role="menuitem">Item 2</Action>
        </li>
        <li role="separator"></li>
        <li role="none">
          <Action role="menuitem">Item 3</Action>
        </li>
      </ul>
    </div>
  </figure>

  <figure>
    <StateChart
      @src={{state-chart 'boolean'}}
    as |State Guard StateAction dispatch state|>
      <Action>Focus Left</Action>
      <DisclosureMenu as |disclosure|>
        <disclosure.Action
          {{on 'click' disclosure.toggle}}
        >
          {{if disclosure.expanded 'Close' 'Open'}}
        </disclosure.Action>
        <disclosure.Menu
          style={{style-map
            (array 'max-height' (if (state-matches state 'true') (add 0 this.rect.height)) 'px')
          }}
          class={{class-map
            (array 'menu-panel')
            (array 'menu-panel-confirming' (state-matches state 'true'))
            (array (concat 'theme-' theme))
          }}

        as |panel|>
          <div
            {{on-resize
              (dom-position (set this 'header'))
            }}
          >
            <p>Some text in here</p>
          </div>
          <panel.Menu as |menu|>
            <menu.Item
              aria-current="true"
            >
              <menu.Action>
                Item 1
                <span>Label</span>
                <span>Label 2</span>
              </menu.Action>
            </menu.Item>
            <menu.Separator>
              Item some title text
            </menu.Separator>
            <menu.Item>
              <menu.Action>
                Item 2
              </menu.Action>
            </menu.Item>
            <menu.Separator />
            <menu.Item
              class="dangerous"
            >
              <menu.Action
                {{on "click" (fn dispatch 'TOGGLE')}}
              >
                Item 3
              </menu.Action>

              <div
                {{on-resize
                  (dom-position (set this 'rect'))
                }}
                style={{style-map
                  (array 'top' (if (state-matches state 'true') (sub 0 this.header.height)) 'px')
                }}
                class={{class-map
                  'menu-panel-confirmation'
                  'informed-action'
                  'confirmation-alert'
                  'warning'
                }}
              >
                <div>
                  <header>Hi</header>
                  <p>Body</p>
                </div>
                <ul>
                  <li>
                    <Action
                      @tabindex="-1"
                      {{on "click" (queue disclosure.close (fn dispatch 'TOGGLE'))}}
                    >
                      Confirm
                    </Action>
                  </li>
                  <li>
                    <Action
                      @tabindex="-1"
                      {{on "click" (fn dispatch 'TOGGLE')}}
                    >
                      Cancel
                    </Action>
                  </li>
                </ul>
              </div>

            </menu.Item>
          </panel.Menu>

        </disclosure.Menu>

      </DisclosureMenu>

      <Action>Focus Right</Action>
    </StateChart>
  </figure>

{{/each}}
```