summaryrefslogtreecommitdiff
path: root/api/pl.treksoft.kvision.state
diff options
context:
space:
mode:
authorRobert Jaros <rjaros@finn.pl>2020-05-21 00:13:50 +0200
committerRobert Jaros <rjaros@finn.pl>2020-05-21 00:13:50 +0200
commitbfd5aa358e141d6c86d476d8bb66b104a80a3b96 (patch)
treeef6207d4c4739350637a54fe9263b7ade2a8b51b /api/pl.treksoft.kvision.state
parent7dd4af03244265ce1bc8aa00440fec19ce978264 (diff)
downloadkvision-bfd5aa358e141d6c86d476d8bb66b104a80a3b96.tar.gz
kvision-bfd5aa358e141d6c86d476d8bb66b104a80a3b96.tar.bz2
kvision-bfd5aa358e141d6c86d476d8bb66b104a80a3b96.zip
API documentation for KVision 3.10.0gh-pages
Diffstat (limited to 'api/pl.treksoft.kvision.state')
-rw-r--r--api/pl.treksoft.kvision.state/-observable-list-wrapper/index.html14
-rw-r--r--api/pl.treksoft.kvision.state/-observable-list/index.html14
-rw-r--r--api/pl.treksoft.kvision.state/-observable-set-wrapper/index.html14
-rw-r--r--api/pl.treksoft.kvision.state/-observable-set/index.html14
-rw-r--r--api/pl.treksoft.kvision.state/-observable-state/index.html185
-rw-r--r--api/pl.treksoft.kvision.state/-observable-value/index.html14
-rw-r--r--api/pl.treksoft.kvision.state/-state-binding/index.html29
-rw-r--r--api/pl.treksoft.kvision.state/-updateable/index.html4
-rw-r--r--api/pl.treksoft.kvision.state/bind.html24
-rw-r--r--api/pl.treksoft.kvision.state/index.html17
-rw-r--r--api/pl.treksoft.kvision.state/state-binding.html4
-rw-r--r--api/pl.treksoft.kvision.state/state-update.html4
12 files changed, 328 insertions, 9 deletions
diff --git a/api/pl.treksoft.kvision.state/-observable-list-wrapper/index.html b/api/pl.treksoft.kvision.state/-observable-list-wrapper/index.html
index 95f8a34f..5be55430 100644
--- a/api/pl.treksoft.kvision.state/-observable-list-wrapper/index.html
+++ b/api/pl.treksoft.kvision.state/-observable-list-wrapper/index.html
@@ -215,5 +215,19 @@
</tr>
</tbody>
</table>
+<h3>Extension Properties</h3>
+<table>
+<tbody>
+<tr>
+<td>
+(js)
+<h4><a href="../../pl.treksoft.kvision.event/state-flow.html">stateFlow</a></h4>
+</td>
+<td>
+<p>Extension property returning StateFlow for an ObservableState.</p>
+<code><span class="keyword">val </span><span class="symbol">&lt;</span><span class="identifier">S</span><span class="symbol">&gt;</span> <a href="../-observable-state/index.html"><span class="identifier">ObservableState</span></a><span class="symbol">&lt;</span><span class="identifier">S</span><span class="symbol">&gt;</span><span class="symbol">.</span><span class="identifier">stateFlow</span><span class="symbol">: </span><span class="identifier">StateFlow</span><span class="symbol">&lt;</span><span class="identifier">S</span><span class="symbol">&gt;</span></code></td>
+</tr>
+</tbody>
+</table>
</BODY>
</HTML>
diff --git a/api/pl.treksoft.kvision.state/-observable-list/index.html b/api/pl.treksoft.kvision.state/-observable-list/index.html
index 9dc63c41..a3ac6789 100644
--- a/api/pl.treksoft.kvision.state/-observable-list/index.html
+++ b/api/pl.treksoft.kvision.state/-observable-list/index.html
@@ -23,6 +23,20 @@
</tr>
</tbody>
</table>
+<h3>Extension Properties</h3>
+<table>
+<tbody>
+<tr>
+<td>
+(js)
+<h4><a href="../../pl.treksoft.kvision.event/state-flow.html">stateFlow</a></h4>
+</td>
+<td>
+<p>Extension property returning StateFlow for an ObservableState.</p>
+<code><span class="keyword">val </span><span class="symbol">&lt;</span><span class="identifier">S</span><span class="symbol">&gt;</span> <a href="../-observable-state/index.html"><span class="identifier">ObservableState</span></a><span class="symbol">&lt;</span><span class="identifier">S</span><span class="symbol">&gt;</span><span class="symbol">.</span><span class="identifier">stateFlow</span><span class="symbol">: </span><span class="identifier">StateFlow</span><span class="symbol">&lt;</span><span class="identifier">S</span><span class="symbol">&gt;</span></code></td>
+</tr>
+</tbody>
+</table>
<h3>Inheritors</h3>
<table>
<tbody>
diff --git a/api/pl.treksoft.kvision.state/-observable-set-wrapper/index.html b/api/pl.treksoft.kvision.state/-observable-set-wrapper/index.html
index 7533d5bc..1de37c88 100644
--- a/api/pl.treksoft.kvision.state/-observable-set-wrapper/index.html
+++ b/api/pl.treksoft.kvision.state/-observable-set-wrapper/index.html
@@ -156,5 +156,19 @@
</tr>
</tbody>
</table>
+<h3>Extension Properties</h3>
+<table>
+<tbody>
+<tr>
+<td>
+(js)
+<h4><a href="../../pl.treksoft.kvision.event/state-flow.html">stateFlow</a></h4>
+</td>
+<td>
+<p>Extension property returning StateFlow for an ObservableState.</p>
+<code><span class="keyword">val </span><span class="symbol">&lt;</span><span class="identifier">S</span><span class="symbol">&gt;</span> <a href="../-observable-state/index.html"><span class="identifier">ObservableState</span></a><span class="symbol">&lt;</span><span class="identifier">S</span><span class="symbol">&gt;</span><span class="symbol">.</span><span class="identifier">stateFlow</span><span class="symbol">: </span><span class="identifier">StateFlow</span><span class="symbol">&lt;</span><span class="identifier">S</span><span class="symbol">&gt;</span></code></td>
+</tr>
+</tbody>
+</table>
</BODY>
</HTML>
diff --git a/api/pl.treksoft.kvision.state/-observable-set/index.html b/api/pl.treksoft.kvision.state/-observable-set/index.html
index a323f3af..72e01a8f 100644
--- a/api/pl.treksoft.kvision.state/-observable-set/index.html
+++ b/api/pl.treksoft.kvision.state/-observable-set/index.html
@@ -23,6 +23,20 @@
</tr>
</tbody>
</table>
+<h3>Extension Properties</h3>
+<table>
+<tbody>
+<tr>
+<td>
+(js)
+<h4><a href="../../pl.treksoft.kvision.event/state-flow.html">stateFlow</a></h4>
+</td>
+<td>
+<p>Extension property returning StateFlow for an ObservableState.</p>
+<code><span class="keyword">val </span><span class="symbol">&lt;</span><span class="identifier">S</span><span class="symbol">&gt;</span> <a href="../-observable-state/index.html"><span class="identifier">ObservableState</span></a><span class="symbol">&lt;</span><span class="identifier">S</span><span class="symbol">&gt;</span><span class="symbol">.</span><span class="identifier">stateFlow</span><span class="symbol">: </span><span class="identifier">StateFlow</span><span class="symbol">&lt;</span><span class="identifier">S</span><span class="symbol">&gt;</span></code></td>
+</tr>
+</tbody>
+</table>
<h3>Inheritors</h3>
<table>
<tbody>
diff --git a/api/pl.treksoft.kvision.state/-observable-state/index.html b/api/pl.treksoft.kvision.state/-observable-state/index.html
index 30825ea9..d6c4ae51 100644
--- a/api/pl.treksoft.kvision.state/-observable-state/index.html
+++ b/api/pl.treksoft.kvision.state/-observable-state/index.html
@@ -33,12 +33,80 @@
</tr>
</tbody>
</table>
+<h3>Extension Properties</h3>
+<table>
+<tbody>
+<tr>
+<td>
+(js)
+<h4><a href="../../pl.treksoft.kvision.event/state-flow.html">stateFlow</a></h4>
+</td>
+<td>
+<p>Extension property returning StateFlow for an ObservableState.</p>
+<code><span class="keyword">val </span><span class="symbol">&lt;</span><span class="identifier">S</span><span class="symbol">&gt;</span> <a href="./index.html"><span class="identifier">ObservableState</span></a><span class="symbol">&lt;</span><span class="identifier">S</span><span class="symbol">&gt;</span><span class="symbol">.</span><span class="identifier">stateFlow</span><span class="symbol">: </span><span class="identifier">StateFlow</span><span class="symbol">&lt;</span><span class="identifier">S</span><span class="symbol">&gt;</span></code></td>
+</tr>
+</tbody>
+</table>
<h3>Inheritors</h3>
<table>
<tbody>
<tr>
<td>
(js)
+<h4><a href="../../pl.treksoft.kvision.form.text/-abstract-text/index.html">AbstractText</a></h4>
+</td>
+<td>
+<p>Base class for form field text components.</p>
+<code><span class="keyword">abstract</span> <span class="keyword">class </span><span class="identifier">AbstractText</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.panel/-simple-panel/index.html"><span class="identifier">SimplePanel</span></a><span class="symbol">, </span><a href="../../pl.treksoft.kvision.form/-string-form-control/index.html"><span class="identifier">StringFormControl</span></a><span class="symbol">, </span><a href="./index.html"><span class="identifier">ObservableState</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">&gt;</span></code></td>
+</tr>
+<tr>
+<td>
+(js)
+<h4><a href="../../pl.treksoft.kvision.form.text/-abstract-text-input/index.html">AbstractTextInput</a></h4>
+</td>
+<td>
+<p>Base class for basic text components.</p>
+<code><span class="keyword">abstract</span> <span class="keyword">class </span><span class="identifier">AbstractTextInput</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a><span class="symbol">, </span><a href="../../pl.treksoft.kvision.form/-form-input/index.html"><span class="identifier">FormInput</span></a><span class="symbol">, </span><a href="./index.html"><span class="identifier">ObservableState</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">&gt;</span></code></td>
+</tr>
+<tr>
+<td>
+(js)
+<h4><a href="../../pl.treksoft.kvision.form.check/-check-box/index.html">CheckBox</a></h4>
+</td>
+<td>
+<p>The form field component rendered as HTML <em>input type="checkbox"</em>.</p>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">CheckBox</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.panel/-simple-panel/index.html"><span class="identifier">SimplePanel</span></a><span class="symbol">, </span><a href="../../pl.treksoft.kvision.form/-bool-form-control/index.html"><span class="identifier">BoolFormControl</span></a><span class="symbol">, </span><a href="./index.html"><span class="identifier">ObservableState</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">&gt;</span></code></td>
+</tr>
+<tr>
+<td>
+(js)
+<h4><a href="../../pl.treksoft.kvision.form.check/-check-input/index.html">CheckInput</a></h4>
+</td>
+<td>
+<p>The basic input component rendered as HTML <em>input type="checkbox"</em> or <em>input type="radio"</em>.</p>
+<code><span class="keyword">abstract</span> <span class="keyword">class </span><span class="identifier">CheckInput</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a><span class="symbol">, </span><a href="../../pl.treksoft.kvision.form/-form-input/index.html"><span class="identifier">FormInput</span></a><span class="symbol">, </span><a href="./index.html"><span class="identifier">ObservableState</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">&gt;</span></code></td>
+</tr>
+<tr>
+<td>
+(js)
+<h4><a href="../../pl.treksoft.kvision.form.time/-date-time/index.html">DateTime</a></h4>
+</td>
+<td>
+<p>Form field date/time chooser component.</p>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">DateTime</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.panel/-simple-panel/index.html"><span class="identifier">SimplePanel</span></a><span class="symbol">, </span><a href="../../pl.treksoft.kvision.form/-date-form-control/index.html"><span class="identifier">DateFormControl</span></a><span class="symbol">, </span><a href="./index.html"><span class="identifier">ObservableState</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.js/-date/index.html"><span class="identifier">Date</span></a><span class="symbol">?</span><span class="symbol">&gt;</span></code></td>
+</tr>
+<tr>
+<td>
+(js)
+<h4><a href="../../pl.treksoft.kvision.form.time/-date-time-input/index.html">DateTimeInput</a></h4>
+</td>
+<td>
+<p>Basic date/time chooser component.</p>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">DateTimeInput</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.panel/-simple-panel/index.html"><span class="identifier">SimplePanel</span></a><span class="symbol">, </span><a href="../../pl.treksoft.kvision.form/-form-input/index.html"><span class="identifier">FormInput</span></a><span class="symbol">, </span><a href="./index.html"><span class="identifier">ObservableState</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.js/-date/index.html"><span class="identifier">Date</span></a><span class="symbol">?</span><span class="symbol">&gt;</span></code></td>
+</tr>
+<tr>
+<td>
+(js)
<h4><a href="../-observable-list/index.html">ObservableList</a></h4>
</td>
<td>
@@ -84,12 +152,129 @@
<tr>
<td>
(js)
+<h4><a href="../../pl.treksoft.kvision.form.check/-radio/index.html">Radio</a></h4>
+</td>
+<td>
+<p>The form field component rendered as HTML <em>input type="radio"</em>.</p>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Radio</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.panel/-simple-panel/index.html"><span class="identifier">SimplePanel</span></a><span class="symbol">, </span><a href="../../pl.treksoft.kvision.form/-bool-form-control/index.html"><span class="identifier">BoolFormControl</span></a><span class="symbol">, </span><a href="./index.html"><span class="identifier">ObservableState</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">&gt;</span></code></td>
+</tr>
+<tr>
+<td>
+(js)
+<h4><a href="../../pl.treksoft.kvision.form.check/-radio-group/index.html">RadioGroup</a></h4>
+</td>
+<td>
+<p>The form field component rendered as a group of HTML <em>input type="radio"</em> elements with the same name attribute.</p>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">RadioGroup</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.panel/-simple-panel/index.html"><span class="identifier">SimplePanel</span></a><span class="symbol">, </span><a href="../../pl.treksoft.kvision.form/-string-form-control/index.html"><span class="identifier">StringFormControl</span></a><span class="symbol">, </span><a href="./index.html"><span class="identifier">ObservableState</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">&gt;</span></code></td>
+</tr>
+<tr>
+<td>
+(js)
+<h4><a href="../../pl.treksoft.kvision.form.check/-radio-group-input/index.html">RadioGroupInput</a></h4>
+</td>
+<td>
+<p>The input component rendered as a group of HTML <em>input type="radio"</em> elements with the same name attribute.</p>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">RadioGroupInput</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.panel/-simple-panel/index.html"><span class="identifier">SimplePanel</span></a><span class="symbol">, </span><a href="../../pl.treksoft.kvision.form/-form-input/index.html"><span class="identifier">FormInput</span></a><span class="symbol">, </span><a href="./index.html"><span class="identifier">ObservableState</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">&gt;</span></code></td>
+</tr>
+<tr>
+<td>
+(js)
+<h4><a href="../../pl.treksoft.kvision.form.range/-range/index.html">Range</a></h4>
+</td>
+<td>
+<p>The form field component for range input control.</p>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Range</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.panel/-simple-panel/index.html"><span class="identifier">SimplePanel</span></a><span class="symbol">, </span><a href="../../pl.treksoft.kvision.form/-number-form-control/index.html"><span class="identifier">NumberFormControl</span></a><span class="symbol">, </span><a href="./index.html"><span class="identifier">ObservableState</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-number/index.html"><span class="identifier">Number</span></a><span class="symbol">?</span><span class="symbol">&gt;</span></code></td>
+</tr>
+<tr>
+<td>
+(js)
+<h4><a href="../../pl.treksoft.kvision.form.range/-range-input/index.html">RangeInput</a></h4>
+</td>
+<td>
+<p>Range input component.</p>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">RangeInput</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a><span class="symbol">, </span><a href="../../pl.treksoft.kvision.form/-form-input/index.html"><span class="identifier">FormInput</span></a><span class="symbol">, </span><a href="./index.html"><span class="identifier">ObservableState</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-number/index.html"><span class="identifier">Number</span></a><span class="symbol">?</span><span class="symbol">&gt;</span></code></td>
+</tr>
+<tr>
+<td>
+(js)
+<h4><a href="../../pl.treksoft.kvision.react/-react/index.html">React</a></h4>
+</td>
+<td>
+<p>React component for KVision with support for state holder.</p>
+<code><span class="keyword">class </span><span class="identifier">React</span><span class="symbol">&lt;</span><span class="identifier">S</span><span class="symbol">&gt;</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a><span class="symbol">, </span><a href="./index.html"><span class="identifier">ObservableState</span></a><span class="symbol">&lt;</span><span class="identifier">S</span><span class="symbol">&gt;</span></code></td>
+</tr>
+<tr>
+<td>
+(js)
<h4><a href="../../pl.treksoft.kvision.redux/-redux-store/index.html">ReduxStore</a></h4>
</td>
<td>
<p>A class implementing redux pattern backed by the Redux Kotlin library.</p>
<code><span class="keyword">class </span><span class="identifier">ReduxStore</span><span class="symbol">&lt;</span><span class="identifier">S</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">A</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.redux/-r-action.html"><span class="identifier">RAction</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">ObservableState</span></a><span class="symbol">&lt;</span><span class="identifier">S</span><span class="symbol">&gt;</span></code></td>
</tr>
+<tr>
+<td>
+(js)
+<h4><a href="../../pl.treksoft.kvision.form.select/-select/index.html">Select</a></h4>
+</td>
+<td>
+<p>The form field component for Select control.</p>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Select</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.panel/-simple-panel/index.html"><span class="identifier">SimplePanel</span></a><span class="symbol">, </span><a href="../../pl.treksoft.kvision.form/-string-form-control/index.html"><span class="identifier">StringFormControl</span></a><span class="symbol">, </span><a href="./index.html"><span class="identifier">ObservableState</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">&gt;</span></code></td>
+</tr>
+<tr>
+<td>
+(js)
+<h4><a href="../../pl.treksoft.kvision.form.select/-select-input/index.html">SelectInput</a></h4>
+</td>
+<td>
+<p>The basic component for Select control.</p>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">SelectInput</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.panel/-simple-panel/index.html"><span class="identifier">SimplePanel</span></a><span class="symbol">, </span><a href="../../pl.treksoft.kvision.form/-form-input/index.html"><span class="identifier">FormInput</span></a><span class="symbol">, </span><a href="./index.html"><span class="identifier">ObservableState</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">&gt;</span></code></td>
+</tr>
+<tr>
+<td>
+(js)
+<h4><a href="../../pl.treksoft.kvision.form.select/-select-remote/index.html">SelectRemote</a></h4>
+</td>
+<td>
+<p>The form field component for SelectRemote control.</p>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">SelectRemote</span><span class="symbol">&lt;</span><span class="identifier">T</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.panel/-simple-panel/index.html"><span class="identifier">SimplePanel</span></a><span class="symbol">, </span><a href="../../pl.treksoft.kvision.form/-string-form-control/index.html"><span class="identifier">StringFormControl</span></a><span class="symbol">, </span><a href="./index.html"><span class="identifier">ObservableState</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">&gt;</span></code></td>
+</tr>
+<tr>
+<td>
+(js)
+<h4><a href="../../pl.treksoft.kvision.form.select/-simple-select/index.html">SimpleSelect</a></h4>
+</td>
+<td>
+<p>The form field component for SimpleSelect control.</p>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">SimpleSelect</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.panel/-simple-panel/index.html"><span class="identifier">SimplePanel</span></a><span class="symbol">, </span><a href="../../pl.treksoft.kvision.form/-string-form-control/index.html"><span class="identifier">StringFormControl</span></a><span class="symbol">, </span><a href="./index.html"><span class="identifier">ObservableState</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">&gt;</span></code></td>
+</tr>
+<tr>
+<td>
+(js)
+<h4><a href="../../pl.treksoft.kvision.form.select/-simple-select-input/index.html">SimpleSelectInput</a></h4>
+</td>
+<td>
+<p>Simple select component.</p>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">SimpleSelectInput</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.panel/-simple-panel/index.html"><span class="identifier">SimplePanel</span></a><span class="symbol">, </span><a href="../../pl.treksoft.kvision.form/-form-input/index.html"><span class="identifier">FormInput</span></a><span class="symbol">, </span><a href="./index.html"><span class="identifier">ObservableState</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span><span class="symbol">&gt;</span></code></td>
+</tr>
+<tr>
+<td>
+(js)
+<h4><a href="../../pl.treksoft.kvision.form.spinner/-spinner/index.html">Spinner</a></h4>
+</td>
+<td>
+<p>The form field component for spinner control.</p>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Spinner</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.panel/-simple-panel/index.html"><span class="identifier">SimplePanel</span></a><span class="symbol">, </span><a href="../../pl.treksoft.kvision.form/-number-form-control/index.html"><span class="identifier">NumberFormControl</span></a><span class="symbol">, </span><a href="./index.html"><span class="identifier">ObservableState</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-number/index.html"><span class="identifier">Number</span></a><span class="symbol">?</span><span class="symbol">&gt;</span></code></td>
+</tr>
+<tr>
+<td>
+(js)
+<h4><a href="../../pl.treksoft.kvision.form.spinner/-spinner-input/index.html">SpinnerInput</a></h4>
+</td>
+<td>
+<p>The basic component for spinner control.</p>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">SpinnerInput</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a><span class="symbol">, </span><a href="../../pl.treksoft.kvision.form/-form-input/index.html"><span class="identifier">FormInput</span></a><span class="symbol">, </span><a href="./index.html"><span class="identifier">ObservableState</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-number/index.html"><span class="identifier">Number</span></a><span class="symbol">?</span><span class="symbol">&gt;</span></code></td>
+</tr>
</tbody>
</table>
</BODY>
diff --git a/api/pl.treksoft.kvision.state/-observable-value/index.html b/api/pl.treksoft.kvision.state/-observable-value/index.html
index c99f5f8c..ae8f2e42 100644
--- a/api/pl.treksoft.kvision.state/-observable-value/index.html
+++ b/api/pl.treksoft.kvision.state/-observable-value/index.html
@@ -64,5 +64,19 @@
</tr>
</tbody>
</table>
+<h3>Extension Properties</h3>
+<table>
+<tbody>
+<tr>
+<td>
+(js)
+<h4><a href="../../pl.treksoft.kvision.event/state-flow.html">stateFlow</a></h4>
+</td>
+<td>
+<p>Extension property returning StateFlow for an ObservableState.</p>
+<code><span class="keyword">val </span><span class="symbol">&lt;</span><span class="identifier">S</span><span class="symbol">&gt;</span> <a href="../-observable-state/index.html"><span class="identifier">ObservableState</span></a><span class="symbol">&lt;</span><span class="identifier">S</span><span class="symbol">&gt;</span><span class="symbol">.</span><span class="identifier">stateFlow</span><span class="symbol">: </span><span class="identifier">StateFlow</span><span class="symbol">&lt;</span><span class="identifier">S</span><span class="symbol">&gt;</span></code></td>
+</tr>
+</tbody>
+</table>
</BODY>
</HTML>
diff --git a/api/pl.treksoft.kvision.state/-state-binding/index.html b/api/pl.treksoft.kvision.state/-state-binding/index.html
index b4932332..41a230c0 100644
--- a/api/pl.treksoft.kvision.state/-state-binding/index.html
+++ b/api/pl.treksoft.kvision.state/-state-binding/index.html
@@ -8,7 +8,9 @@
<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.state</a>&nbsp;/&nbsp;<a href="./index.html">StateBinding</a><br/>
<br/>
<h1>StateBinding</h1>
-(js) <code><span class="keyword">class </span><span class="identifier">StateBinding</span><span class="symbol">&lt;</span><span class="identifier">S</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">CONT</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a><span class="symbol">, </span><span class="identifier">CONTENT</span><span class="symbol">&gt;</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a></code>
+(js) <code><span class="keyword">class </span><s><span class="identifier">StateBinding</span></s><span class="symbol">&lt;</span><span class="identifier">S</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">CONT</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a><span class="symbol">, </span><span class="identifier">CONTENT</span><span class="symbol">&gt;</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a></code><br/>
+<strong>Deprecated:</strong> Use bind function instead.<br/>
+<br/>
<p>A class which binds the given container to the observable state.</p>
<h3>Constructors</h3>
<table>
@@ -47,6 +49,7 @@
<h4><a href="../../pl.treksoft.kvision.event/change-flow.html">changeFlow</a></h4>
</td>
<td>
+<p>Extension property returning Flow for a change event.</p>
<code><span class="keyword">val </span><span class="symbol">&lt;</span><span class="identifier">T</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a><span class="symbol">&gt;</span> <span class="identifier">T</span><span class="symbol">.</span><span class="identifier">changeFlow</span><span class="symbol">: </span><span class="identifier">Flow</span><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span></code></td>
</tr>
<tr>
@@ -55,6 +58,7 @@
<h4><a href="../../pl.treksoft.kvision.event/click-flow.html">clickFlow</a></h4>
</td>
<td>
+<p>Extension property returning Flow for a click event.</p>
<code><span class="keyword">val </span><span class="symbol">&lt;</span><span class="identifier">T</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a><span class="symbol">&gt;</span> <span class="identifier">T</span><span class="symbol">.</span><span class="identifier">clickFlow</span><span class="symbol">: </span><span class="identifier">Flow</span><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span></code></td>
</tr>
<tr>
@@ -63,6 +67,7 @@
<h4><a href="../../pl.treksoft.kvision.event/input-flow.html">inputFlow</a></h4>
</td>
<td>
+<p>Extension property returning Flow for an input event.</p>
<code><span class="keyword">val </span><span class="symbol">&lt;</span><span class="identifier">T</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a><span class="symbol">&gt;</span> <span class="identifier">T</span><span class="symbol">.</span><span class="identifier">inputFlow</span><span class="symbol">: </span><span class="identifier">Flow</span><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span></code></td>
</tr>
</tbody>
@@ -113,11 +118,20 @@
<tr>
<td>
(js)
+<h4><a href="../bind.html">bind</a></h4>
+</td>
+<td>
+<p>An extension function which binds the widget to the observable state.</p>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">S</span><span class="symbol">, </span><span class="identifier">W</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a><span class="symbol">&gt;</span> <span class="identifier">W</span><span class="symbol">.</span><span class="identifier">bind</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.state$bind(pl.treksoft.kvision.state.bind.W, pl.treksoft.kvision.state.ObservableState((pl.treksoft.kvision.state.bind.S)), kotlin.Function2((pl.treksoft.kvision.state.bind.W, pl.treksoft.kvision.state.bind.S, kotlin.Unit)))/observableState">observableState</span><span class="symbol">:</span>&nbsp;<a href="../-observable-state/index.html"><span class="identifier">ObservableState</span></a><span class="symbol">&lt;</span><span class="identifier">S</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.state$bind(pl.treksoft.kvision.state.bind.W, pl.treksoft.kvision.state.ObservableState((pl.treksoft.kvision.state.bind.S)), kotlin.Function2((pl.treksoft.kvision.state.bind.W, pl.treksoft.kvision.state.bind.S, kotlin.Unit)))/factory">factory</span><span class="symbol">:</span>&nbsp;<span class="identifier">W</span><span class="symbol">.</span><span class="symbol">(</span><span class="identifier">S</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">W</span></code></td>
+</tr>
+<tr>
+<td>
+(js)
<h4><a href="../../pl.treksoft.kvision.dropdown/context-menu.html">contextMenu</a></h4>
</td>
<td>
<p>DSL builder extension function.</p>
-<code><span class="keyword">fun </span><a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a><span class="symbol">.</span><span class="identifier">contextMenu</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.dropdown$contextMenu(pl.treksoft.kvision.core.Widget, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.dropdown.ContextMenu, kotlin.Unit)))/fixedPosition">fixedPosition</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a>&nbsp;<span class="symbol">=</span>&nbsp;false<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.dropdown$contextMenu(pl.treksoft.kvision.core.Widget, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.dropdown.ContextMenu, kotlin.Unit)))/classes">classes</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html"><span class="identifier">Set</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;setOf()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.dropdown$contextMenu(pl.treksoft.kvision.core.Widget, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.Function1((pl.treksoft.kvision.dropdown.ContextMenu, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="../../pl.treksoft.kvision.dropdown/-context-menu/index.html"><span class="identifier">ContextMenu</span></a><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.dropdown/-context-menu/index.html"><span class="identifier">ContextMenu</span></a></code></td>
+<code><span class="keyword">fun </span><a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a><span class="symbol">.</span><span class="identifier">contextMenu</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.dropdown$contextMenu(pl.treksoft.kvision.core.Widget, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.String, kotlin.Function1((pl.treksoft.kvision.dropdown.ContextMenu, kotlin.Unit)))/fixedPosition">fixedPosition</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a>&nbsp;<span class="symbol">=</span>&nbsp;false<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.dropdown$contextMenu(pl.treksoft.kvision.core.Widget, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.String, kotlin.Function1((pl.treksoft.kvision.dropdown.ContextMenu, kotlin.Unit)))/classes">classes</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html"><span class="identifier">Set</span></a><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">&gt;</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.dropdown$contextMenu(pl.treksoft.kvision.core.Widget, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.String, kotlin.Function1((pl.treksoft.kvision.dropdown.ContextMenu, kotlin.Unit)))/className">className</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.dropdown$contextMenu(pl.treksoft.kvision.core.Widget, kotlin.Boolean, kotlin.collections.Set((kotlin.String)), kotlin.String, kotlin.Function1((pl.treksoft.kvision.dropdown.ContextMenu, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="../../pl.treksoft.kvision.dropdown/-context-menu/index.html"><span class="identifier">ContextMenu</span></a><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.dropdown/-context-menu/index.html"><span class="identifier">ContextMenu</span></a></code></td>
</tr>
<tr>
<td>
@@ -125,14 +139,25 @@
<h4><a href="../../pl.treksoft.kvision.event/event-flow.html">eventFlow</a></h4>
</td>
<td>
+<p>Extension property returning Flow&lt;Pair&lt;Widget, Event&gt;&gt; for a given event</p>
<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">T</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a><span class="symbol">&gt;</span> <span class="identifier">T</span><span class="symbol">.</span><span class="identifier">eventFlow</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.event$eventFlow(pl.treksoft.kvision.event.eventFlow.T, kotlin.String)/event">event</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">Flow</span><span class="symbol">&lt;</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-pair/index.html"><span class="identifier">Pair</span></a><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">,</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/org.w3c.dom.events/-event/index.html"><span class="identifier">Event</span></a><span class="symbol">&gt;</span><span class="symbol">&gt;</span></code></td>
</tr>
<tr>
<td>
(js)
+<h4><a href="../../pl.treksoft.kvision.core/on-click.html">onClick</a></h4>
+</td>
+<td>
+<p>An extension function for defining on click event handlers.</p>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">T</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a><span class="symbol">&gt;</span> <span class="identifier">T</span><span class="symbol">.</span><span class="identifier">onClick</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.core$onClick(pl.treksoft.kvision.core.onClick.T, kotlin.Function2((pl.treksoft.kvision.core.onClick.T, org.w3c.dom.events.MouseEvent, kotlin.Unit)))/handler">handler</span><span class="symbol">:</span>&nbsp;<span class="identifier">T</span><span class="symbol">.</span><span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/org.w3c.dom.events/-mouse-event/index.html"><span class="identifier">MouseEvent</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a></code></td>
+</tr>
+<tr>
+<td>
+(js)
<h4><a href="../../pl.treksoft.kvision.core/on-event.html">onEvent</a></h4>
</td>
<td>
+<p>An extension function for defining event handlers.</p>
<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">T</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a><span class="symbol">&gt;</span> <span class="identifier">T</span><span class="symbol">.</span><span class="identifier">onEvent</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.core$onEvent(pl.treksoft.kvision.core.onEvent.T, kotlin.Function1((pl.treksoft.kvision.utils.SnOn((pl.treksoft.kvision.core.onEvent.T)), kotlin.Unit)))/block">block</span><span class="symbol">:</span>&nbsp;<span class="identifier">SnOn</span><span class="symbol">&lt;</span><span class="identifier">T</span><span class="symbol">&gt;</span><span class="symbol">.</span><span class="symbol">(</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a></code></td>
</tr>
<tr>
diff --git a/api/pl.treksoft.kvision.state/-updateable/index.html b/api/pl.treksoft.kvision.state/-updateable/index.html
index 4bc13274..f139aa47 100644
--- a/api/pl.treksoft.kvision.state/-updateable/index.html
+++ b/api/pl.treksoft.kvision.state/-updateable/index.html
@@ -8,7 +8,9 @@
<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.state</a>&nbsp;/&nbsp;<a href="./index.html">Updateable</a><br/>
<br/>
<h1>Updateable</h1>
-(js) <code><span class="keyword">class </span><span class="identifier">Updateable</span><span class="symbol">&lt;</span><span class="identifier">S</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">CONTENT</span><span class="symbol">&gt;</span></code>
+(js) <code><span class="keyword">class </span><s><span class="identifier">Updateable</span></s><span class="symbol">&lt;</span><span class="identifier">S</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">CONTENT</span><span class="symbol">&gt;</span></code><br/>
+<strong>Deprecated:</strong> Use bind function instead.<br/>
+<br/>
<p>A helper class for updateable content.</p>
<h3>Constructors</h3>
<table>
diff --git a/api/pl.treksoft.kvision.state/bind.html b/api/pl.treksoft.kvision.state/bind.html
new file mode 100644
index 00000000..2a24ddaa
--- /dev/null
+++ b/api/pl.treksoft.kvision.state/bind.html
@@ -0,0 +1,24 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>bind - kvision</title>
+<link rel="stylesheet" href="../../style.css">
+</HEAD>
+<BODY>
+<a href="../index.html">kvision</a>&nbsp;/&nbsp;<a href="index.html">pl.treksoft.kvision.state</a>&nbsp;/&nbsp;<a href="./bind.html">bind</a><br/>
+<br/>
+<h1>bind</h1>
+(js) <a name="pl.treksoft.kvision.state$bind(pl.treksoft.kvision.state.bind.W, pl.treksoft.kvision.state.ObservableState((pl.treksoft.kvision.state.bind.S)), kotlin.Function2((pl.treksoft.kvision.state.bind.W, pl.treksoft.kvision.state.bind.S, kotlin.Unit)))"></a>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">S</span><span class="symbol">, </span><span class="identifier">W</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a><span class="symbol">&gt;</span> <span class="identifier">W</span><span class="symbol">.</span><span class="identifier">bind</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.state$bind(pl.treksoft.kvision.state.bind.W, pl.treksoft.kvision.state.ObservableState((pl.treksoft.kvision.state.bind.S)), kotlin.Function2((pl.treksoft.kvision.state.bind.W, pl.treksoft.kvision.state.bind.S, kotlin.Unit)))/observableState">observableState</span><span class="symbol">:</span>&nbsp;<a href="-observable-state/index.html"><span class="identifier">ObservableState</span></a><span class="symbol">&lt;</span><span class="identifier">S</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.state$bind(pl.treksoft.kvision.state.bind.W, pl.treksoft.kvision.state.ObservableState((pl.treksoft.kvision.state.bind.S)), kotlin.Function2((pl.treksoft.kvision.state.bind.W, pl.treksoft.kvision.state.bind.S, kotlin.Unit)))/factory">factory</span><span class="symbol">:</span>&nbsp;<span class="identifier">W</span><span class="symbol">.</span><span class="symbol">(</span><span class="identifier">S</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">W</span></code>
+<p>An extension function which binds the widget to the observable state.</p>
+<h3>Parameters</h3>
+<p><a name="S"></a>
+<code>S</code> - the state type</p>
+<p><a name="W"></a>
+<code>W</code> - the widget type</p>
+<p><a name="observableState"></a>
+<code>observableState</code> - the state</p>
+<p><a name="factory"></a>
+<code>factory</code> - a function which re-creates the view based on the given state</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.state/index.html b/api/pl.treksoft.kvision.state/index.html
index ffbb3ad9..b72a4436 100644
--- a/api/pl.treksoft.kvision.state/index.html
+++ b/api/pl.treksoft.kvision.state/index.html
@@ -73,7 +73,7 @@
</td>
<td>
<p>A class which binds the given container to the observable state.</p>
-<code><span class="keyword">class </span><span class="identifier">StateBinding</span><span class="symbol">&lt;</span><span class="identifier">S</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">CONT</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a><span class="symbol">, </span><span class="identifier">CONTENT</span><span class="symbol">&gt;</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a></code></td>
+<code><span class="keyword">class </span><s><span class="identifier">StateBinding</span></s><span class="symbol">&lt;</span><span class="identifier">S</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">CONT</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a><span class="symbol">, </span><span class="identifier">CONTENT</span><span class="symbol">&gt;</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a></code></td>
</tr>
<tr>
<td>
@@ -82,7 +82,7 @@
</td>
<td>
<p>A helper class for updateable content.</p>
-<code><span class="keyword">class </span><span class="identifier">Updateable</span><span class="symbol">&lt;</span><span class="identifier">S</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">CONTENT</span><span class="symbol">&gt;</span></code></td>
+<code><span class="keyword">class </span><s><span class="identifier">Updateable</span></s><span class="symbol">&lt;</span><span class="identifier">S</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">CONTENT</span><span class="symbol">&gt;</span></code></td>
</tr>
</tbody>
</table>
@@ -92,6 +92,15 @@
<tr>
<td>
(js)
+<h4><a href="bind.html">bind</a></h4>
+</td>
+<td>
+<p>An extension function which binds the widget to the observable state.</p>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">S</span><span class="symbol">, </span><span class="identifier">W</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a><span class="symbol">&gt;</span> <span class="identifier">W</span><span class="symbol">.</span><span class="identifier">bind</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.state$bind(pl.treksoft.kvision.state.bind.W, pl.treksoft.kvision.state.ObservableState((pl.treksoft.kvision.state.bind.S)), kotlin.Function2((pl.treksoft.kvision.state.bind.W, pl.treksoft.kvision.state.bind.S, kotlin.Unit)))/observableState">observableState</span><span class="symbol">:</span>&nbsp;<a href="-observable-state/index.html"><span class="identifier">ObservableState</span></a><span class="symbol">&lt;</span><span class="identifier">S</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.state$bind(pl.treksoft.kvision.state.bind.W, pl.treksoft.kvision.state.ObservableState((pl.treksoft.kvision.state.bind.S)), kotlin.Function2((pl.treksoft.kvision.state.bind.W, pl.treksoft.kvision.state.bind.S, kotlin.Unit)))/factory">factory</span><span class="symbol">:</span>&nbsp;<span class="identifier">W</span><span class="symbol">.</span><span class="symbol">(</span><span class="identifier">S</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">W</span></code></td>
+</tr>
+<tr>
+<td>
+(js)
<h4><a href="observable-list-of.html">observableListOf</a></h4>
</td>
<td>
@@ -114,7 +123,7 @@
</td>
<td>
<p>DSL builder extension function.</p>
-<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">S</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">CONT</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a><span class="symbol">&gt;</span> <span class="identifier">CONT</span><span class="symbol">.</span><span class="identifier">stateBinding</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.state$stateBinding(pl.treksoft.kvision.state.stateBinding.CONT, pl.treksoft.kvision.state.ObservableState((pl.treksoft.kvision.state.stateBinding.S)), kotlin.Function2((pl.treksoft.kvision.state.stateBinding.CONT, pl.treksoft.kvision.state.stateBinding.S, kotlin.Unit)))/observableState">observableState</span><span class="symbol">:</span>&nbsp;<a href="-observable-state/index.html"><span class="identifier">ObservableState</span></a><span class="symbol">&lt;</span><span class="identifier">S</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.state$stateBinding(pl.treksoft.kvision.state.stateBinding.CONT, pl.treksoft.kvision.state.ObservableState((pl.treksoft.kvision.state.stateBinding.S)), kotlin.Function2((pl.treksoft.kvision.state.stateBinding.CONT, pl.treksoft.kvision.state.stateBinding.S, kotlin.Unit)))/factory">factory</span><span class="symbol">:</span>&nbsp;<span class="identifier">CONT</span><span class="symbol">.</span><span class="symbol">(</span><span class="identifier">S</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="-state-binding/index.html"><span class="identifier">StateBinding</span></a><span class="symbol">&lt;</span><span class="identifier">S</span><span class="symbol">,</span>&nbsp;<span class="identifier">CONT</span><span class="symbol">,</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">&gt;</span></code></td>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">S</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">CONT</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a><span class="symbol">&gt;</span> <span class="identifier">CONT</span><span class="symbol">.</span><s><span class="identifier">stateBinding</span></s><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.state$stateBinding(pl.treksoft.kvision.state.stateBinding.CONT, pl.treksoft.kvision.state.ObservableState((pl.treksoft.kvision.state.stateBinding.S)), kotlin.Function2((pl.treksoft.kvision.state.stateBinding.CONT, pl.treksoft.kvision.state.stateBinding.S, kotlin.Unit)))/observableState">observableState</span><span class="symbol">:</span>&nbsp;<a href="-observable-state/index.html"><span class="identifier">ObservableState</span></a><span class="symbol">&lt;</span><span class="identifier">S</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.state$stateBinding(pl.treksoft.kvision.state.stateBinding.CONT, pl.treksoft.kvision.state.ObservableState((pl.treksoft.kvision.state.stateBinding.S)), kotlin.Function2((pl.treksoft.kvision.state.stateBinding.CONT, pl.treksoft.kvision.state.stateBinding.S, kotlin.Unit)))/factory">factory</span><span class="symbol">:</span>&nbsp;<span class="identifier">CONT</span><span class="symbol">.</span><span class="symbol">(</span><span class="identifier">S</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="-state-binding/index.html"><span class="identifier">StateBinding</span></a><span class="symbol">&lt;</span><span class="identifier">S</span><span class="symbol">,</span>&nbsp;<span class="identifier">CONT</span><span class="symbol">,</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">&gt;</span></code></td>
</tr>
<tr>
<td>
@@ -123,7 +132,7 @@
</td>
<td>
<p>DSL builder extension function for updateable redux content.</p>
-<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">S</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">CONT</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a><span class="symbol">, </span><span class="identifier">CONTENT</span><span class="symbol">&gt;</span> <span class="identifier">CONT</span><span class="symbol">.</span><span class="identifier">stateUpdate</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.state$stateUpdate(pl.treksoft.kvision.state.stateUpdate.CONT, pl.treksoft.kvision.state.ObservableState((pl.treksoft.kvision.state.stateUpdate.S)), kotlin.Function2((pl.treksoft.kvision.state.stateUpdate.CONT, pl.treksoft.kvision.state.stateUpdate.S, pl.treksoft.kvision.state.stateUpdate.CONTENT)))/observableState">observableState</span><span class="symbol">:</span>&nbsp;<a href="-observable-state/index.html"><span class="identifier">ObservableState</span></a><span class="symbol">&lt;</span><span class="identifier">S</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.state$stateUpdate(pl.treksoft.kvision.state.stateUpdate.CONT, pl.treksoft.kvision.state.ObservableState((pl.treksoft.kvision.state.stateUpdate.S)), kotlin.Function2((pl.treksoft.kvision.state.stateUpdate.CONT, pl.treksoft.kvision.state.stateUpdate.S, pl.treksoft.kvision.state.stateUpdate.CONTENT)))/factory">factory</span><span class="symbol">:</span>&nbsp;<span class="identifier">CONT</span><span class="symbol">.</span><span class="symbol">(</span><span class="identifier">S</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">CONTENT</span><span class="symbol">)</span><span class="symbol">: </span><a href="-updateable/index.html"><span class="identifier">Updateable</span></a><span class="symbol">&lt;</span><span class="identifier">S</span><span class="symbol">,</span>&nbsp;<span class="identifier">CONTENT</span><span class="symbol">&gt;</span></code></td>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">S</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">CONT</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a><span class="symbol">, </span><span class="identifier">CONTENT</span><span class="symbol">&gt;</span> <span class="identifier">CONT</span><span class="symbol">.</span><s><span class="identifier">stateUpdate</span></s><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.state$stateUpdate(pl.treksoft.kvision.state.stateUpdate.CONT, pl.treksoft.kvision.state.ObservableState((pl.treksoft.kvision.state.stateUpdate.S)), kotlin.Function2((pl.treksoft.kvision.state.stateUpdate.CONT, pl.treksoft.kvision.state.stateUpdate.S, pl.treksoft.kvision.state.stateUpdate.CONTENT)))/observableState">observableState</span><span class="symbol">:</span>&nbsp;<a href="-observable-state/index.html"><span class="identifier">ObservableState</span></a><span class="symbol">&lt;</span><span class="identifier">S</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.state$stateUpdate(pl.treksoft.kvision.state.stateUpdate.CONT, pl.treksoft.kvision.state.ObservableState((pl.treksoft.kvision.state.stateUpdate.S)), kotlin.Function2((pl.treksoft.kvision.state.stateUpdate.CONT, pl.treksoft.kvision.state.stateUpdate.S, pl.treksoft.kvision.state.stateUpdate.CONTENT)))/factory">factory</span><span class="symbol">:</span>&nbsp;<span class="identifier">CONT</span><span class="symbol">.</span><span class="symbol">(</span><span class="identifier">S</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">CONTENT</span><span class="symbol">)</span><span class="symbol">: </span><a href="-updateable/index.html"><span class="identifier">Updateable</span></a><span class="symbol">&lt;</span><span class="identifier">S</span><span class="symbol">,</span>&nbsp;<span class="identifier">CONTENT</span><span class="symbol">&gt;</span></code></td>
</tr>
</tbody>
</table>
diff --git a/api/pl.treksoft.kvision.state/state-binding.html b/api/pl.treksoft.kvision.state/state-binding.html
index 5b123a34..cd51850f 100644
--- a/api/pl.treksoft.kvision.state/state-binding.html
+++ b/api/pl.treksoft.kvision.state/state-binding.html
@@ -9,7 +9,9 @@
<br/>
<h1>stateBinding</h1>
(js) <a name="pl.treksoft.kvision.state$stateBinding(pl.treksoft.kvision.state.stateBinding.CONT, pl.treksoft.kvision.state.ObservableState((pl.treksoft.kvision.state.stateBinding.S)), kotlin.Function2((pl.treksoft.kvision.state.stateBinding.CONT, pl.treksoft.kvision.state.stateBinding.S, kotlin.Unit)))"></a>
-<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">S</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">CONT</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a><span class="symbol">&gt;</span> <span class="identifier">CONT</span><span class="symbol">.</span><span class="identifier">stateBinding</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.state$stateBinding(pl.treksoft.kvision.state.stateBinding.CONT, pl.treksoft.kvision.state.ObservableState((pl.treksoft.kvision.state.stateBinding.S)), kotlin.Function2((pl.treksoft.kvision.state.stateBinding.CONT, pl.treksoft.kvision.state.stateBinding.S, kotlin.Unit)))/observableState">observableState</span><span class="symbol">:</span>&nbsp;<a href="-observable-state/index.html"><span class="identifier">ObservableState</span></a><span class="symbol">&lt;</span><span class="identifier">S</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.state$stateBinding(pl.treksoft.kvision.state.stateBinding.CONT, pl.treksoft.kvision.state.ObservableState((pl.treksoft.kvision.state.stateBinding.S)), kotlin.Function2((pl.treksoft.kvision.state.stateBinding.CONT, pl.treksoft.kvision.state.stateBinding.S, kotlin.Unit)))/factory">factory</span><span class="symbol">:</span>&nbsp;<span class="identifier">CONT</span><span class="symbol">.</span><span class="symbol">(</span><span class="identifier">S</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="-state-binding/index.html"><span class="identifier">StateBinding</span></a><span class="symbol">&lt;</span><span class="identifier">S</span><span class="symbol">,</span>&nbsp;<span class="identifier">CONT</span><span class="symbol">,</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">&gt;</span></code>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">S</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">CONT</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a><span class="symbol">&gt;</span> <span class="identifier">CONT</span><span class="symbol">.</span><s><span class="identifier">stateBinding</span></s><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.state$stateBinding(pl.treksoft.kvision.state.stateBinding.CONT, pl.treksoft.kvision.state.ObservableState((pl.treksoft.kvision.state.stateBinding.S)), kotlin.Function2((pl.treksoft.kvision.state.stateBinding.CONT, pl.treksoft.kvision.state.stateBinding.S, kotlin.Unit)))/observableState">observableState</span><span class="symbol">:</span>&nbsp;<a href="-observable-state/index.html"><span class="identifier">ObservableState</span></a><span class="symbol">&lt;</span><span class="identifier">S</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.state$stateBinding(pl.treksoft.kvision.state.stateBinding.CONT, pl.treksoft.kvision.state.ObservableState((pl.treksoft.kvision.state.stateBinding.S)), kotlin.Function2((pl.treksoft.kvision.state.stateBinding.CONT, pl.treksoft.kvision.state.stateBinding.S, kotlin.Unit)))/factory">factory</span><span class="symbol">:</span>&nbsp;<span class="identifier">CONT</span><span class="symbol">.</span><span class="symbol">(</span><span class="identifier">S</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="-state-binding/index.html"><span class="identifier">StateBinding</span></a><span class="symbol">&lt;</span><span class="identifier">S</span><span class="symbol">,</span>&nbsp;<span class="identifier">CONT</span><span class="symbol">,</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a><span class="symbol">&gt;</span></code><br/>
+<strong>Deprecated:</strong> Use bind function instead.<br/>
+<br/>
<p>DSL builder extension function.</p>
<p>It takes the same parameters as the constructor of the built component.</p>
</BODY>
diff --git a/api/pl.treksoft.kvision.state/state-update.html b/api/pl.treksoft.kvision.state/state-update.html
index d3cbd9bd..697f7501 100644
--- a/api/pl.treksoft.kvision.state/state-update.html
+++ b/api/pl.treksoft.kvision.state/state-update.html
@@ -9,7 +9,9 @@
<br/>
<h1>stateUpdate</h1>
(js) <a name="pl.treksoft.kvision.state$stateUpdate(pl.treksoft.kvision.state.stateUpdate.CONT, pl.treksoft.kvision.state.ObservableState((pl.treksoft.kvision.state.stateUpdate.S)), kotlin.Function2((pl.treksoft.kvision.state.stateUpdate.CONT, pl.treksoft.kvision.state.stateUpdate.S, pl.treksoft.kvision.state.stateUpdate.CONTENT)))"></a>
-<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">S</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">CONT</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a><span class="symbol">, </span><span class="identifier">CONTENT</span><span class="symbol">&gt;</span> <span class="identifier">CONT</span><span class="symbol">.</span><span class="identifier">stateUpdate</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.state$stateUpdate(pl.treksoft.kvision.state.stateUpdate.CONT, pl.treksoft.kvision.state.ObservableState((pl.treksoft.kvision.state.stateUpdate.S)), kotlin.Function2((pl.treksoft.kvision.state.stateUpdate.CONT, pl.treksoft.kvision.state.stateUpdate.S, pl.treksoft.kvision.state.stateUpdate.CONTENT)))/observableState">observableState</span><span class="symbol">:</span>&nbsp;<a href="-observable-state/index.html"><span class="identifier">ObservableState</span></a><span class="symbol">&lt;</span><span class="identifier">S</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.state$stateUpdate(pl.treksoft.kvision.state.stateUpdate.CONT, pl.treksoft.kvision.state.ObservableState((pl.treksoft.kvision.state.stateUpdate.S)), kotlin.Function2((pl.treksoft.kvision.state.stateUpdate.CONT, pl.treksoft.kvision.state.stateUpdate.S, pl.treksoft.kvision.state.stateUpdate.CONTENT)))/factory">factory</span><span class="symbol">:</span>&nbsp;<span class="identifier">CONT</span><span class="symbol">.</span><span class="symbol">(</span><span class="identifier">S</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">CONTENT</span><span class="symbol">)</span><span class="symbol">: </span><a href="-updateable/index.html"><span class="identifier">Updateable</span></a><span class="symbol">&lt;</span><span class="identifier">S</span><span class="symbol">,</span>&nbsp;<span class="identifier">CONTENT</span><span class="symbol">&gt;</span></code>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">S</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">, </span><span class="identifier">CONT</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a><span class="symbol">, </span><span class="identifier">CONTENT</span><span class="symbol">&gt;</span> <span class="identifier">CONT</span><span class="symbol">.</span><s><span class="identifier">stateUpdate</span></s><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.state$stateUpdate(pl.treksoft.kvision.state.stateUpdate.CONT, pl.treksoft.kvision.state.ObservableState((pl.treksoft.kvision.state.stateUpdate.S)), kotlin.Function2((pl.treksoft.kvision.state.stateUpdate.CONT, pl.treksoft.kvision.state.stateUpdate.S, pl.treksoft.kvision.state.stateUpdate.CONTENT)))/observableState">observableState</span><span class="symbol">:</span>&nbsp;<a href="-observable-state/index.html"><span class="identifier">ObservableState</span></a><span class="symbol">&lt;</span><span class="identifier">S</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.state$stateUpdate(pl.treksoft.kvision.state.stateUpdate.CONT, pl.treksoft.kvision.state.ObservableState((pl.treksoft.kvision.state.stateUpdate.S)), kotlin.Function2((pl.treksoft.kvision.state.stateUpdate.CONT, pl.treksoft.kvision.state.stateUpdate.S, pl.treksoft.kvision.state.stateUpdate.CONTENT)))/factory">factory</span><span class="symbol">:</span>&nbsp;<span class="identifier">CONT</span><span class="symbol">.</span><span class="symbol">(</span><span class="identifier">S</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="identifier">CONTENT</span><span class="symbol">)</span><span class="symbol">: </span><a href="-updateable/index.html"><span class="identifier">Updateable</span></a><span class="symbol">&lt;</span><span class="identifier">S</span><span class="symbol">,</span>&nbsp;<span class="identifier">CONTENT</span><span class="symbol">&gt;</span></code><br/>
+<strong>Deprecated:</strong> Use bind function instead.<br/>
+<br/>
<p>DSL builder extension function for updateable redux content.</p>
<p>It takes the same parameters as the constructor of the built component.</p>
</BODY>