open-consul/ui-v2/app/components/state
2020-07-09 10:08:47 +01:00
..
index.hbs ui: Add <State /> and {{state-matches}}` ember component/helper (#7556) 2020-05-12 17:14:20 +00:00
index.js ui: New Intention Form/List components (#8172) 2020-07-09 10:08:47 +01:00
README.mdx ui: Add <State /> and {{state-matches}}` ember component/helper (#7556) 2020-05-12 17:14:20 +00:00

## State

`<State @state={{matchableStateObject}} @matches="idle">Currently Idle</State>`

`<State />` is a renderless component that eases rendering of different states
from within templates. State objects could be manually made state objects and
xstate state objects. It's very similar to a normal conditional in that if the
state identifier matches the current state, the contents of the component will
be shown.

### Arguments

| Argument/Attribute | Type | Default | Description |
| --- | --- | --- | --- |
| `state` | `object` |  | An object that implements a `match` method |
| `matches` | `String\|Array` |  | A state identifier (or array of state identifiers) to match on |


### Example

```handlebars
<State @state={{state}} @matches="idle">
  Currently Idle
</State>
<State @state={{state}} @matches="loading">
  Currently Loading
</State>
<State @state={{state}} @matches={{array 'loading' 'idle'}}>
  Idle and loading
</State>
```

### See

- [Component Source Code](./index.js)
- [Template Source Code](./index.hbs)

---