## Constants

<dl>
<dt><a href="#VrkflowMixin">VrkflowMixin</a></dt>
<dd><p>Creates Vue component mixin</p>
</dd>
</dl>

## Functions

<dl>
<dt><a href="#$beforeGoToNextStep">$beforeGoToNextStep()</a></dt>
<dd><p>&quot;before&quot; goToNextStep callback</p>
</dd>
<dt><a href="#$afterGoToNextStep">$afterGoToNextStep()</a></dt>
<dd><p>&quot;after&quot; afterGoToNextStep callback</p>
</dd>
<dt><a href="#$beforeGoToPreviousStep">$beforeGoToPreviousStep()</a></dt>
<dd><p>&quot;after&quot; goToPreviousStep callback</p>
</dd>
<dt><a href="#$afterGoToPreviousStep">$afterGoToPreviousStep()</a></dt>
<dd><p>&quot;before&quot; goToPreviousStep callback</p>
</dd>
<dt><a href="#$beforeCloseWorkflow">$beforeCloseWorkflow()</a></dt>
<dd><p>&quot;after&quot; closeWorkflow callback</p>
</dd>
<dt><a href="#$afterCloseWorkflow">$afterCloseWorkflow()</a></dt>
<dd><p>&quot;before&quot; closeWorkflow callback</p>
</dd>
<dt><a href="#$beforeInitWorkflow">$beforeInitWorkflow()</a></dt>
<dd><p>&quot;after&quot; initWorkflow callback</p>
</dd>
<dt><a href="#$afterInitWorkflow">$afterInitWorkflow()</a></dt>
<dd><p>&quot;before&quot; initWorkflow callback</p>
</dd>
<dt><a href="#$beforeResetWorkflow">$beforeResetWorkflow()</a></dt>
<dd><p>&quot;after&quot; resetWorkflow callback</p>
</dd>
<dt><a href="#$afterResetWorkflow">$afterResetWorkflow()</a></dt>
<dd><p>&quot;before&quot; resetWorkflow callback</p>
</dd>
<dt><a href="#$beforeSubmitWorkflow">$beforeSubmitWorkflow()</a></dt>
<dd><p>&quot;after&quot; submitWorkflow callback</p>
</dd>
<dt><a href="#$afterSubmitWorkflow">$afterSubmitWorkflow()</a></dt>
<dd><p>&quot;before&quot; submitWorkflow callback</p>
</dd>
<dt><a href="#$onGoToNextStepSuccess">$onGoToNextStepSuccess()</a></dt>
<dd><p>&quot;after&quot; goToNextStepSuccess callback</p>
</dd>
<dt><a href="#$onGoToNextStepReject">$onGoToNextStepReject()</a></dt>
<dd><p>goToNextStepReject callback</p>
</dd>
<dt><a href="#$resetWorkflow">$resetWorkflow()</a></dt>
<dd><p>reset all steps to initial state</p>
</dd>
<dt><a href="#$initWorkflow">$initWorkflow()</a></dt>
<dd><p>Initialize the workflow: create valid steps using the steps
component collection (i.e. steps property can be a data or a computed)
and set the first one as current</p>
</dd>
<dt><a href="#$startWorkflow">$startWorkflow()</a></dt>
<dd><p>Set the state&#39;s isActive property to true</p>
</dd>
<dt><a href="#$goToPreviousStep">$goToPreviousStep()</a></dt>
<dd><p>Go to the previous step. If it doesn&#39;t exists, close the workflow</p>
</dd>
<dt><a href="#$goToNextStep">$goToNextStep()</a></dt>
<dd><p>Go to the next step. If it doesn&#39;t exists, fires submit and close the workflow</p>
</dd>
<dt><a href="#$closeWorkflow">$closeWorkflow()</a></dt>
<dd><p>Reset all the steps, set the state&#39;s isActive property to false</p>
</dd>
<dt><a href="#$submitWorkflow">$submitWorkflow()</a></dt>
<dd><p>Set the state&#39;s isActive property to false.</p>
</dd>
<dt><a href="#$getPreviousStep">$getPreviousStep()</a> ⇒ <code>Object</code></dt>
<dd><p>Returns the previous step</p>
</dd>
<dt><a href="#$getNextStep">$getNextStep()</a> ⇒ <code>Object</code></dt>
<dd><p>Returns the next step</p>
</dd>
<dt><a href="#$getStep">$getStep()</a> ⇒ <code>Object</code></dt>
<dd><p>Returns the step at the given index</p>
</dd>
<dt><a href="#$setCurrent">$setCurrent()</a> ⇒ <code>Object</code></dt>
<dd><p>Set a step as current</p>
</dd>
<dt><a href="#$removeStep">$removeStep()</a></dt>
<dd><p>Remove a step at the given index</p>
</dd>
<dt><a href="#$setCanJump">$setCanJump()</a></dt>
<dd><p>Set canJump property</p>
</dd>
<dt><a href="#$setComplete">$setComplete()</a></dt>
<dd><p>Set a step as complete</p>
</dd>
<dt><a href="#$updateStep">$updateStep()</a></dt>
<dd><p>Update a step at the given index</p>
</dd>
<dt><a href="#$appendSteps">$appendSteps()</a></dt>
<dd><p>Append one or more steps to the steps collection</p>
</dd>
<dt><a href="#$prependSteps">$prependSteps()</a></dt>
<dd><p>Add one or more steps at the beginning of the step collection</p>
</dd>
<dt><a href="#$insertSteps">$insertSteps()</a></dt>
<dd><p>Insert one or more steps at the given index of the step collection</p>
</dd>
<dt><a href="#$triggerJumpToStep">$triggerJumpToStep()</a></dt>
<dd><p>Trigger jumpToStep emitting the events before and after jumping to the step</p>
</dd>
<dt><a href="#$triggerNextStep">$triggerNextStep()</a></dt>
<dd><p>Trigger toNextStep emitting the events before and after jumping to the step</p>
</dd>
<dt><a href="#$triggerPreviousStep">$triggerPreviousStep()</a></dt>
<dd><p>Trigger toPreviousStep emitting the events before and after jumping to the step</p>
</dd>
</dl>

