--- 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) ---