---
class: ember
---
# StateMachine
```hbs
```
`` is a renderless component that eases rendering of different states
from within templates using XState State Machine and Statechart objects.
**Please note**: This component is currently a gradual replacement for
StateChart, which has a less ergonmic interface. Guard and Action component are
currently omitted due to a preference to use entries to define those instead of
components (which is WIP)
### Arguments
| Argument/Attribute | Type | Default | Description |
| --- | --- | --- | --- |
| `chart` | `object` | | An xstate statechart/state machine object |
| `initial` | `String` | The initial value of the state chart itself | The initial state of the machine/chart (defaults to whatever is defined on the object itself) |
The component currently yields 1 contextual components:
- ``: Used for rendering matching certain states ([also see State Component](../state/README.mdx))
and 2 further objects:
- `fsm.dispatch`: An action to dispatch an xstate event
- `fsm.state`: The state object itself for usage in the `state-matches` helper
### Example
```hbs
Currently Idle
Currently Loading
Idle and loading
```
### See
- [Component Source Code](./index.js)
- [Template Source Code](./index.hbs)
---