<a name="VrkflowMixin"></a>

## VrkflowMixin
Creates Vue component mixin

**Kind**: global constant  
<a name="$beforeGoToNextStep"></a>

## $beforeGoToNextStep()
"before" goToNextStep callback

**Kind**: global function  
<a name="$afterGoToNextStep"></a>

## $afterGoToNextStep()
"after" afterGoToNextStep callback

**Kind**: global function  
<a name="$beforeGoToPreviousStep"></a>

## $beforeGoToPreviousStep()
"after" goToPreviousStep callback

**Kind**: global function  
<a name="$afterGoToPreviousStep"></a>

## $afterGoToPreviousStep()
"before" goToPreviousStep callback

**Kind**: global function  
<a name="$beforeCloseWorkflow"></a>

## $beforeCloseWorkflow()
"after" closeWorkflow callback

**Kind**: global function  
<a name="$afterCloseWorkflow"></a>

## $afterCloseWorkflow()
"before" closeWorkflow callback

**Kind**: global function  
<a name="$beforeInitWorkflow"></a>

## $beforeInitWorkflow()
"after" initWorkflow callback

**Kind**: global function  
<a name="$afterInitWorkflow"></a>

## $afterInitWorkflow()
"before" initWorkflow callback

**Kind**: global function  
<a name="$beforeResetWorkflow"></a>

## $beforeResetWorkflow()
"after" resetWorkflow callback

**Kind**: global function  
<a name="$afterResetWorkflow"></a>

## $afterResetWorkflow()
"before" resetWorkflow callback

**Kind**: global function  
<a name="$beforeSubmitWorkflow"></a>

## $beforeSubmitWorkflow()
"after" submitWorkflow callback

**Kind**: global function  
<a name="$afterSubmitWorkflow"></a>

## $afterSubmitWorkflow()
"before" submitWorkflow callback

**Kind**: global function  
<a name="$onGoToNextStepSuccess"></a>

## $onGoToNextStepSuccess()
"after" goToNextStepSuccess callback

**Kind**: global function  
<a name="$onGoToNextStepReject"></a>

## $onGoToNextStepReject()
goToNextStepReject callback

**Kind**: global function  
<a name="$resetWorkflow"></a>

## $resetWorkflow()
reset all steps to initial state

**Kind**: global function  
<a name="$initWorkflow"></a>

## $initWorkflow()
Initialize the workflow: create valid steps using the steps
component collection (i.e. steps property can be a data or a computed)
and set the first one as current

**Kind**: global function  
<a name="$startWorkflow"></a>

## $startWorkflow()
Set the state's isActive property to true

**Kind**: global function  
<a name="$goToPreviousStep"></a>

## $goToPreviousStep()
Go to the previous step. If it doesn't exists, close the workflow

**Kind**: global function  
<a name="$goToNextStep"></a>

## $goToNextStep()
Go to the next step. If it doesn't exists, fires submit and close the workflow

**Kind**: global function  
<a name="$closeWorkflow"></a>

