aboutsummaryrefslogtreecommitdiff
path: root/api
diff options
context:
space:
mode:
authorRobert Jaros <rjaros@finn.pl>2018-03-07 13:46:10 +0100
committerRobert Jaros <rjaros@finn.pl>2018-03-07 13:46:10 +0100
commitc9f98dfdbdc3f56553b58dc226b3f841189d0fc0 (patch)
treeab2ca5f9c67cace6a9d5f220d7ecdd482b947eff /api
parent70ed562ae730f65671defed6ed79d08d8126d467 (diff)
downloadkvision-c9f98dfdbdc3f56553b58dc226b3f841189d0fc0.tar.gz
kvision-c9f98dfdbdc3f56553b58dc226b3f841189d0fc0.tar.bz2
kvision-c9f98dfdbdc3f56553b58dc226b3f841189d0fc0.zip
API documentation update
Diffstat (limited to 'api')
-rw-r--r--api/alltypes/index.html7
-rw-r--r--api/index-outline.html92
-rw-r--r--api/pl.treksoft.kvision.core/-widget-wrapper/visible.html6
-rw-r--r--api/pl.treksoft.kvision.core/-widget/visible.html3
-rw-r--r--api/pl.treksoft.kvision.data/-data-container/-init-.html14
-rw-r--r--api/pl.treksoft.kvision.data/-data-container/data-container.html4
-rw-r--r--api/pl.treksoft.kvision.data/-data-container/index.html4
-rw-r--r--api/pl.treksoft.kvision.data/-data-container/visible.html6
-rw-r--r--api/pl.treksoft.kvision.dropdown/-drop-down/width.html6
-rw-r--r--api/pl.treksoft.kvision.form.check/-check-box/disabled.html6
-rw-r--r--api/pl.treksoft.kvision.form.check/-check-box/size.html6
-rw-r--r--api/pl.treksoft.kvision.form.check/-check-box/value.html6
-rw-r--r--api/pl.treksoft.kvision.form.check/-radio-group/disabled.html6
-rw-r--r--api/pl.treksoft.kvision.form.check/-radio/disabled.html6
-rw-r--r--api/pl.treksoft.kvision.form.check/-radio/size.html6
-rw-r--r--api/pl.treksoft.kvision.form.check/-radio/value.html6
-rw-r--r--api/pl.treksoft.kvision.form.select/-ajax-options/before-send.html1
-rw-r--r--api/pl.treksoft.kvision.form.select/-ajax-options/cache.html1
-rw-r--r--api/pl.treksoft.kvision.form.select/-ajax-options/clear-on-empty.html1
-rw-r--r--api/pl.treksoft.kvision.form.select/-ajax-options/clear-on-error.html1
-rw-r--r--api/pl.treksoft.kvision.form.select/-ajax-options/data.html1
-rw-r--r--api/pl.treksoft.kvision.form.select/-ajax-options/empty-request.html1
-rw-r--r--api/pl.treksoft.kvision.form.select/-ajax-options/http-type.html1
-rw-r--r--api/pl.treksoft.kvision.form.select/-ajax-options/index.html50
-rw-r--r--api/pl.treksoft.kvision.form.select/-ajax-options/min-length.html1
-rw-r--r--api/pl.treksoft.kvision.form.select/-ajax-options/preprocess-data.html2
-rw-r--r--api/pl.treksoft.kvision.form.select/-ajax-options/request-delay.html1
-rw-r--r--api/pl.treksoft.kvision.form.select/-ajax-options/restore-on-error.html2
-rw-r--r--api/pl.treksoft.kvision.form.select/-ajax-options/url.html1
-rw-r--r--api/pl.treksoft.kvision.form.select/-select/disabled.html6
-rw-r--r--api/pl.treksoft.kvision.form.select/-select/size.html6
-rw-r--r--api/pl.treksoft.kvision.form.select/-select/value.html6
-rw-r--r--api/pl.treksoft.kvision.form.spinner/-spinner/disabled.html6
-rw-r--r--api/pl.treksoft.kvision.form.spinner/-spinner/size.html6
-rw-r--r--api/pl.treksoft.kvision.form.spinner/-spinner/value.html6
-rw-r--r--api/pl.treksoft.kvision.form.text/-abstract-text/disabled.html6
-rw-r--r--api/pl.treksoft.kvision.form.text/-abstract-text/size.html6
-rw-r--r--api/pl.treksoft.kvision.form.text/-abstract-text/value.html6
-rw-r--r--api/pl.treksoft.kvision.form.time/-date-time/disabled.html6
-rw-r--r--api/pl.treksoft.kvision.form.time/-date-time/size.html6
-rw-r--r--api/pl.treksoft.kvision.form.time/-date-time/value.html6
-rw-r--r--api/pl.treksoft.kvision.form/-form-panel/add-internal.html14
-rw-r--r--api/pl.treksoft.kvision.form/-form-panel/add.html56
-rw-r--r--api/pl.treksoft.kvision.form/-form-panel/get-control.html4
-rw-r--r--api/pl.treksoft.kvision.form/-form-panel/get.html4
-rw-r--r--api/pl.treksoft.kvision.form/-form-panel/index.html23
-rw-r--r--api/pl.treksoft.kvision.form/-form-panel/remove.html4
-rw-r--r--api/pl.treksoft.kvision.form/-form/add.html56
-rw-r--r--api/pl.treksoft.kvision.form/-form/get-control.html4
-rw-r--r--api/pl.treksoft.kvision.form/-form/get.html4
-rw-r--r--api/pl.treksoft.kvision.form/-form/index.html16
-rw-r--r--api/pl.treksoft.kvision.form/-form/remove.html4
-rw-r--r--api/pl.treksoft.kvision.html/-icon/-init-.html19
-rw-r--r--api/pl.treksoft.kvision.html/-icon/get-sn-class.html18
-rw-r--r--api/pl.treksoft.kvision.html/-icon/icon.html25
-rw-r--r--api/pl.treksoft.kvision.html/-icon/index.html123
-rw-r--r--api/pl.treksoft.kvision.html/-t-a-g/-b.html14
-rw-r--r--api/pl.treksoft.kvision.html/-t-a-g/-i.html14
-rw-r--r--api/pl.treksoft.kvision.html/-t-a-g/index.html14
-rw-r--r--api/pl.treksoft.kvision.html/-tag/index.html9
-rw-r--r--api/pl.treksoft.kvision.html/index.html9
-rw-r--r--api/pl.treksoft.kvision.panel/-root/get-root.html14
-rw-r--r--api/pl.treksoft.kvision.panel/-root/index.html7
63 files changed, 568 insertions, 207 deletions
diff --git a/api/alltypes/index.html b/api/alltypes/index.html
index 5c8235f6..fe473ce7 100644
--- a/api/alltypes/index.html
+++ b/api/alltypes/index.html
@@ -499,6 +499,13 @@
</tr>
<tr>
<td>
+<a href="../pl.treksoft.kvision.html/-icon/index.html">pl.treksoft.kvision.html.Icon</a></td>
+<td>
+<p>Icon component with support for FontAwesome and Bootstrap glyphicons.</p>
+</td>
+</tr>
+<tr>
+<td>
<a href="../pl.treksoft.kvision.html/-image/index.html">pl.treksoft.kvision.html.Image</a></td>
<td>
<p>Image component.</p>
diff --git a/api/index-outline.html b/api/index-outline.html
index 0815c13a..2d6124cf 100644
--- a/api/index-outline.html
+++ b/api/index-outline.html
@@ -764,11 +764,11 @@
<link rel="stylesheet" href="../style.css">
</HEAD>
<BODY>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.data/-data-container/-init-.html"><span class="identifier">DataContainer</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$<init>(com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.M)), kotlin.Function1((kotlin.Int, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Function1((kotlin.Int, kotlin.Boolean)), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Unit)))/model">model</span><span class="symbol">:</span>&nbsp;<span class="identifier">ObservableList</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.data/-data-container/index.html#M"><span class="identifier">M</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$<init>(com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.M)), kotlin.Function1((kotlin.Int, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Function1((kotlin.Int, kotlin.Boolean)), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Unit)))/binding">binding</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="pl.treksoft.kvision.data/-data-container/index.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$<init>(com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.M)), kotlin.Function1((kotlin.Int, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Function1((kotlin.Int, kotlin.Boolean)), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Unit)))/filter">filter</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</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;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$<init>(com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.M)), kotlin.Function1((kotlin.Int, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Function1((kotlin.Int, kotlin.Boolean)), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Unit)))/child">child</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a>&nbsp;<span class="symbol">=</span>&nbsp;VPanel()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$<init>(com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.M)), kotlin.Function1((kotlin.Int, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Function1((kotlin.Int, kotlin.Boolean)), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.data/-data-container/index.html"><span class="identifier">DataContainer</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.data/-data-container/index.html#M"><span class="identifier">M</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.data/-data-container/index.html#C"><span class="identifier">C</span></a><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>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.data/-data-container/-init-.html"><span class="identifier">DataContainer</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$<init>(com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((pl.treksoft.kvision.data.DataContainer.M)), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Unit)))/model">model</span><span class="symbol">:</span>&nbsp;<span class="identifier">ObservableList</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.data/-data-container/index.html#M"><span class="identifier">M</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$<init>(com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((pl.treksoft.kvision.data.DataContainer.M)), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Unit)))/factory">factory</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.data/-data-container/index.html#M"><span class="identifier">M</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="pl.treksoft.kvision.data/-data-container/index.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$<init>(com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((pl.treksoft.kvision.data.DataContainer.M)), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Unit)))/filter">filter</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.data/-data-container/index.html#M"><span class="identifier">M</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</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;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$<init>(com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((pl.treksoft.kvision.data.DataContainer.M)), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Unit)))/mapping">mapping</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.data/-data-container/index.html#M"><span class="identifier">M</span></a><span class="symbol">&gt;</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.data/-data-container/index.html#M"><span class="identifier">M</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$<init>(com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((pl.treksoft.kvision.data.DataContainer.M)), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Unit)))/container">container</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a>&nbsp;<span class="symbol">=</span>&nbsp;VPanel()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$<init>(com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((pl.treksoft.kvision.data.DataContainer.M)), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.data/-data-container/index.html"><span class="identifier">DataContainer</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.data/-data-container/index.html#M"><span class="identifier">M</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.data/-data-container/index.html#C"><span class="identifier">C</span></a><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>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.data/-data-container/add.html"><span class="keyword">fun </span><span class="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$add(pl.treksoft.kvision.core.Component)/child">child</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.core/-component/index.html"><span class="identifier">Component</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.data/-data-container/add-all.html"><span class="keyword">fun </span><span class="identifier">addAll</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$addAll(kotlin.collections.List((pl.treksoft.kvision.core.Component)))/children">children</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.core/-component/index.html"><span class="identifier">Component</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.data/-data-container/clear-on-update.html"><span class="keyword">fun </span><span class="identifier">clearOnUpdate</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="pl.treksoft.kvision.data/-data-container/index.html"><span class="identifier">DataContainer</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.data/-data-container/index.html#M"><span class="identifier">M</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.data/-data-container/index.html#C"><span class="identifier">C</span></a><span class="symbol">&gt;</span></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.data/-data-container/data-container.html"><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">M</span><span class="symbol">, </span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.core/-component/index.html"><span class="identifier">Component</span></a><span class="symbol">&gt;</span> <a href="pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a><span class="symbol">.</span><span class="identifier">dataContainer</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer.Companion$dataContainer(pl.treksoft.kvision.core.Container, com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), kotlin.Function1((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Function1((kotlin.Int, kotlin.Boolean)), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Unit)))/model">model</span><span class="symbol">:</span>&nbsp;<span class="identifier">ObservableList</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.data/-data-container/data-container.html#M"><span class="identifier">M</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer.Companion$dataContainer(pl.treksoft.kvision.core.Container, com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), kotlin.Function1((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Function1((kotlin.Int, kotlin.Boolean)), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Unit)))/binding">binding</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="pl.treksoft.kvision.data/-data-container/data-container.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer.Companion$dataContainer(pl.treksoft.kvision.core.Container, com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), kotlin.Function1((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Function1((kotlin.Int, kotlin.Boolean)), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Unit)))/filter">filter</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</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;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer.Companion$dataContainer(pl.treksoft.kvision.core.Container, com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), kotlin.Function1((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Function1((kotlin.Int, kotlin.Boolean)), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Unit)))/child">child</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a>&nbsp;<span class="symbol">=</span>&nbsp;VPanel()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer.Companion$dataContainer(pl.treksoft.kvision.core.Container, com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), kotlin.Function1((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Function1((kotlin.Int, kotlin.Boolean)), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.data/-data-container/index.html"><span class="identifier">DataContainer</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.data/-data-container/data-container.html#M"><span class="identifier">M</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.data/-data-container/data-container.html#C"><span class="identifier">C</span></a><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>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="pl.treksoft.kvision.data/-data-container/index.html"><span class="identifier">DataContainer</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.data/-data-container/data-container.html#M"><span class="identifier">M</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.data/-data-container/data-container.html#C"><span class="identifier">C</span></a><span class="symbol">&gt;</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.data/-data-container/data-container.html"><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">M</span><span class="symbol">, </span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.core/-component/index.html"><span class="identifier">Component</span></a><span class="symbol">&gt;</span> <a href="pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a><span class="symbol">.</span><span class="identifier">dataContainer</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer.Companion$dataContainer(pl.treksoft.kvision.core.Container, com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Unit)))/model">model</span><span class="symbol">:</span>&nbsp;<span class="identifier">ObservableList</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.data/-data-container/data-container.html#M"><span class="identifier">M</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer.Companion$dataContainer(pl.treksoft.kvision.core.Container, com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Unit)))/factory">factory</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.data/-data-container/data-container.html#M"><span class="identifier">M</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="pl.treksoft.kvision.data/-data-container/data-container.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer.Companion$dataContainer(pl.treksoft.kvision.core.Container, com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Unit)))/filter">filter</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.data/-data-container/data-container.html#M"><span class="identifier">M</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</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;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer.Companion$dataContainer(pl.treksoft.kvision.core.Container, com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Unit)))/mapping">mapping</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.data/-data-container/data-container.html#M"><span class="identifier">M</span></a><span class="symbol">&gt;</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.data/-data-container/data-container.html#M"><span class="identifier">M</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer.Companion$dataContainer(pl.treksoft.kvision.core.Container, com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Unit)))/container">container</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a>&nbsp;<span class="symbol">=</span>&nbsp;VPanel()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer.Companion$dataContainer(pl.treksoft.kvision.core.Container, com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.data/-data-container/index.html"><span class="identifier">DataContainer</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.data/-data-container/data-container.html#M"><span class="identifier">M</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.data/-data-container/data-container.html#C"><span class="identifier">C</span></a><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>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="pl.treksoft.kvision.data/-data-container/index.html"><span class="identifier">DataContainer</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.data/-data-container/data-container.html#M"><span class="identifier">M</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.data/-data-container/data-container.html#C"><span class="identifier">C</span></a><span class="symbol">&gt;</span></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.data/-data-container/get-children.html"><span class="keyword">fun </span><span class="identifier">getChildren</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.core/-component/index.html"><span class="identifier">Component</span></a><span class="symbol">&gt;</span></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.data/-data-container/on-update.html"><span class="keyword">fun </span><span class="identifier">onUpdate</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$onUpdate(kotlin.Function0((kotlin.Unit)))/handler">handler</span><span class="symbol">:</span>&nbsp;<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="pl.treksoft.kvision.data/-data-container/index.html"><span class="identifier">DataContainer</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.data/-data-container/index.html#M"><span class="identifier">M</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.data/-data-container/index.html#C"><span class="identifier">C</span></a><span class="symbol">&gt;</span></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.data/-data-container/remove.html"><span class="keyword">fun </span><span class="identifier">remove</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$remove(pl.treksoft.kvision.core.Component)/child">child</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.core/-component/index.html"><span class="identifier">Component</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a></a></a><br/>
@@ -1134,13 +1134,16 @@
</HEAD>
<BODY>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form/-init-.html"><span class="identifier">Form</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.Form$<init>(pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.Form.K)), kotlin.Function1((kotlin.collections.Map((kotlin.String, kotlin.Any)), pl.treksoft.kvision.form.Form.K)))/panel">panel</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-form-panel/index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form/index.html#K"><span class="identifier">K</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.form.Form$<init>(pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.Form.K)), kotlin.Function1((kotlin.collections.Map((kotlin.String, kotlin.Any)), pl.treksoft.kvision.form.Form.K)))/modelFactory">modelFactory</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-map/index.html"><span class="identifier">Map</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>&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="symbol">&gt;</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="pl.treksoft.kvision.form/-form/index.html#K"><span class="identifier">K</span></a><span class="symbol">)</span></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form/add.html"><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-form-control/index.html"><span class="identifier">FormControl</span></a><span class="symbol">&gt;</span> <span class="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.Form$add(kotlin.String, pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/key">key</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="identifier" id="pl.treksoft.kvision.form.Form$add(kotlin.String, pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/control">control</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-form/add.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.Form$add(kotlin.String, pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/required">required</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.form.Form$add(kotlin.String, pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/validatorMessage">validatorMessage</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="pl.treksoft.kvision.form/-form/add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</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.form.Form$add(kotlin.String, pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/validator">validator</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="pl.treksoft.kvision.form/-form/add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="pl.treksoft.kvision.form/-form/index.html"><span class="identifier">Form</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form/index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form/add.html"><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-string-form-control/index.html"><span class="identifier">StringFormControl</span></a><span class="symbol">&gt;</span> <span class="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.String)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form/index.html#K"><span class="identifier">K</span></a><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">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.String)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/control">control</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-form/add.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.String)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/required">required</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.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.String)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/validatorMessage">validatorMessage</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="pl.treksoft.kvision.form/-form/add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</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.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.String)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/validator">validator</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="pl.treksoft.kvision.form/-form/add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="pl.treksoft.kvision.form/-form/index.html"><span class="identifier">Form</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form/index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form/add.html"><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-bool-form-control/index.html"><span class="identifier">BoolFormControl</span></a><span class="symbol">&gt;</span> <span class="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.Boolean)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form/index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.Boolean)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/control">control</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-form/add.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.Boolean)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/required">required</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.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.Boolean)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/validatorMessage">validatorMessage</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="pl.treksoft.kvision.form/-form/add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</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.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.Boolean)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/validator">validator</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="pl.treksoft.kvision.form/-form/add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="pl.treksoft.kvision.form/-form/index.html"><span class="identifier">Form</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form/index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form/add.html"><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-number-form-control/index.html"><span class="identifier">NumberFormControl</span></a><span class="symbol">&gt;</span> <span class="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.Number)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form/index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<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><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.Number)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/control">control</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-form/add.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.Number)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/required">required</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.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.Number)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/validatorMessage">validatorMessage</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="pl.treksoft.kvision.form/-form/add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</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.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.Number)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/validator">validator</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="pl.treksoft.kvision.form/-form/add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="pl.treksoft.kvision.form/-form/index.html"><span class="identifier">Form</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form/index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form/add.html"><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-date-form-control/index.html"><span class="identifier">DateFormControl</span></a><span class="symbol">&gt;</span> <span class="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.js.Date)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form/index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<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><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.js.Date)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/control">control</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-form/add.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.js.Date)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/required">required</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.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.js.Date)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/validatorMessage">validatorMessage</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="pl.treksoft.kvision.form/-form/add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</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.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.js.Date)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/validator">validator</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="pl.treksoft.kvision.form/-form/add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="pl.treksoft.kvision.form/-form/index.html"><span class="identifier">Form</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form/index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form/clear-data.html"><span class="keyword">fun </span><span class="identifier">clearData</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form/get.html"><span class="keyword">operator</span> <span class="keyword">fun </span><span class="identifier">get</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.Form$get(kotlin.String)/key">key</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><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">?</span></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form/get-control.html"><span class="keyword">fun </span><span class="identifier">getControl</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.Form$getControl(kotlin.String)/key">key</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><a href="pl.treksoft.kvision.form/-form-control/index.html"><span class="identifier">FormControl</span></a><span class="symbol">?</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form/get.html"><span class="keyword">operator</span> <span class="keyword">fun </span><span class="identifier">get</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.Form$get(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.Any)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form/index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">?</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form/get-control.html"><span class="keyword">fun </span><span class="identifier">getControl</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.Form$getControl(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.Any)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form/index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="pl.treksoft.kvision.form/-form-control/index.html"><span class="identifier">FormControl</span></a><span class="symbol">?</span></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form/get-data.html"><span class="keyword">fun </span><span class="identifier">getData</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="pl.treksoft.kvision.form/-form/index.html#K"><span class="identifier">K</span></a></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form/get-data-json.html"><span class="keyword">fun </span><span class="identifier">getDataJson</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.js/-json/index.html"><span class="identifier">Json</span></a></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form/remove.html"><span class="keyword">fun </span><span class="identifier">remove</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.Form$remove(kotlin.String)/key">key</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><a href="pl.treksoft.kvision.form/-form/index.html"><span class="identifier">Form</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form/index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form/remove.html"><span class="keyword">fun </span><span class="identifier">remove</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.Form$remove(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.Any)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form/index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="pl.treksoft.kvision.form/-form/index.html"><span class="identifier">Form</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form/index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form/remove-all.html"><span class="keyword">fun </span><span class="identifier">removeAll</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="pl.treksoft.kvision.form/-form/index.html"><span class="identifier">Form</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form/index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form/set-data.html"><span class="keyword">fun </span><span class="identifier">setData</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.Form$setData(pl.treksoft.kvision.form.Form.K)/model">model</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-form/index.html#K"><span class="identifier">K</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form/validate.html"><span class="keyword">fun </span><span class="identifier">validate</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></a></a><br/>
@@ -1178,15 +1181,19 @@
</HEAD>
<BODY>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form-panel/-init-.html"><span class="identifier">FormPanel</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$<init>(pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((kotlin.collections.Map((kotlin.String, kotlin.Any)), pl.treksoft.kvision.form.FormPanel.K)))/type">type</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-form-type/index.html"><span class="identifier">FormType</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$<init>(pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((kotlin.collections.Map((kotlin.String, kotlin.Any)), pl.treksoft.kvision.form.FormPanel.K)))/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.form.FormPanel$<init>(pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((kotlin.collections.Map((kotlin.String, kotlin.Any)), pl.treksoft.kvision.form.FormPanel.K)))/modelFactory">modelFactory</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-map/index.html"><span class="identifier">Map</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>&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="symbol">&gt;</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="pl.treksoft.kvision.form/-form-panel/index.html#K"><span class="identifier">K</span></a><span class="symbol">)</span></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form-panel/add.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-form-control/index.html"><span class="identifier">FormControl</span></a><span class="symbol">&gt;</span> <span class="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.String, pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/key">key</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="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.String, pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/control">control</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-form-panel/add.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.String, pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/required">required</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.form.FormPanel$add(kotlin.String, pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/validatorMessage">validatorMessage</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="pl.treksoft.kvision.form/-form-panel/add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</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.form.FormPanel$add(kotlin.String, pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/validator">validator</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="pl.treksoft.kvision.form/-form-panel/add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="pl.treksoft.kvision.form/-form-panel/index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form-panel/index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form-panel/add.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-string-form-control/index.html"><span class="identifier">StringFormControl</span></a><span class="symbol">&gt;</span> <span class="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.String)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form-panel/index.html#K"><span class="identifier">K</span></a><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">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.String)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/control">control</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-form-panel/add.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.String)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/required">required</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.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.String)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/validatorMessage">validatorMessage</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="pl.treksoft.kvision.form/-form-panel/add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</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.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.String)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/validator">validator</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="pl.treksoft.kvision.form/-form-panel/add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="pl.treksoft.kvision.form/-form-panel/index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form-panel/index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form-panel/add.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-bool-form-control/index.html"><span class="identifier">BoolFormControl</span></a><span class="symbol">&gt;</span> <span class="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Boolean)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form-panel/index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Boolean)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/control">control</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-form-panel/add.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Boolean)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/required">required</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.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Boolean)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/validatorMessage">validatorMessage</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="pl.treksoft.kvision.form/-form-panel/add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</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.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Boolean)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/validator">validator</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="pl.treksoft.kvision.form/-form-panel/add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="pl.treksoft.kvision.form/-form-panel/index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form-panel/index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form-panel/add.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-number-form-control/index.html"><span class="identifier">NumberFormControl</span></a><span class="symbol">&gt;</span> <span class="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Number)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form-panel/index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<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><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Number)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/control">control</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-form-panel/add.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Number)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/required">required</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.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Number)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/validatorMessage">validatorMessage</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="pl.treksoft.kvision.form/-form-panel/add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</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.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Number)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/validator">validator</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="pl.treksoft.kvision.form/-form-panel/add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="pl.treksoft.kvision.form/-form-panel/index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form-panel/index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form-panel/add.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-date-form-control/index.html"><span class="identifier">DateFormControl</span></a><span class="symbol">&gt;</span> <span class="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.js.Date)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form-panel/index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<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><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.js.Date)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/control">control</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-form-panel/add.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.js.Date)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/required">required</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.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.js.Date)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/validatorMessage">validatorMessage</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="pl.treksoft.kvision.form/-form-panel/add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</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.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.js.Date)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/validator">validator</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="pl.treksoft.kvision.form/-form-panel/add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="pl.treksoft.kvision.form/-form-panel/index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form-panel/index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form-panel/add-internal.html"><span class="keyword">protected</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-form-control/index.html"><span class="identifier">FormControl</span></a><span class="symbol">&gt;</span> <span class="identifier">addInternal</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$addInternal(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Any)), pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.Boolean)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form-panel/index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$addInternal(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Any)), pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.Boolean)))/control">control</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-form-panel/add-internal.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$addInternal(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Any)), pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.Boolean)))/required">required</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.form.FormPanel$addInternal(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Any)), pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.Boolean)))/validatorMessage">validatorMessage</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="pl.treksoft.kvision.form/-form-panel/add-internal.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</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.form.FormPanel$addInternal(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Any)), pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.Boolean)))/validator">validator</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="pl.treksoft.kvision.form/-form-panel/add-internal.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="pl.treksoft.kvision.form/-form-panel/index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form-panel/index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form-panel/clear-data.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">clearData</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form-panel/form-panel.html"><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">K</span><span class="symbol">&gt;</span> <a href="pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a><span class="symbol">.</span><span class="identifier">formPanel</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel.Companion$formPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((kotlin.collections.Map((kotlin.String, kotlin.Any)), pl.treksoft.kvision.form.FormPanel.Companion.formPanel.K)))/type">type</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-form-type/index.html"><span class="identifier">FormType</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel.Companion$formPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((kotlin.collections.Map((kotlin.String, kotlin.Any)), pl.treksoft.kvision.form.FormPanel.Companion.formPanel.K)))/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.form.FormPanel.Companion$formPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((kotlin.collections.Map((kotlin.String, kotlin.Any)), pl.treksoft.kvision.form.FormPanel.Companion.formPanel.K)))/modelFactory">modelFactory</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-map/index.html"><span class="identifier">Map</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>&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="symbol">&gt;</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="pl.treksoft.kvision.form/-form-panel/form-panel.html#K"><span class="identifier">K</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="pl.treksoft.kvision.form/-form-panel/index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form-panel/form-panel.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form-panel/get.html"><span class="keyword">operator</span> <span class="keyword">fun </span><span class="identifier">get</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$get(kotlin.String)/key">key</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><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">?</span></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form-panel/get-control.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getControl</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$getControl(kotlin.String)/key">key</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><a href="pl.treksoft.kvision.form/-form-control/index.html"><span class="identifier">FormControl</span></a><span class="symbol">?</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form-panel/get.html"><span class="keyword">operator</span> <span class="keyword">fun </span><span class="identifier">get</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$get(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Any)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form-panel/index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">?</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form-panel/get-control.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getControl</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$getControl(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Any)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form-panel/index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="pl.treksoft.kvision.form/-form-control/index.html"><span class="identifier">FormControl</span></a><span class="symbol">?</span></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form-panel/get-data.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getData</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="pl.treksoft.kvision.form/-form-panel/index.html#K"><span class="identifier">K</span></a></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form-panel/get-data-json.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getDataJson</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.js/-json/index.html"><span class="identifier">Json</span></a></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form-panel/get-sn-class.html"><span class="keyword">protected</span> <span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getSnClass</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.core/-string-bool-pair.html"><span class="identifier">StringBoolPair</span></a><span class="symbol">&gt;</span></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form-panel/remove.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">remove</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$remove(kotlin.String)/key">key</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><a href="pl.treksoft.kvision.form/-form-panel/index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form-panel/index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form-panel/remove.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">remove</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$remove(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Any)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form-panel/index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="pl.treksoft.kvision.form/-form-panel/index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form-panel/index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form-panel/remove-all.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">removeAll</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="pl.treksoft.kvision.form/-form-panel/index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form-panel/index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form-panel/render.html"><span class="keyword">protected</span> <span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">render</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">VNode</span></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form-panel/set-data.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">setData</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$setData(pl.treksoft.kvision.form.FormPanel.K)/model">model</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-form-panel/index.html#K"><span class="identifier">K</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></a></a><br/>
@@ -1430,6 +1437,22 @@
</BODY>
</HTML>
</ul>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.html/-icon/index.html"><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Icon</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.html/-tag/index.html"><span class="identifier">Tag</span></a></a></a><br/>
+<ul>
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Module Contents</title>
+<link rel="stylesheet" href="../style.css">
+</HEAD>
+<BODY>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.html/-icon/-init-.html"><span class="identifier">Icon</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.html.Icon$<init>(kotlin.String)/icon">icon</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></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.html/-icon/get-sn-class.html"><span class="keyword">protected</span> <span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getSnClass</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.core/-string-bool-pair.html"><span class="identifier">StringBoolPair</span></a><span class="symbol">&gt;</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.html/-icon/icon.html"><span class="keyword">var </span><span class="identifier">icon</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.html/-icon/icon.html"><span class="keyword">fun </span><a href="pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a><span class="symbol">.</span><span class="identifier">icon</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.html.Icon.Companion$icon(pl.treksoft.kvision.core.Container, kotlin.String, kotlin.Function1((pl.treksoft.kvision.html.Icon, kotlin.Unit)))/icon">icon</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="identifier" id="pl.treksoft.kvision.html.Icon.Companion$icon(pl.treksoft.kvision.core.Container, kotlin.String, kotlin.Function1((pl.treksoft.kvision.html.Icon, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.html/-icon/index.html"><span class="identifier">Icon</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>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="pl.treksoft.kvision.html/-icon/index.html"><span class="identifier">Icon</span></a></a></a><br/>
+</BODY>
+</HTML>
+</ul>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.html/-image/index.html"><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Image</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a></a></a><br/>
<ul>
<HTML>
@@ -1863,6 +1886,7 @@
</HEAD>
<BODY>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.panel/-root/-init-.html"><span class="identifier">Root</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.panel.Root$<init>(kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.panel.Root, kotlin.Unit)))/id">id</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="identifier" id="pl.treksoft.kvision.panel.Root$<init>(kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.panel.Root, kotlin.Unit)))/fixed">fixed</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.panel.Root$<init>(kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.panel.Root, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.panel/-root/index.html"><span class="identifier">Root</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>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.panel/-root/get-root.html"><span class="keyword">fun </span><span class="identifier">getRoot</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="pl.treksoft.kvision.panel/-root/index.html"><span class="identifier">Root</span></a><span class="symbol">?</span></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.panel/-root/get-sn-class.html"><span class="keyword">protected</span> <span class="keyword">fun </span><span class="identifier">getSnClass</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.core/-string-bool-pair.html"><span class="identifier">StringBoolPair</span></a><span class="symbol">&gt;</span></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.panel/-root/render.html"><span class="keyword">protected</span> <span class="keyword">fun </span><span class="identifier">render</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">VNode</span></a></a><br/>
</BODY>
@@ -2266,6 +2290,7 @@
<BODY>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.html/-t-a-g/-a-b-b-r.html"><span class="identifier">ABBR</span></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.html/-t-a-g/-a-d-d-r-e-s-s.html"><span class="identifier">ADDRESS</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.html/-t-a-g/-b.html"><span class="identifier">B</span></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.html/-t-a-g/-b-l-o-c-k-q-u-o-t-e.html"><span class="identifier">BLOCKQUOTE</span></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.html/-t-a-g/-c-a-p-t-i-o-n.html"><span class="identifier">CAPTION</span></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.html/-t-a-g/-c-i-t-e.html"><span class="identifier">CITE</span></a></a><br/>
@@ -2281,6 +2306,7 @@
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.html/-t-a-g/-h5.html"><span class="identifier">H5</span></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.html/-t-a-g/-h6.html"><span class="identifier">H6</span></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.html/-t-a-g/-h-e-a-d-e-r.html"><span class="identifier">HEADER</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.html/-t-a-g/-i.html"><span class="identifier">I</span></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.html/-t-a-g/-i-n-s.html"><span class="identifier">INS</span></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.html/-t-a-g/-k-b-d.html"><span class="identifier">KBD</span></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.html/-t-a-g/-l-a-b-e-l.html"><span class="identifier">LABEL</span></a></a><br/>
@@ -3280,11 +3306,11 @@
<link rel="stylesheet" href="../style.css">
</HEAD>
<BODY>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.data/-data-container/-init-.html"><span class="identifier">DataContainer</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$<init>(com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.M)), kotlin.Function1((kotlin.Int, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Function1((kotlin.Int, kotlin.Boolean)), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Unit)))/model">model</span><span class="symbol">:</span>&nbsp;<span class="identifier">ObservableList</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.data/-data-container/index.html#M"><span class="identifier">M</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$<init>(com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.M)), kotlin.Function1((kotlin.Int, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Function1((kotlin.Int, kotlin.Boolean)), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Unit)))/binding">binding</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="pl.treksoft.kvision.data/-data-container/index.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$<init>(com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.M)), kotlin.Function1((kotlin.Int, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Function1((kotlin.Int, kotlin.Boolean)), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Unit)))/filter">filter</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</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;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$<init>(com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.M)), kotlin.Function1((kotlin.Int, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Function1((kotlin.Int, kotlin.Boolean)), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Unit)))/child">child</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a>&nbsp;<span class="symbol">=</span>&nbsp;VPanel()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$<init>(com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.M)), kotlin.Function1((kotlin.Int, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Function1((kotlin.Int, kotlin.Boolean)), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.data/-data-container/index.html"><span class="identifier">DataContainer</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.data/-data-container/index.html#M"><span class="identifier">M</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.data/-data-container/index.html#C"><span class="identifier">C</span></a><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>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.data/-data-container/-init-.html"><span class="identifier">DataContainer</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$<init>(com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((pl.treksoft.kvision.data.DataContainer.M)), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Unit)))/model">model</span><span class="symbol">:</span>&nbsp;<span class="identifier">ObservableList</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.data/-data-container/index.html#M"><span class="identifier">M</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$<init>(com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((pl.treksoft.kvision.data.DataContainer.M)), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Unit)))/factory">factory</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.data/-data-container/index.html#M"><span class="identifier">M</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="pl.treksoft.kvision.data/-data-container/index.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$<init>(com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((pl.treksoft.kvision.data.DataContainer.M)), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Unit)))/filter">filter</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.data/-data-container/index.html#M"><span class="identifier">M</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</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;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$<init>(com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((pl.treksoft.kvision.data.DataContainer.M)), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Unit)))/mapping">mapping</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.data/-data-container/index.html#M"><span class="identifier">M</span></a><span class="symbol">&gt;</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.data/-data-container/index.html#M"><span class="identifier">M</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$<init>(com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((pl.treksoft.kvision.data.DataContainer.M)), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Unit)))/container">container</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a>&nbsp;<span class="symbol">=</span>&nbsp;VPanel()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$<init>(com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((pl.treksoft.kvision.data.DataContainer.M)), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.data/-data-container/index.html"><span class="identifier">DataContainer</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.data/-data-container/index.html#M"><span class="identifier">M</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.data/-data-container/index.html#C"><span class="identifier">C</span></a><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>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.data/-data-container/add.html"><span class="keyword">fun </span><span class="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$add(pl.treksoft.kvision.core.Component)/child">child</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.core/-component/index.html"><span class="identifier">Component</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.data/-data-container/add-all.html"><span class="keyword">fun </span><span class="identifier">addAll</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$addAll(kotlin.collections.List((pl.treksoft.kvision.core.Component)))/children">children</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.core/-component/index.html"><span class="identifier">Component</span></a><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.data/-data-container/clear-on-update.html"><span class="keyword">fun </span><span class="identifier">clearOnUpdate</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="pl.treksoft.kvision.data/-data-container/index.html"><span class="identifier">DataContainer</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.data/-data-container/index.html#M"><span class="identifier">M</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.data/-data-container/index.html#C"><span class="identifier">C</span></a><span class="symbol">&gt;</span></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.data/-data-container/data-container.html"><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">M</span><span class="symbol">, </span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.core/-component/index.html"><span class="identifier">Component</span></a><span class="symbol">&gt;</span> <a href="pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a><span class="symbol">.</span><span class="identifier">dataContainer</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer.Companion$dataContainer(pl.treksoft.kvision.core.Container, com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), kotlin.Function1((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Function1((kotlin.Int, kotlin.Boolean)), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Unit)))/model">model</span><span class="symbol">:</span>&nbsp;<span class="identifier">ObservableList</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.data/-data-container/data-container.html#M"><span class="identifier">M</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer.Companion$dataContainer(pl.treksoft.kvision.core.Container, com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), kotlin.Function1((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Function1((kotlin.Int, kotlin.Boolean)), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Unit)))/binding">binding</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="pl.treksoft.kvision.data/-data-container/data-container.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer.Companion$dataContainer(pl.treksoft.kvision.core.Container, com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), kotlin.Function1((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Function1((kotlin.Int, kotlin.Boolean)), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Unit)))/filter">filter</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</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;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer.Companion$dataContainer(pl.treksoft.kvision.core.Container, com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), kotlin.Function1((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Function1((kotlin.Int, kotlin.Boolean)), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Unit)))/child">child</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a>&nbsp;<span class="symbol">=</span>&nbsp;VPanel()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer.Companion$dataContainer(pl.treksoft.kvision.core.Container, com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), kotlin.Function1((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Function1((kotlin.Int, kotlin.Boolean)), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.data/-data-container/index.html"><span class="identifier">DataContainer</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.data/-data-container/data-container.html#M"><span class="identifier">M</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.data/-data-container/data-container.html#C"><span class="identifier">C</span></a><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>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="pl.treksoft.kvision.data/-data-container/index.html"><span class="identifier">DataContainer</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.data/-data-container/data-container.html#M"><span class="identifier">M</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.data/-data-container/data-container.html#C"><span class="identifier">C</span></a><span class="symbol">&gt;</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.data/-data-container/data-container.html"><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">M</span><span class="symbol">, </span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.core/-component/index.html"><span class="identifier">Component</span></a><span class="symbol">&gt;</span> <a href="pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a><span class="symbol">.</span><span class="identifier">dataContainer</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer.Companion$dataContainer(pl.treksoft.kvision.core.Container, com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Unit)))/model">model</span><span class="symbol">:</span>&nbsp;<span class="identifier">ObservableList</span><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.data/-data-container/data-container.html#M"><span class="identifier">M</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer.Companion$dataContainer(pl.treksoft.kvision.core.Container, com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Unit)))/factory">factory</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.data/-data-container/data-container.html#M"><span class="identifier">M</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="pl.treksoft.kvision.data/-data-container/data-container.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer.Companion$dataContainer(pl.treksoft.kvision.core.Container, com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Unit)))/filter">filter</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.data/-data-container/data-container.html#M"><span class="identifier">M</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</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;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer.Companion$dataContainer(pl.treksoft.kvision.core.Container, com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Unit)))/mapping">mapping</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.data/-data-container/data-container.html#M"><span class="identifier">M</span></a><span class="symbol">&gt;</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.data/-data-container/data-container.html#M"><span class="identifier">M</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer.Companion$dataContainer(pl.treksoft.kvision.core.Container, com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Unit)))/container">container</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a>&nbsp;<span class="symbol">=</span>&nbsp;VPanel()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer.Companion$dataContainer(pl.treksoft.kvision.core.Container, com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.data/-data-container/index.html"><span class="identifier">DataContainer</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.data/-data-container/data-container.html#M"><span class="identifier">M</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.data/-data-container/data-container.html#C"><span class="identifier">C</span></a><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>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="pl.treksoft.kvision.data/-data-container/index.html"><span class="identifier">DataContainer</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.data/-data-container/data-container.html#M"><span class="identifier">M</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.data/-data-container/data-container.html#C"><span class="identifier">C</span></a><span class="symbol">&gt;</span></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.data/-data-container/get-children.html"><span class="keyword">fun </span><span class="identifier">getChildren</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.core/-component/index.html"><span class="identifier">Component</span></a><span class="symbol">&gt;</span></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.data/-data-container/on-update.html"><span class="keyword">fun </span><span class="identifier">onUpdate</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$onUpdate(kotlin.Function0((kotlin.Unit)))/handler">handler</span><span class="symbol">:</span>&nbsp;<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="pl.treksoft.kvision.data/-data-container/index.html"><span class="identifier">DataContainer</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.data/-data-container/index.html#M"><span class="identifier">M</span></a><span class="symbol">,</span>&nbsp;<a href="pl.treksoft.kvision.data/-data-container/index.html#C"><span class="identifier">C</span></a><span class="symbol">&gt;</span></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.data/-data-container/remove.html"><span class="keyword">fun </span><span class="identifier">remove</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$remove(pl.treksoft.kvision.core.Component)/child">child</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.core/-component/index.html"><span class="identifier">Component</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a></a></a><br/>
@@ -3434,13 +3460,16 @@
</HEAD>
<BODY>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form/-init-.html"><span class="identifier">Form</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.Form$<init>(pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.Form.K)), kotlin.Function1((kotlin.collections.Map((kotlin.String, kotlin.Any)), pl.treksoft.kvision.form.Form.K)))/panel">panel</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-form-panel/index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form/index.html#K"><span class="identifier">K</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.form.Form$<init>(pl.treksoft.kvision.form.FormPanel((pl.treksoft.kvision.form.Form.K)), kotlin.Function1((kotlin.collections.Map((kotlin.String, kotlin.Any)), pl.treksoft.kvision.form.Form.K)))/modelFactory">modelFactory</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-map/index.html"><span class="identifier">Map</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>&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="symbol">&gt;</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="pl.treksoft.kvision.form/-form/index.html#K"><span class="identifier">K</span></a><span class="symbol">)</span></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form/add.html"><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-form-control/index.html"><span class="identifier">FormControl</span></a><span class="symbol">&gt;</span> <span class="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.Form$add(kotlin.String, pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/key">key</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="identifier" id="pl.treksoft.kvision.form.Form$add(kotlin.String, pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/control">control</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-form/add.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.Form$add(kotlin.String, pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/required">required</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.form.Form$add(kotlin.String, pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/validatorMessage">validatorMessage</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="pl.treksoft.kvision.form/-form/add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</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.form.Form$add(kotlin.String, pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/validator">validator</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="pl.treksoft.kvision.form/-form/add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="pl.treksoft.kvision.form/-form/index.html"><span class="identifier">Form</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form/index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form/add.html"><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-string-form-control/index.html"><span class="identifier">StringFormControl</span></a><span class="symbol">&gt;</span> <span class="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.String)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form/index.html#K"><span class="identifier">K</span></a><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">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.String)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/control">control</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-form/add.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.String)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/required">required</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.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.String)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/validatorMessage">validatorMessage</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="pl.treksoft.kvision.form/-form/add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</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.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.String)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/validator">validator</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="pl.treksoft.kvision.form/-form/add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="pl.treksoft.kvision.form/-form/index.html"><span class="identifier">Form</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form/index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form/add.html"><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-bool-form-control/index.html"><span class="identifier">BoolFormControl</span></a><span class="symbol">&gt;</span> <span class="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.Boolean)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form/index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.Boolean)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/control">control</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-form/add.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.Boolean)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/required">required</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.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.Boolean)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/validatorMessage">validatorMessage</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="pl.treksoft.kvision.form/-form/add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</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.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.Boolean)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/validator">validator</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="pl.treksoft.kvision.form/-form/add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="pl.treksoft.kvision.form/-form/index.html"><span class="identifier">Form</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form/index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form/add.html"><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-number-form-control/index.html"><span class="identifier">NumberFormControl</span></a><span class="symbol">&gt;</span> <span class="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.Number)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form/index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<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><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.Number)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/control">control</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-form/add.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.Number)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/required">required</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.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.Number)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/validatorMessage">validatorMessage</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="pl.treksoft.kvision.form/-form/add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</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.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.Number)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/validator">validator</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="pl.treksoft.kvision.form/-form/add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="pl.treksoft.kvision.form/-form/index.html"><span class="identifier">Form</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form/index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form/add.html"><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-date-form-control/index.html"><span class="identifier">DateFormControl</span></a><span class="symbol">&gt;</span> <span class="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.js.Date)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form/index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<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><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.js.Date)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/control">control</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-form/add.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.js.Date)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/required">required</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.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.js.Date)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/validatorMessage">validatorMessage</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="pl.treksoft.kvision.form/-form/add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</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.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.js.Date)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/validator">validator</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="pl.treksoft.kvision.form/-form/add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="pl.treksoft.kvision.form/-form/index.html"><span class="identifier">Form</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form/index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form/clear-data.html"><span class="keyword">fun </span><span class="identifier">clearData</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form/get.html"><span class="keyword">operator</span> <span class="keyword">fun </span><span class="identifier">get</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.Form$get(kotlin.String)/key">key</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><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">?</span></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form/get-control.html"><span class="keyword">fun </span><span class="identifier">getControl</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.Form$getControl(kotlin.String)/key">key</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><a href="pl.treksoft.kvision.form/-form-control/index.html"><span class="identifier">FormControl</span></a><span class="symbol">?</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form/get.html"><span class="keyword">operator</span> <span class="keyword">fun </span><span class="identifier">get</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.Form$get(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.Any)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form/index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">?</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form/get-control.html"><span class="keyword">fun </span><span class="identifier">getControl</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.Form$getControl(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.Any)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form/index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="pl.treksoft.kvision.form/-form-control/index.html"><span class="identifier">FormControl</span></a><span class="symbol">?</span></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form/get-data.html"><span class="keyword">fun </span><span class="identifier">getData</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="pl.treksoft.kvision.form/-form/index.html#K"><span class="identifier">K</span></a></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form/get-data-json.html"><span class="keyword">fun </span><span class="identifier">getDataJson</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.js/-json/index.html"><span class="identifier">Json</span></a></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form/remove.html"><span class="keyword">fun </span><span class="identifier">remove</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.Form$remove(kotlin.String)/key">key</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><a href="pl.treksoft.kvision.form/-form/index.html"><span class="identifier">Form</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form/index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form/remove.html"><span class="keyword">fun </span><span class="identifier">remove</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.Form$remove(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.Any)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form/index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="pl.treksoft.kvision.form/-form/index.html"><span class="identifier">Form</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form/index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form/remove-all.html"><span class="keyword">fun </span><span class="identifier">removeAll</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="pl.treksoft.kvision.form/-form/index.html"><span class="identifier">Form</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form/index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form/set-data.html"><span class="keyword">fun </span><span class="identifier">setData</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.Form$setData(pl.treksoft.kvision.form.Form.K)/model">model</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-form/index.html#K"><span class="identifier">K</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form/validate.html"><span class="keyword">fun </span><span class="identifier">validate</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></a></a><br/>
@@ -3478,15 +3507,19 @@
</HEAD>
<BODY>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form-panel/-init-.html"><span class="identifier">FormPanel</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$<init>(pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((kotlin.collections.Map((kotlin.String, kotlin.Any)), pl.treksoft.kvision.form.FormPanel.K)))/type">type</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-form-type/index.html"><span class="identifier">FormType</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$<init>(pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((kotlin.collections.Map((kotlin.String, kotlin.Any)), pl.treksoft.kvision.form.FormPanel.K)))/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.form.FormPanel$<init>(pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((kotlin.collections.Map((kotlin.String, kotlin.Any)), pl.treksoft.kvision.form.FormPanel.K)))/modelFactory">modelFactory</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-map/index.html"><span class="identifier">Map</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>&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="symbol">&gt;</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="pl.treksoft.kvision.form/-form-panel/index.html#K"><span class="identifier">K</span></a><span class="symbol">)</span></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form-panel/add.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-form-control/index.html"><span class="identifier">FormControl</span></a><span class="symbol">&gt;</span> <span class="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.String, pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/key">key</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="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.String, pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/control">control</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-form-panel/add.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.String, pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/required">required</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.form.FormPanel$add(kotlin.String, pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/validatorMessage">validatorMessage</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="pl.treksoft.kvision.form/-form-panel/add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</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.form.FormPanel$add(kotlin.String, pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/validator">validator</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="pl.treksoft.kvision.form/-form-panel/add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="pl.treksoft.kvision.form/-form-panel/index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form-panel/index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form-panel/add.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-string-form-control/index.html"><span class="identifier">StringFormControl</span></a><span class="symbol">&gt;</span> <span class="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.String)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form-panel/index.html#K"><span class="identifier">K</span></a><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">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.String)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/control">control</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-form-panel/add.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.String)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/required">required</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.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.String)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/validatorMessage">validatorMessage</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="pl.treksoft.kvision.form/-form-panel/add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</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.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.String)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/validator">validator</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="pl.treksoft.kvision.form/-form-panel/add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="pl.treksoft.kvision.form/-form-panel/index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form-panel/index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form-panel/add.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-bool-form-control/index.html"><span class="identifier">BoolFormControl</span></a><span class="symbol">&gt;</span> <span class="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Boolean)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form-panel/index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Boolean)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/control">control</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-form-panel/add.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Boolean)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/required">required</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.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Boolean)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/validatorMessage">validatorMessage</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="pl.treksoft.kvision.form/-form-panel/add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</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.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Boolean)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/validator">validator</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="pl.treksoft.kvision.form/-form-panel/add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="pl.treksoft.kvision.form/-form-panel/index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form-panel/index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form-panel/add.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-number-form-control/index.html"><span class="identifier">NumberFormControl</span></a><span class="symbol">&gt;</span> <span class="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Number)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form-panel/index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<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><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Number)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/control">control</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-form-panel/add.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Number)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/required">required</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.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Number)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/validatorMessage">validatorMessage</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="pl.treksoft.kvision.form/-form-panel/add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</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.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Number)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/validator">validator</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="pl.treksoft.kvision.form/-form-panel/add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="pl.treksoft.kvision.form/-form-panel/index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form-panel/index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form-panel/add.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-date-form-control/index.html"><span class="identifier">DateFormControl</span></a><span class="symbol">&gt;</span> <span class="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.js.Date)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form-panel/index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<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><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.js.Date)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/control">control</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-form-panel/add.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.js.Date)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/required">required</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.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.js.Date)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/validatorMessage">validatorMessage</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="pl.treksoft.kvision.form/-form-panel/add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</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.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.js.Date)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/validator">validator</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="pl.treksoft.kvision.form/-form-panel/add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="pl.treksoft.kvision.form/-form-panel/index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form-panel/index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form-panel/add-internal.html"><span class="keyword">protected</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-form-control/index.html"><span class="identifier">FormControl</span></a><span class="symbol">&gt;</span> <span class="identifier">addInternal</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$addInternal(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Any)), pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.Boolean)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form-panel/index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$addInternal(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Any)), pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.Boolean)))/control">control</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-form-panel/add-internal.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$addInternal(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Any)), pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.Boolean)))/required">required</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.form.FormPanel$addInternal(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Any)), pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.Boolean)))/validatorMessage">validatorMessage</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="pl.treksoft.kvision.form/-form-panel/add-internal.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</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.form.FormPanel$addInternal(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Any)), pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.Boolean)))/validator">validator</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="pl.treksoft.kvision.form/-form-panel/add-internal.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="pl.treksoft.kvision.form/-form-panel/index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form-panel/index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form-panel/clear-data.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">clearData</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form-panel/form-panel.html"><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">K</span><span class="symbol">&gt;</span> <a href="pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a><span class="symbol">.</span><span class="identifier">formPanel</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel.Companion$formPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((kotlin.collections.Map((kotlin.String, kotlin.Any)), pl.treksoft.kvision.form.FormPanel.Companion.formPanel.K)))/type">type</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-form-type/index.html"><span class="identifier">FormType</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel.Companion$formPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((kotlin.collections.Map((kotlin.String, kotlin.Any)), pl.treksoft.kvision.form.FormPanel.Companion.formPanel.K)))/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.form.FormPanel.Companion$formPanel(pl.treksoft.kvision.core.Container, pl.treksoft.kvision.form.FormType, kotlin.collections.Set((kotlin.String)), kotlin.Function1((kotlin.collections.Map((kotlin.String, kotlin.Any)), pl.treksoft.kvision.form.FormPanel.Companion.formPanel.K)))/modelFactory">modelFactory</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-map/index.html"><span class="identifier">Map</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>&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="symbol">&gt;</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="pl.treksoft.kvision.form/-form-panel/form-panel.html#K"><span class="identifier">K</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="pl.treksoft.kvision.form/-form-panel/index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form-panel/form-panel.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form-panel/get.html"><span class="keyword">operator</span> <span class="keyword">fun </span><span class="identifier">get</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$get(kotlin.String)/key">key</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><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">?</span></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form-panel/get-control.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getControl</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$getControl(kotlin.String)/key">key</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><a href="pl.treksoft.kvision.form/-form-control/index.html"><span class="identifier">FormControl</span></a><span class="symbol">?</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form-panel/get.html"><span class="keyword">operator</span> <span class="keyword">fun </span><span class="identifier">get</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$get(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Any)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form-panel/index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">?</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form-panel/get-control.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getControl</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$getControl(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Any)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form-panel/index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="pl.treksoft.kvision.form/-form-control/index.html"><span class="identifier">FormControl</span></a><span class="symbol">?</span></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form-panel/get-data.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getData</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="pl.treksoft.kvision.form/-form-panel/index.html#K"><span class="identifier">K</span></a></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form-panel/get-data-json.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getDataJson</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.js/-json/index.html"><span class="identifier">Json</span></a></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form-panel/get-sn-class.html"><span class="keyword">protected</span> <span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getSnClass</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.core/-string-bool-pair.html"><span class="identifier">StringBoolPair</span></a><span class="symbol">&gt;</span></a></a><br/>
-<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form-panel/remove.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">remove</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$remove(kotlin.String)/key">key</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><a href="pl.treksoft.kvision.form/-form-panel/index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form-panel/index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form-panel/remove.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">remove</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$remove(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Any)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form-panel/index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="pl.treksoft.kvision.form/-form-panel/index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form-panel/index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form-panel/remove-all.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">removeAll</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="pl.treksoft.kvision.form/-form-panel/index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.form/-form-panel/index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form-panel/render.html"><span class="keyword">protected</span> <span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">render</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">VNode</span></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.form/-form-panel/set-data.html"><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">setData</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$setData(pl.treksoft.kvision.form.FormPanel.K)/model">model</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.form/-form-panel/index.html#K"><span class="identifier">K</span></a><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html"><span class="identifier">Unit</span></a></a></a><br/>
@@ -4561,6 +4594,22 @@
</BODY>
</HTML>
</ul>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.html/-icon/index.html"><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Icon</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.html/-tag/index.html"><span class="identifier">Tag</span></a></a></a><br/>
+<ul>
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Module Contents</title>
+<link rel="stylesheet" href="../style.css">
+</HEAD>
+<BODY>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.html/-icon/-init-.html"><span class="identifier">Icon</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.html.Icon$<init>(kotlin.String)/icon">icon</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></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.html/-icon/get-sn-class.html"><span class="keyword">protected</span> <span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getSnClass</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.core/-string-bool-pair.html"><span class="identifier">StringBoolPair</span></a><span class="symbol">&gt;</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.html/-icon/icon.html"><span class="keyword">var </span><span class="identifier">icon</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.html/-icon/icon.html"><span class="keyword">fun </span><a href="pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a><span class="symbol">.</span><span class="identifier">icon</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.html.Icon.Companion$icon(pl.treksoft.kvision.core.Container, kotlin.String, kotlin.Function1((pl.treksoft.kvision.html.Icon, kotlin.Unit)))/icon">icon</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="identifier" id="pl.treksoft.kvision.html.Icon.Companion$icon(pl.treksoft.kvision.core.Container, kotlin.String, kotlin.Function1((pl.treksoft.kvision.html.Icon, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.html/-icon/index.html"><span class="identifier">Icon</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>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="pl.treksoft.kvision.html/-icon/index.html"><span class="identifier">Icon</span></a></a></a><br/>
+</BODY>
+</HTML>
+</ul>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.html/-image/index.html"><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Image</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.core/-widget/index.html"><span class="identifier">Widget</span></a></a></a><br/>
<ul>
<HTML>
@@ -4681,6 +4730,7 @@
<BODY>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.html/-t-a-g/-a-b-b-r.html"><span class="identifier">ABBR</span></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.html/-t-a-g/-a-d-d-r-e-s-s.html"><span class="identifier">ADDRESS</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.html/-t-a-g/-b.html"><span class="identifier">B</span></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.html/-t-a-g/-b-l-o-c-k-q-u-o-t-e.html"><span class="identifier">BLOCKQUOTE</span></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.html/-t-a-g/-c-a-p-t-i-o-n.html"><span class="identifier">CAPTION</span></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.html/-t-a-g/-c-i-t-e.html"><span class="identifier">CITE</span></a></a><br/>
@@ -4696,6 +4746,7 @@
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.html/-t-a-g/-h5.html"><span class="identifier">H5</span></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.html/-t-a-g/-h6.html"><span class="identifier">H6</span></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.html/-t-a-g/-h-e-a-d-e-r.html"><span class="identifier">HEADER</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.html/-t-a-g/-i.html"><span class="identifier">I</span></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.html/-t-a-g/-i-n-s.html"><span class="identifier">INS</span></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.html/-t-a-g/-k-b-d.html"><span class="identifier">KBD</span></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.html/-t-a-g/-l-a-b-e-l.html"><span class="identifier">LABEL</span></a></a><br/>
@@ -5198,6 +5249,7 @@
</HEAD>
<BODY>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.panel/-root/-init-.html"><span class="identifier">Root</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.panel.Root$<init>(kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.panel.Root, kotlin.Unit)))/id">id</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="identifier" id="pl.treksoft.kvision.panel.Root$<init>(kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.panel.Root, kotlin.Unit)))/fixed">fixed</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.panel.Root$<init>(kotlin.String, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.panel.Root, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<a href="pl.treksoft.kvision.panel/-root/index.html"><span class="identifier">Root</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>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span></a></a><br/>
+<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.panel/-root/get-root.html"><span class="keyword">fun </span><span class="identifier">getRoot</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="pl.treksoft.kvision.panel/-root/index.html"><span class="identifier">Root</span></a><span class="symbol">?</span></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.panel/-root/get-sn-class.html"><span class="keyword">protected</span> <span class="keyword">fun </span><span class="identifier">getSnClass</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="pl.treksoft.kvision.core/-string-bool-pair.html"><span class="identifier">StringBoolPair</span></a><span class="symbol">&gt;</span></a></a><br/>
<a href="/home/rjaros/git/kvision/build/kdoc/kvision/index"><a href="pl.treksoft.kvision.panel/-root/render.html"><span class="keyword">protected</span> <span class="keyword">fun </span><span class="identifier">render</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">VNode</span></a></a><br/>
</BODY>
diff --git a/api/pl.treksoft.kvision.core/-widget-wrapper/visible.html b/api/pl.treksoft.kvision.core/-widget-wrapper/visible.html
index 51b6361d..b82b997e 100644
--- a/api/pl.treksoft.kvision.core/-widget-wrapper/visible.html
+++ b/api/pl.treksoft.kvision.core/-widget-wrapper/visible.html
@@ -12,11 +12,5 @@
<code><span class="keyword">open</span> <span class="keyword">var </span><span class="identifier">visible</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code>
<p>Overrides <a href="../-widget/visible.html">Widget.visible</a></p>
<p>Visibility state of the current component.</p>
-<p><strong>Getter</strong><br/>
-<p>Visibility state of the current component.</p>
-</p>
-<p><strong>Setter</strong><br/>
-<p>Visibility state of the current component.</p>
-</p>
</BODY>
</HTML>
diff --git a/api/pl.treksoft.kvision.core/-widget/visible.html b/api/pl.treksoft.kvision.core/-widget/visible.html
index 927159f6..adb5deae 100644
--- a/api/pl.treksoft.kvision.core/-widget/visible.html
+++ b/api/pl.treksoft.kvision.core/-widget/visible.html
@@ -12,8 +12,5 @@
<code><span class="keyword">open</span> <span class="keyword">var </span><span class="identifier">visible</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code>
<p>Overrides <a href="../-component/visible.html">Component.visible</a></p>
<p>Visibility state of the current component.</p>
-<p><strong>Setter</strong><br/>
-<p>Visibility state of the current component.</p>
-</p>
</BODY>
</HTML>
diff --git a/api/pl.treksoft.kvision.data/-data-container/-init-.html b/api/pl.treksoft.kvision.data/-data-container/-init-.html
index a2676488..bf1c4f75 100644
--- a/api/pl.treksoft.kvision.data/-data-container/-init-.html
+++ b/api/pl.treksoft.kvision.data/-data-container/-init-.html
@@ -8,8 +8,8 @@
<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.data</a>&nbsp;/&nbsp;<a href="index.html">DataContainer</a>&nbsp;/&nbsp;<a href="./-init-.html">&lt;init&gt;</a><br/>
<br/>
<h1>&lt;init&gt;</h1>
-<a name="pl.treksoft.kvision.data.DataContainer$&lt;init&gt;(com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.M)), kotlin.Function1((kotlin.Int, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Function1((kotlin.Int, kotlin.Boolean)), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Unit)))"></a>
-<code><span class="identifier">DataContainer</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$<init>(com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.M)), kotlin.Function1((kotlin.Int, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Function1((kotlin.Int, kotlin.Boolean)), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Unit)))/model">model</span><span class="symbol">:</span>&nbsp;<span class="identifier">ObservableList</span><span class="symbol">&lt;</span><a href="index.html#M"><span class="identifier">M</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$<init>(com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.M)), kotlin.Function1((kotlin.Int, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Function1((kotlin.Int, kotlin.Boolean)), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Unit)))/binding">binding</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="index.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$<init>(com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.M)), kotlin.Function1((kotlin.Int, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Function1((kotlin.Int, kotlin.Boolean)), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Unit)))/filter">filter</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</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;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$<init>(com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.M)), kotlin.Function1((kotlin.Int, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Function1((kotlin.Int, kotlin.Boolean)), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Unit)))/child">child</span><span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a>&nbsp;<span class="symbol">=</span>&nbsp;VPanel()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$<init>(com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.M)), kotlin.Function1((kotlin.Int, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Function1((kotlin.Int, kotlin.Boolean)), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<a href="index.html"><span class="identifier">DataContainer</span></a><span class="symbol">&lt;</span><a href="index.html#M"><span class="identifier">M</span></a><span class="symbol">,</span>&nbsp;<a href="index.html#C"><span class="identifier">C</span></a><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>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span></code>
+<a name="pl.treksoft.kvision.data.DataContainer$&lt;init&gt;(com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((pl.treksoft.kvision.data.DataContainer.M)), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Unit)))"></a>
+<code><span class="identifier">DataContainer</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$<init>(com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((pl.treksoft.kvision.data.DataContainer.M)), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Unit)))/model">model</span><span class="symbol">:</span>&nbsp;<span class="identifier">ObservableList</span><span class="symbol">&lt;</span><a href="index.html#M"><span class="identifier">M</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$<init>(com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((pl.treksoft.kvision.data.DataContainer.M)), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Unit)))/factory">factory</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">,</span>&nbsp;<a href="index.html#M"><span class="identifier">M</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="index.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$<init>(com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((pl.treksoft.kvision.data.DataContainer.M)), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Unit)))/filter">filter</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">,</span>&nbsp;<a href="index.html#M"><span class="identifier">M</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</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;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$<init>(com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((pl.treksoft.kvision.data.DataContainer.M)), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Unit)))/mapping">mapping</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="index.html#M"><span class="identifier">M</span></a><span class="symbol">&gt;</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="index.html#M"><span class="identifier">M</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$<init>(com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((pl.treksoft.kvision.data.DataContainer.M)), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Unit)))/container">container</span><span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a>&nbsp;<span class="symbol">=</span>&nbsp;VPanel()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$<init>(com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((pl.treksoft.kvision.data.DataContainer.M)), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<a href="index.html"><span class="identifier">DataContainer</span></a><span class="symbol">&lt;</span><a href="index.html#M"><span class="identifier">M</span></a><span class="symbol">,</span>&nbsp;<a href="index.html#C"><span class="identifier">C</span></a><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>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span></code>
<p>Creates DataContainer bound to given data model.</p>
<h3>Parameters</h3>
<p><a name="M"></a>
@@ -18,12 +18,14 @@
<code>C</code> - visual component type</p>
<p><a name="model"></a>
<code>model</code> - data model of type <em>ObservableList</em></p>
-<p><a name="binding"></a>
-<code>binding</code> - a function which creates component C from data model at given index</p>
+<p><a name="factory"></a>
+<code>factory</code> - a function which creates component C from data model at given index</p>
<p><a name="filter"></a>
<code>filter</code> - a filtering function</p>
-<p><a name="child"></a>
-<code>child</code> - internal container (defaults to <a href="../../pl.treksoft.kvision.panel/-v-panel/index.html">VPanel</a>)</p>
+<p><a name="mapping"></a>
+<code>mapping</code> - a mapping function</p>
+<p><a name="container"></a>
+<code>container</code> - internal container (defaults to <a href="../../pl.treksoft.kvision.panel/-v-panel/index.html">VPanel</a>)</p>
<p><a name="init"></a>
<code>init</code> - an initializer extension function</p>
<p><strong>Constructor</strong><br/>
diff --git a/api/pl.treksoft.kvision.data/-data-container/data-container.html b/api/pl.treksoft.kvision.data/-data-container/data-container.html
index ec31c56f..1938fd89 100644
--- a/api/pl.treksoft.kvision.data/-data-container/data-container.html
+++ b/api/pl.treksoft.kvision.data/-data-container/data-container.html
@@ -8,8 +8,8 @@
<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.data</a>&nbsp;/&nbsp;<a href="index.html">DataContainer</a>&nbsp;/&nbsp;<a href="./data-container.html">dataContainer</a><br/>
<br/>
<h1>dataContainer</h1>
-<a name="pl.treksoft.kvision.data.DataContainer.Companion$dataContainer(pl.treksoft.kvision.core.Container, com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), kotlin.Function1((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Function1((kotlin.Int, kotlin.Boolean)), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Unit)))"></a>
-<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">M</span><span class="symbol">, </span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.core/-component/index.html"><span class="identifier">Component</span></a><span class="symbol">&gt;</span> <a href="../../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a><span class="symbol">.</span><span class="identifier">dataContainer</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer.Companion$dataContainer(pl.treksoft.kvision.core.Container, com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), kotlin.Function1((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Function1((kotlin.Int, kotlin.Boolean)), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Unit)))/model">model</span><span class="symbol">:</span>&nbsp;<span class="identifier">ObservableList</span><span class="symbol">&lt;</span><a href="data-container.html#M"><span class="identifier">M</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer.Companion$dataContainer(pl.treksoft.kvision.core.Container, com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), kotlin.Function1((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Function1((kotlin.Int, kotlin.Boolean)), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Unit)))/binding">binding</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="data-container.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer.Companion$dataContainer(pl.treksoft.kvision.core.Container, com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), kotlin.Function1((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Function1((kotlin.Int, kotlin.Boolean)), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Unit)))/filter">filter</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</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;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer.Companion$dataContainer(pl.treksoft.kvision.core.Container, com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), kotlin.Function1((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Function1((kotlin.Int, kotlin.Boolean)), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Unit)))/child">child</span><span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a>&nbsp;<span class="symbol">=</span>&nbsp;VPanel()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer.Companion$dataContainer(pl.treksoft.kvision.core.Container, com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), kotlin.Function1((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Function1((kotlin.Int, kotlin.Boolean)), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<a href="index.html"><span class="identifier">DataContainer</span></a><span class="symbol">&lt;</span><a href="data-container.html#M"><span class="identifier">M</span></a><span class="symbol">,</span>&nbsp;<a href="data-container.html#C"><span class="identifier">C</span></a><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>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="index.html"><span class="identifier">DataContainer</span></a><span class="symbol">&lt;</span><a href="data-container.html#M"><span class="identifier">M</span></a><span class="symbol">,</span>&nbsp;<a href="data-container.html#C"><span class="identifier">C</span></a><span class="symbol">&gt;</span></code>
+<a name="pl.treksoft.kvision.data.DataContainer.Companion$dataContainer(pl.treksoft.kvision.core.Container, com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Unit)))"></a>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">M</span><span class="symbol">, </span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.core/-component/index.html"><span class="identifier">Component</span></a><span class="symbol">&gt;</span> <a href="../../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a><span class="symbol">.</span><span class="identifier">dataContainer</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer.Companion$dataContainer(pl.treksoft.kvision.core.Container, com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Unit)))/model">model</span><span class="symbol">:</span>&nbsp;<span class="identifier">ObservableList</span><span class="symbol">&lt;</span><a href="data-container.html#M"><span class="identifier">M</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer.Companion$dataContainer(pl.treksoft.kvision.core.Container, com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Unit)))/factory">factory</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">,</span>&nbsp;<a href="data-container.html#M"><span class="identifier">M</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="data-container.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer.Companion$dataContainer(pl.treksoft.kvision.core.Container, com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Unit)))/filter">filter</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">,</span>&nbsp;<a href="data-container.html#M"><span class="identifier">M</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</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;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer.Companion$dataContainer(pl.treksoft.kvision.core.Container, com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Unit)))/mapping">mapping</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="data-container.html#M"><span class="identifier">M</span></a><span class="symbol">&gt;</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="data-container.html#M"><span class="identifier">M</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer.Companion$dataContainer(pl.treksoft.kvision.core.Container, com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Unit)))/container">container</span><span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a>&nbsp;<span class="symbol">=</span>&nbsp;VPanel()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer.Companion$dataContainer(pl.treksoft.kvision.core.Container, com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<a href="index.html"><span class="identifier">DataContainer</span></a><span class="symbol">&lt;</span><a href="data-container.html#M"><span class="identifier">M</span></a><span class="symbol">,</span>&nbsp;<a href="data-container.html#C"><span class="identifier">C</span></a><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>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="index.html"><span class="identifier">DataContainer</span></a><span class="symbol">&lt;</span><a href="data-container.html#M"><span class="identifier">M</span></a><span class="symbol">,</span>&nbsp;<a href="data-container.html#C"><span class="identifier">C</span></a><span class="symbol">&gt;</span></code>
<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.data/-data-container/index.html b/api/pl.treksoft.kvision.data/-data-container/index.html
index 3ede4735..e9e658ec 100644
--- a/api/pl.treksoft.kvision.data/-data-container/index.html
+++ b/api/pl.treksoft.kvision.data/-data-container/index.html
@@ -18,7 +18,7 @@
<p><a href="-init-.html">&lt;init&gt;</a></p>
</td>
<td>
-<code><span class="identifier">DataContainer</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$<init>(com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.M)), kotlin.Function1((kotlin.Int, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Function1((kotlin.Int, kotlin.Boolean)), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Unit)))/model">model</span><span class="symbol">:</span>&nbsp;<span class="identifier">ObservableList</span><span class="symbol">&lt;</span><a href="index.html#M"><span class="identifier">M</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$<init>(com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.M)), kotlin.Function1((kotlin.Int, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Function1((kotlin.Int, kotlin.Boolean)), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Unit)))/binding">binding</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="index.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$<init>(com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.M)), kotlin.Function1((kotlin.Int, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Function1((kotlin.Int, kotlin.Boolean)), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Unit)))/filter">filter</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</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;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$<init>(com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.M)), kotlin.Function1((kotlin.Int, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Function1((kotlin.Int, kotlin.Boolean)), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Unit)))/child">child</span><span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a>&nbsp;<span class="symbol">=</span>&nbsp;VPanel()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$<init>(com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.M)), kotlin.Function1((kotlin.Int, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Function1((kotlin.Int, kotlin.Boolean)), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">DataContainer</span></a><span class="symbol">&lt;</span><a href="index.html#M"><span class="identifier">M</span></a><span class="symbol">,</span>&nbsp;<a href="index.html#C"><span class="identifier">C</span></a><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>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span></code>
+<code><span class="identifier">DataContainer</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$<init>(com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((pl.treksoft.kvision.data.DataContainer.M)), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Unit)))/model">model</span><span class="symbol">:</span>&nbsp;<span class="identifier">ObservableList</span><span class="symbol">&lt;</span><a href="index.html#M"><span class="identifier">M</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$<init>(com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((pl.treksoft.kvision.data.DataContainer.M)), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Unit)))/factory">factory</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">,</span>&nbsp;<a href="index.html#M"><span class="identifier">M</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="index.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$<init>(com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((pl.treksoft.kvision.data.DataContainer.M)), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Unit)))/filter">filter</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">,</span>&nbsp;<a href="index.html#M"><span class="identifier">M</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</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;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$<init>(com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((pl.treksoft.kvision.data.DataContainer.M)), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Unit)))/mapping">mapping</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="index.html#M"><span class="identifier">M</span></a><span class="symbol">&gt;</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="index.html#M"><span class="identifier">M</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$<init>(com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((pl.treksoft.kvision.data.DataContainer.M)), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Unit)))/container">container</span><span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a>&nbsp;<span class="symbol">=</span>&nbsp;VPanel()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer$<init>(com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((pl.treksoft.kvision.data.DataContainer.M)), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.M, pl.treksoft.kvision.data.DataContainer.C)), kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">DataContainer</span></a><span class="symbol">&lt;</span><a href="index.html#M"><span class="identifier">M</span></a><span class="symbol">,</span>&nbsp;<a href="index.html#C"><span class="identifier">C</span></a><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>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span></code>
<p>Creates DataContainer bound to given data model.</p>
</td>
</tr>
@@ -417,7 +417,7 @@
<p><a href="data-container.html">dataContainer</a></p>
</td>
<td>
-<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">M</span><span class="symbol">, </span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.core/-component/index.html"><span class="identifier">Component</span></a><span class="symbol">&gt;</span> <a href="../../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a><span class="symbol">.</span><span class="identifier">dataContainer</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer.Companion$dataContainer(pl.treksoft.kvision.core.Container, com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), kotlin.Function1((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Function1((kotlin.Int, kotlin.Boolean)), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Unit)))/model">model</span><span class="symbol">:</span>&nbsp;<span class="identifier">ObservableList</span><span class="symbol">&lt;</span><a href="data-container.html#M"><span class="identifier">M</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer.Companion$dataContainer(pl.treksoft.kvision.core.Container, com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), kotlin.Function1((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Function1((kotlin.Int, kotlin.Boolean)), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Unit)))/binding">binding</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="data-container.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer.Companion$dataContainer(pl.treksoft.kvision.core.Container, com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), kotlin.Function1((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Function1((kotlin.Int, kotlin.Boolean)), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Unit)))/filter">filter</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</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;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer.Companion$dataContainer(pl.treksoft.kvision.core.Container, com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), kotlin.Function1((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Function1((kotlin.Int, kotlin.Boolean)), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Unit)))/child">child</span><span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a>&nbsp;<span class="symbol">=</span>&nbsp;VPanel()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer.Companion$dataContainer(pl.treksoft.kvision.core.Container, com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), kotlin.Function1((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Function1((kotlin.Int, kotlin.Boolean)), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">DataContainer</span></a><span class="symbol">&lt;</span><a href="data-container.html#M"><span class="identifier">M</span></a><span class="symbol">,</span>&nbsp;<a href="data-container.html#C"><span class="identifier">C</span></a><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>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="./index.html"><span class="identifier">DataContainer</span></a><span class="symbol">&lt;</span><a href="data-container.html#M"><span class="identifier">M</span></a><span class="symbol">,</span>&nbsp;<a href="data-container.html#C"><span class="identifier">C</span></a><span class="symbol">&gt;</span></code>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">M</span><span class="symbol">, </span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.core/-component/index.html"><span class="identifier">Component</span></a><span class="symbol">&gt;</span> <a href="../../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a><span class="symbol">.</span><span class="identifier">dataContainer</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer.Companion$dataContainer(pl.treksoft.kvision.core.Container, com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Unit)))/model">model</span><span class="symbol">:</span>&nbsp;<span class="identifier">ObservableList</span><span class="symbol">&lt;</span><a href="data-container.html#M"><span class="identifier">M</span></a><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer.Companion$dataContainer(pl.treksoft.kvision.core.Container, com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Unit)))/factory">factory</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">,</span>&nbsp;<a href="data-container.html#M"><span class="identifier">M</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="data-container.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer.Companion$dataContainer(pl.treksoft.kvision.core.Container, com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Unit)))/filter">filter</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html"><span class="identifier">Int</span></a><span class="symbol">,</span>&nbsp;<a href="data-container.html#M"><span class="identifier">M</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</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;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer.Companion$dataContainer(pl.treksoft.kvision.core.Container, com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Unit)))/mapping">mapping</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="data-container.html#M"><span class="identifier">M</span></a><span class="symbol">&gt;</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="data-container.html#M"><span class="identifier">M</span></a><span class="symbol">&gt;</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer.Companion$dataContainer(pl.treksoft.kvision.core.Container, com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Unit)))/container">container</span><span class="symbol">:</span>&nbsp;<a href="../../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a>&nbsp;<span class="symbol">=</span>&nbsp;VPanel()<span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.data.DataContainer.Companion$dataContainer(pl.treksoft.kvision.core.Container, com.lightningkite.kotlin.observable.list.ObservableList((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Function2((kotlin.Int, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, kotlin.Boolean)), kotlin.Function1((kotlin.collections.List((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M)), )), pl.treksoft.kvision.core.Container, kotlin.Function1((pl.treksoft.kvision.data.DataContainer((pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.M, pl.treksoft.kvision.data.DataContainer.Companion.dataContainer.C)), kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">DataContainer</span></a><span class="symbol">&lt;</span><a href="data-container.html#M"><span class="identifier">M</span></a><span class="symbol">,</span>&nbsp;<a href="data-container.html#C"><span class="identifier">C</span></a><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>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="./index.html"><span class="identifier">DataContainer</span></a><span class="symbol">&lt;</span><a href="data-container.html#M"><span class="identifier">M</span></a><span class="symbol">,</span>&nbsp;<a href="data-container.html#C"><span class="identifier">C</span></a><span class="symbol">&gt;</span></code>
<p>DSL builder extension function.</p>
</td>
</tr>
diff --git a/api/pl.treksoft.kvision.data/-data-container/visible.html b/api/pl.treksoft.kvision.data/-data-container/visible.html
index 420b7add..0ffafba8 100644
--- a/api/pl.treksoft.kvision.data/-data-container/visible.html
+++ b/api/pl.treksoft.kvision.data/-data-container/visible.html
@@ -13,11 +13,5 @@
<p>Overrides <a href="../../pl.treksoft.kvision.core/-widget/visible.html">Widget.visible</a></p>
<p>Overrides <a href="../../pl.treksoft.kvision.core/-component/visible.html">Component.visible</a></p>
<p>Visibility state of the current component.</p>
-<p><strong>Getter</strong><br/>
-<p>Visibility state of the current component.</p>
-</p>
-<p><strong>Setter</strong><br/>
-<p>Visibility state of the current component.</p>
-</p>
</BODY>
</HTML>
diff --git a/api/pl.treksoft.kvision.dropdown/-drop-down/width.html b/api/pl.treksoft.kvision.dropdown/-drop-down/width.html
index c86a3817..e49c85c0 100644
--- a/api/pl.treksoft.kvision.dropdown/-drop-down/width.html
+++ b/api/pl.treksoft.kvision.dropdown/-drop-down/width.html
@@ -12,11 +12,5 @@
<code><span class="keyword">open</span> <span class="keyword">var </span><span class="identifier">width</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.core/-css-size.html"><span class="identifier">CssSize</span></a><span class="symbol">?</span></code>
<p>Overrides <a href="../../pl.treksoft.kvision.core/-styled-component/width.html">StyledComponent.width</a></p>
<p>Width of the dropdown button.</p>
-<p><strong>Getter</strong><br/>
-<p>Width of the current component.</p>
-</p>
-<p><strong>Setter</strong><br/>
-<p>Width of the current component.</p>
-</p>
</BODY>
</HTML>
diff --git a/api/pl.treksoft.kvision.form.check/-check-box/disabled.html b/api/pl.treksoft.kvision.form.check/-check-box/disabled.html
index 03764814..7fb35ea8 100644
--- a/api/pl.treksoft.kvision.form.check/-check-box/disabled.html
+++ b/api/pl.treksoft.kvision.form.check/-check-box/disabled.html
@@ -12,11 +12,5 @@
<code><span class="keyword">open</span> <span class="keyword">var </span><span class="identifier">disabled</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code>
<p>Overrides <a href="../../pl.treksoft.kvision.form/-form-control/disabled.html">FormControl.disabled</a></p>
<p>Determines if the field is disabled.</p>
-<p><strong>Getter</strong><br/>
-<p>Determines if the field is disabled.</p>
-</p>
-<p><strong>Setter</strong><br/>
-<p>Determines if the field is disabled.</p>
-</p>
</BODY>
</HTML>
diff --git a/api/pl.treksoft.kvision.form.check/-check-box/size.html b/api/pl.treksoft.kvision.form.check/-check-box/size.html
index 2f49728f..2cfda2b5 100644
--- a/api/pl.treksoft.kvision.form.check/-check-box/size.html
+++ b/api/pl.treksoft.kvision.form.check/-check-box/size.html
@@ -12,11 +12,5 @@
<code><span class="keyword">open</span> <span class="keyword">var </span><span class="identifier">size</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.form/-input-size/index.html"><span class="identifier">InputSize</span></a><span class="symbol">?</span></code>
<p>Overrides <a href="../../pl.treksoft.kvision.form/-form-control/size.html">FormControl.size</a></p>
<p>The size of the input.</p>
-<p><strong>Getter</strong><br/>
-<p>Input control size.</p>
-</p>
-<p><strong>Setter</strong><br/>
-<p>Input control size.</p>
-</p>
</BODY>
</HTML>
diff --git a/api/pl.treksoft.kvision.form.check/-check-box/value.html b/api/pl.treksoft.kvision.form.check/-check-box/value.html
index 3c9e3db3..79ac64e8 100644
--- a/api/pl.treksoft.kvision.form.check/-check-box/value.html
+++ b/api/pl.treksoft.kvision.form.check/-check-box/value.html
@@ -12,11 +12,5 @@
<code><span class="keyword">open</span> <span class="keyword">var </span><span class="identifier">value</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code>
<p>Overrides <a href="../../pl.treksoft.kvision.form/-bool-form-control/value.html">BoolFormControl.value</a></p>
<p>The selection state of the checkbox.</p>
-<p><strong>Getter</strong><br/>
-<p>Boolean value.</p>
-</p>
-<p><strong>Setter</strong><br/>
-<p>Boolean value.</p>
-</p>
</BODY>
</HTML>
diff --git a/api/pl.treksoft.kvision.form.check/-radio-group/disabled.html b/api/pl.treksoft.kvision.form.check/-radio-group/disabled.html
index e3a4bfa1..67fd5054 100644
--- a/api/pl.treksoft.kvision.form.check/-radio-group/disabled.html
+++ b/api/pl.treksoft.kvision.form.check/-radio-group/disabled.html
@@ -12,11 +12,5 @@
<code><span class="keyword">open</span> <span class="keyword">var </span><span class="identifier">disabled</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code>
<p>Overrides <a href="../../pl.treksoft.kvision.form/-form-control/disabled.html">FormControl.disabled</a></p>
<p>Determines if the field is disabled.</p>
-<p><strong>Getter</strong><br/>
-<p>Determines if the field is disabled.</p>
-</p>
-<p><strong>Setter</strong><br/>
-<p>Determines if the field is disabled.</p>
-</p>
</BODY>
</HTML>
diff --git a/api/pl.treksoft.kvision.form.check/-radio/disabled.html b/api/pl.treksoft.kvision.form.check/-radio/disabled.html
index 14b36325..7777a862 100644
--- a/api/pl.treksoft.kvision.form.check/-radio/disabled.html
+++ b/api/pl.treksoft.kvision.form.check/-radio/disabled.html
@@ -12,11 +12,5 @@
<code><span class="keyword">open</span> <span class="keyword">var </span><span class="identifier">disabled</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code>
<p>Overrides <a href="../../pl.treksoft.kvision.form/-form-control/disabled.html">FormControl.disabled</a></p>
<p>Determines if the field is disabled.</p>
-<p><strong>Getter</strong><br/>
-<p>Determines if the field is disabled.</p>
-</p>
-<p><strong>Setter</strong><br/>
-<p>Determines if the field is disabled.</p>
-</p>
</BODY>
</HTML>
diff --git a/api/pl.treksoft.kvision.form.check/-radio/size.html b/api/pl.treksoft.kvision.form.check/-radio/size.html
index 4d84bee1..35a1ed51 100644
--- a/api/pl.treksoft.kvision.form.check/-radio/size.html
+++ b/api/pl.treksoft.kvision.form.check/-radio/size.html
@@ -12,11 +12,5 @@
<code><span class="keyword">open</span> <span class="keyword">var </span><span class="identifier">size</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.form/-input-size/index.html"><span class="identifier">InputSize</span></a><span class="symbol">?</span></code>
<p>Overrides <a href="../../pl.treksoft.kvision.form/-form-control/size.html">FormControl.size</a></p>
<p>The size of the input.</p>
-<p><strong>Getter</strong><br/>
-<p>Input control size.</p>
-</p>
-<p><strong>Setter</strong><br/>
-<p>Input control size.</p>
-</p>
</BODY>
</HTML>
diff --git a/api/pl.treksoft.kvision.form.check/-radio/value.html b/api/pl.treksoft.kvision.form.check/-radio/value.html
index b29124c1..026e80e9 100644
--- a/api/pl.treksoft.kvision.form.check/-radio/value.html
+++ b/api/pl.treksoft.kvision.form.check/-radio/value.html
@@ -12,11 +12,5 @@
<code><span class="keyword">open</span> <span class="keyword">var </span><span class="identifier">value</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code>
<p>Overrides <a href="../../pl.treksoft.kvision.form/-bool-form-control/value.html">BoolFormControl.value</a></p>
<p>The selection state of the radio button.</p>
-<p><strong>Getter</strong><br/>
-<p>Boolean value.</p>
-</p>
-<p><strong>Setter</strong><br/>
-<p>Boolean value.</p>
-</p>
</BODY>
</HTML>
diff --git a/api/pl.treksoft.kvision.form.select/-ajax-options/before-send.html b/api/pl.treksoft.kvision.form.select/-ajax-options/before-send.html
index 3ce72788..96b9a231 100644
--- a/api/pl.treksoft.kvision.form.select/-ajax-options/before-send.html
+++ b/api/pl.treksoft.kvision.form.select/-ajax-options/before-send.html
@@ -10,5 +10,6 @@
<h1>beforeSend</h1>
<a name="pl.treksoft.kvision.form.select.AjaxOptions$beforeSend"></a>
<code><span class="keyword">val </span><span class="identifier">beforeSend</span><span class="symbol">: </span><span class="symbol">(</span><span class="identifier">JQueryXHR</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="keyword">dynamic</span></code>
+<p><a href="http://api.jquery.com/jquery.ajax/#jQuery-ajax-settings">JQuery ajax.beforeSend</a> option</p>
</BODY>
</HTML>
diff --git a/api/pl.treksoft.kvision.form.select/-ajax-options/cache.html b/api/pl.treksoft.kvision.form.select/-ajax-options/cache.html
index db1944c7..fe51f145 100644
--- a/api/pl.treksoft.kvision.form.select/-ajax-options/cache.html
+++ b/api/pl.treksoft.kvision.form.select/-ajax-options/cache.html
@@ -10,5 +10,6 @@
<h1>cache</h1>
<a name="pl.treksoft.kvision.form.select.AjaxOptions$cache"></a>
<code><span class="keyword">val </span><span class="identifier">cache</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code>
+<p><a href="https://github.com/truckingsim/Ajax-Bootstrap-Select#optionscache">AjaxBootstrapSelect cache</a> option</p>
</BODY>
</HTML>
diff --git a/api/pl.treksoft.kvision.form.select/-ajax-options/clear-on-empty.html b/api/pl.treksoft.kvision.form.select/-ajax-options/clear-on-empty.html
index 5ee08617..253386d6 100644
--- a/api/pl.treksoft.kvision.form.select/-ajax-options/clear-on-empty.html
+++ b/api/pl.treksoft.kvision.form.select/-ajax-options/clear-on-empty.html
@@ -10,5 +10,6 @@
<h1>clearOnEmpty</h1>
<a name="pl.treksoft.kvision.form.select.AjaxOptions$clearOnEmpty"></a>
<code><span class="keyword">val </span><span class="identifier">clearOnEmpty</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code>
+<p><a href="https://github.com/truckingsim/Ajax-Bootstrap-Select#optionsclearonempty">AjaxBootstrapSelect clearOnEmpty</a> option</p>
</BODY>
</HTML>
diff --git a/api/pl.treksoft.kvision.form.select/-ajax-options/clear-on-error.html b/api/pl.treksoft.kvision.form.select/-ajax-options/clear-on-error.html
index 81b5784a..8047809a 100644
--- a/api/pl.treksoft.kvision.form.select/-ajax-options/clear-on-error.html
+++ b/api/pl.treksoft.kvision.form.select/-ajax-options/clear-on-error.html
@@ -10,5 +10,6 @@
<h1>clearOnError</h1>
<a name="pl.treksoft.kvision.form.select.AjaxOptions$clearOnError"></a>
<code><span class="keyword">val </span><span class="identifier">clearOnError</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code>
+<p><a href="https://github.com/truckingsim/Ajax-Bootstrap-Select#optionsclearonerror">AjaxBootstrapSelect clearOnError</a> option</p>
</BODY>
</HTML>
diff --git a/api/pl.treksoft.kvision.form.select/-ajax-options/data.html b/api/pl.treksoft.kvision.form.select/-ajax-options/data.html
index 037758fb..025f8992 100644
--- a/api/pl.treksoft.kvision.form.select/-ajax-options/data.html
+++ b/api/pl.treksoft.kvision.form.select/-ajax-options/data.html
@@ -10,5 +10,6 @@
<h1>data</h1>
<a name="pl.treksoft.kvision.form.select.AjaxOptions$data"></a>
<code><span class="keyword">val </span><span class="identifier">data</span><span class="symbol">: </span><span class="keyword">dynamic</span></code>
+<p><a href="http://api.jquery.com/jquery.ajax/#jQuery-ajax-settings">JQuery ajax.data</a> option</p>
</BODY>
</HTML>
diff --git a/api/pl.treksoft.kvision.form.select/-ajax-options/empty-request.html b/api/pl.treksoft.kvision.form.select/-ajax-options/empty-request.html
index 2c1085c1..b56dc353 100644
--- a/api/pl.treksoft.kvision.form.select/-ajax-options/empty-request.html
+++ b/api/pl.treksoft.kvision.form.select/-ajax-options/empty-request.html
@@ -10,5 +10,6 @@
<h1>emptyRequest</h1>
<a name="pl.treksoft.kvision.form.select.AjaxOptions$emptyRequest"></a>
<code><span class="keyword">val </span><span class="identifier">emptyRequest</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code>
+<p><a href="https://github.com/truckingsim/Ajax-Bootstrap-Select#optionsemptyrequest">AjaxBootstrapSelect emptyRequest</a> option</p>
</BODY>
</HTML>
diff --git a/api/pl.treksoft.kvision.form.select/-ajax-options/http-type.html b/api/pl.treksoft.kvision.form.select/-ajax-options/http-type.html
index a6739789..03914740 100644
--- a/api/pl.treksoft.kvision.form.select/-ajax-options/http-type.html
+++ b/api/pl.treksoft.kvision.form.select/-ajax-options/http-type.html
@@ -10,5 +10,6 @@
<h1>httpType</h1>
<a name="pl.treksoft.kvision.form.select.AjaxOptions$httpType"></a>
<code><span class="keyword">val </span><span class="identifier">httpType</span><span class="symbol">: </span><a href="../-http-type/index.html"><span class="identifier">HttpType</span></a></code>
+<p><a href="http://api.jquery.com/jquery.ajax/#jQuery-ajax-settings">JQuery ajax.type</a> option</p>
</BODY>
</HTML>
diff --git a/api/pl.treksoft.kvision.form.select/-ajax-options/index.html b/api/pl.treksoft.kvision.form.select/-ajax-options/index.html
index 38bddbad..fa4dcb68 100644
--- a/api/pl.treksoft.kvision.form.select/-ajax-options/index.html
+++ b/api/pl.treksoft.kvision.form.select/-ajax-options/index.html
@@ -30,35 +30,45 @@
<p><a href="before-send.html">beforeSend</a></p>
</td>
<td>
-<code><span class="keyword">val </span><span class="identifier">beforeSend</span><span class="symbol">: </span><span class="symbol">(</span><span class="identifier">JQueryXHR</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="keyword">dynamic</span></code></td>
+<code><span class="keyword">val </span><span class="identifier">beforeSend</span><span class="symbol">: </span><span class="symbol">(</span><span class="identifier">JQueryXHR</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="keyword">dynamic</span></code>
+<p><a href="http://api.jquery.com/jquery.ajax/#jQuery-ajax-settings">JQuery ajax.beforeSend</a> option</p>
+</td>
</tr>
<tr>
<td>
<p><a href="cache.html">cache</a></p>
</td>
<td>
-<code><span class="keyword">val </span><span class="identifier">cache</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code></td>
+<code><span class="keyword">val </span><span class="identifier">cache</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code>
+<p><a href="https://github.com/truckingsim/Ajax-Bootstrap-Select#optionscache">AjaxBootstrapSelect cache</a> option</p>
+</td>
</tr>
<tr>
<td>
<p><a href="clear-on-empty.html">clearOnEmpty</a></p>
</td>
<td>
-<code><span class="keyword">val </span><span class="identifier">clearOnEmpty</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code></td>
+<code><span class="keyword">val </span><span class="identifier">clearOnEmpty</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code>
+<p><a href="https://github.com/truckingsim/Ajax-Bootstrap-Select#optionsclearonempty">AjaxBootstrapSelect clearOnEmpty</a> option</p>
+</td>
</tr>
<tr>
<td>
<p><a href="clear-on-error.html">clearOnError</a></p>
</td>
<td>
-<code><span class="keyword">val </span><span class="identifier">clearOnError</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code></td>
+<code><span class="keyword">val </span><span class="identifier">clearOnError</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code>
+<p><a href="https://github.com/truckingsim/Ajax-Bootstrap-Select#optionsclearonerror">AjaxBootstrapSelect clearOnError</a> option</p>
+</td>
</tr>
<tr>
<td>
<p><a href="data.html">data</a></p>
</td>
<td>
-<code><span class="keyword">val </span><span class="identifier">data</span><span class="symbol">: </span><span class="keyword">dynamic</span></code></td>
+<code><span class="keyword">val </span><span class="identifier">data</span><span class="symbol">: </span><span class="keyword">dynamic</span></code>
+<p><a href="http://api.jquery.com/jquery.ajax/#jQuery-ajax-settings">JQuery ajax.data</a> option</p>
+</td>
</tr>
<tr>
<td>
@@ -72,49 +82,65 @@
<p><a href="empty-request.html">emptyRequest</a></p>
</td>
<td>
-<code><span class="keyword">val </span><span class="identifier">emptyRequest</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code></td>
+<code><span class="keyword">val </span><span class="identifier">emptyRequest</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code>
+<p><a href="https://github.com/truckingsim/Ajax-Bootstrap-Select#optionsemptyrequest">AjaxBootstrapSelect emptyRequest</a> option</p>
+</td>
</tr>
<tr>
<td>
<p><a href="http-type.html">httpType</a></p>
</td>
<td>
-<code><span class="keyword">val </span><span class="identifier">httpType</span><span class="symbol">: </span><a href="../-http-type/index.html"><span class="identifier">HttpType</span></a></code></td>
+<code><span class="keyword">val </span><span class="identifier">httpType</span><span class="symbol">: </span><a href="../-http-type/index.html"><span class="identifier">HttpType</span></a></code>
+<p><a href="http://api.jquery.com/jquery.ajax/#jQuery-ajax-settings">JQuery ajax.type</a> option</p>
+</td>
</tr>
<tr>
<td>
<p><a href="min-length.html">minLength</a></p>
</td>
<td>
-<code><span class="keyword">val </span><span class="identifier">minLength</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>
+<code><span class="keyword">val </span><span class="identifier">minLength</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>
+<p><a href="https://github.com/truckingsim/Ajax-Bootstrap-Select#optionsminlength">AjaxBootstrapSelect minLength</a> option</p>
+</td>
</tr>
<tr>
<td>
<p><a href="preprocess-data.html">preprocessData</a></p>
</td>
<td>
-<code><span class="keyword">val </span><span class="identifier">preprocessData</span><span class="symbol">: </span><span class="symbol">(</span><span class="keyword">dynamic</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="keyword">dynamic</span></code></td>
+<code><span class="keyword">val </span><span class="identifier">preprocessData</span><span class="symbol">: </span><span class="symbol">(</span><span class="keyword">dynamic</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="keyword">dynamic</span></code>
+<p><a href="https://github.com/truckingsim/Ajax-Bootstrap-Select#optionspreprocessdata">AjaxBootstrapSelect preprocessOption</a>
+option</p>
+</td>
</tr>
<tr>
<td>
<p><a href="request-delay.html">requestDelay</a></p>
</td>
<td>
-<code><span class="keyword">val </span><span class="identifier">requestDelay</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>
+<code><span class="keyword">val </span><span class="identifier">requestDelay</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>
+<p><a href="https://github.com/truckingsim/Ajax-Bootstrap-Select#optionsrequestdelay">AjaxBootstrapSelect requestDelay</a> option</p>
+</td>
</tr>
<tr>
<td>
<p><a href="restore-on-error.html">restoreOnError</a></p>
</td>
<td>
-<code><span class="keyword">val </span><span class="identifier">restoreOnError</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code></td>
+<code><span class="keyword">val </span><span class="identifier">restoreOnError</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code>
+<p><a href="https://github.com/truckingsim/Ajax-Bootstrap-Select#optionsrestoreonerror">AjaxBootstrapSelect restoreOnError</a>
+option</p>
+</td>
</tr>
<tr>
<td>
<p><a href="url.html">url</a></p>
</td>
<td>
-<code><span class="keyword">val </span><span class="identifier">url</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a></code></td>
+<code><span class="keyword">val </span><span class="identifier">url</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a></code>
+<p>the url address</p>
+</td>
</tr>
</tbody>
</table>
diff --git a/api/pl.treksoft.kvision.form.select/-ajax-options/min-length.html b/api/pl.treksoft.kvision.form.select/-ajax-options/min-length.html
index 81746792..e0694f73 100644
--- a/api/pl.treksoft.kvision.form.select/-ajax-options/min-length.html
+++ b/api/pl.treksoft.kvision.form.select/-ajax-options/min-length.html
@@ -10,5 +10,6 @@
<h1>minLength</h1>
<a name="pl.treksoft.kvision.form.select.AjaxOptions$minLength"></a>
<code><span class="keyword">val </span><span class="identifier">minLength</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>
+<p><a href="https://github.com/truckingsim/Ajax-Bootstrap-Select#optionsminlength">AjaxBootstrapSelect minLength</a> option</p>
</BODY>
</HTML>
diff --git a/api/pl.treksoft.kvision.form.select/-ajax-options/preprocess-data.html b/api/pl.treksoft.kvision.form.select/-ajax-options/preprocess-data.html
index 08a0a8ee..ffec07c4 100644
--- a/api/pl.treksoft.kvision.form.select/-ajax-options/preprocess-data.html
+++ b/api/pl.treksoft.kvision.form.select/-ajax-options/preprocess-data.html
@@ -10,5 +10,7 @@
<h1>preprocessData</h1>
<a name="pl.treksoft.kvision.form.select.AjaxOptions$preprocessData"></a>
<code><span class="keyword">val </span><span class="identifier">preprocessData</span><span class="symbol">: </span><span class="symbol">(</span><span class="keyword">dynamic</span><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<span class="keyword">dynamic</span></code>
+<p><a href="https://github.com/truckingsim/Ajax-Bootstrap-Select#optionspreprocessdata">AjaxBootstrapSelect preprocessOption</a>
+option</p>
</BODY>
</HTML>
diff --git a/api/pl.treksoft.kvision.form.select/-ajax-options/request-delay.html b/api/pl.treksoft.kvision.form.select/-ajax-options/request-delay.html
index d1b01119..c7bde7c7 100644
--- a/api/pl.treksoft.kvision.form.select/-ajax-options/request-delay.html
+++ b/api/pl.treksoft.kvision.form.select/-ajax-options/request-delay.html
@@ -10,5 +10,6 @@
<h1>requestDelay</h1>
<a name="pl.treksoft.kvision.form.select.AjaxOptions$requestDelay"></a>
<code><span class="keyword">val </span><span class="identifier">requestDelay</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>
+<p><a href="https://github.com/truckingsim/Ajax-Bootstrap-Select#optionsrequestdelay">AjaxBootstrapSelect requestDelay</a> option</p>
</BODY>
</HTML>
diff --git a/api/pl.treksoft.kvision.form.select/-ajax-options/restore-on-error.html b/api/pl.treksoft.kvision.form.select/-ajax-options/restore-on-error.html
index 0abc1431..5b0ff538 100644
--- a/api/pl.treksoft.kvision.form.select/-ajax-options/restore-on-error.html
+++ b/api/pl.treksoft.kvision.form.select/-ajax-options/restore-on-error.html
@@ -10,5 +10,7 @@
<h1>restoreOnError</h1>
<a name="pl.treksoft.kvision.form.select.AjaxOptions$restoreOnError"></a>
<code><span class="keyword">val </span><span class="identifier">restoreOnError</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code>
+<p><a href="https://github.com/truckingsim/Ajax-Bootstrap-Select#optionsrestoreonerror">AjaxBootstrapSelect restoreOnError</a>
+option</p>
</BODY>
</HTML>
diff --git a/api/pl.treksoft.kvision.form.select/-ajax-options/url.html b/api/pl.treksoft.kvision.form.select/-ajax-options/url.html
index 787210a8..52e8795c 100644
--- a/api/pl.treksoft.kvision.form.select/-ajax-options/url.html
+++ b/api/pl.treksoft.kvision.form.select/-ajax-options/url.html
@@ -10,5 +10,6 @@
<h1>url</h1>
<a name="pl.treksoft.kvision.form.select.AjaxOptions$url"></a>
<code><span class="keyword">val </span><span class="identifier">url</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a></code>
+<p>the url address</p>
</BODY>
</HTML>
diff --git a/api/pl.treksoft.kvision.form.select/-select/disabled.html b/api/pl.treksoft.kvision.form.select/-select/disabled.html
index 89dde5bd..079be6cc 100644
--- a/api/pl.treksoft.kvision.form.select/-select/disabled.html
+++ b/api/pl.treksoft.kvision.form.select/-select/disabled.html
@@ -12,11 +12,5 @@
<code><span class="keyword">open</span> <span class="keyword">var </span><span class="identifier">disabled</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code>
<p>Overrides <a href="../../pl.treksoft.kvision.form/-form-control/disabled.html">FormControl.disabled</a></p>
<p>Determines if the field is disabled.</p>
-<p><strong>Getter</strong><br/>
-<p>Determines if the field is disabled.</p>
-</p>
-<p><strong>Setter</strong><br/>
-<p>Determines if the field is disabled.</p>
-</p>
</BODY>
</HTML>
diff --git a/api/pl.treksoft.kvision.form.select/-select/size.html b/api/pl.treksoft.kvision.form.select/-select/size.html
index fb362ba2..ade5ee70 100644
--- a/api/pl.treksoft.kvision.form.select/-select/size.html
+++ b/api/pl.treksoft.kvision.form.select/-select/size.html
@@ -12,11 +12,5 @@
<code><span class="keyword">open</span> <span class="keyword">var </span><span class="identifier">size</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.form/-input-size/index.html"><span class="identifier">InputSize</span></a><span class="symbol">?</span></code>
<p>Overrides <a href="../../pl.treksoft.kvision.form/-form-control/size.html">FormControl.size</a></p>
<p>Input control size.</p>
-<p><strong>Getter</strong><br/>
-<p>Input control size.</p>
-</p>
-<p><strong>Setter</strong><br/>
-<p>Input control size.</p>
-</p>
</BODY>
</HTML>
diff --git a/api/pl.treksoft.kvision.form.select/-select/value.html b/api/pl.treksoft.kvision.form.select/-select/value.html
index 5ce6848c..28570db7 100644
--- a/api/pl.treksoft.kvision.form.select/-select/value.html
+++ b/api/pl.treksoft.kvision.form.select/-select/value.html
@@ -12,11 +12,5 @@
<code><span class="keyword">open</span> <span class="keyword">var </span><span class="identifier">value</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span></code>
<p>Overrides <a href="../../pl.treksoft.kvision.form/-string-form-control/value.html">StringFormControl.value</a></p>
<p>A value of the selected option.</p>
-<p><strong>Getter</strong><br/>
-<p>Text value.</p>
-</p>
-<p><strong>Setter</strong><br/>
-<p>Text value.</p>
-</p>
</BODY>
</HTML>
diff --git a/api/pl.treksoft.kvision.form.spinner/-spinner/disabled.html b/api/pl.treksoft.kvision.form.spinner/-spinner/disabled.html
index 7207261e..1e94e006 100644
--- a/api/pl.treksoft.kvision.form.spinner/-spinner/disabled.html
+++ b/api/pl.treksoft.kvision.form.spinner/-spinner/disabled.html
@@ -12,11 +12,5 @@
<code><span class="keyword">open</span> <span class="keyword">var </span><span class="identifier">disabled</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code>
<p>Overrides <a href="../../pl.treksoft.kvision.form/-form-control/disabled.html">FormControl.disabled</a></p>
<p>Determines if the field is disabled.</p>
-<p><strong>Getter</strong><br/>
-<p>Determines if the field is disabled.</p>
-</p>
-<p><strong>Setter</strong><br/>
-<p>Determines if the field is disabled.</p>
-</p>
</BODY>
</HTML>
diff --git a/api/pl.treksoft.kvision.form.spinner/-spinner/size.html b/api/pl.treksoft.kvision.form.spinner/-spinner/size.html
index fdca4b6e..7cf62c12 100644
--- a/api/pl.treksoft.kvision.form.spinner/-spinner/size.html
+++ b/api/pl.treksoft.kvision.form.spinner/-spinner/size.html
@@ -12,11 +12,5 @@
<code><span class="keyword">open</span> <span class="keyword">var </span><span class="identifier">size</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.form/-input-size/index.html"><span class="identifier">InputSize</span></a><span class="symbol">?</span></code>
<p>Overrides <a href="../../pl.treksoft.kvision.form/-form-control/size.html">FormControl.size</a></p>
<p>Input control size.</p>
-<p><strong>Getter</strong><br/>
-<p>Input control size.</p>
-</p>
-<p><strong>Setter</strong><br/>
-<p>Input control size.</p>
-</p>
</BODY>
</HTML>
diff --git a/api/pl.treksoft.kvision.form.spinner/-spinner/value.html b/api/pl.treksoft.kvision.form.spinner/-spinner/value.html
index 621616ad..15eff3ea 100644
--- a/api/pl.treksoft.kvision.form.spinner/-spinner/value.html
+++ b/api/pl.treksoft.kvision.form.spinner/-spinner/value.html
@@ -12,11 +12,5 @@
<code><span class="keyword">open</span> <span class="keyword">var </span><span class="identifier">value</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-number/index.html"><span class="identifier">Number</span></a><span class="symbol">?</span></code>
<p>Overrides <a href="../../pl.treksoft.kvision.form/-number-form-control/value.html">NumberFormControl.value</a></p>
<p>Spinner value.</p>
-<p><strong>Getter</strong><br/>
-<p>Numeric value.</p>
-</p>
-<p><strong>Setter</strong><br/>
-<p>Numeric value.</p>
-</p>
</BODY>
</HTML>
diff --git a/api/pl.treksoft.kvision.form.text/-abstract-text/disabled.html b/api/pl.treksoft.kvision.form.text/-abstract-text/disabled.html
index b9fbde8e..dc01a2e3 100644
--- a/api/pl.treksoft.kvision.form.text/-abstract-text/disabled.html
+++ b/api/pl.treksoft.kvision.form.text/-abstract-text/disabled.html
@@ -12,11 +12,5 @@
<code><span class="keyword">open</span> <span class="keyword">var </span><span class="identifier">disabled</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code>
<p>Overrides <a href="../../pl.treksoft.kvision.form/-form-control/disabled.html">FormControl.disabled</a></p>
<p>Determines if the field is disabled.</p>
-<p><strong>Getter</strong><br/>
-<p>Determines if the field is disabled.</p>
-</p>
-<p><strong>Setter</strong><br/>
-<p>Determines if the field is disabled.</p>
-</p>
</BODY>
</HTML>
diff --git a/api/pl.treksoft.kvision.form.text/-abstract-text/size.html b/api/pl.treksoft.kvision.form.text/-abstract-text/size.html
index c36bd017..0fd9a35d 100644
--- a/api/pl.treksoft.kvision.form.text/-abstract-text/size.html
+++ b/api/pl.treksoft.kvision.form.text/-abstract-text/size.html
@@ -12,11 +12,5 @@
<code><span class="keyword">open</span> <span class="keyword">var </span><span class="identifier">size</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.form/-input-size/index.html"><span class="identifier">InputSize</span></a><span class="symbol">?</span></code>
<p>Overrides <a href="../../pl.treksoft.kvision.form/-form-control/size.html">FormControl.size</a></p>
<p>Input control size.</p>
-<p><strong>Getter</strong><br/>
-<p>Input control size.</p>
-</p>
-<p><strong>Setter</strong><br/>
-<p>Input control size.</p>
-</p>
</BODY>
</HTML>
diff --git a/api/pl.treksoft.kvision.form.text/-abstract-text/value.html b/api/pl.treksoft.kvision.form.text/-abstract-text/value.html
index 44673562..207d6241 100644
--- a/api/pl.treksoft.kvision.form.text/-abstract-text/value.html
+++ b/api/pl.treksoft.kvision.form.text/-abstract-text/value.html
@@ -12,11 +12,5 @@
<code><span class="keyword">open</span> <span class="keyword">var </span><span class="identifier">value</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span></code>
<p>Overrides <a href="../../pl.treksoft.kvision.form/-string-form-control/value.html">StringFormControl.value</a></p>
<p>Text input value.</p>
-<p><strong>Getter</strong><br/>
-<p>Text value.</p>
-</p>
-<p><strong>Setter</strong><br/>
-<p>Text value.</p>
-</p>
</BODY>
</HTML>
diff --git a/api/pl.treksoft.kvision.form.time/-date-time/disabled.html b/api/pl.treksoft.kvision.form.time/-date-time/disabled.html
index c5737997..6af920f5 100644
--- a/api/pl.treksoft.kvision.form.time/-date-time/disabled.html
+++ b/api/pl.treksoft.kvision.form.time/-date-time/disabled.html
@@ -12,11 +12,5 @@
<code><span class="keyword">open</span> <span class="keyword">var </span><span class="identifier">disabled</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code>
<p>Overrides <a href="../../pl.treksoft.kvision.form/-form-control/disabled.html">FormControl.disabled</a></p>
<p>Determines if the field is disabled.</p>
-<p><strong>Getter</strong><br/>
-<p>Determines if the field is disabled.</p>
-</p>
-<p><strong>Setter</strong><br/>
-<p>Determines if the field is disabled.</p>
-</p>
</BODY>
</HTML>
diff --git a/api/pl.treksoft.kvision.form.time/-date-time/size.html b/api/pl.treksoft.kvision.form.time/-date-time/size.html
index f5b077e0..758211a6 100644
--- a/api/pl.treksoft.kvision.form.time/-date-time/size.html
+++ b/api/pl.treksoft.kvision.form.time/-date-time/size.html
@@ -12,11 +12,5 @@
<code><span class="keyword">open</span> <span class="keyword">var </span><span class="identifier">size</span><span class="symbol">: </span><a href="../../pl.treksoft.kvision.form/-input-size/index.html"><span class="identifier">InputSize</span></a><span class="symbol">?</span></code>
<p>Overrides <a href="../../pl.treksoft.kvision.form/-form-control/size.html">FormControl.size</a></p>
<p>Input control size.</p>
-<p><strong>Getter</strong><br/>
-<p>Input control size.</p>
-</p>
-<p><strong>Setter</strong><br/>
-<p>Input control size.</p>
-</p>
</BODY>
</HTML>
diff --git a/api/pl.treksoft.kvision.form.time/-date-time/value.html b/api/pl.treksoft.kvision.form.time/-date-time/value.html
index 873f1072..0bd1f1ee 100644
--- a/api/pl.treksoft.kvision.form.time/-date-time/value.html
+++ b/api/pl.treksoft.kvision.form.time/-date-time/value.html
@@ -12,11 +12,5 @@
<code><span class="keyword">open</span> <span class="keyword">var </span><span class="identifier">value</span><span class="symbol">: </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></code>
<p>Overrides <a href="../../pl.treksoft.kvision.form/-date-form-control/value.html">DateFormControl.value</a></p>
<p>Date/time input value.</p>
-<p><strong>Getter</strong><br/>
-<p>Date value.</p>
-</p>
-<p><strong>Setter</strong><br/>
-<p>Date value.</p>
-</p>
</BODY>
</HTML>
diff --git a/api/pl.treksoft.kvision.form/-form-panel/add-internal.html b/api/pl.treksoft.kvision.form/-form-panel/add-internal.html
new file mode 100644
index 00000000..a33da08e
--- /dev/null
+++ b/api/pl.treksoft.kvision.form/-form-panel/add-internal.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>FormPanel.addInternal - 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.form</a>&nbsp;/&nbsp;<a href="index.html">FormPanel</a>&nbsp;/&nbsp;<a href="./add-internal.html">addInternal</a><br/>
+<br/>
+<h1>addInternal</h1>
+<a name="pl.treksoft.kvision.form.FormPanel$addInternal(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Any)), pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.Boolean)))"></a>
+<code><span class="keyword">protected</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../-form-control/index.html"><span class="identifier">FormControl</span></a><span class="symbol">&gt;</span> <span class="identifier">addInternal</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$addInternal(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Any)), pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.Boolean)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$addInternal(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Any)), pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.Boolean)))/control">control</span><span class="symbol">:</span>&nbsp;<a href="add-internal.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$addInternal(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Any)), pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.Boolean)))/required">required</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.form.FormPanel$addInternal(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Any)), pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.Boolean)))/validatorMessage">validatorMessage</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="add-internal.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</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.form.FormPanel$addInternal(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Any)), pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.Boolean)))/validator">validator</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="add-internal.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.form/-form-panel/add.html b/api/pl.treksoft.kvision.form/-form-panel/add.html
index dabf16e2..4d325c15 100644
--- a/api/pl.treksoft.kvision.form/-form-panel/add.html
+++ b/api/pl.treksoft.kvision.form/-form-panel/add.html
@@ -8,14 +8,62 @@
<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.form</a>&nbsp;/&nbsp;<a href="index.html">FormPanel</a>&nbsp;/&nbsp;<a href="./add.html">add</a><br/>
<br/>
<h1>add</h1>
-<a name="pl.treksoft.kvision.form.FormPanel$add(kotlin.String, pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))"></a>
-<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../-form-control/index.html"><span class="identifier">FormControl</span></a><span class="symbol">&gt;</span> <span class="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.String, pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/key">key</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="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.String, pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/control">control</span><span class="symbol">:</span>&nbsp;<a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.String, pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/required">required</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.form.FormPanel$add(kotlin.String, pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/validatorMessage">validatorMessage</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</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.form.FormPanel$add(kotlin.String, pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/validator">validator</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></code>
-<p>Adds a control to the form panel.</p>
+<a name="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.String)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))"></a>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../-string-form-control/index.html"><span class="identifier">StringFormControl</span></a><span class="symbol">&gt;</span> <span class="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.String)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><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">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.String)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/control">control</span><span class="symbol">:</span>&nbsp;<a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.String)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/required">required</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.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.String)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/validatorMessage">validatorMessage</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</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.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.String)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/validator">validator</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></code>
+<p>Adds a string control to the form panel.</p>
<h3>Parameters</h3>
<p><a name="key"></a>
<code>key</code> - key identifier of the control</p>
<p><a name="control"></a>
-<code>control</code> - the form control</p>
+<code>control</code> - the string form control</p>
+<p><a name="required"></a>
+<code>required</code> - determines if the control is required</p>
+<p><a name="validatorMessage"></a>
+<code>validatorMessage</code> - optional function returning validation message</p>
+<p><a name="validator"></a>
+<code>validator</code> - optional validation function</p>
+<p><strong>Return</strong><br/>
+current form panel</p>
+<a name="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Boolean)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))"></a>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../-bool-form-control/index.html"><span class="identifier">BoolFormControl</span></a><span class="symbol">&gt;</span> <span class="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Boolean)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Boolean)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/control">control</span><span class="symbol">:</span>&nbsp;<a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Boolean)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/required">required</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.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Boolean)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/validatorMessage">validatorMessage</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</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.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Boolean)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/validator">validator</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></code>
+<p>Adds a boolean control to the form panel.</p>
+<h3>Parameters</h3>
+<p><a name="key"></a>
+<code>key</code> - key identifier of the control</p>
+<p><a name="control"></a>
+<code>control</code> - the boolean form control</p>
+<p><a name="required"></a>
+<code>required</code> - determines if the control is required</p>
+<p><a name="validatorMessage"></a>
+<code>validatorMessage</code> - optional function returning validation message</p>
+<p><a name="validator"></a>
+<code>validator</code> - optional validation function</p>
+<p><strong>Return</strong><br/>
+current form panel</p>
+<a name="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Number)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))"></a>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../-number-form-control/index.html"><span class="identifier">NumberFormControl</span></a><span class="symbol">&gt;</span> <span class="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Number)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<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><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Number)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/control">control</span><span class="symbol">:</span>&nbsp;<a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Number)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/required">required</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.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Number)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/validatorMessage">validatorMessage</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</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.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Number)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/validator">validator</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></code>
+<p>Adds a number control to the form panel.</p>
+<h3>Parameters</h3>
+<p><a name="key"></a>
+<code>key</code> - key identifier of the control</p>
+<p><a name="control"></a>
+<code>control</code> - the number form control</p>
+<p><a name="required"></a>
+<code>required</code> - determines if the control is required</p>
+<p><a name="validatorMessage"></a>
+<code>validatorMessage</code> - optional function returning validation message</p>
+<p><a name="validator"></a>
+<code>validator</code> - optional validation function</p>
+<p><strong>Return</strong><br/>
+current form panel</p>
+<a name="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.js.Date)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))"></a>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../-date-form-control/index.html"><span class="identifier">DateFormControl</span></a><span class="symbol">&gt;</span> <span class="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.js.Date)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<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><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.js.Date)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/control">control</span><span class="symbol">:</span>&nbsp;<a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.js.Date)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/required">required</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.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.js.Date)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/validatorMessage">validatorMessage</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</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.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.js.Date)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/validator">validator</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></code>
+<p>Adds a date control to the form panel.</p>
+<h3>Parameters</h3>
+<p><a name="key"></a>
+<code>key</code> - key identifier of the control</p>
+<p><a name="control"></a>
+<code>control</code> - the date form control</p>
<p><a name="required"></a>
<code>required</code> - determines if the control is required</p>
<p><a name="validatorMessage"></a>
diff --git a/api/pl.treksoft.kvision.form/-form-panel/get-control.html b/api/pl.treksoft.kvision.form/-form-panel/get-control.html
index e3e8b15c..75960c0a 100644
--- a/api/pl.treksoft.kvision.form/-form-panel/get-control.html
+++ b/api/pl.treksoft.kvision.form/-form-panel/get-control.html
@@ -8,8 +8,8 @@
<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.form</a>&nbsp;/&nbsp;<a href="index.html">FormPanel</a>&nbsp;/&nbsp;<a href="./get-control.html">getControl</a><br/>
<br/>
<h1>getControl</h1>
-<a name="pl.treksoft.kvision.form.FormPanel$getControl(kotlin.String)"></a>
-<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getControl</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$getControl(kotlin.String)/key">key</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><a href="../-form-control/index.html"><span class="identifier">FormControl</span></a><span class="symbol">?</span></code>
+<a name="pl.treksoft.kvision.form.FormPanel$getControl(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Any)))"></a>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getControl</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$getControl(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Any)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="../-form-control/index.html"><span class="identifier">FormControl</span></a><span class="symbol">?</span></code>
<p>Returns a control of given key.</p>
<h3>Parameters</h3>
<p><a name="key"></a>
diff --git a/api/pl.treksoft.kvision.form/-form-panel/get.html b/api/pl.treksoft.kvision.form/-form-panel/get.html
index dd82feb1..6c369e60 100644
--- a/api/pl.treksoft.kvision.form/-form-panel/get.html
+++ b/api/pl.treksoft.kvision.form/-form-panel/get.html
@@ -8,8 +8,8 @@
<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.form</a>&nbsp;/&nbsp;<a href="index.html">FormPanel</a>&nbsp;/&nbsp;<a href="./get.html">get</a><br/>
<br/>
<h1>get</h1>
-<a name="pl.treksoft.kvision.form.FormPanel$get(kotlin.String)"></a>
-<code><span class="keyword">operator</span> <span class="keyword">fun </span><span class="identifier">get</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$get(kotlin.String)/key">key</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><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">?</span></code>
+<a name="pl.treksoft.kvision.form.FormPanel$get(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Any)))"></a>
+<code><span class="keyword">operator</span> <span class="keyword">fun </span><span class="identifier">get</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$get(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Any)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">?</span></code>
<p>Returns a value of the control of given key.</p>
<h3>Parameters</h3>
<p><a name="key"></a>
diff --git a/api/pl.treksoft.kvision.form/-form-panel/index.html b/api/pl.treksoft.kvision.form/-form-panel/index.html
index 99e379a8..2a99b314 100644
--- a/api/pl.treksoft.kvision.form/-form-panel/index.html
+++ b/api/pl.treksoft.kvision.form/-form-panel/index.html
@@ -53,12 +53,25 @@
<p><a href="add.html">add</a></p>
</td>
<td>
-<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../-form-control/index.html"><span class="identifier">FormControl</span></a><span class="symbol">&gt;</span> <span class="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.String, pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/key">key</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="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.String, pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/control">control</span><span class="symbol">:</span>&nbsp;<a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.String, pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/required">required</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.form.FormPanel$add(kotlin.String, pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/validatorMessage">validatorMessage</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</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.form.FormPanel$add(kotlin.String, pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/validator">validator</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="./index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></code>
-<p>Adds a control to the form panel.</p>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../-string-form-control/index.html"><span class="identifier">StringFormControl</span></a><span class="symbol">&gt;</span> <span class="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.String)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><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">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.String)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/control">control</span><span class="symbol">:</span>&nbsp;<a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.String)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/required">required</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.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.String)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/validatorMessage">validatorMessage</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</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.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.String)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/validator">validator</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="./index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></code>
+<p>Adds a string control to the form panel.</p>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../-bool-form-control/index.html"><span class="identifier">BoolFormControl</span></a><span class="symbol">&gt;</span> <span class="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Boolean)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Boolean)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/control">control</span><span class="symbol">:</span>&nbsp;<a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Boolean)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/required">required</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.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Boolean)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/validatorMessage">validatorMessage</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</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.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Boolean)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/validator">validator</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="./index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></code>
+<p>Adds a boolean control to the form panel.</p>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../-number-form-control/index.html"><span class="identifier">NumberFormControl</span></a><span class="symbol">&gt;</span> <span class="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Number)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<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><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Number)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/control">control</span><span class="symbol">:</span>&nbsp;<a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Number)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/required">required</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.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Number)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/validatorMessage">validatorMessage</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</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.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Number)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/validator">validator</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="./index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></code>
+<p>Adds a number control to the form panel.</p>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../-date-form-control/index.html"><span class="identifier">DateFormControl</span></a><span class="symbol">&gt;</span> <span class="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.js.Date)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<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><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.js.Date)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/control">control</span><span class="symbol">:</span>&nbsp;<a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.js.Date)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/required">required</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.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.js.Date)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/validatorMessage">validatorMessage</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</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.form.FormPanel$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.js.Date)), pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.add.C, kotlin.Boolean)))/validator">validator</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="./index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></code>
+<p>Adds a date control to the form panel.</p>
</td>
</tr>
<tr>
<td>
+<p><a href="add-internal.html">addInternal</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../-form-control/index.html"><span class="identifier">FormControl</span></a><span class="symbol">&gt;</span> <span class="identifier">addInternal</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$addInternal(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Any)), pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.Boolean)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$addInternal(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Any)), pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.Boolean)))/control">control</span><span class="symbol">:</span>&nbsp;<a href="add-internal.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$addInternal(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Any)), pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.Boolean)))/required">required</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.form.FormPanel$addInternal(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Any)), pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.Boolean)))/validatorMessage">validatorMessage</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="add-internal.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</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.form.FormPanel$addInternal(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Any)), pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.FormPanel.addInternal.C, kotlin.Boolean)))/validator">validator</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="add-internal.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="./index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></code></td>
+</tr>
+<tr>
+<td>
<p><a href="clear-data.html">clearData</a></p>
</td>
<td>
@@ -71,7 +84,7 @@
<p><a href="get.html">get</a></p>
</td>
<td>
-<code><span class="keyword">operator</span> <span class="keyword">fun </span><span class="identifier">get</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$get(kotlin.String)/key">key</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><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">?</span></code>
+<code><span class="keyword">operator</span> <span class="keyword">fun </span><span class="identifier">get</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$get(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Any)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">?</span></code>
<p>Returns a value of the control of given key.</p>
</td>
</tr>
@@ -80,7 +93,7 @@
<p><a href="get-control.html">getControl</a></p>
</td>
<td>
-<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getControl</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$getControl(kotlin.String)/key">key</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><a href="../-form-control/index.html"><span class="identifier">FormControl</span></a><span class="symbol">?</span></code>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getControl</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$getControl(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Any)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="../-form-control/index.html"><span class="identifier">FormControl</span></a><span class="symbol">?</span></code>
<p>Returns a control of given key.</p>
</td>
</tr>
@@ -116,7 +129,7 @@
<p><a href="remove.html">remove</a></p>
</td>
<td>
-<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">remove</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$remove(kotlin.String)/key">key</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><a href="./index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></code>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">remove</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$remove(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Any)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="./index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></code>
<p>Removes a control from the form panel.</p>
</td>
</tr>
diff --git a/api/pl.treksoft.kvision.form/-form-panel/remove.html b/api/pl.treksoft.kvision.form/-form-panel/remove.html
index 0e9d4afd..99b459b3 100644
--- a/api/pl.treksoft.kvision.form/-form-panel/remove.html
+++ b/api/pl.treksoft.kvision.form/-form-panel/remove.html
@@ -8,8 +8,8 @@
<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.form</a>&nbsp;/&nbsp;<a href="index.html">FormPanel</a>&nbsp;/&nbsp;<a href="./remove.html">remove</a><br/>
<br/>
<h1>remove</h1>
-<a name="pl.treksoft.kvision.form.FormPanel$remove(kotlin.String)"></a>
-<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">remove</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$remove(kotlin.String)/key">key</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><a href="index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></code>
+<a name="pl.treksoft.kvision.form.FormPanel$remove(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Any)))"></a>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">remove</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.FormPanel$remove(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.FormPanel.K, kotlin.Any)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="index.html"><span class="identifier">FormPanel</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></code>
<p>Removes a control from the form panel.</p>
<h3>Parameters</h3>
<p><a name="key"></a>
diff --git a/api/pl.treksoft.kvision.form/-form/add.html b/api/pl.treksoft.kvision.form/-form/add.html
index c17affd8..13098c33 100644
--- a/api/pl.treksoft.kvision.form/-form/add.html
+++ b/api/pl.treksoft.kvision.form/-form/add.html
@@ -8,14 +8,62 @@
<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.form</a>&nbsp;/&nbsp;<a href="index.html">Form</a>&nbsp;/&nbsp;<a href="./add.html">add</a><br/>
<br/>
<h1>add</h1>
-<a name="pl.treksoft.kvision.form.Form$add(kotlin.String, pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))"></a>
-<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../-form-control/index.html"><span class="identifier">FormControl</span></a><span class="symbol">&gt;</span> <span class="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.Form$add(kotlin.String, pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/key">key</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="identifier" id="pl.treksoft.kvision.form.Form$add(kotlin.String, pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/control">control</span><span class="symbol">:</span>&nbsp;<a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.Form$add(kotlin.String, pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/required">required</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.form.Form$add(kotlin.String, pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/validatorMessage">validatorMessage</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</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.form.Form$add(kotlin.String, pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/validator">validator</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="index.html"><span class="identifier">Form</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></code>
-<p>Adds a control to the form.</p>
+<a name="pl.treksoft.kvision.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.String)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))"></a>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../-string-form-control/index.html"><span class="identifier">StringFormControl</span></a><span class="symbol">&gt;</span> <span class="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.String)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><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">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.String)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/control">control</span><span class="symbol">:</span>&nbsp;<a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.String)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/required">required</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.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.String)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/validatorMessage">validatorMessage</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</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.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.String)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/validator">validator</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="index.html"><span class="identifier">Form</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></code>
+<p>Adds a string control to the form.</p>
<h3>Parameters</h3>
<p><a name="key"></a>
<code>key</code> - key identifier of the control</p>
<p><a name="control"></a>
-<code>control</code> - the form control</p>
+<code>control</code> - the string form control</p>
+<p><a name="required"></a>
+<code>required</code> - determines if the control is required</p>
+<p><a name="validatorMessage"></a>
+<code>validatorMessage</code> - optional function returning validation message</p>
+<p><a name="validator"></a>
+<code>validator</code> - optional validation function</p>
+<p><strong>Return</strong><br/>
+current form</p>
+<a name="pl.treksoft.kvision.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.Boolean)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))"></a>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../-bool-form-control/index.html"><span class="identifier">BoolFormControl</span></a><span class="symbol">&gt;</span> <span class="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.Boolean)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.Boolean)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/control">control</span><span class="symbol">:</span>&nbsp;<a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.Boolean)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/required">required</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.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.Boolean)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/validatorMessage">validatorMessage</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</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.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.Boolean)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/validator">validator</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="index.html"><span class="identifier">Form</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></code>
+<p>Adds a boolean control to the form.</p>
+<h3>Parameters</h3>
+<p><a name="key"></a>
+<code>key</code> - key identifier of the control</p>
+<p><a name="control"></a>
+<code>control</code> - the boolean form control</p>
+<p><a name="required"></a>
+<code>required</code> - determines if the control is required</p>
+<p><a name="validatorMessage"></a>
+<code>validatorMessage</code> - optional function returning validation message</p>
+<p><a name="validator"></a>
+<code>validator</code> - optional validation function</p>
+<p><strong>Return</strong><br/>
+current form</p>
+<a name="pl.treksoft.kvision.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.Number)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))"></a>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../-number-form-control/index.html"><span class="identifier">NumberFormControl</span></a><span class="symbol">&gt;</span> <span class="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.Number)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<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><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.Number)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/control">control</span><span class="symbol">:</span>&nbsp;<a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.Number)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/required">required</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.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.Number)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/validatorMessage">validatorMessage</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</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.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.Number)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/validator">validator</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="index.html"><span class="identifier">Form</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></code>
+<p>Adds a number control to the form.</p>
+<h3>Parameters</h3>
+<p><a name="key"></a>
+<code>key</code> - key identifier of the control</p>
+<p><a name="control"></a>
+<code>control</code> - the number form control</p>
+<p><a name="required"></a>
+<code>required</code> - determines if the control is required</p>
+<p><a name="validatorMessage"></a>
+<code>validatorMessage</code> - optional function returning validation message</p>
+<p><a name="validator"></a>
+<code>validator</code> - optional validation function</p>
+<p><strong>Return</strong><br/>
+current form</p>
+<a name="pl.treksoft.kvision.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.js.Date)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))"></a>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../-date-form-control/index.html"><span class="identifier">DateFormControl</span></a><span class="symbol">&gt;</span> <span class="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.js.Date)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<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><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.js.Date)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/control">control</span><span class="symbol">:</span>&nbsp;<a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.js.Date)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/required">required</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.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.js.Date)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/validatorMessage">validatorMessage</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</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.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.js.Date)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/validator">validator</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="index.html"><span class="identifier">Form</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></code>
+<p>Adds a date control to the form.</p>
+<h3>Parameters</h3>
+<p><a name="key"></a>
+<code>key</code> - key identifier of the control</p>
+<p><a name="control"></a>
+<code>control</code> - the date form control</p>
<p><a name="required"></a>
<code>required</code> - determines if the control is required</p>
<p><a name="validatorMessage"></a>
diff --git a/api/pl.treksoft.kvision.form/-form/get-control.html b/api/pl.treksoft.kvision.form/-form/get-control.html
index 66a7180a..83ad285f 100644
--- a/api/pl.treksoft.kvision.form/-form/get-control.html
+++ b/api/pl.treksoft.kvision.form/-form/get-control.html
@@ -8,8 +8,8 @@
<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.form</a>&nbsp;/&nbsp;<a href="index.html">Form</a>&nbsp;/&nbsp;<a href="./get-control.html">getControl</a><br/>
<br/>
<h1>getControl</h1>
-<a name="pl.treksoft.kvision.form.Form$getControl(kotlin.String)"></a>
-<code><span class="keyword">fun </span><span class="identifier">getControl</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.Form$getControl(kotlin.String)/key">key</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><a href="../-form-control/index.html"><span class="identifier">FormControl</span></a><span class="symbol">?</span></code>
+<a name="pl.treksoft.kvision.form.Form$getControl(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.Any)))"></a>
+<code><span class="keyword">fun </span><span class="identifier">getControl</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.Form$getControl(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.Any)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="../-form-control/index.html"><span class="identifier">FormControl</span></a><span class="symbol">?</span></code>
<p>Returns a control of given key.</p>
<h3>Parameters</h3>
<p><a name="key"></a>
diff --git a/api/pl.treksoft.kvision.form/-form/get.html b/api/pl.treksoft.kvision.form/-form/get.html
index 0a7b70fb..e03bdc45 100644
--- a/api/pl.treksoft.kvision.form/-form/get.html
+++ b/api/pl.treksoft.kvision.form/-form/get.html
@@ -8,8 +8,8 @@
<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.form</a>&nbsp;/&nbsp;<a href="index.html">Form</a>&nbsp;/&nbsp;<a href="./get.html">get</a><br/>
<br/>
<h1>get</h1>
-<a name="pl.treksoft.kvision.form.Form$get(kotlin.String)"></a>
-<code><span class="keyword">operator</span> <span class="keyword">fun </span><span class="identifier">get</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.Form$get(kotlin.String)/key">key</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><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">?</span></code>
+<a name="pl.treksoft.kvision.form.Form$get(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.Any)))"></a>
+<code><span class="keyword">operator</span> <span class="keyword">fun </span><span class="identifier">get</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.Form$get(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.Any)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">?</span></code>
<p>Returns a value of the control of given key.</p>
<h3>Parameters</h3>
<p><a name="key"></a>
diff --git a/api/pl.treksoft.kvision.form/-form/index.html b/api/pl.treksoft.kvision.form/-form/index.html
index 678f3d2b..8686b022 100644
--- a/api/pl.treksoft.kvision.form/-form/index.html
+++ b/api/pl.treksoft.kvision.form/-form/index.html
@@ -32,8 +32,14 @@
<p><a href="add.html">add</a></p>
</td>
<td>
-<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../-form-control/index.html"><span class="identifier">FormControl</span></a><span class="symbol">&gt;</span> <span class="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.Form$add(kotlin.String, pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/key">key</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="identifier" id="pl.treksoft.kvision.form.Form$add(kotlin.String, pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/control">control</span><span class="symbol">:</span>&nbsp;<a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.Form$add(kotlin.String, pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/required">required</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.form.Form$add(kotlin.String, pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/validatorMessage">validatorMessage</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</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.form.Form$add(kotlin.String, pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/validator">validator</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="./index.html"><span class="identifier">Form</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></code>
-<p>Adds a control to the form.</p>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../-string-form-control/index.html"><span class="identifier">StringFormControl</span></a><span class="symbol">&gt;</span> <span class="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.String)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><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">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.String)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/control">control</span><span class="symbol">:</span>&nbsp;<a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.String)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/required">required</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.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.String)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/validatorMessage">validatorMessage</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</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.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.String)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/validator">validator</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="./index.html"><span class="identifier">Form</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></code>
+<p>Adds a string control to the form.</p>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../-bool-form-control/index.html"><span class="identifier">BoolFormControl</span></a><span class="symbol">&gt;</span> <span class="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.Boolean)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span><span class="symbol">&gt;</span><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.Boolean)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/control">control</span><span class="symbol">:</span>&nbsp;<a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.Boolean)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/required">required</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.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.Boolean)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/validatorMessage">validatorMessage</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</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.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.Boolean)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/validator">validator</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="./index.html"><span class="identifier">Form</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></code>
+<p>Adds a boolean control to the form.</p>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../-number-form-control/index.html"><span class="identifier">NumberFormControl</span></a><span class="symbol">&gt;</span> <span class="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.Number)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<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><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.Number)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/control">control</span><span class="symbol">:</span>&nbsp;<a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.Number)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/required">required</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.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.Number)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/validatorMessage">validatorMessage</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</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.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.Number)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/validator">validator</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="./index.html"><span class="identifier">Form</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></code>
+<p>Adds a number control to the form.</p>
+<code><span class="keyword">fun </span><span class="symbol">&lt;</span><span class="identifier">C</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../-date-form-control/index.html"><span class="identifier">DateFormControl</span></a><span class="symbol">&gt;</span> <span class="identifier">add</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.js.Date)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<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><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.js.Date)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/control">control</span><span class="symbol">:</span>&nbsp;<a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">, </span><span class="identifier" id="pl.treksoft.kvision.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.js.Date)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/required">required</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.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.js.Date)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/validatorMessage">validatorMessage</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</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.form.Form$add(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.js.Date)), pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean, kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.String)), kotlin.Function1((pl.treksoft.kvision.form.Form.add.C, kotlin.Boolean)))/validator">validator</span><span class="symbol">:</span>&nbsp;<span class="symbol">(</span><a href="add.html#C"><span class="identifier">C</span></a><span class="symbol">)</span>&nbsp;<span class="symbol">-&gt;</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a><span class="symbol">?</span>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="./index.html"><span class="identifier">Form</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></code>
+<p>Adds a date control to the form.</p>
</td>
</tr>
<tr>
@@ -50,7 +56,7 @@
<p><a href="get.html">get</a></p>
</td>
<td>
-<code><span class="keyword">operator</span> <span class="keyword">fun </span><span class="identifier">get</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.Form$get(kotlin.String)/key">key</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><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">?</span></code>
+<code><span class="keyword">operator</span> <span class="keyword">fun </span><span class="identifier">get</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.Form$get(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.Any)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html"><span class="identifier">Any</span></a><span class="symbol">?</span></code>
<p>Returns a value of the control of given key.</p>
</td>
</tr>
@@ -59,7 +65,7 @@
<p><a href="get-control.html">getControl</a></p>
</td>
<td>
-<code><span class="keyword">fun </span><span class="identifier">getControl</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.Form$getControl(kotlin.String)/key">key</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><a href="../-form-control/index.html"><span class="identifier">FormControl</span></a><span class="symbol">?</span></code>
+<code><span class="keyword">fun </span><span class="identifier">getControl</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.Form$getControl(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.Any)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="../-form-control/index.html"><span class="identifier">FormControl</span></a><span class="symbol">?</span></code>
<p>Returns a control of given key.</p>
</td>
</tr>
@@ -86,7 +92,7 @@
<p><a href="remove.html">remove</a></p>
</td>
<td>
-<code><span class="keyword">fun </span><span class="identifier">remove</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.Form$remove(kotlin.String)/key">key</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><a href="./index.html"><span class="identifier">Form</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></code>
+<code><span class="keyword">fun </span><span class="identifier">remove</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.Form$remove(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.Any)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="./index.html"><span class="identifier">Form</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></code>
<p>Removes a control from the form.</p>
</td>
</tr>
diff --git a/api/pl.treksoft.kvision.form/-form/remove.html b/api/pl.treksoft.kvision.form/-form/remove.html
index 4a410154..8fa37f2c 100644
--- a/api/pl.treksoft.kvision.form/-form/remove.html
+++ b/api/pl.treksoft.kvision.form/-form/remove.html
@@ -8,8 +8,8 @@
<a href="../../index.html">kvision</a>&nbsp;/&nbsp;<a href="../index.html">pl.treksoft.kvision.form</a>&nbsp;/&nbsp;<a href="index.html">Form</a>&nbsp;/&nbsp;<a href="./remove.html">remove</a><br/>
<br/>
<h1>remove</h1>
-<a name="pl.treksoft.kvision.form.Form$remove(kotlin.String)"></a>
-<code><span class="keyword">fun </span><span class="identifier">remove</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.Form$remove(kotlin.String)/key">key</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><a href="index.html"><span class="identifier">Form</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></code>
+<a name="pl.treksoft.kvision.form.Form$remove(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.Any)))"></a>
+<code><span class="keyword">fun </span><span class="identifier">remove</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.form.Form$remove(kotlin.reflect.KProperty1((pl.treksoft.kvision.form.Form.K, kotlin.Any)))/key">key</span><span class="symbol">:</span>&nbsp;<a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-property1/index.html"><span class="identifier">KProperty1</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">,</span>&nbsp;<span class="identifier">*</span><span class="symbol">&gt;</span><span class="symbol">)</span><span class="symbol">: </span><a href="index.html"><span class="identifier">Form</span></a><span class="symbol">&lt;</span><a href="index.html#K"><span class="identifier">K</span></a><span class="symbol">&gt;</span></code>
<p>Removes a control from the form.</p>
<h3>Parameters</h3>
<p><a name="key"></a>
diff --git a/api/pl.treksoft.kvision.html/-icon/-init-.html b/api/pl.treksoft.kvision.html/-icon/-init-.html
new file mode 100644
index 00000000..08671b45
--- /dev/null
+++ b/api/pl.treksoft.kvision.html/-icon/-init-.html
@@ -0,0 +1,19 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Icon.<init> - 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.html</a>&nbsp;/&nbsp;<a href="index.html">Icon</a>&nbsp;/&nbsp;<a href="./-init-.html">&lt;init&gt;</a><br/>
+<br/>
+<h1>&lt;init&gt;</h1>
+<a name="pl.treksoft.kvision.html.Icon$&lt;init&gt;(kotlin.String)"></a>
+<code><span class="identifier">Icon</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.html.Icon$<init>(kotlin.String)/icon">icon</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></code>
+<h3>Parameters</h3>
+<p><a name="icon"></a>
+<code>icon</code> - icon name</p>
+<p><strong>Constructor</strong><br/>
+</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.html/-icon/get-sn-class.html b/api/pl.treksoft.kvision.html/-icon/get-sn-class.html
new file mode 100644
index 00000000..ae52c838
--- /dev/null
+++ b/api/pl.treksoft.kvision.html/-icon/get-sn-class.html
@@ -0,0 +1,18 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Icon.getSnClass - 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.html</a>&nbsp;/&nbsp;<a href="index.html">Icon</a>&nbsp;/&nbsp;<a href="./get-sn-class.html">getSnClass</a><br/>
+<br/>
+<h1>getSnClass</h1>
+<a name="pl.treksoft.kvision.html.Icon$getSnClass()"></a>
+<code><span class="keyword">protected</span> <span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getSnClass</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="../../pl.treksoft.kvision.core/-string-bool-pair.html"><span class="identifier">StringBoolPair</span></a><span class="symbol">&gt;</span></code>
+<p>Overrides <a href="../-tag/get-sn-class.html">Tag.getSnClass</a></p>
+<p>Returns list of CSS class names for current widget in the form of a List.</p>
+<p><strong>Return</strong><br/>
+list of CSS class names</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.html/-icon/icon.html b/api/pl.treksoft.kvision.html/-icon/icon.html
new file mode 100644
index 00000000..2183247f
--- /dev/null
+++ b/api/pl.treksoft.kvision.html/-icon/icon.html
@@ -0,0 +1,25 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Icon.icon - 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.html</a>&nbsp;/&nbsp;<a href="index.html">Icon</a>&nbsp;/&nbsp;<a href="./icon.html">icon</a><br/>
+<br/>
+<h1>icon</h1>
+<a name="pl.treksoft.kvision.html.Icon$icon"></a>
+<code><span class="keyword">var </span><span class="identifier">icon</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a></code>
+<p>Icon type.</p>
+<p><strong>Getter</strong><br/>
+<p>Icon type.</p>
+</p>
+<p><strong>Setter</strong><br/>
+<p>Icon type.</p>
+</p>
+<a name="pl.treksoft.kvision.html.Icon.Companion$icon(pl.treksoft.kvision.core.Container, kotlin.String, kotlin.Function1((pl.treksoft.kvision.html.Icon, kotlin.Unit)))"></a>
+<code><span class="keyword">fun </span><a href="../../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a><span class="symbol">.</span><span class="identifier">icon</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.html.Icon.Companion$icon(pl.treksoft.kvision.core.Container, kotlin.String, kotlin.Function1((pl.treksoft.kvision.html.Icon, kotlin.Unit)))/icon">icon</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="identifier" id="pl.treksoft.kvision.html.Icon.Companion$icon(pl.treksoft.kvision.core.Container, kotlin.String, kotlin.Function1((pl.treksoft.kvision.html.Icon, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<a href="index.html"><span class="identifier">Icon</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>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="index.html"><span class="identifier">Icon</span></a></code>
+<p>DSL builder extension function.</p>
+<p>It takes the same parameters as the constructor of the built component.</p>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.html/-icon/index.html b/api/pl.treksoft.kvision.html/-icon/index.html
new file mode 100644
index 00000000..7a17ae76
--- /dev/null
+++ b/api/pl.treksoft.kvision.html/-icon/index.html
@@ -0,0 +1,123 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Icon - 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.html</a>&nbsp;/&nbsp;<a href="./index.html">Icon</a><br/>
+<br/>
+<h1>Icon</h1>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Icon</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="../-tag/index.html"><span class="identifier">Tag</span></a></code>
+<p>Icon component with support for FontAwesome and Bootstrap glyphicons.</p>
+<h3>Constructors</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="-init-.html">&lt;init&gt;</a></p>
+</td>
+<td>
+<code><span class="identifier">Icon</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.html.Icon$<init>(kotlin.String)/icon">icon</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></code></td>
+</tr>
+</tbody>
+</table>
+<h3>Properties</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="icon.html">icon</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">icon</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a></code>
+<p>Icon type.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3>Inherited Properties</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="../-tag/align.html">align</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">align</span><span class="symbol">: </span><a href="../-align/index.html"><span class="identifier">Align</span></a><span class="symbol">?</span></code>
+<p>Text align.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../-tag/rich.html">rich</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">rich</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html"><span class="identifier">Boolean</span></a></code>
+<p>Determines if <a href="../-tag/text.html">text</a> can contain HTML code.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../-tag/text.html">text</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">text</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html"><span class="identifier">String</span></a><span class="symbol">?</span></code>
+<p>Text content of the tag.</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../-tag/type.html">type</a></p>
+</td>
+<td>
+<code><span class="keyword">var </span><span class="identifier">type</span><span class="symbol">: </span><a href="../-t-a-g/index.html"><span class="identifier">TAG</span></a></code>
+<p>Tag type.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3>Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="get-sn-class.html">getSnClass</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">getSnClass</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html"><span class="identifier">List</span></a><span class="symbol">&lt;</span><a href="../../pl.treksoft.kvision.core/-string-bool-pair.html"><span class="identifier">StringBoolPair</span></a><span class="symbol">&gt;</span></code>
+<p>Returns list of CSS class names for current widget in the form of a List.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3>Inherited Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="../-tag/render.html">render</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">fun </span><span class="identifier">render</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><span class="identifier">VNode</span></code>
+<p>Renders current component as a Snabbdom vnode.</p>
+</td>
+</tr>
+</tbody>
+</table>
+<h3>Companion Object Functions</h3>
+<table>
+<tbody>
+<tr>
+<td>
+<p><a href="icon.html">icon</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><a href="../../pl.treksoft.kvision.core/-container/index.html"><span class="identifier">Container</span></a><span class="symbol">.</span><span class="identifier">icon</span><span class="symbol">(</span><span class="identifier" id="pl.treksoft.kvision.html.Icon.Companion$icon(pl.treksoft.kvision.core.Container, kotlin.String, kotlin.Function1((pl.treksoft.kvision.html.Icon, kotlin.Unit)))/icon">icon</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="identifier" id="pl.treksoft.kvision.html.Icon.Companion$icon(pl.treksoft.kvision.core.Container, kotlin.String, kotlin.Function1((pl.treksoft.kvision.html.Icon, kotlin.Unit)))/init">init</span><span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">Icon</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>&nbsp;<span class="symbol">=</span>&nbsp;null<span class="symbol">)</span><span class="symbol">: </span><a href="./index.html"><span class="identifier">Icon</span></a></code>
+<p>DSL builder extension function.</p>
+</td>
+</tr>
+</tbody>
+</table>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.html/-t-a-g/-b.html b/api/pl.treksoft.kvision.html/-t-a-g/-b.html
new file mode 100644
index 00000000..2c929dc9
--- /dev/null
+++ b/api/pl.treksoft.kvision.html/-t-a-g/-b.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>TAG.B - 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.html</a>&nbsp;/&nbsp;<a href="index.html">TAG</a>&nbsp;/&nbsp;<a href="./-b.html">B</a><br/>
+<br/>
+<h1>B</h1>
+<a name="pl.treksoft.kvision.html.TAG.B"></a>
+<code><span class="identifier">B</span></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.html/-t-a-g/-i.html b/api/pl.treksoft.kvision.html/-t-a-g/-i.html
new file mode 100644
index 00000000..e455c774
--- /dev/null
+++ b/api/pl.treksoft.kvision.html/-t-a-g/-i.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>TAG.I - 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.html</a>&nbsp;/&nbsp;<a href="index.html">TAG</a>&nbsp;/&nbsp;<a href="./-i.html">I</a><br/>
+<br/>
+<h1>I</h1>
+<a name="pl.treksoft.kvision.html.TAG.I"></a>
+<code><span class="identifier">I</span></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.html/-t-a-g/index.html b/api/pl.treksoft.kvision.html/-t-a-g/index.html
index c2a1e3d7..aab26b0a 100644
--- a/api/pl.treksoft.kvision.html/-t-a-g/index.html
+++ b/api/pl.treksoft.kvision.html/-t-a-g/index.html
@@ -141,6 +141,20 @@
</tr>
<tr>
<td>
+<p><a href="-i.html">I</a></p>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="-b.html">B</a></p>
+</td>
+<td>
+</td>
+</tr>
+<tr>
+<td>
<p><a href="-m-a-r-k.html">MARK</a></p>
</td>
<td>
diff --git a/api/pl.treksoft.kvision.html/-tag/index.html b/api/pl.treksoft.kvision.html/-tag/index.html
index dfb41abb..035e7552 100644
--- a/api/pl.treksoft.kvision.html/-tag/index.html
+++ b/api/pl.treksoft.kvision.html/-tag/index.html
@@ -218,6 +218,15 @@
</tr>
<tr>
<td>
+<p><a href="../-icon/index.html">Icon</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Icon</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="./index.html"><span class="identifier">Tag</span></a></code>
+<p>Icon component with support for FontAwesome and Bootstrap glyphicons.</p>
+</td>
+</tr>
+<tr>
+<td>
<p><a href="../-label/index.html">Label</a></p>
</td>
<td>
diff --git a/api/pl.treksoft.kvision.html/index.html b/api/pl.treksoft.kvision.html/index.html
index 281a7789..20b5894b 100644
--- a/api/pl.treksoft.kvision.html/index.html
+++ b/api/pl.treksoft.kvision.html/index.html
@@ -59,6 +59,15 @@
</tr>
<tr>
<td>
+<p><a href="-icon/index.html">Icon</a></p>
+</td>
+<td>
+<code><span class="keyword">open</span> <span class="keyword">class </span><span class="identifier">Icon</span>&nbsp;<span class="symbol">:</span>&nbsp;<a href="-tag/index.html"><span class="identifier">Tag</span></a></code>
+<p>Icon component with support for FontAwesome and Bootstrap glyphicons.</p>
+</td>
+</tr>
+<tr>
+<td>
<p><a href="-image/index.html">Image</a></p>
</td>
<td>
diff --git a/api/pl.treksoft.kvision.panel/-root/get-root.html b/api/pl.treksoft.kvision.panel/-root/get-root.html
new file mode 100644
index 00000000..9667c2dd
--- /dev/null
+++ b/api/pl.treksoft.kvision.panel/-root/get-root.html
@@ -0,0 +1,14 @@
+<HTML>
+<HEAD>
+<meta charset="UTF-8">
+<title>Root.getRoot - 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.panel</a>&nbsp;/&nbsp;<a href="index.html">Root</a>&nbsp;/&nbsp;<a href="./get-root.html">getRoot</a><br/>
+<br/>
+<h1>getRoot</h1>
+<a name="pl.treksoft.kvision.panel.Root$getRoot()"></a>
+<code><span class="keyword">fun </span><span class="identifier">getRoot</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="index.html"><span class="identifier">Root</span></a><span class="symbol">?</span></code>
+</BODY>
+</HTML>
diff --git a/api/pl.treksoft.kvision.panel/-root/index.html b/api/pl.treksoft.kvision.panel/-root/index.html
index 6b8debb7..e39d5bde 100644
--- a/api/pl.treksoft.kvision.panel/-root/index.html
+++ b/api/pl.treksoft.kvision.panel/-root/index.html
@@ -30,6 +30,13 @@ Snabbdom virtual DOM.</p>
<tbody>
<tr>
<td>
+<p><a href="get-root.html">getRoot</a></p>
+</td>
+<td>
+<code><span class="keyword">fun </span><span class="identifier">getRoot</span><span class="symbol">(</span><span class="symbol">)</span><span class="symbol">: </span><a href="./index.html"><span class="identifier">Root</span></a><span class="symbol">?</span></code></td>
+</tr>
+<tr>
+<td>
<p><a href="get-sn-class.html">getSnClass</a></p>
</td>
<td>