open-consul/ui/packages/consul-ui/app/components/app-view
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: Notifications re-organization/re-style (#11577) 2021-11-24 18:14:07 +00:00
index.hbs ui: Wrap service names on show and instance routes (#14771) 2022-10-05 13:21:34 -06:00
index.js ui: Notifications re-organization/re-style (#11577) 2021-11-24 18:14:07 +00:00
index.scss UI: Update Consul UI colors to use HDS colors (#16111) 2023-02-27 09:30:12 -07:00
layout.scss ui: Wrap service names on show and instance routes (#14771) 2022-10-05 13:21:34 -06:00
skin.scss UI: Update Consul UI colors to use HDS colors (#16111) 2023-02-27 09:30:12 -07:00

README.mdx

---
class: ember
state: needs-love
---
# AppView

`<AppView />` is our current top level wrapping component (one level in from
the app chrome), every 'top level main section/template' should have one of
these.

This component will potentially be renamed to `Page` or `View` or similar now
that we don't need two words.

Other than that it provides the basic layout/slots for our main title, search
bar, top right hand actions and main content.

The large top margin that is visible when no breadcrumbs are visible is there
to ensure that the page doesn't 'jump around' when you navigate to a page with
breadcrumbs and back again.

```hbs preview-template
<figure>

  <AppView>

    <BlockSlot @name="header">
      <h1>
        Main title <em>{{format-number "100000"}} total {{pluralize 100000 "thing" without-count=true}} in this page</em>
      </h1>
    </BlockSlot>
    <BlockSlot @name="content">

      <EmptyState>
        <BlockSlot @name="body">
          <p>
            Nothing to see here
          </p>
        </BlockSlot>
      </EmptyState>

    </BlockSlot>
  </AppView>

  <figcaption>Basic list-like view</figcaption>
</figure>
```
```hbs preview-template
<figure>

  <AppView>
    <BlockSlot @name="breadcrumbs">
      <ol>
        <li><a href="">Hansel</a></li>
        <li><a href="">Gretel</a></li>
      </ol>
    </BlockSlot>

    <BlockSlot @name="header">
      <h1>
        Scary witch's gingerbread house <em>(run away quick!)</em>
      </h1>
    </BlockSlot>

    <BlockSlot @name="actions">
      <Action
        {{on "click" (noop)}}
      >
        Run away!
      </Action>
    </BlockSlot>

    <BlockSlot @name="content">
      <EmptyState>
        <BlockSlot @name="body">
          <p>
            Double, double toil and trouble
          </p>
        </BlockSlot>
      </EmptyState>
    </BlockSlot>
  </AppView>

  <figcaption>Basic detail-like view</figcaption>
</figure>
```

## Slots

| Name  | Description |
| --- | --- |
| `header` | The main title of the page, you probably want to put a `<h1>` in here |
| `content` | The main content of the page, and potentially an `<Outlet />` somewhere |
| `breadcrumbs` | Any breadcrumbs, you probably want an `ol/li/a` in here |
| `actions` | Any actions relevant for the entire page, probably using `<Action />` |
| `nav` | Secondary navigation goes in here, also see `<TabNav />` |
| `toolbar` | Rendered underneath the header and actions for various 'toolbar' type things, such as our SearchBars |

## Portals

| Name  | Description |
| --- | --- |
| `app-view-actions` | Provides a portal to render additional page actions from any views. This is rendered **before** the contents of the `actions` slot |