## $closeWorkflow()
Reset all the steps, set the state's isActive property to false

**Kind**: global function  
<a name="$submitWorkflow"></a>

## $submitWorkflow()
Set the state's isActive property to false.

**Kind**: global function  
<a name="$getPreviousStep"></a>

## $getPreviousStep() ⇒ <code>Object</code>
Returns the previous step

**Kind**: global function  
**Returns**: <code>Object</code> - step - The previous step  
<a name="$getNextStep"></a>

## $getNextStep() ⇒ <code>Object</code>
Returns the next step

**Kind**: global function  
**Returns**: <code>Object</code> - step - The next step  
<a name="$getStep"></a>

## $getStep() ⇒ <code>Object</code>
Returns the step at the given index

**Kind**: global function  
**Returns**: <code>Object</code> - step - The next step  

| Param | Type | Description |
| --- | --- | --- |
| ... | <code>Object</code> |  |
| .index | <code>Number</code> | A valid step collection index |

<a name="$setCurrent"></a>

## $setCurrent() ⇒ <code>Object</code>
Set a step as current

**Kind**: global function  
**Returns**: <code>Object</code> - step - The next step  

| Param | Type | Description |
| --- | --- | --- |
| ... | <code>Object</code> |  |
| .index | <code>Number</code> | A valid step collection index |

<a name="$removeStep"></a>

## $removeStep()
Remove a step at the given index

**Kind**: global function  

| Param | Type | Description |
| --- | --- | --- |
| ... | <code>Object</code> |  |
| .index | <code>Number</code> | A valid step collection index |

<a name="$setCanJump"></a>

## $setCanJump()
Set canJump property

**Kind**: global function  

| Param | Type | Description |
| --- | --- | --- |
| ... | <code>Object</code> |  |
| .index | <code>Number</code> | A valid step collection index |
| .canJump | <code>Boolean</code> | Jumpable property |

<a name="$setComplete"></a>

## $setComplete()
Set a step as complete

**Kind**: global function  

| Param | Type | Description |
| --- | --- | --- |
| ... | <code>Object</code> |  |
| .index | <code>Number</code> | A valid step collection index |
| .complete | <code>Boolean</code> | Complete property |

<a name="$updateStep"></a>

## $updateStep()
Update a step at the given index

**Kind**: global function  

| Param | Type | Description |
| --- | --- | --- |
| ... | <code>Object</code> |  |
| .index | <code>Number</code> | A valid step collection index |
| .step | <code>Object</code> | This object will be merged with the step at the given index |

<a name="$appendSteps"></a>

## $appendSteps()
Append one or more steps to the steps collection

**Kind**: global function  

| Param | Type | Description |
| --- | --- | --- |
| ... | <code>Object</code> |  |
| .steps | <code>Array</code> | A collection of steps |

<a name="$prependSteps"></a>

## $prependSteps()
Add one or more steps at the beginning of the step collection

**Kind**: global function  

| Param | Type | Description |
| --- | --- | --- |
| ... | <code>Object</code> |  |
| .steps | <code>Array</code> | A collection of steps |

<a name="$insertSteps"></a>

## $insertSteps()
Insert one or more steps at the given index of the step collection

**Kind**: global function  

| Param | Type | Description |
| --- | --- | --- |
| ... | <code>Object</code> |  |
| .steps | <code>Array</code> | A collection of steps |
| .index | <code>Number</code> | A valid step collection index |

<a name="$triggerJumpToStep"></a>

## $triggerJumpToStep()
Trigger jumpToStep emitting the events before and after jumping to the step

**Kind**: global function  
**Emits**: <code>event:beforeJumpToStep</code>, <code>event:afterJumpToStep</code>  

| Param | Type | Description |
| --- | --- | --- |
| ... | <code>Object</code> |  |
| .step | <code>Object</code> | Target step |

<a name="$triggerNextStep"></a>

## $triggerNextStep()
Trigger toNextStep emitting the events before and after jumping to the step

**Kind**: global function  
**Emits**: <code>event:beforeNextStep</code>, <code>event:afterNextStep</code>  

| Param | Type | Description |
| --- | --- | --- |
| ... | <code>Object</code> |  |
| .step | <code>Object</code> | Target step |

<a name="$triggerPreviousStep"></a>

## $triggerPreviousStep()
Trigger toPreviousStep emitting the events before and after jumping to the step

**Kind**: global function  
**Emits**: <code>event:beforePreviousStep</code>, <code>event:afterPreviousStep</code>  

| Param | Type | Description |
| --- | --- | --- |
| ... | <code>Object</code> |  |
| .step | <code>Object</code> | Target step |

